diff options
-rw-r--r-- | arch/arm/boot/dts/ste-href-family-pinctrl.dtsi | 63 | ||||
-rw-r--r-- | arch/arm/boot/dts/ste-href.dtsi | 14 | ||||
-rw-r--r-- | arch/arm/boot/dts/ste-snowball.dts | 14 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-pins.c | 30 |
4 files changed, 91 insertions, 30 deletions
diff --git a/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi b/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi index 23583b0546d9..7408d3a898a5 100644 --- a/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi +++ b/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi | |||
@@ -425,6 +425,69 @@ | |||
425 | }; | 425 | }; |
426 | }; | 426 | }; |
427 | }; | 427 | }; |
428 | |||
429 | /* | ||
430 | * Multi-rate serial ports (MSPs) - MSP3 output is internal and | ||
431 | * cannot be muxed onto any pins. | ||
432 | */ | ||
433 | msp0 { | ||
434 | msp0_default_mode: msp0_default { | ||
435 | default_msp0_mux { | ||
436 | ste,function = "msp0"; | ||
437 | ste,pins = "msp0txrx_a_1", "msp0tfstck_a_1"; | ||
438 | }; | ||
439 | default_msp0_cfg { | ||
440 | ste,pins = | ||
441 | "GPIO12_AC4", /* TXD */ | ||
442 | "GPIO15_AC3", /* RXD */ | ||
443 | "GPIO13_AF3", /* TFS */ | ||
444 | "GPIO14_AE3"; /* TCK */ | ||
445 | ste,config = <&in_nopull>; | ||
446 | }; | ||
447 | }; | ||
448 | }; | ||
449 | |||
450 | msp1 { | ||
451 | msp1_default_mode: msp1_default { | ||
452 | default_mux { | ||
453 | ste,function = "msp1"; | ||
454 | ste,pins = "msp1txrx_a_1", "msp1_a_1"; | ||
455 | }; | ||
456 | default_cfg1 { | ||
457 | ste,pins = "GPIO33_AF2"; | ||
458 | ste,config = <&out_lo>; | ||
459 | }; | ||
460 | default_cfg2 { | ||
461 | ste,pins = | ||
462 | "GPIO34_AE1", | ||
463 | "GPIO35_AE2", | ||
464 | "GPIO36_AG2"; | ||
465 | ste,config = <&in_nopull>; | ||
466 | }; | ||
467 | |||
468 | }; | ||
469 | }; | ||
470 | |||
471 | msp2 { | ||
472 | msp2_default_mode: msp2_default { | ||
473 | /* MSP2 usually used for HDMI audio */ | ||
474 | default_mux { | ||
475 | ste,function = "msp2"; | ||
476 | ste,pins = "msp2_a_1"; | ||
477 | }; | ||
478 | default_cfg1 { | ||
479 | ste,pins = | ||
480 | "GPIO193_AH27", /* TXD */ | ||
481 | "GPIO194_AF27", /* TCK */ | ||
482 | "GPIO195_AG28"; /* TFS */ | ||
483 | ste,config = <&in_pd>; | ||
484 | }; | ||
485 | default_cfg2 { | ||
486 | ste,pins = "GPIO196_AG26"; /* RXD */ | ||
487 | ste,config = <&out_lo>; | ||
488 | }; | ||
489 | }; | ||
490 | }; | ||
428 | }; | 491 | }; |
429 | }; | 492 | }; |
430 | }; | 493 | }; |
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi index 845eb25f5d26..85260846deae 100644 --- a/arch/arm/boot/dts/ste-href.dtsi +++ b/arch/arm/boot/dts/ste-href.dtsi | |||
@@ -180,7 +180,21 @@ | |||
180 | stericsson,audio-codec = <&codec>; | 180 | stericsson,audio-codec = <&codec>; |
181 | }; | 181 | }; |
182 | 182 | ||
183 | msp0: msp@80123000 { | ||
184 | pinctrl-names = "default"; | ||
185 | pinctrl-0 = <&msp0_default_mode>; | ||
186 | status = "okay"; | ||
187 | }; | ||
188 | |||
183 | msp1: msp@80124000 { | 189 | msp1: msp@80124000 { |
190 | pinctrl-names = "default"; | ||
191 | pinctrl-0 = <&msp1_default_mode>; | ||
192 | status = "okay"; | ||
193 | }; | ||
194 | |||
195 | msp2: msp@80117000 { | ||
196 | pinctrl-names = "default"; | ||
197 | pinctrl-0 = <&msp2_default_mode>; | ||
184 | status = "okay"; | 198 | status = "okay"; |
185 | }; | 199 | }; |
186 | 200 | ||
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts index c2cb3ea637dc..65180b2bc409 100644 --- a/arch/arm/boot/dts/ste-snowball.dts +++ b/arch/arm/boot/dts/ste-snowball.dts | |||
@@ -93,7 +93,21 @@ | |||
93 | stericsson,audio-codec = <&codec>; | 93 | stericsson,audio-codec = <&codec>; |
94 | }; | 94 | }; |
95 | 95 | ||
96 | msp0: msp@80123000 { | ||
97 | pinctrl-names = "default"; | ||
98 | pinctrl-0 = <&msp0_default_mode>; | ||
99 | status = "okay"; | ||
100 | }; | ||
101 | |||
96 | msp1: msp@80124000 { | 102 | msp1: msp@80124000 { |
103 | pinctrl-names = "default"; | ||
104 | pinctrl-0 = <&msp1_default_mode>; | ||
105 | status = "okay"; | ||
106 | }; | ||
107 | |||
108 | msp2: msp@80117000 { | ||
109 | pinctrl-names = "default"; | ||
110 | pinctrl-0 = <&msp2_default_mode>; | ||
97 | status = "okay"; | 111 | status = "okay"; |
98 | }; | 112 | }; |
99 | 113 | ||
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c index 0f9a0776cf90..f7034cbdc630 100644 --- a/arch/arm/mach-ux500/board-mop500-pins.c +++ b/arch/arm/mach-ux500/board-mop500-pins.c | |||
@@ -28,12 +28,10 @@ static enum custom_pin_cfg_t pinsfor; | |||
28 | 28 | ||
29 | BIAS(pd, PIN_PULL_DOWN); | 29 | BIAS(pd, PIN_PULL_DOWN); |
30 | BIAS(in_nopull, PIN_INPUT_NOPULL); | 30 | BIAS(in_nopull, PIN_INPUT_NOPULL); |
31 | BIAS(in_nopull_slpm_nowkup, PIN_INPUT_NOPULL|PIN_SLPM_WAKEUP_DISABLE); | ||
32 | BIAS(in_pu, PIN_INPUT_PULLUP); | 31 | BIAS(in_pu, PIN_INPUT_PULLUP); |
33 | BIAS(in_pd, PIN_INPUT_PULLDOWN); | 32 | BIAS(in_pd, PIN_INPUT_PULLDOWN); |
34 | BIAS(out_hi, PIN_OUTPUT_HIGH); | 33 | BIAS(out_hi, PIN_OUTPUT_HIGH); |
35 | BIAS(out_lo, PIN_OUTPUT_LOW); | 34 | BIAS(out_lo, PIN_OUTPUT_LOW); |
36 | BIAS(out_lo_slpm_nowkup, PIN_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE); | ||
37 | 35 | ||
38 | BIAS(abx500_out_lo, PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0)); | 36 | BIAS(abx500_out_lo, PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0)); |
39 | BIAS(abx500_in_pd, PIN_CONF_PACKED(PIN_CONFIG_BIAS_PULL_DOWN, 1)); | 37 | BIAS(abx500_in_pd, PIN_CONF_PACKED(PIN_CONFIG_BIAS_PULL_DOWN, 1)); |
@@ -335,22 +333,6 @@ static struct pinctrl_map __initdata ab8505_pinmap[] = { | |||
335 | /* Pin control settings */ | 333 | /* Pin control settings */ |
336 | static struct pinctrl_map __initdata mop500_family_pinmap[] = { | 334 | static struct pinctrl_map __initdata mop500_family_pinmap[] = { |
337 | /* | 335 | /* |
338 | * uMSP0, mux in 4 pins, regular placement of RX/TX | ||
339 | * explicitly set the pins to no pull | ||
340 | */ | ||
341 | DB8500_MUX_HOG("msp0txrx_a_1", "msp0"), | ||
342 | DB8500_MUX_HOG("msp0tfstck_a_1", "msp0"), | ||
343 | DB8500_PIN_HOG("GPIO12_AC4", in_nopull), /* TXD */ | ||
344 | DB8500_PIN_HOG("GPIO15_AC3", in_nopull), /* RXD */ | ||
345 | DB8500_PIN_HOG("GPIO13_AF3", in_nopull), /* TFS */ | ||
346 | DB8500_PIN_HOG("GPIO14_AE3", in_nopull), /* TCK */ | ||
347 | /* MSP2 for HDMI, pull down TXD, TCK, TFS */ | ||
348 | DB8500_MUX_HOG("msp2_a_1", "msp2"), | ||
349 | DB8500_PIN_HOG("GPIO193_AH27", in_pd), /* TXD */ | ||
350 | DB8500_PIN_HOG("GPIO194_AF27", in_pd), /* TCK */ | ||
351 | DB8500_PIN_HOG("GPIO195_AG28", in_pd), /* TFS */ | ||
352 | DB8500_PIN_HOG("GPIO196_AG26", out_lo), /* RXD */ | ||
353 | /* | ||
354 | * LCD, set TE0 (using LCD VSI0) and D14 (touch screen interrupt) to | 336 | * LCD, set TE0 (using LCD VSI0) and D14 (touch screen interrupt) to |
355 | * pull-up | 337 | * pull-up |
356 | * TODO: is this really correct? Snowball doesn't have a LCD. | 338 | * TODO: is this really correct? Snowball doesn't have a LCD. |
@@ -363,18 +345,6 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
363 | * TODO: set for snowball and HREF really?? | 345 | * TODO: set for snowball and HREF really?? |
364 | */ | 346 | */ |
365 | DB8500_PIN_HOG("GPIO218_AH11", gpio_in_pu), | 347 | DB8500_PIN_HOG("GPIO218_AH11", gpio_in_pu), |
366 | /* | ||
367 | * The following pin sets were known as "runtime pins" before being | ||
368 | * converted to the pinctrl model. Here we model them as "default" | ||
369 | * states. | ||
370 | */ | ||
371 | /* MSP1 for ALSA codec */ | ||
372 | DB8500_MUX_HOG("msp1txrx_a_1", "msp1"), | ||
373 | DB8500_MUX_HOG("msp1_a_1", "msp1"), | ||
374 | DB8500_PIN_HOG("GPIO33_AF2", out_lo_slpm_nowkup), | ||
375 | DB8500_PIN_HOG("GPIO34_AE1", in_nopull_slpm_nowkup), | ||
376 | DB8500_PIN_HOG("GPIO35_AE2", in_nopull_slpm_nowkup), | ||
377 | DB8500_PIN_HOG("GPIO36_AG2", in_nopull_slpm_nowkup), | ||
378 | /* Mux in LCD data lines 8 thru 11 and LCDA CLK for MCDE TVOUT */ | 348 | /* Mux in LCD data lines 8 thru 11 and LCDA CLK for MCDE TVOUT */ |
379 | DB8500_MUX("lcd_d8_d11_a_1", "lcd", "mcde-tvout"), | 349 | DB8500_MUX("lcd_d8_d11_a_1", "lcd", "mcde-tvout"), |
380 | DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"), | 350 | DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"), |