summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVijaya Kumar Kilari <vijay.kilari@stericsson.com>2012-01-09 18:00:38 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:02:41 +0200
commitc9825cfd9f1255c3768076f9737eaee80d17f8b7 (patch)
tree554d4ba8fc92b58284174dec390f7b1f057f457d
parent614681a8b326f21e24f998fcc7b7c94d3b31fa89 (diff)
U5500: Set unused AB5500 pins as GPIO
Some unused pins of AB5500 pins should be configured as GPIO's at initialization to save idle power ST-Ericsson ID: 408956 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Vijaya Kumar Kilari <vijay.kilari@stericsson.com> Change-Id: I6198d52cc505938b5311fe333e6c14bed994e08f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45005 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-u5500.c78
1 files changed, 65 insertions, 13 deletions
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c
index 072991b0a96..7cbf887e506 100644
--- a/arch/arm/mach-ux500/board-u5500.c
+++ b/arch/arm/mach-ux500/board-u5500.c
@@ -416,6 +416,69 @@ static struct abx500_accdet_platform_data ab5500_accdet_pdata = {
};
#endif
+static struct abx500_init_settings ab5500_init_settings[] = {
+ {
+ .bank = AB5500_BANK_SIM_USBSIM,
+ .reg = 0x17,
+ .setting = 0x0F,
+ },
+ /* SIMOFF_N is not connected and is set to GPIO.
+ Set SIMOFF_N in invert mode */
+ {
+ .bank = AB5500_BANK_SIM_USBSIM,
+ .reg = 0x13,
+ .setting = 0x4,
+ },
+ {
+ .bank = AB5500_BANK_SIM_USBSIM,
+ .reg = 0x18,
+ .setting = 0x10,
+ },
+ /* Set unused PWRCTRL0 & PWRCTRL1 as GPIOs */
+ {
+ .bank = AB5500_BANK_VIT_IO_I2C_CLK_TST_OTP,
+ .reg = 0x30,
+ .setting = 0x30,
+ },
+ /* Set unused EXTBST1/CLK/SLP,RTCCLK2 as GPIOs */
+ {
+ .bank = AB5500_BANK_VIT_IO_I2C_CLK_TST_OTP,
+ .reg = 0x31,
+ .setting = 0x74,
+ },
+ /* Set unused AVCTRL,EXTBST2/CLK/SLP,RTCCLK2 as GPIO */
+ {
+ .bank = AB5500_BANK_VIT_IO_I2C_CLK_TST_OTP,
+ .reg = 0x33,
+ .setting = 0x3C,
+ },
+ /* Set unused EXT32CLK as GPIO */
+ {
+ .bank = AB5500_BANK_VIT_IO_I2C_CLK_TST_OTP,
+ .reg = 0x35,
+ .setting = 0x1,
+ },
+ /* Set unused SIMOFF_N as GPIO */
+ {
+ .bank = AB5500_BANK_VDDDIG_IO_I2C_CLK_TST,
+ .reg = 0x31,
+ .setting = 0x80,
+ },
+ /* Set unused YcBcR2 & YcBcR1 as GPIO */
+ {
+ .bank = AB5500_BANK_VDDDIG_IO_I2C_CLK_TST,
+ .reg = 0x33,
+ .setting = 0xC0,
+ },
+ /* Set unused USBUICCPD/SE0/DATA,
+ YcBcR0,YcBcR3 as GPIO */
+ {
+ .bank = AB5500_BANK_VDDDIG_IO_I2C_CLK_TST,
+ .reg = 0x34,
+ .setting = 0x1F,
+ },
+};
+
static struct ab5500_platform_data ab5500_plf_data = {
.irq = {
.base = IRQ_AB5500_BASE,
@@ -429,19 +492,8 @@ static struct ab5500_platform_data ab5500_plf_data = {
#endif
.dev_data[AB5500_DEVID_LEDS] = &ab5500_hvleds_data,
.dev_data_sz[AB5500_DEVID_LEDS] = sizeof(ab5500_hvleds_data),
- .init_settings = (struct abx500_init_settings[]){
- {
- .bank = 0x3,
- .reg = 0x17,
- .setting = 0x0F,
- },
- {
- .bank = 0x3,
- .reg = 0x18,
- .setting = 0x10,
- },
- },
- .init_settings_sz = 2,
+ .init_settings = &ab5500_init_settings,
+ .init_settings_sz = ARRAY_SIZE(ab5500_init_settings),
#if defined(CONFIG_AB5500_BM)
.dev_data[AB5500_DEVID_CHARGALG] = &abx500_bm_pt_data,
.dev_data_sz[AB5500_DEVID_CHARGALG] = sizeof(abx500_bm_pt_data),