summaryrefslogtreecommitdiff
path: root/Omap44xxPkg
diff options
context:
space:
mode:
authorOlivier Deprez <o-deprez@ti.com>2012-11-21 15:50:11 +0100
committerRyan Harkin <ryan.harkin@linaro.org>2013-03-14 17:00:40 +0000
commit575a727bb60efec19e1398d62c1a411e6bc5edc7 (patch)
treec953061ca2b68e25607b5d8876ad2b6dc247a4ee /Omap44xxPkg
parent103daa8600809aae6fb0dd14a56cd116a711c89b (diff)
downloadjuice-575a727bb60efec19e1398d62c1a411e6bc5edc7.tar.gz
panda: adapted for panda pmic support
Files were inherited from Beagle/TPS65650. Adapted to support TWL6030/Phoenix on PandaBoard
Diffstat (limited to 'Omap44xxPkg')
-rw-r--r--Omap44xxPkg/Include/Omap4430/Omap4430I2c.h42
-rw-r--r--Omap44xxPkg/Include/TWL6030.h28
-rw-r--r--Omap44xxPkg/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h2
-rw-r--r--Omap44xxPkg/Library/RealTimeClockLib/RealTimeClockLib.c36
-rw-r--r--Omap44xxPkg/PciEmulation/PciEmulation.c12
-rw-r--r--Omap44xxPkg/PciEmulation/PciEmulation.h2
-rw-r--r--Omap44xxPkg/TWL6030Dxe/TWL6030.c4
-rw-r--r--Omap44xxPkg/TWL6030Dxe/TWL6030.inf6
8 files changed, 65 insertions, 67 deletions
diff --git a/Omap44xxPkg/Include/Omap4430/Omap4430I2c.h b/Omap44xxPkg/Include/Omap4430/Omap4430I2c.h
index c593063ac..50d5a4a05 100644
--- a/Omap44xxPkg/Include/Omap4430/Omap4430I2c.h
+++ b/Omap44xxPkg/Include/Omap4430/Omap4430I2c.h
@@ -18,27 +18,27 @@
//I2C register definitions.
#define I2C1BASE 0x48070000
-#define I2C_IE (I2C1BASE + 0x4)
+#define I2C_IE (I2C1BASE + 0x84)
#define XRDY_IE BIT4
#define RRDY_IE BIT3
#define ARDY_IE BIT2
#define NACK_IE BIT1
-#define I2C_STAT (I2C1BASE + 0x8)
+#define I2C_STAT (I2C1BASE + 0x88)
#define BB BIT12
#define XRDY BIT4
#define RRDY BIT3
#define ARDY BIT2
#define NACK BIT1
-#define I2C_WE (I2C1BASE + 0xC)
-#define I2C_SYSS (I2C1BASE + 0x10)
-#define I2C_BUF (I2C1BASE + 0x14)
-#define I2C_CNT (I2C1BASE + 0x18)
-#define I2C_DATA (I2C1BASE + 0x1C)
-#define I2C_SYSC (I2C1BASE + 0x20)
+#define I2C_WE (I2C1BASE + 0x34)
+#define I2C_SYSS (I2C1BASE + 0x90)
+#define I2C_BUF (I2C1BASE + 0x94)
+#define I2C_CNT (I2C1BASE + 0x98)
+#define I2C_DATA (I2C1BASE + 0x9C)
+#define I2C_SYSC (I2C1BASE + 0x10)
-#define I2C_CON (I2C1BASE + 0x24)
+#define I2C_CON (I2C1BASE + 0xA4)
#define STT BIT0
#define STP BIT1
#define XSA BIT8
@@ -46,17 +46,17 @@
#define MST BIT10
#define I2C_EN BIT15
-#define I2C_OA0 (I2C1BASE + 0x28)
-#define I2C_SA (I2C1BASE + 0x2C)
-#define I2C_PSC (I2C1BASE + 0x30)
-#define I2C_SCLL (I2C1BASE + 0x34)
-#define I2C_SCLH (I2C1BASE + 0x38)
-#define I2C_SYSTEST (I2C1BASE + 0x3C)
-#define I2C_BUFSTAT (I2C1BASE + 0x40)
-#define I2C_OA1 (I2C1BASE + 0x44)
-#define I2C_OA2 (I2C1BASE + 0x48)
-#define I2C_OA3 (I2C1BASE + 0x4C)
-#define I2C_ACTOA (I2C1BASE + 0x50)
-#define I2C_SBLOCK (I2C1BASE + 0x54)
+//#define I2C_OA0 (I2C1BASE + 0x28)
+#define I2C_SA (I2C1BASE + 0xAC)
+#define I2C_PSC (I2C1BASE + 0xB0)
+#define I2C_SCLL (I2C1BASE + 0xB4)
+#define I2C_SCLH (I2C1BASE + 0xB8)
+#define I2C_SYSTEST (I2C1BASE + 0xBC)
+#define I2C_BUFSTAT (I2C1BASE + 0xC0)
+#define I2C_OA1 (I2C1BASE + 0xC4)
+#define I2C_OA2 (I2C1BASE + 0xC8)
+#define I2C_OA3 (I2C1BASE + 0xCC)
+#define I2C_ACTOA (I2C1BASE + 0xD0)
+#define I2C_SBLOCK (I2C1BASE + 0xD4)
#endif //__OMAP4430I2C_H__
diff --git a/Omap44xxPkg/Include/TWL6030.h b/Omap44xxPkg/Include/TWL6030.h
index cd708d979..8126ca7c2 100644
--- a/Omap44xxPkg/Include/TWL6030.h
+++ b/Omap44xxPkg/Include/TWL6030.h
@@ -12,8 +12,8 @@
**/
-#ifndef __TPS65950_H__
-#define __TPS65950_H__
+#ifndef __TWL6030_H__
+#define __TWL6030_H__
#define EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(x) (((x) >> 8) & 0xFF)
#define EXTERNAL_DEVICE_REGISTER_TO_REGISTER(x) ((x) & 0xFF)
@@ -27,21 +27,19 @@
#define I2C_ADDR_GRP_ID5 0x12
// MMC definitions.
-#define VMMC1_DEV_GRP 0x82
-#define DEV_GRP_P1 BIT5
+#define VMMC_CFG_GRP 0x98
+#define DEV_GRP_APP BIT0
-#define VMMC1_DEDICATED_REG 0x85
-#define VSEL_1_85V 0x0
-#define VSEL_2_85V 0x1
-#define VSEL_3_00V 0x2
-#define VSEL_3_15V 0x3
+#define VMMC_CFG_STATE 0x9A
+#define VMMC_CFG_STATE_OFF 0xE0
+#define VMMC_CFG_STATE_ON 0xE1
-#define TPS65950_GPIO_CTRL 0xaa //I2C_ADDR_GRP_ID2
-#define CARD_DETECT_ENABLE (BIT2 | BIT0) // GPIO ON + GPIO CD1 enabled
+#define VMMC_CFG_VOLTAGE 0x9B
+#define VSEL_3_00V 0x15
-
-#define GPIODATAIN1 0x98 //I2C_ADDR_GRP_ID2
-#define CARD_DETECT_BIT BIT0
+#define MMCCTRL 0xEE
+#define CARD_DET_STS_MMC BIT0
+#define CARD_DET_CFG BIT3
// LEDEN register
#define LEDEN 0xEE
@@ -77,4 +75,4 @@
#define GPIODATADIR1 0x9B
#define SETGPIODATAOUT1 0xA4
-#endif //__TPS65950_H__
+#endif //__TWL6030_H__
diff --git a/Omap44xxPkg/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h b/Omap44xxPkg/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
index 85364458e..721859724 100644
--- a/Omap44xxPkg/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
+++ b/Omap44xxPkg/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
@@ -27,7 +27,7 @@
#include <Guid/GlobalVariable.h>
#include <Omap4430/Omap4430.h>
-#include <TPS65950.h>
+#include <TWL6030.h>
typedef struct {
VENDOR_DEVICE_PATH Guid;
diff --git a/Omap44xxPkg/Library/RealTimeClockLib/RealTimeClockLib.c b/Omap44xxPkg/Library/RealTimeClockLib/RealTimeClockLib.c
index ba471380a..b215b5512 100644
--- a/Omap44xxPkg/Library/RealTimeClockLib/RealTimeClockLib.c
+++ b/Omap44xxPkg/Library/RealTimeClockLib/RealTimeClockLib.c
@@ -24,10 +24,10 @@
#include <Protocol/EmbeddedExternalDevice.h>
#include <Omap4430/Omap4430.h>
-#include <TPS65950.h>
+#include <TWL6030.h>
-EMBEDDED_EXTERNAL_DEVICE *gTPS65950;
+EMBEDDED_EXTERNAL_DEVICE *gTWL6030;
INT16 TimeZone = EFI_UNSPECIFIED_TIMEZONE;
/**
@@ -64,34 +64,34 @@ LibGetTime (
ZeroMem(Time, sizeof(EFI_TIME));
// Latch values
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Data |= BIT6;
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
// Read registers
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Time->Year = 2000 + ((Data >> 4) & 0xF) * 10 + (Data & 0xF);
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Time->Month = ((Data >> 4) & 0x1) * 10 + (Data & 0xF);
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Time->Day = ((Data >> 4) & 0x3) * 10 + (Data & 0xF);
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Time->Hour = ((Data >> 4) & 0x3) * 10 + (Data & 0xF);
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Time->Minute = ((Data >> 4) & 0x7) * 10 + (Data & 0xF);
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Time->Second = ((Data >> 4) & 0x7) * 10 + (Data & 0xF);
@@ -153,27 +153,27 @@ LibSetTime (
OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
Data = Time->Year - 2000;
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Data = ((Time->Month / 10) << 4) | (Time->Month % 10);
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Data = ((Time->Day / 10) << 4) | (Time->Day % 10);
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Data = ((Time->Hour / 10) << 4) | (Time->Hour % 10);
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Data = ((Time->Minute / 10) << 4) | (Time->Minute % 10);
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
Data = ((Time->Second / 10) << 4) | (Time->Second % 10);
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
if (Status != EFI_SUCCESS) goto EXIT;
TimeZone = Time->TimeZone;
@@ -256,13 +256,13 @@ LibRtcInitialize (
EFI_TPL OldTpl;
#endif
- Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
+ Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTWL6030);
ASSERT_EFI_ERROR(Status);
#if 0
OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
Data = 1;
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
ASSERT_EFI_ERROR(Status);
gBS->RestoreTPL(OldTpl);
#endif
diff --git a/Omap44xxPkg/PciEmulation/PciEmulation.c b/Omap44xxPkg/PciEmulation/PciEmulation.c
index 8565fd9c5..dc9109f91 100644
--- a/Omap44xxPkg/PciEmulation/PciEmulation.c
+++ b/Omap44xxPkg/PciEmulation/PciEmulation.c
@@ -14,7 +14,7 @@
#include "PciEmulation.h"
-EMBEDDED_EXTERNAL_DEVICE *gTPS65950;
+EMBEDDED_EXTERNAL_DEVICE *gTWL6030;
#define HOST_CONTROLLER_OPERATION_REG_SIZE 0x44
@@ -81,27 +81,27 @@ ConfigureUSBHost (
MmioWrite32 (GPIO5_BASE + GPIO_SETDATAOUT, BIT19);
// Get the Power IC protocol
- Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
+ Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTWL6030);
ASSERT_EFI_ERROR (Status);
// Power the USB PHY
Data = VAUX_DEV_GRP_P1;
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEV_GRP), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEV_GRP), 1, &Data);
ASSERT_EFI_ERROR(Status);
Data = VAUX_DEDICATED_18V;
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEDICATED), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEDICATED), 1, &Data);
ASSERT_EFI_ERROR (Status);
// Enable power to the USB hub
- Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
+ Status = gTWL6030->Read (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
ASSERT_EFI_ERROR (Status);
// LEDAON controls the power to the USB host, PWM is disabled
Data &= ~LEDAPWM;
Data |= LEDAON;
- Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
+ Status = gTWL6030->Write (gTWL6030, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
ASSERT_EFI_ERROR (Status);
}
diff --git a/Omap44xxPkg/PciEmulation/PciEmulation.h b/Omap44xxPkg/PciEmulation/PciEmulation.h
index a0ccb1e1d..ba719e1db 100644
--- a/Omap44xxPkg/PciEmulation/PciEmulation.h
+++ b/Omap44xxPkg/PciEmulation/PciEmulation.h
@@ -17,7 +17,7 @@
#include <PiDxe.h>
-#include <TPS65950.h>
+#include <TWL6030.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
diff --git a/Omap44xxPkg/TWL6030Dxe/TWL6030.c b/Omap44xxPkg/TWL6030Dxe/TWL6030.c
index 6b76da507..f4027bfa8 100644
--- a/Omap44xxPkg/TWL6030Dxe/TWL6030.c
+++ b/Omap44xxPkg/TWL6030Dxe/TWL6030.c
@@ -14,7 +14,7 @@
#include <Uefi.h>
-#include <TPS65950.h>
+#include <TWL6030.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
@@ -101,7 +101,7 @@ EMBEDDED_EXTERNAL_DEVICE ExternalDevice = {
};
EFI_STATUS
-TPS65950Initialize (
+TWL6030Initialize (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
diff --git a/Omap44xxPkg/TWL6030Dxe/TWL6030.inf b/Omap44xxPkg/TWL6030Dxe/TWL6030.inf
index 36e124179..a539bfaae 100644
--- a/Omap44xxPkg/TWL6030Dxe/TWL6030.inf
+++ b/Omap44xxPkg/TWL6030Dxe/TWL6030.inf
@@ -13,16 +13,16 @@
[Defines]
INF_VERSION = 0x00010005
- BASE_NAME = TPS65950
+ BASE_NAME = TWL6030
FILE_GUID = 71fe861a-5450-48b6-bfb0-b93522616f99
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
- ENTRY_POINT = TPS65950Initialize
+ ENTRY_POINT = TWL6030Initialize
[Sources.common]
- TPS65950.c
+ TWL6030.c
[Packages]
MdePkg/MdePkg.dec