diff options
author | Vijaya Kumar Kilari <vijay.kilari@stericsson.com> | 2012-01-09 18:00:38 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:02:41 +0200 |
commit | c9825cfd9f1255c3768076f9737eaee80d17f8b7 (patch) | |
tree | 554d4ba8fc92b58284174dec390f7b1f057f457d | |
parent | 614681a8b326f21e24f998fcc7b7c94d3b31fa89 (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.c | 78 |
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), |