summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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),