diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 13:59:11 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 13:59:11 -0500 |
commit | 698d601224824bc1a5bf17f3d86be902e2aabff0 (patch) | |
tree | 10262bd1f83fd26f874cbd898818e5925844a2ef /arch/arm/mach-ux500 | |
parent | a11da7df6543b5f71a150b47c0d08ecf0799a0f3 (diff) | |
parent | 4aa7cf79b1f760b5751d1686329351c2e060791b (diff) |
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver specific changes from Olof Johansson:
"A collection of mostly SoC-specific driver updates:
- a handful of pincontrol and setup changes
- new drivers for hwmon and reset controller for vexpress
- timing support updates for OMAP (gpmc and other interfaces)
- plus a collection of smaller cleanups"
* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
ARM: ux500: fix pin warning
ARM: OMAP2+: tusb6010: generic timing calculation
ARM: OMAP2+: smc91x: generic timing calculation
ARM: OMAP2+: onenand: generic timing calculation
ARM: OMAP2+: gpmc: generic timing calculation
ARM: OMAP2+: gpmc: handle additional timings
ARM: OMAP2+: nand: remove redundant rounding
gpio: samsung: use pr_* instead of printk
ARM: ux500: fixup magnetometer pins
ARM: ux500: add STM pin configuration
ARM: ux500: 8500: add pinctrl support for uart1 and uart2
ARM: ux500: cosmetic fixups for uart0
gpio: samsung: Fix input mode setting function for GPIO int
ARM: SAMSUNG: Insert bitmap_gpio_int member in samsung_gpio_chip
ARM: ux500: 8500: define SDI sleep states
ARM: vexpress: Reset driver
ARM: ux500: 8500: update SKE keypad pinctrl table
hwmon: Versatile Express hwmon driver
ARM: ux500: delete duplicate macro
ARM: ux500: 8500: add IDLE pin configuration for SPI
...
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-pins.c | 425 |
1 files changed, 360 insertions, 65 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c index c34d4efd0d5c..0a3f30df1eb8 100644 --- a/arch/arm/mach-ux500/board-mop500-pins.c +++ b/arch/arm/mach-ux500/board-mop500-pins.c | |||
@@ -33,8 +33,6 @@ BIAS(in_nopull, PIN_INPUT_NOPULL); | |||
33 | BIAS(in_nopull_slpm_nowkup, PIN_INPUT_NOPULL|PIN_SLPM_WAKEUP_DISABLE); | 33 | BIAS(in_nopull_slpm_nowkup, PIN_INPUT_NOPULL|PIN_SLPM_WAKEUP_DISABLE); |
34 | BIAS(in_pu, PIN_INPUT_PULLUP); | 34 | BIAS(in_pu, PIN_INPUT_PULLUP); |
35 | BIAS(in_pd, PIN_INPUT_PULLDOWN); | 35 | BIAS(in_pd, PIN_INPUT_PULLDOWN); |
36 | BIAS(in_pd_slpm_in_pu, PIN_INPUT_PULLDOWN|PIN_SLPM_INPUT_PULLUP); | ||
37 | BIAS(in_pu_slpm_out_lo, PIN_INPUT_PULLUP|PIN_SLPM_OUTPUT_LOW); | ||
38 | BIAS(out_hi, PIN_OUTPUT_HIGH); | 36 | BIAS(out_hi, PIN_OUTPUT_HIGH); |
39 | BIAS(out_lo, PIN_OUTPUT_LOW); | 37 | BIAS(out_lo, PIN_OUTPUT_LOW); |
40 | BIAS(out_lo_slpm_nowkup, PIN_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE); | 38 | BIAS(out_lo_slpm_nowkup, PIN_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE); |
@@ -46,14 +44,34 @@ BIAS(gpio_in_pd_slpm_gpio_nopull, PIN_INPUT_PULLDOWN|PIN_GPIOMODE_ENABLED|PIN_SL | |||
46 | BIAS(gpio_out_hi, PIN_OUTPUT_HIGH|PIN_GPIOMODE_ENABLED); | 44 | BIAS(gpio_out_hi, PIN_OUTPUT_HIGH|PIN_GPIOMODE_ENABLED); |
47 | BIAS(gpio_out_lo, PIN_OUTPUT_LOW|PIN_GPIOMODE_ENABLED); | 45 | BIAS(gpio_out_lo, PIN_OUTPUT_LOW|PIN_GPIOMODE_ENABLED); |
48 | /* Sleep modes */ | 46 | /* Sleep modes */ |
49 | BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 47 | BIAS(slpm_in_nopull_wkup, PIN_SLEEPMODE_ENABLED| |
50 | BIAS(slpm_in_nopull_wkup, PIN_SLEEPMODE_ENABLED|PIN_SLPM_DIR_INPUT|PIN_SLPM_PULL_NONE|PIN_SLPM_WAKEUP_ENABLE); | 48 | PIN_SLPM_DIR_INPUT|PIN_SLPM_PULL_NONE|PIN_SLPM_WAKEUP_ENABLE); |
51 | BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 49 | BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED| |
52 | BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 50 | PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); |
53 | BIAS(slpm_out_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 51 | BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED| |
54 | BIAS(slpm_out_lo_wkup, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE); | 52 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); |
55 | BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 53 | BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED| |
56 | BIAS(slpm_in_nopull_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_NOPULL|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 54 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED); |
55 | BIAS(slpm_out_lo_wkup, PIN_SLEEPMODE_ENABLED| | ||
56 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE); | ||
57 | BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED| | ||
58 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
59 | BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH| | ||
60 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
61 | BIAS(slpm_in_nopull_wkup_pdis, PIN_SLEEPMODE_ENABLED| | ||
62 | PIN_SLPM_INPUT_NOPULL|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
63 | BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP| | ||
64 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED); | ||
65 | BIAS(slpm_out_wkup_pdis, PIN_SLEEPMODE_ENABLED| | ||
66 | PIN_SLPM_DIR_OUTPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
67 | BIAS(out_lo_wkup_pdis, PIN_SLPM_OUTPUT_LOW| | ||
68 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
69 | BIAS(in_wkup_pdis_en, PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE| | ||
70 | PIN_SLPM_PDIS_ENABLED); | ||
71 | BIAS(in_wkup_pdis, PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE| | ||
72 | PIN_SLPM_PDIS_DISABLED); | ||
73 | BIAS(out_wkup_pdis, PIN_SLPM_DIR_OUTPUT|PIN_SLPM_WAKEUP_ENABLE| | ||
74 | PIN_SLPM_PDIS_DISABLED); | ||
57 | 75 | ||
58 | /* We use these to define hog settings that are always done on boot */ | 76 | /* We use these to define hog settings that are always done on boot */ |
59 | #define DB8500_MUX_HOG(group,func) \ | 77 | #define DB8500_MUX_HOG(group,func) \ |
@@ -69,13 +87,16 @@ BIAS(slpm_in_nopull_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_NOPULL|PIN_S | |||
69 | PIN_MAP_MUX_GROUP_DEFAULT(dev, "pinctrl-db8500", group, func) | 87 | PIN_MAP_MUX_GROUP_DEFAULT(dev, "pinctrl-db8500", group, func) |
70 | #define DB8500_PIN(pin,conf,dev) \ | 88 | #define DB8500_PIN(pin,conf,dev) \ |
71 | PIN_MAP_CONFIGS_PIN_DEFAULT(dev, "pinctrl-db8500", pin, conf) | 89 | PIN_MAP_CONFIGS_PIN_DEFAULT(dev, "pinctrl-db8500", pin, conf) |
72 | #define DB8500_PIN_SLEEP(pin, conf, dev) \ | 90 | #define DB8500_PIN_IDLE(pin, conf, dev) \ |
73 | PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \ | 91 | PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_IDLE, "pinctrl-db8500", \ |
74 | pin, conf) | 92 | pin, conf) |
75 | 93 | #define DB8500_PIN_SLEEP(pin, conf, dev) \ | |
76 | #define DB8500_PIN_SLEEP(pin,conf,dev) \ | ||
77 | PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \ | 94 | PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \ |
78 | pin, conf) | 95 | pin, conf) |
96 | #define DB8500_MUX_STATE(group, func, dev, state) \ | ||
97 | PIN_MAP_MUX_GROUP(dev, state, "pinctrl-db8500", group, func) | ||
98 | #define DB8500_PIN_STATE(pin, conf, dev, state) \ | ||
99 | PIN_MAP_CONFIGS_PIN(dev, state, "pinctrl-db8500", pin, conf) | ||
79 | 100 | ||
80 | /* Pin control settings */ | 101 | /* Pin control settings */ |
81 | static struct pinctrl_map __initdata mop500_family_pinmap[] = { | 102 | static struct pinctrl_map __initdata mop500_family_pinmap[] = { |
@@ -112,7 +133,7 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
112 | * UART0, we do not mux in u0 here. | 133 | * UART0, we do not mux in u0 here. |
113 | * uart-0 pins gpio configuration should be kept intact to prevent | 134 | * uart-0 pins gpio configuration should be kept intact to prevent |
114 | * a glitch in tx line when the tty dev is opened. Later these pins | 135 | * a glitch in tx line when the tty dev is opened. Later these pins |
115 | * are configured to uart mop500_pins_uart0 | 136 | * are configured by uart driver |
116 | */ | 137 | */ |
117 | DB8500_PIN_HOG("GPIO0_AJ5", in_pu), /* CTS */ | 138 | DB8500_PIN_HOG("GPIO0_AJ5", in_pu), /* CTS */ |
118 | DB8500_PIN_HOG("GPIO1_AJ3", out_hi), /* RTS */ | 139 | DB8500_PIN_HOG("GPIO1_AJ3", out_hi), /* RTS */ |
@@ -123,12 +144,13 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
123 | * TODO: is this used on U8500 variants and Snowball really? | 144 | * TODO: is this used on U8500 variants and Snowball really? |
124 | * The setting on GPIO31 conflicts with magnetometer use on hrefv60 | 145 | * The setting on GPIO31 conflicts with magnetometer use on hrefv60 |
125 | */ | 146 | */ |
126 | DB8500_MUX_HOG("u2rxtx_c_1", "u2"), | 147 | /* default state for UART2 */ |
127 | DB8500_MUX_HOG("u2ctsrts_c_1", "u2"), | 148 | DB8500_MUX("u2rxtx_c_1", "u2", "uart2"), |
128 | DB8500_PIN_HOG("GPIO29_W2", in_pu), /* RXD */ | 149 | DB8500_PIN("GPIO29_W2", in_pu, "uart2"), /* RXD */ |
129 | DB8500_PIN_HOG("GPIO30_W3", out_hi), /* TXD */ | 150 | DB8500_PIN("GPIO30_W3", out_hi, "uart2"), /* TXD */ |
130 | DB8500_PIN_HOG("GPIO31_V3", in_pu), /* CTS */ | 151 | /* Sleep state for UART2 */ |
131 | DB8500_PIN_HOG("GPIO32_V2", out_hi), /* RTS */ | 152 | DB8500_PIN_SLEEP("GPIO29_W2", in_wkup_pdis, "uart2"), |
153 | DB8500_PIN_SLEEP("GPIO30_W3", out_wkup_pdis, "uart2"), | ||
132 | /* | 154 | /* |
133 | * The following pin sets were known as "runtime pins" before being | 155 | * The following pin sets were known as "runtime pins" before being |
134 | * converted to the pinctrl model. Here we model them as "default" | 156 | * converted to the pinctrl model. Here we model them as "default" |
@@ -140,11 +162,18 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
140 | DB8500_PIN("GPIO1_AJ3", out_hi, "uart0"), /* RTS */ | 162 | DB8500_PIN("GPIO1_AJ3", out_hi, "uart0"), /* RTS */ |
141 | DB8500_PIN("GPIO2_AH4", in_pu, "uart0"), /* RXD */ | 163 | DB8500_PIN("GPIO2_AH4", in_pu, "uart0"), /* RXD */ |
142 | DB8500_PIN("GPIO3_AH3", out_hi, "uart0"), /* TXD */ | 164 | DB8500_PIN("GPIO3_AH3", out_hi, "uart0"), /* TXD */ |
143 | /* UART0 sleep state */ | 165 | /* Sleep state for UART0 */ |
144 | DB8500_PIN_SLEEP("GPIO0_AJ5", slpm_in_wkup_pdis, "uart0"), | 166 | DB8500_PIN_SLEEP("GPIO0_AJ5", slpm_in_wkup_pdis, "uart0"), |
145 | DB8500_PIN_SLEEP("GPIO1_AJ3", slpm_out_hi_wkup_pdis, "uart0"), | 167 | DB8500_PIN_SLEEP("GPIO1_AJ3", slpm_out_hi_wkup_pdis, "uart0"), |
146 | DB8500_PIN_SLEEP("GPIO2_AH4", slpm_in_wkup_pdis, "uart0"), | 168 | DB8500_PIN_SLEEP("GPIO2_AH4", slpm_in_wkup_pdis, "uart0"), |
147 | DB8500_PIN_SLEEP("GPIO3_AH3", slpm_out_wkup_pdis, "uart0"), | 169 | DB8500_PIN_SLEEP("GPIO3_AH3", slpm_out_wkup_pdis, "uart0"), |
170 | /* Mux in UART1 after initialization */ | ||
171 | DB8500_MUX("u1rxtx_a_1", "u1", "uart1"), | ||
172 | DB8500_PIN("GPIO4_AH6", in_pu, "uart1"), /* RXD */ | ||
173 | DB8500_PIN("GPIO5_AG6", out_hi, "uart1"), /* TXD */ | ||
174 | /* Sleep state for UART1 */ | ||
175 | DB8500_PIN_SLEEP("GPIO4_AH6", slpm_in_wkup_pdis, "uart1"), | ||
176 | DB8500_PIN_SLEEP("GPIO5_AG6", slpm_out_wkup_pdis, "uart1"), | ||
148 | /* MSP1 for ALSA codec */ | 177 | /* MSP1 for ALSA codec */ |
149 | DB8500_MUX("msp1txrx_a_1", "msp1", "ux500-msp-i2s.1"), | 178 | DB8500_MUX("msp1txrx_a_1", "msp1", "ux500-msp-i2s.1"), |
150 | DB8500_MUX("msp1_a_1", "msp1", "ux500-msp-i2s.1"), | 179 | DB8500_MUX("msp1_a_1", "msp1", "ux500-msp-i2s.1"), |
@@ -161,7 +190,10 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
161 | DB8500_MUX("lcd_d8_d11_a_1", "lcd", "mcde-tvout"), | 190 | DB8500_MUX("lcd_d8_d11_a_1", "lcd", "mcde-tvout"), |
162 | DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"), | 191 | DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"), |
163 | /* Mux in LCD VSI1 and pull it up for MCDE HDMI output */ | 192 | /* Mux in LCD VSI1 and pull it up for MCDE HDMI output */ |
164 | DB8500_MUX("lcdvsi1_a_1", "lcd", "av8100-hdmi"), | 193 | DB8500_MUX("lcdvsi1_a_1", "lcd", "0-0070"), |
194 | DB8500_PIN("GPIO69_E2", in_pu, "0-0070"), | ||
195 | /* LCD VSI1 sleep state */ | ||
196 | DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"), | ||
165 | /* Mux in i2c0 block, default state */ | 197 | /* Mux in i2c0 block, default state */ |
166 | DB8500_MUX("i2c0_a_1", "i2c0", "nmk-i2c.0"), | 198 | DB8500_MUX("i2c0_a_1", "i2c0", "nmk-i2c.0"), |
167 | /* i2c0 sleep state */ | 199 | /* i2c0 sleep state */ |
@@ -194,6 +226,18 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
194 | DB8500_PIN("GPIO26_Y2", in_pu, "sdi0"), /* DAT1 */ | 226 | DB8500_PIN("GPIO26_Y2", in_pu, "sdi0"), /* DAT1 */ |
195 | DB8500_PIN("GPIO27_AA2", in_pu, "sdi0"), /* DAT2 */ | 227 | DB8500_PIN("GPIO27_AA2", in_pu, "sdi0"), /* DAT2 */ |
196 | DB8500_PIN("GPIO28_AA1", in_pu, "sdi0"), /* DAT3 */ | 228 | DB8500_PIN("GPIO28_AA1", in_pu, "sdi0"), /* DAT3 */ |
229 | /* SDI0 sleep state */ | ||
230 | DB8500_PIN_SLEEP("GPIO18_AC2", slpm_out_hi_wkup_pdis, "sdi0"), | ||
231 | DB8500_PIN_SLEEP("GPIO19_AC1", slpm_out_hi_wkup_pdis, "sdi0"), | ||
232 | DB8500_PIN_SLEEP("GPIO20_AB4", slpm_out_hi_wkup_pdis, "sdi0"), | ||
233 | DB8500_PIN_SLEEP("GPIO22_AA3", slpm_in_wkup_pdis, "sdi0"), | ||
234 | DB8500_PIN_SLEEP("GPIO23_AA4", slpm_out_lo_wkup_pdis, "sdi0"), | ||
235 | DB8500_PIN_SLEEP("GPIO24_AB2", slpm_in_wkup_pdis, "sdi0"), | ||
236 | DB8500_PIN_SLEEP("GPIO25_Y4", slpm_in_wkup_pdis, "sdi0"), | ||
237 | DB8500_PIN_SLEEP("GPIO26_Y2", slpm_in_wkup_pdis, "sdi0"), | ||
238 | DB8500_PIN_SLEEP("GPIO27_AA2", slpm_in_wkup_pdis, "sdi0"), | ||
239 | DB8500_PIN_SLEEP("GPIO28_AA1", slpm_in_wkup_pdis, "sdi0"), | ||
240 | |||
197 | /* Mux in SDI1 (here called MC1) used for SDIO for CW1200 WLAN */ | 241 | /* Mux in SDI1 (here called MC1) used for SDIO for CW1200 WLAN */ |
198 | DB8500_MUX("mc1_a_1", "mc1", "sdi1"), | 242 | DB8500_MUX("mc1_a_1", "mc1", "sdi1"), |
199 | DB8500_PIN("GPIO208_AH16", out_lo, "sdi1"), /* CLK */ | 243 | DB8500_PIN("GPIO208_AH16", out_lo, "sdi1"), /* CLK */ |
@@ -203,6 +247,15 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
203 | DB8500_PIN("GPIO212_AF13", in_pu, "sdi1"), /* DAT1 */ | 247 | DB8500_PIN("GPIO212_AF13", in_pu, "sdi1"), /* DAT1 */ |
204 | DB8500_PIN("GPIO213_AG13", in_pu, "sdi1"), /* DAT2 */ | 248 | DB8500_PIN("GPIO213_AG13", in_pu, "sdi1"), /* DAT2 */ |
205 | DB8500_PIN("GPIO214_AH15", in_pu, "sdi1"), /* DAT3 */ | 249 | DB8500_PIN("GPIO214_AH15", in_pu, "sdi1"), /* DAT3 */ |
250 | /* SDI1 sleep state */ | ||
251 | DB8500_PIN_SLEEP("GPIO208_AH16", slpm_out_lo_wkup_pdis, "sdi1"), /* CLK */ | ||
252 | DB8500_PIN_SLEEP("GPIO209_AG15", slpm_in_wkup_pdis, "sdi1"), /* FBCLK */ | ||
253 | DB8500_PIN_SLEEP("GPIO210_AJ15", slpm_in_wkup_pdis, "sdi1"), /* CMD */ | ||
254 | DB8500_PIN_SLEEP("GPIO211_AG14", slpm_in_wkup_pdis, "sdi1"), /* DAT0 */ | ||
255 | DB8500_PIN_SLEEP("GPIO212_AF13", slpm_in_wkup_pdis, "sdi1"), /* DAT1 */ | ||
256 | DB8500_PIN_SLEEP("GPIO213_AG13", slpm_in_wkup_pdis, "sdi1"), /* DAT2 */ | ||
257 | DB8500_PIN_SLEEP("GPIO214_AH15", slpm_in_wkup_pdis, "sdi1"), /* DAT3 */ | ||
258 | |||
206 | /* Mux in SDI2 (here called MC2) used for for PoP eMMC */ | 259 | /* Mux in SDI2 (here called MC2) used for for PoP eMMC */ |
207 | DB8500_MUX("mc2_a_1", "mc2", "sdi2"), | 260 | DB8500_MUX("mc2_a_1", "mc2", "sdi2"), |
208 | DB8500_PIN("GPIO128_A5", out_lo, "sdi2"), /* CLK */ | 261 | DB8500_PIN("GPIO128_A5", out_lo, "sdi2"), /* CLK */ |
@@ -216,6 +269,19 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
216 | DB8500_PIN("GPIO136_C7", in_pu, "sdi2"), /* DAT5 */ | 269 | DB8500_PIN("GPIO136_C7", in_pu, "sdi2"), /* DAT5 */ |
217 | DB8500_PIN("GPIO137_A7", in_pu, "sdi2"), /* DAT6 */ | 270 | DB8500_PIN("GPIO137_A7", in_pu, "sdi2"), /* DAT6 */ |
218 | DB8500_PIN("GPIO138_C5", in_pu, "sdi2"), /* DAT7 */ | 271 | DB8500_PIN("GPIO138_C5", in_pu, "sdi2"), /* DAT7 */ |
272 | /* SDI2 sleep state */ | ||
273 | DB8500_PIN_SLEEP("GPIO128_A5", out_lo_wkup_pdis, "sdi2"), /* CLK */ | ||
274 | DB8500_PIN_SLEEP("GPIO129_B4", in_wkup_pdis_en, "sdi2"), /* CMD */ | ||
275 | DB8500_PIN_SLEEP("GPIO130_C8", in_wkup_pdis_en, "sdi2"), /* FBCLK */ | ||
276 | DB8500_PIN_SLEEP("GPIO131_A12", in_wkup_pdis, "sdi2"), /* DAT0 */ | ||
277 | DB8500_PIN_SLEEP("GPIO132_C10", in_wkup_pdis, "sdi2"), /* DAT1 */ | ||
278 | DB8500_PIN_SLEEP("GPIO133_B10", in_wkup_pdis, "sdi2"), /* DAT2 */ | ||
279 | DB8500_PIN_SLEEP("GPIO134_B9", in_wkup_pdis, "sdi2"), /* DAT3 */ | ||
280 | DB8500_PIN_SLEEP("GPIO135_A9", in_wkup_pdis, "sdi2"), /* DAT4 */ | ||
281 | DB8500_PIN_SLEEP("GPIO136_C7", in_wkup_pdis, "sdi2"), /* DAT5 */ | ||
282 | DB8500_PIN_SLEEP("GPIO137_A7", in_wkup_pdis, "sdi2"), /* DAT6 */ | ||
283 | DB8500_PIN_SLEEP("GPIO138_C5", in_wkup_pdis, "sdi2"), /* DAT7 */ | ||
284 | |||
219 | /* Mux in SDI4 (here called MC4) used for for PCB-mounted eMMC */ | 285 | /* Mux in SDI4 (here called MC4) used for for PCB-mounted eMMC */ |
220 | DB8500_MUX("mc4_a_1", "mc4", "sdi4"), | 286 | DB8500_MUX("mc4_a_1", "mc4", "sdi4"), |
221 | DB8500_PIN("GPIO197_AH24", in_pu, "sdi4"), /* DAT3 */ | 287 | DB8500_PIN("GPIO197_AH24", in_pu, "sdi4"), /* DAT3 */ |
@@ -229,6 +295,19 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
229 | DB8500_PIN("GPIO205_AG23", in_pu, "sdi4"), /* DAT6 */ | 295 | DB8500_PIN("GPIO205_AG23", in_pu, "sdi4"), /* DAT6 */ |
230 | DB8500_PIN("GPIO206_AG24", in_pu, "sdi4"), /* DAT5 */ | 296 | DB8500_PIN("GPIO206_AG24", in_pu, "sdi4"), /* DAT5 */ |
231 | DB8500_PIN("GPIO207_AJ23", in_pu, "sdi4"), /* DAT4 */ | 297 | DB8500_PIN("GPIO207_AJ23", in_pu, "sdi4"), /* DAT4 */ |
298 | /*SDI4 sleep state */ | ||
299 | DB8500_PIN_SLEEP("GPIO197_AH24", slpm_in_wkup_pdis, "sdi4"), /* DAT3 */ | ||
300 | DB8500_PIN_SLEEP("GPIO198_AG25", slpm_in_wkup_pdis, "sdi4"), /* DAT2 */ | ||
301 | DB8500_PIN_SLEEP("GPIO199_AH23", slpm_in_wkup_pdis, "sdi4"), /* DAT1 */ | ||
302 | DB8500_PIN_SLEEP("GPIO200_AH26", slpm_in_wkup_pdis, "sdi4"), /* DAT0 */ | ||
303 | DB8500_PIN_SLEEP("GPIO201_AF24", slpm_in_wkup_pdis, "sdi4"), /* CMD */ | ||
304 | DB8500_PIN_SLEEP("GPIO202_AF25", slpm_in_wkup_pdis, "sdi4"), /* FBCLK */ | ||
305 | DB8500_PIN_SLEEP("GPIO203_AE23", slpm_out_lo_wkup_pdis, "sdi4"), /* CLK */ | ||
306 | DB8500_PIN_SLEEP("GPIO204_AF23", slpm_in_wkup_pdis, "sdi4"), /* DAT7 */ | ||
307 | DB8500_PIN_SLEEP("GPIO205_AG23", slpm_in_wkup_pdis, "sdi4"), /* DAT6 */ | ||
308 | DB8500_PIN_SLEEP("GPIO206_AG24", slpm_in_wkup_pdis, "sdi4"), /* DAT5 */ | ||
309 | DB8500_PIN_SLEEP("GPIO207_AJ23", slpm_in_wkup_pdis, "sdi4"), /* DAT4 */ | ||
310 | |||
232 | /* Mux in USB pins, drive STP high */ | 311 | /* Mux in USB pins, drive STP high */ |
233 | DB8500_MUX("usb_a_1", "usb", "musb-ux500.0"), | 312 | DB8500_MUX("usb_a_1", "usb", "musb-ux500.0"), |
234 | DB8500_PIN("GPIO257_AE29", out_hi, "musb-ux500.0"), /* STP */ | 313 | DB8500_PIN("GPIO257_AE29", out_hi, "musb-ux500.0"), /* STP */ |
@@ -238,10 +317,232 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
238 | DB8500_PIN("GPIO218_AH11", in_pd, "spi2"), /* RXD */ | 317 | DB8500_PIN("GPIO218_AH11", in_pd, "spi2"), /* RXD */ |
239 | DB8500_PIN("GPIO215_AH13", out_lo, "spi2"), /* TXD */ | 318 | DB8500_PIN("GPIO215_AH13", out_lo, "spi2"), /* TXD */ |
240 | DB8500_PIN("GPIO217_AH12", out_lo, "spi2"), /* CLK */ | 319 | DB8500_PIN("GPIO217_AH12", out_lo, "spi2"), /* CLK */ |
320 | /* SPI2 idle state */ | ||
321 | DB8500_PIN_SLEEP("GPIO218_AH11", slpm_in_wkup_pdis, "spi2"), /* RXD */ | ||
322 | DB8500_PIN_SLEEP("GPIO215_AH13", slpm_out_lo_wkup_pdis, "spi2"), /* TXD */ | ||
323 | DB8500_PIN_SLEEP("GPIO217_AH12", slpm_wkup_pdis, "spi2"), /* CLK */ | ||
241 | /* SPI2 sleep state */ | 324 | /* SPI2 sleep state */ |
325 | DB8500_PIN_SLEEP("GPIO216_AG12", slpm_in_wkup_pdis, "spi2"), /* FRM */ | ||
242 | DB8500_PIN_SLEEP("GPIO218_AH11", slpm_in_wkup_pdis, "spi2"), /* RXD */ | 326 | DB8500_PIN_SLEEP("GPIO218_AH11", slpm_in_wkup_pdis, "spi2"), /* RXD */ |
243 | DB8500_PIN_SLEEP("GPIO215_AH13", slpm_out_lo_wkup_pdis, "spi2"), /* TXD */ | 327 | DB8500_PIN_SLEEP("GPIO215_AH13", slpm_out_lo_wkup_pdis, "spi2"), /* TXD */ |
244 | DB8500_PIN_SLEEP("GPIO217_AH12", slpm_wkup_pdis, "spi2"), /* CLK */ | 328 | DB8500_PIN_SLEEP("GPIO217_AH12", slpm_wkup_pdis, "spi2"), /* CLK */ |
329 | |||
330 | /* ske default state */ | ||
331 | DB8500_MUX("kp_a_2", "kp", "nmk-ske-keypad"), | ||
332 | DB8500_PIN("GPIO153_B17", in_pd, "nmk-ske-keypad"), /* I7 */ | ||
333 | DB8500_PIN("GPIO154_C16", in_pd, "nmk-ske-keypad"), /* I6 */ | ||
334 | DB8500_PIN("GPIO155_C19", in_pd, "nmk-ske-keypad"), /* I5 */ | ||
335 | DB8500_PIN("GPIO156_C17", in_pd, "nmk-ske-keypad"), /* I4 */ | ||
336 | DB8500_PIN("GPIO161_D21", in_pd, "nmk-ske-keypad"), /* I3 */ | ||
337 | DB8500_PIN("GPIO162_D20", in_pd, "nmk-ske-keypad"), /* I2 */ | ||
338 | DB8500_PIN("GPIO163_C20", in_pd, "nmk-ske-keypad"), /* I1 */ | ||
339 | DB8500_PIN("GPIO164_B21", in_pd, "nmk-ske-keypad"), /* I0 */ | ||
340 | DB8500_PIN("GPIO157_A18", out_lo, "nmk-ske-keypad"), /* O7 */ | ||
341 | DB8500_PIN("GPIO158_C18", out_lo, "nmk-ske-keypad"), /* O6 */ | ||
342 | DB8500_PIN("GPIO159_B19", out_lo, "nmk-ske-keypad"), /* O5 */ | ||
343 | DB8500_PIN("GPIO160_B20", out_lo, "nmk-ske-keypad"), /* O4 */ | ||
344 | DB8500_PIN("GPIO165_C21", out_lo, "nmk-ske-keypad"), /* O3 */ | ||
345 | DB8500_PIN("GPIO166_A22", out_lo, "nmk-ske-keypad"), /* O2 */ | ||
346 | DB8500_PIN("GPIO167_B24", out_lo, "nmk-ske-keypad"), /* O1 */ | ||
347 | DB8500_PIN("GPIO168_C22", out_lo, "nmk-ske-keypad"), /* O0 */ | ||
348 | /* ske sleep state */ | ||
349 | DB8500_PIN_SLEEP("GPIO153_B17", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I7 */ | ||
350 | DB8500_PIN_SLEEP("GPIO154_C16", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I6 */ | ||
351 | DB8500_PIN_SLEEP("GPIO155_C19", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I5 */ | ||
352 | DB8500_PIN_SLEEP("GPIO156_C17", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I4 */ | ||
353 | DB8500_PIN_SLEEP("GPIO161_D21", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I3 */ | ||
354 | DB8500_PIN_SLEEP("GPIO162_D20", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I2 */ | ||
355 | DB8500_PIN_SLEEP("GPIO163_C20", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I1 */ | ||
356 | DB8500_PIN_SLEEP("GPIO164_B21", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I0 */ | ||
357 | DB8500_PIN_SLEEP("GPIO157_A18", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O7 */ | ||
358 | DB8500_PIN_SLEEP("GPIO158_C18", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O6 */ | ||
359 | DB8500_PIN_SLEEP("GPIO159_B19", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O5 */ | ||
360 | DB8500_PIN_SLEEP("GPIO160_B20", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O4 */ | ||
361 | DB8500_PIN_SLEEP("GPIO165_C21", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O3 */ | ||
362 | DB8500_PIN_SLEEP("GPIO166_A22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O2 */ | ||
363 | DB8500_PIN_SLEEP("GPIO167_B24", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O1 */ | ||
364 | DB8500_PIN_SLEEP("GPIO168_C22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O0 */ | ||
365 | |||
366 | /* STM APE pins states */ | ||
367 | DB8500_MUX_STATE("stmape_c_1", "stmape", | ||
368 | "stm", "ape_mipi34"), | ||
369 | DB8500_PIN_STATE("GPIO70_G5", in_nopull, | ||
370 | "stm", "ape_mipi34"), /* clk */ | ||
371 | DB8500_PIN_STATE("GPIO71_G4", in_nopull, | ||
372 | "stm", "ape_mipi34"), /* dat3 */ | ||
373 | DB8500_PIN_STATE("GPIO72_H4", in_nopull, | ||
374 | "stm", "ape_mipi34"), /* dat2 */ | ||
375 | DB8500_PIN_STATE("GPIO73_H3", in_nopull, | ||
376 | "stm", "ape_mipi34"), /* dat1 */ | ||
377 | DB8500_PIN_STATE("GPIO74_J3", in_nopull, | ||
378 | "stm", "ape_mipi34"), /* dat0 */ | ||
379 | |||
380 | DB8500_PIN_STATE("GPIO70_G5", slpm_out_lo_pdis, | ||
381 | "stm", "ape_mipi34_sleep"), /* clk */ | ||
382 | DB8500_PIN_STATE("GPIO71_G4", slpm_out_lo_pdis, | ||
383 | "stm", "ape_mipi34_sleep"), /* dat3 */ | ||
384 | DB8500_PIN_STATE("GPIO72_H4", slpm_out_lo_pdis, | ||
385 | "stm", "ape_mipi34_sleep"), /* dat2 */ | ||
386 | DB8500_PIN_STATE("GPIO73_H3", slpm_out_lo_pdis, | ||
387 | "stm", "ape_mipi34_sleep"), /* dat1 */ | ||
388 | DB8500_PIN_STATE("GPIO74_J3", slpm_out_lo_pdis, | ||
389 | "stm", "ape_mipi34_sleep"), /* dat0 */ | ||
390 | |||
391 | DB8500_MUX_STATE("stmape_oc1_1", "stmape", | ||
392 | "stm", "ape_microsd"), | ||
393 | DB8500_PIN_STATE("GPIO23_AA4", in_nopull, | ||
394 | "stm", "ape_microsd"), /* clk */ | ||
395 | DB8500_PIN_STATE("GPIO25_Y4", in_nopull, | ||
396 | "stm", "ape_microsd"), /* dat0 */ | ||
397 | DB8500_PIN_STATE("GPIO26_Y2", in_nopull, | ||
398 | "stm", "ape_microsd"), /* dat1 */ | ||
399 | DB8500_PIN_STATE("GPIO27_AA2", in_nopull, | ||
400 | "stm", "ape_microsd"), /* dat2 */ | ||
401 | DB8500_PIN_STATE("GPIO28_AA1", in_nopull, | ||
402 | "stm", "ape_microsd"), /* dat3 */ | ||
403 | |||
404 | DB8500_PIN_STATE("GPIO23_AA4", slpm_out_lo_wkup_pdis, | ||
405 | "stm", "ape_microsd_sleep"), /* clk */ | ||
406 | DB8500_PIN_STATE("GPIO25_Y4", slpm_in_wkup_pdis, | ||
407 | "stm", "ape_microsd_sleep"), /* dat0 */ | ||
408 | DB8500_PIN_STATE("GPIO26_Y2", slpm_in_wkup_pdis, | ||
409 | "stm", "ape_microsd_sleep"), /* dat1 */ | ||
410 | DB8500_PIN_STATE("GPIO27_AA2", slpm_in_wkup_pdis, | ||
411 | "stm", "ape_microsd_sleep"), /* dat2 */ | ||
412 | DB8500_PIN_STATE("GPIO28_AA1", slpm_in_wkup_pdis, | ||
413 | "stm", "ape_microsd_sleep"), /* dat3 */ | ||
414 | |||
415 | /* STM Modem pins states */ | ||
416 | DB8500_MUX_STATE("stmmod_oc3_2", "stmmod", | ||
417 | "stm", "mod_mipi34"), | ||
418 | DB8500_MUX_STATE("uartmodrx_oc3_1", "uartmod", | ||
419 | "stm", "mod_mipi34"), | ||
420 | DB8500_MUX_STATE("uartmodtx_oc3_1", "uartmod", | ||
421 | "stm", "mod_mipi34"), | ||
422 | DB8500_PIN_STATE("GPIO70_G5", in_nopull, | ||
423 | "stm", "mod_mipi34"), /* clk */ | ||
424 | DB8500_PIN_STATE("GPIO71_G4", in_nopull, | ||
425 | "stm", "mod_mipi34"), /* dat3 */ | ||
426 | DB8500_PIN_STATE("GPIO72_H4", in_nopull, | ||
427 | "stm", "mod_mipi34"), /* dat2 */ | ||
428 | DB8500_PIN_STATE("GPIO73_H3", in_nopull, | ||
429 | "stm", "mod_mipi34"), /* dat1 */ | ||
430 | DB8500_PIN_STATE("GPIO74_J3", in_nopull, | ||
431 | "stm", "mod_mipi34"), /* dat0 */ | ||
432 | DB8500_PIN_STATE("GPIO75_H2", in_pu, | ||
433 | "stm", "mod_mipi34"), /* uartmod rx */ | ||
434 | DB8500_PIN_STATE("GPIO76_J2", out_lo, | ||
435 | "stm", "mod_mipi34"), /* uartmod tx */ | ||
436 | |||
437 | DB8500_PIN_STATE("GPIO70_G5", slpm_out_lo_pdis, | ||
438 | "stm", "mod_mipi34_sleep"), /* clk */ | ||
439 | DB8500_PIN_STATE("GPIO71_G4", slpm_out_lo_pdis, | ||
440 | "stm", "mod_mipi34_sleep"), /* dat3 */ | ||
441 | DB8500_PIN_STATE("GPIO72_H4", slpm_out_lo_pdis, | ||
442 | "stm", "mod_mipi34_sleep"), /* dat2 */ | ||
443 | DB8500_PIN_STATE("GPIO73_H3", slpm_out_lo_pdis, | ||
444 | "stm", "mod_mipi34_sleep"), /* dat1 */ | ||
445 | DB8500_PIN_STATE("GPIO74_J3", slpm_out_lo_pdis, | ||
446 | "stm", "mod_mipi34_sleep"), /* dat0 */ | ||
447 | DB8500_PIN_STATE("GPIO75_H2", slpm_in_wkup_pdis, | ||
448 | "stm", "mod_mipi34_sleep"), /* uartmod rx */ | ||
449 | DB8500_PIN_STATE("GPIO76_J2", slpm_out_lo_wkup_pdis, | ||
450 | "stm", "mod_mipi34_sleep"), /* uartmod tx */ | ||
451 | |||
452 | DB8500_MUX_STATE("stmmod_b_1", "stmmod", | ||
453 | "stm", "mod_microsd"), | ||
454 | DB8500_MUX_STATE("uartmodrx_oc3_1", "uartmod", | ||
455 | "stm", "mod_microsd"), | ||
456 | DB8500_MUX_STATE("uartmodtx_oc3_1", "uartmod", | ||
457 | "stm", "mod_microsd"), | ||
458 | DB8500_PIN_STATE("GPIO23_AA4", in_nopull, | ||
459 | "stm", "mod_microsd"), /* clk */ | ||
460 | DB8500_PIN_STATE("GPIO25_Y4", in_nopull, | ||
461 | "stm", "mod_microsd"), /* dat0 */ | ||
462 | DB8500_PIN_STATE("GPIO26_Y2", in_nopull, | ||
463 | "stm", "mod_microsd"), /* dat1 */ | ||
464 | DB8500_PIN_STATE("GPIO27_AA2", in_nopull, | ||
465 | "stm", "mod_microsd"), /* dat2 */ | ||
466 | DB8500_PIN_STATE("GPIO28_AA1", in_nopull, | ||
467 | "stm", "mod_microsd"), /* dat3 */ | ||
468 | DB8500_PIN_STATE("GPIO75_H2", in_pu, | ||
469 | "stm", "mod_microsd"), /* uartmod rx */ | ||
470 | DB8500_PIN_STATE("GPIO76_J2", out_lo, | ||
471 | "stm", "mod_microsd"), /* uartmod tx */ | ||
472 | |||
473 | DB8500_PIN_STATE("GPIO23_AA4", slpm_out_lo_wkup_pdis, | ||
474 | "stm", "mod_microsd_sleep"), /* clk */ | ||
475 | DB8500_PIN_STATE("GPIO25_Y4", slpm_in_wkup_pdis, | ||
476 | "stm", "mod_microsd_sleep"), /* dat0 */ | ||
477 | DB8500_PIN_STATE("GPIO26_Y2", slpm_in_wkup_pdis, | ||
478 | "stm", "mod_microsd_sleep"), /* dat1 */ | ||
479 | DB8500_PIN_STATE("GPIO27_AA2", slpm_in_wkup_pdis, | ||
480 | "stm", "mod_microsd_sleep"), /* dat2 */ | ||
481 | DB8500_PIN_STATE("GPIO28_AA1", slpm_in_wkup_pdis, | ||
482 | "stm", "mod_microsd_sleep"), /* dat3 */ | ||
483 | DB8500_PIN_STATE("GPIO75_H2", slpm_in_wkup_pdis, | ||
484 | "stm", "mod_microsd_sleep"), /* uartmod rx */ | ||
485 | DB8500_PIN_STATE("GPIO76_J2", slpm_out_lo_wkup_pdis, | ||
486 | "stm", "mod_microsd_sleep"), /* uartmod tx */ | ||
487 | |||
488 | /* STM dual Modem/APE pins state */ | ||
489 | DB8500_MUX_STATE("stmmod_oc3_2", "stmmod", | ||
490 | "stm", "mod_mipi34_ape_mipi60"), | ||
491 | DB8500_MUX_STATE("stmape_c_2", "stmape", | ||
492 | "stm", "mod_mipi34_ape_mipi60"), | ||
493 | DB8500_MUX_STATE("uartmodrx_oc3_1", "uartmod", | ||
494 | "stm", "mod_mipi34_ape_mipi60"), | ||
495 | DB8500_MUX_STATE("uartmodtx_oc3_1", "uartmod", | ||
496 | "stm", "mod_mipi34_ape_mipi60"), | ||
497 | DB8500_PIN_STATE("GPIO70_G5", in_nopull, | ||
498 | "stm", "mod_mipi34_ape_mipi60"), /* clk */ | ||
499 | DB8500_PIN_STATE("GPIO71_G4", in_nopull, | ||
500 | "stm", "mod_mipi34_ape_mipi60"), /* dat3 */ | ||
501 | DB8500_PIN_STATE("GPIO72_H4", in_nopull, | ||
502 | "stm", "mod_mipi34_ape_mipi60"), /* dat2 */ | ||
503 | DB8500_PIN_STATE("GPIO73_H3", in_nopull, | ||
504 | "stm", "mod_mipi34_ape_mipi60"), /* dat1 */ | ||
505 | DB8500_PIN_STATE("GPIO74_J3", in_nopull, | ||
506 | "stm", "mod_mipi34_ape_mipi60"), /* dat0 */ | ||
507 | DB8500_PIN_STATE("GPIO75_H2", in_pu, | ||
508 | "stm", "mod_mipi34_ape_mipi60"), /* uartmod rx */ | ||
509 | DB8500_PIN_STATE("GPIO76_J2", out_lo, | ||
510 | "stm", "mod_mipi34_ape_mipi60"), /* uartmod tx */ | ||
511 | DB8500_PIN_STATE("GPIO155_C19", in_nopull, | ||
512 | "stm", "mod_mipi34_ape_mipi60"), /* clk */ | ||
513 | DB8500_PIN_STATE("GPIO156_C17", in_nopull, | ||
514 | "stm", "mod_mipi34_ape_mipi60"), /* dat3 */ | ||
515 | DB8500_PIN_STATE("GPIO157_A18", in_nopull, | ||
516 | "stm", "mod_mipi34_ape_mipi60"), /* dat2 */ | ||
517 | DB8500_PIN_STATE("GPIO158_C18", in_nopull, | ||
518 | "stm", "mod_mipi34_ape_mipi60"), /* dat1 */ | ||
519 | DB8500_PIN_STATE("GPIO159_B19", in_nopull, | ||
520 | "stm", "mod_mipi34_ape_mipi60"), /* dat0 */ | ||
521 | |||
522 | DB8500_PIN_STATE("GPIO70_G5", slpm_out_lo_pdis, | ||
523 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* clk */ | ||
524 | DB8500_PIN_STATE("GPIO71_G4", slpm_out_lo_pdis, | ||
525 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat3 */ | ||
526 | DB8500_PIN_STATE("GPIO72_H4", slpm_out_lo_pdis, | ||
527 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat2 */ | ||
528 | DB8500_PIN_STATE("GPIO73_H3", slpm_out_lo_pdis, | ||
529 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat1 */ | ||
530 | DB8500_PIN_STATE("GPIO74_J3", slpm_out_lo_pdis, | ||
531 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat0 */ | ||
532 | DB8500_PIN_STATE("GPIO75_H2", slpm_in_wkup_pdis, | ||
533 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* uartmod rx */ | ||
534 | DB8500_PIN_STATE("GPIO76_J2", slpm_out_lo_wkup_pdis, | ||
535 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* uartmod tx */ | ||
536 | DB8500_PIN_STATE("GPIO155_C19", slpm_in_wkup_pdis, | ||
537 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* clk */ | ||
538 | DB8500_PIN_STATE("GPIO156_C17", slpm_in_wkup_pdis, | ||
539 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat3 */ | ||
540 | DB8500_PIN_STATE("GPIO157_A18", slpm_in_wkup_pdis, | ||
541 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat2 */ | ||
542 | DB8500_PIN_STATE("GPIO158_C18", slpm_in_wkup_pdis, | ||
543 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat1 */ | ||
544 | DB8500_PIN_STATE("GPIO159_B19", slpm_in_wkup_pdis, | ||
545 | "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat0 */ | ||
245 | }; | 546 | }; |
246 | 547 | ||
247 | /* | 548 | /* |
@@ -267,32 +568,48 @@ static struct pinctrl_map __initdata mop500_pinmap[] = { | |||
267 | DB8500_PIN_HOG("GPIO217_AH12", gpio_in_pu), | 568 | DB8500_PIN_HOG("GPIO217_AH12", gpio_in_pu), |
268 | /* Mux in UART1 and set the pull-ups */ | 569 | /* Mux in UART1 and set the pull-ups */ |
269 | DB8500_MUX_HOG("u1rxtx_a_1", "u1"), | 570 | DB8500_MUX_HOG("u1rxtx_a_1", "u1"), |
270 | DB8500_MUX_HOG("u1ctsrts_a_1", "u1"), | ||
271 | DB8500_PIN_HOG("GPIO4_AH6", in_pu), /* RXD */ | 571 | DB8500_PIN_HOG("GPIO4_AH6", in_pu), /* RXD */ |
272 | DB8500_PIN_HOG("GPIO5_AG6", out_hi), /* TXD */ | 572 | DB8500_PIN_HOG("GPIO5_AG6", out_hi), /* TXD */ |
273 | DB8500_PIN_HOG("GPIO6_AF6", in_pu), /* CTS */ | ||
274 | DB8500_PIN_HOG("GPIO7_AG5", out_hi), /* RTS */ | ||
275 | /* | 573 | /* |
276 | * Runtime stuff: make it possible to mux in the SKE keypad | 574 | * Runtime stuff: make it possible to mux in the SKE keypad |
277 | * and bias the pins | 575 | * and bias the pins |
278 | */ | 576 | */ |
279 | DB8500_MUX("kp_a_2", "kp", "ske"), | 577 | /* ske default state */ |
280 | DB8500_PIN("GPIO153_B17", in_pd_slpm_in_pu, "ske"), /* I7 */ | 578 | DB8500_MUX("kp_a_2", "kp", "nmk-ske-keypad"), |
281 | DB8500_PIN("GPIO154_C16", in_pd_slpm_in_pu, "ske"), /* I6 */ | 579 | DB8500_PIN("GPIO153_B17", in_pu, "nmk-ske-keypad"), /* I7 */ |
282 | DB8500_PIN("GPIO155_C19", in_pd_slpm_in_pu, "ske"), /* I5 */ | 580 | DB8500_PIN("GPIO154_C16", in_pu, "nmk-ske-keypad"), /* I6 */ |
283 | DB8500_PIN("GPIO156_C17", in_pd_slpm_in_pu, "ske"), /* I4 */ | 581 | DB8500_PIN("GPIO155_C19", in_pu, "nmk-ske-keypad"), /* I5 */ |
284 | DB8500_PIN("GPIO161_D21", in_pd_slpm_in_pu, "ske"), /* I3 */ | 582 | DB8500_PIN("GPIO156_C17", in_pu, "nmk-ske-keypad"), /* I4 */ |
285 | DB8500_PIN("GPIO162_D20", in_pd_slpm_in_pu, "ske"), /* I2 */ | 583 | DB8500_PIN("GPIO161_D21", in_pu, "nmk-ske-keypad"), /* I3 */ |
286 | DB8500_PIN("GPIO163_C20", in_pd_slpm_in_pu, "ske"), /* I1 */ | 584 | DB8500_PIN("GPIO162_D20", in_pu, "nmk-ske-keypad"), /* I2 */ |
287 | DB8500_PIN("GPIO164_B21", in_pd_slpm_in_pu, "ske"), /* I0 */ | 585 | DB8500_PIN("GPIO163_C20", in_pu, "nmk-ske-keypad"), /* I1 */ |
288 | DB8500_PIN("GPIO157_A18", in_pu_slpm_out_lo, "ske"), /* O7 */ | 586 | DB8500_PIN("GPIO164_B21", in_pu, "nmk-ske-keypad"), /* I0 */ |
289 | DB8500_PIN("GPIO158_C18", in_pu_slpm_out_lo, "ske"), /* O6 */ | 587 | DB8500_PIN("GPIO157_A18", out_lo, "nmk-ske-keypad"), /* O7 */ |
290 | DB8500_PIN("GPIO159_B19", in_pu_slpm_out_lo, "ske"), /* O5 */ | 588 | DB8500_PIN("GPIO158_C18", out_lo, "nmk-ske-keypad"), /* O6 */ |
291 | DB8500_PIN("GPIO160_B20", in_pu_slpm_out_lo, "ske"), /* O4 */ | 589 | DB8500_PIN("GPIO159_B19", out_lo, "nmk-ske-keypad"), /* O5 */ |
292 | DB8500_PIN("GPIO165_C21", in_pu_slpm_out_lo, "ske"), /* O3 */ | 590 | DB8500_PIN("GPIO160_B20", out_lo, "nmk-ske-keypad"), /* O4 */ |
293 | DB8500_PIN("GPIO166_A22", in_pu_slpm_out_lo, "ske"), /* O2 */ | 591 | DB8500_PIN("GPIO165_C21", out_lo, "nmk-ske-keypad"), /* O3 */ |
294 | DB8500_PIN("GPIO167_B24", in_pu_slpm_out_lo, "ske"), /* O1 */ | 592 | DB8500_PIN("GPIO166_A22", out_lo, "nmk-ske-keypad"), /* O2 */ |
295 | DB8500_PIN("GPIO168_C22", in_pu_slpm_out_lo, "ske"), /* O0 */ | 593 | DB8500_PIN("GPIO167_B24", out_lo, "nmk-ske-keypad"), /* O1 */ |
594 | DB8500_PIN("GPIO168_C22", out_lo, "nmk-ske-keypad"), /* O0 */ | ||
595 | /* ske sleep state */ | ||
596 | DB8500_PIN_SLEEP("GPIO153_B17", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I7 */ | ||
597 | DB8500_PIN_SLEEP("GPIO154_C16", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I6 */ | ||
598 | DB8500_PIN_SLEEP("GPIO155_C19", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I5 */ | ||
599 | DB8500_PIN_SLEEP("GPIO156_C17", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I4 */ | ||
600 | DB8500_PIN_SLEEP("GPIO161_D21", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I3 */ | ||
601 | DB8500_PIN_SLEEP("GPIO162_D20", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I2 */ | ||
602 | DB8500_PIN_SLEEP("GPIO163_C20", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I1 */ | ||
603 | DB8500_PIN_SLEEP("GPIO164_B21", slpm_in_pu_wkup_pdis_en, "nmk-ske-keypad"), /* I0 */ | ||
604 | DB8500_PIN_SLEEP("GPIO157_A18", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O7 */ | ||
605 | DB8500_PIN_SLEEP("GPIO158_C18", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O6 */ | ||
606 | DB8500_PIN_SLEEP("GPIO159_B19", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O5 */ | ||
607 | DB8500_PIN_SLEEP("GPIO160_B20", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O4 */ | ||
608 | DB8500_PIN_SLEEP("GPIO165_C21", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O3 */ | ||
609 | DB8500_PIN_SLEEP("GPIO166_A22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O2 */ | ||
610 | DB8500_PIN_SLEEP("GPIO167_B24", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O1 */ | ||
611 | DB8500_PIN_SLEEP("GPIO168_C22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O0 */ | ||
612 | |||
296 | /* Mux in and drive the SDI0 DAT31DIR line high at runtime */ | 613 | /* Mux in and drive the SDI0 DAT31DIR line high at runtime */ |
297 | DB8500_MUX("mc0dat31dir_a_1", "mc0", "sdi0"), | 614 | DB8500_MUX("mc0dat31dir_a_1", "mc0", "sdi0"), |
298 | DB8500_PIN("GPIO21_AB3", out_hi, "sdi0"), | 615 | DB8500_PIN("GPIO21_AB3", out_hi, "sdi0"), |
@@ -395,28 +712,6 @@ static struct pinctrl_map __initdata hrefv60_pinmap[] = { | |||
395 | DB8500_PIN("GPIO217_AH12", gpio_in_pu_slpm_gpio_nopull, "gpio-keys.0"), | 712 | DB8500_PIN("GPIO217_AH12", gpio_in_pu_slpm_gpio_nopull, "gpio-keys.0"), |
396 | DB8500_PIN("GPIO145_C13", gpio_in_pd_slpm_gpio_nopull, "gpio-keys.0"), | 713 | DB8500_PIN("GPIO145_C13", gpio_in_pd_slpm_gpio_nopull, "gpio-keys.0"), |
397 | DB8500_PIN("GPIO139_C9", gpio_in_pu_slpm_gpio_nopull, "gpio-keys.0"), | 714 | DB8500_PIN("GPIO139_C9", gpio_in_pu_slpm_gpio_nopull, "gpio-keys.0"), |
398 | /* | ||
399 | * Make it possible to mux in the SKE keypad and bias the pins | ||
400 | * FIXME: what's the point with this on HREFv60? KP/SKE is already | ||
401 | * muxed in at another place! Enabling this will bork. | ||
402 | */ | ||
403 | DB8500_MUX("kp_a_2", "kp", "ske"), | ||
404 | DB8500_PIN("GPIO153_B17", in_pd_slpm_in_pu, "ske"), /* I7 */ | ||
405 | DB8500_PIN("GPIO154_C16", in_pd_slpm_in_pu, "ske"), /* I6 */ | ||
406 | DB8500_PIN("GPIO155_C19", in_pd_slpm_in_pu, "ske"), /* I5 */ | ||
407 | DB8500_PIN("GPIO156_C17", in_pd_slpm_in_pu, "ske"), /* I4 */ | ||
408 | DB8500_PIN("GPIO161_D21", in_pd_slpm_in_pu, "ske"), /* I3 */ | ||
409 | DB8500_PIN("GPIO162_D20", in_pd_slpm_in_pu, "ske"), /* I2 */ | ||
410 | DB8500_PIN("GPIO163_C20", in_pd_slpm_in_pu, "ske"), /* I1 */ | ||
411 | DB8500_PIN("GPIO164_B21", in_pd_slpm_in_pu, "ske"), /* I0 */ | ||
412 | DB8500_PIN("GPIO157_A18", in_pu_slpm_out_lo, "ske"), /* O7 */ | ||
413 | DB8500_PIN("GPIO158_C18", in_pu_slpm_out_lo, "ske"), /* O6 */ | ||
414 | DB8500_PIN("GPIO159_B19", in_pu_slpm_out_lo, "ske"), /* O5 */ | ||
415 | DB8500_PIN("GPIO160_B20", in_pu_slpm_out_lo, "ske"), /* O4 */ | ||
416 | DB8500_PIN("GPIO165_C21", in_pu_slpm_out_lo, "ske"), /* O3 */ | ||
417 | DB8500_PIN("GPIO166_A22", in_pu_slpm_out_lo, "ske"), /* O2 */ | ||
418 | DB8500_PIN("GPIO167_B24", in_pu_slpm_out_lo, "ske"), /* O1 */ | ||
419 | DB8500_PIN("GPIO168_C22", in_pu_slpm_out_lo, "ske"), /* O0 */ | ||
420 | }; | 715 | }; |
421 | 716 | ||
422 | static struct pinctrl_map __initdata u9500_pinmap[] = { | 717 | static struct pinctrl_map __initdata u9500_pinmap[] = { |