aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-11-14 09:23:20 -0500
committerLinus Walleij <linus.walleij@linaro.org>2013-11-26 15:01:56 -0500
commit817a5b967d5f2c78e9ab41ec91fc44f872201fc6 (patch)
treec6c514283a08813762b9362b1d79e71724c7f567
parent6e9a88a0e5397e5e7811f5526c9771e799978b56 (diff)
ARM: ux500: move MCDE pin config to device tree
This moves the MCDE pin control table out of the board file and into the device tree. Some pins and configs have been marked as used by sub-devices or slaves to the MCDE, such as I2C device 0-070 which is the HDMI interface circuit AV8100, but the pins rather belong to the MCDE SOC block as they come out of the main ASIC. The touch screen GPIO is not related to MCDE so this gets deleted and need to be tied to the respective touch screen (I2C) device once that device is added instead. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--arch/arm/boot/dts/ste-href-family-pinctrl.dtsi27
-rw-r--r--arch/arm/boot/dts/ste-href.dtsi6
-rw-r--r--arch/arm/boot/dts/ste-snowball.dts6
-rw-r--r--arch/arm/mach-ux500/board-mop500-pins.c19
4 files changed, 39 insertions, 19 deletions
diff --git a/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi b/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi
index ec990d8e1029..779829a1e143 100644
--- a/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi
+++ b/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi
@@ -604,6 +604,33 @@
604 }; 604 };
605 }; 605 };
606 }; 606 };
607
608 mcde {
609 lcd_default_mode: lcd_default {
610 default_mux {
611 /* Mux in VSI0 and all the data lines */
612 ste,function = "lcd";
613 ste,pins =
614 "lcdvsi0_a_1", /* VSI0 for LCD */
615 "lcd_d0_d7_a_1", /* Data lines */
616 "lcd_d8_d11_a_1", /* TV-out */
617 "lcdaclk_b_1", /* Clock line for TV-out */
618 "lcdvsi1_a_1"; /* VSI1 for HDMI */
619 };
620 default_cfg1 {
621 ste,pins =
622 "GPIO68_E1", /* VSI0 */
623 "GPIO69_E2"; /* VSI1 */
624 ste,config = <&in_pu>;
625 };
626 };
627 lcd_sleep_mode: lcd_sleep {
628 sleep_cfg1 {
629 ste,pins = "GPIO69_E2"; /* VSI1 */
630 ste,config = <&slpm_in_wkup_pdis>;
631 };
632 };
633 };
607 }; 634 };
608 }; 635 };
609}; 636};
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi
index 4fda2d933488..56772c3ebb28 100644
--- a/arch/arm/boot/dts/ste-href.dtsi
+++ b/arch/arm/boot/dts/ste-href.dtsi
@@ -261,5 +261,11 @@
261 }; 261 };
262 }; 262 };
263 }; 263 };
264
265 mcde@a0350000 {
266 pinctrl-names = "default", "sleep";
267 pinctrl-0 = <&lcd_default_mode>;
268 pinctrl-1 = <&lcd_sleep_mode>;
269 };
264 }; 270 };
265}; 271};
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts
index 4763b805e754..53febe58a1cb 100644
--- a/arch/arm/boot/dts/ste-snowball.dts
+++ b/arch/arm/boot/dts/ste-snowball.dts
@@ -362,5 +362,11 @@
362 }; 362 };
363 }; 363 };
364 }; 364 };
365
366 mcde@a0350000 {
367 pinctrl-names = "default", "sleep";
368 pinctrl-0 = <&lcd_default_mode>;
369 pinctrl-1 = <&lcd_sleep_mode>;
370 };
365 }; 371 };
366}; 372};
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c
index 8fba58c98da2..4cc4cb151474 100644
--- a/arch/arm/mach-ux500/board-mop500-pins.c
+++ b/arch/arm/mach-ux500/board-mop500-pins.c
@@ -46,8 +46,6 @@ BIAS(gpio_out_lo, PIN_OUTPUT_LOW|PIN_GPIOMODE_ENABLED);
46/* Sleep modes */ 46/* Sleep modes */
47BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED| 47BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED|
48 PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); 48 PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
49BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED|
50 PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
51BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED| 49BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED|
52 PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED); 50 PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED);
53BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED| 51BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED|
@@ -325,23 +323,6 @@ static struct pinctrl_map __initdata ab8505_pinmap[] = {
325 323
326/* Pin control settings */ 324/* Pin control settings */
327static struct pinctrl_map __initdata mop500_family_pinmap[] = { 325static struct pinctrl_map __initdata mop500_family_pinmap[] = {
328 /*
329 * LCD, set TE0 (using LCD VSI0) and D14 (touch screen interrupt) to
330 * pull-up
331 * TODO: is this really correct? Snowball doesn't have a LCD.
332 */
333 DB8500_MUX_HOG("lcdvsi0_a_1", "lcd"),
334 DB8500_PIN_HOG("GPIO68_E1", in_pu),
335 DB8500_PIN_HOG("GPIO84_C2", gpio_in_pu),
336 /* Mux in LCD data lines 8 thru 11 and LCDA CLK for MCDE TVOUT */
337 DB8500_MUX("lcd_d8_d11_a_1", "lcd", "mcde-tvout"),
338 DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"),
339 /* Mux in LCD VSI1 and pull it up for MCDE HDMI output */
340 DB8500_MUX("lcdvsi1_a_1", "lcd", "0-0070"),
341 DB8500_PIN("GPIO69_E2", in_pu, "0-0070"),
342 /* LCD VSI1 sleep state */
343 DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"),
344
345 /* ske default state */ 326 /* ske default state */
346 DB8500_MUX("kp_a_2", "kp", "nmk-ske-keypad"), 327 DB8500_MUX("kp_a_2", "kp", "nmk-ske-keypad"),
347 DB8500_PIN("GPIO153_B17", in_pd, "nmk-ske-keypad"), /* I7 */ 328 DB8500_PIN("GPIO153_B17", in_pd, "nmk-ske-keypad"), /* I7 */