diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-11-13 09:59:40 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-11-26 15:01:55 -0500 |
commit | a12f703c5a27e2061fd0ea77200e5e2f8cfee54b (patch) | |
tree | 7fe922b21ee34e0c1a1ea6971adc91d1f92df695 | |
parent | a45cb698a7db6c623214a5345a32a4ce724ca560 (diff) |
ARM: ux500: move MUSB pin config to device tree
This moves the MUSB pin control table out of the board file
and into the device tree. Tie the config to the on-chip MUSB
device rather than the ab8500-usb device which is off-chip.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | arch/arm/boot/dts/ste-href-family-pinctrl.dtsi | 55 | ||||
-rw-r--r-- | arch/arm/boot/dts/ste-href.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/ste-snowball.dts | 5 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-pins.c | 25 |
5 files changed, 79 insertions, 25 deletions
diff --git a/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi b/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi index 7408d3a898a5..6868fec95d64 100644 --- a/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi +++ b/arch/arm/boot/dts/ste-href-family-pinctrl.dtsi | |||
@@ -488,6 +488,61 @@ | |||
488 | }; | 488 | }; |
489 | }; | 489 | }; |
490 | }; | 490 | }; |
491 | |||
492 | |||
493 | musb { | ||
494 | musb_default_mode: musb_default { | ||
495 | default_mux { | ||
496 | ste,function = "usb"; | ||
497 | ste,pins = "usb_a_1"; | ||
498 | }; | ||
499 | default_cfg1 { | ||
500 | ste,pins = | ||
501 | "GPIO256_AF28", /* NXT */ | ||
502 | "GPIO258_AD29", /* XCLK */ | ||
503 | "GPIO259_AC29", /* DIR */ | ||
504 | "GPIO260_AD28", /* DAT7 */ | ||
505 | "GPIO261_AD26", /* DAT6 */ | ||
506 | "GPIO262_AE26", /* DAT5 */ | ||
507 | "GPIO263_AG29", /* DAT4 */ | ||
508 | "GPIO264_AE27", /* DAT3 */ | ||
509 | "GPIO265_AD27", /* DAT2 */ | ||
510 | "GPIO266_AC28", /* DAT1 */ | ||
511 | "GPIO267_AC27"; /* DAT0 */ | ||
512 | ste,config = <&in_nopull>; | ||
513 | }; | ||
514 | default_cfg2 { | ||
515 | ste,pins = "GPIO257_AE29"; /* STP */ | ||
516 | ste,config = <&out_hi>; | ||
517 | }; | ||
518 | }; | ||
519 | |||
520 | musb_sleep_mode: musb_sleep { | ||
521 | sleep_cfg1 { | ||
522 | ste,pins = | ||
523 | "GPIO256_AF28", /* NXT */ | ||
524 | "GPIO258_AD29", /* XCLK */ | ||
525 | "GPIO259_AC29"; /* DIR */ | ||
526 | ste,config = <&slpm_wkup_pdis_en>; | ||
527 | }; | ||
528 | sleep_cfg2 { | ||
529 | ste,pins = "GPIO257_AE29"; /* STP */ | ||
530 | ste,config = <&slpm_out_hi_wkup_pdis>; | ||
531 | }; | ||
532 | sleep_cfg3 { | ||
533 | ste,pins = | ||
534 | "GPIO260_AD28", /* DAT7 */ | ||
535 | "GPIO261_AD26", /* DAT6 */ | ||
536 | "GPIO262_AE26", /* DAT5 */ | ||
537 | "GPIO263_AG29", /* DAT4 */ | ||
538 | "GPIO264_AE27", /* DAT3 */ | ||
539 | "GPIO265_AD27", /* DAT2 */ | ||
540 | "GPIO266_AC28", /* DAT1 */ | ||
541 | "GPIO267_AC27"; /* DAT0 */ | ||
542 | ste,config = <&slpm_in_wkup_pdis_en>; | ||
543 | }; | ||
544 | }; | ||
545 | }; | ||
491 | }; | 546 | }; |
492 | }; | 547 | }; |
493 | }; | 548 | }; |
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi index 85260846deae..4fda2d933488 100644 --- a/arch/arm/boot/dts/ste-href.dtsi +++ b/arch/arm/boot/dts/ste-href.dtsi | |||
@@ -30,6 +30,12 @@ | |||
30 | }; | 30 | }; |
31 | 31 | ||
32 | soc { | 32 | soc { |
33 | usb_per5@a03e0000 { | ||
34 | pinctrl-names = "default", "sleep"; | ||
35 | pinctrl-0 = <&musb_default_mode>; | ||
36 | pinctrl-1 = <&musb_sleep_mode>; | ||
37 | }; | ||
38 | |||
33 | uart@80120000 { | 39 | uart@80120000 { |
34 | pinctrl-names = "default", "sleep"; | 40 | pinctrl-names = "default", "sleep"; |
35 | pinctrl-0 = <&uart0_default_mode>; | 41 | pinctrl-0 = <&uart0_default_mode>; |
diff --git a/arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi b/arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi index 9aea983e78b5..9f3e87573f86 100644 --- a/arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi +++ b/arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi | |||
@@ -41,6 +41,12 @@ | |||
41 | ste,output = <OUTPUT_LOW>; | 41 | ste,output = <OUTPUT_LOW>; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | slpm_wkup_pdis_en: slpm_wkup_pdis_en { | ||
45 | ste,sleep = <SLPM_ENABLED>; | ||
46 | ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>; | ||
47 | ste,sleep-pull-disable = <SLPM_PDIS_ENABLED>; | ||
48 | }; | ||
49 | |||
44 | slpm_in_pu: slpm_in_pu { | 50 | slpm_in_pu: slpm_in_pu { |
45 | ste,sleep = <SLPM_ENABLED>; | 51 | ste,sleep = <SLPM_ENABLED>; |
46 | ste,sleep-input = <SLPM_INPUT_PULLUP>; | 52 | ste,sleep-input = <SLPM_INPUT_PULLUP>; |
@@ -54,6 +60,13 @@ | |||
54 | ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>; | 60 | ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>; |
55 | }; | 61 | }; |
56 | 62 | ||
63 | slpm_in_wkup_pdis_en: slpm_in_wkup_pdis_en { | ||
64 | ste,sleep = <SLPM_ENABLED>; | ||
65 | ste,sleep-input = <SLPM_DIR_INPUT>; | ||
66 | ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>; | ||
67 | ste,sleep-pull-disable = <SLPM_PDIS_ENABLED>; | ||
68 | }; | ||
69 | |||
57 | slpm_out_lo: slpm_out_lo { | 70 | slpm_out_lo: slpm_out_lo { |
58 | ste,sleep = <SLPM_ENABLED>; | 71 | ste,sleep = <SLPM_ENABLED>; |
59 | ste,sleep-output = <SLPM_OUTPUT_LOW>; | 72 | ste,sleep-output = <SLPM_OUTPUT_LOW>; |
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts index 65180b2bc409..4763b805e754 100644 --- a/arch/arm/boot/dts/ste-snowball.dts +++ b/arch/arm/boot/dts/ste-snowball.dts | |||
@@ -85,6 +85,11 @@ | |||
85 | }; | 85 | }; |
86 | 86 | ||
87 | soc { | 87 | soc { |
88 | usb_per5@a03e0000 { | ||
89 | pinctrl-names = "default", "sleep"; | ||
90 | pinctrl-0 = <&musb_default_mode>; | ||
91 | pinctrl-1 = <&musb_sleep_mode>; | ||
92 | }; | ||
88 | 93 | ||
89 | sound { | 94 | sound { |
90 | compatible = "stericsson,snd-soc-mop500"; | 95 | compatible = "stericsson,snd-soc-mop500"; |
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c index c032392294a0..a6d431bd0659 100644 --- a/arch/arm/mach-ux500/board-mop500-pins.c +++ b/arch/arm/mach-ux500/board-mop500-pins.c | |||
@@ -30,7 +30,6 @@ BIAS(pd, PIN_PULL_DOWN); | |||
30 | BIAS(in_nopull, PIN_INPUT_NOPULL); | 30 | BIAS(in_nopull, PIN_INPUT_NOPULL); |
31 | BIAS(in_pu, PIN_INPUT_PULLUP); | 31 | BIAS(in_pu, PIN_INPUT_PULLUP); |
32 | BIAS(in_pd, PIN_INPUT_PULLDOWN); | 32 | BIAS(in_pd, PIN_INPUT_PULLDOWN); |
33 | BIAS(out_hi, PIN_OUTPUT_HIGH); | ||
34 | BIAS(out_lo, PIN_OUTPUT_LOW); | 33 | BIAS(out_lo, PIN_OUTPUT_LOW); |
35 | 34 | ||
36 | BIAS(abx500_out_lo, PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0)); | 35 | BIAS(abx500_out_lo, PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0)); |
@@ -47,18 +46,12 @@ BIAS(gpio_out_lo, PIN_OUTPUT_LOW|PIN_GPIOMODE_ENABLED); | |||
47 | /* Sleep modes */ | 46 | /* Sleep modes */ |
48 | BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED| | 47 | BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED| |
49 | 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); |
50 | BIAS(slpm_in_wkup_pdis_en, PIN_SLEEPMODE_ENABLED| | ||
51 | PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED); | ||
52 | BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED| | 49 | BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED| |
53 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 50 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); |
54 | BIAS(slpm_wkup_pdis_en, PIN_SLEEPMODE_ENABLED| | ||
55 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED); | ||
56 | BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED| | 51 | BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED| |
57 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED); | 52 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED); |
58 | BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED| | 53 | BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED| |
59 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 54 | PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); |
60 | BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH| | ||
61 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
62 | BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP| | 55 | BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP| |
63 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED); | 56 | PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED); |
64 | 57 | ||
@@ -349,24 +342,6 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
349 | /* LCD VSI1 sleep state */ | 342 | /* LCD VSI1 sleep state */ |
350 | DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"), | 343 | DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"), |
351 | 344 | ||
352 | /* Mux in USB pins, drive STP high */ | ||
353 | /* USB default state */ | ||
354 | DB8500_MUX("usb_a_1", "usb", "ab8500-usb.0"), | ||
355 | DB8500_PIN("GPIO257_AE29", out_hi, "ab8500-usb.0"), /* STP */ | ||
356 | /* USB sleep state */ | ||
357 | DB8500_PIN_SLEEP("GPIO256_AF28", slpm_wkup_pdis_en, "ab8500-usb.0"), /* NXT */ | ||
358 | DB8500_PIN_SLEEP("GPIO257_AE29", slpm_out_hi_wkup_pdis, "ab8500-usb.0"), /* STP */ | ||
359 | DB8500_PIN_SLEEP("GPIO258_AD29", slpm_wkup_pdis_en, "ab8500-usb.0"), /* XCLK */ | ||
360 | DB8500_PIN_SLEEP("GPIO259_AC29", slpm_wkup_pdis_en, "ab8500-usb.0"), /* DIR */ | ||
361 | DB8500_PIN_SLEEP("GPIO260_AD28", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT7 */ | ||
362 | DB8500_PIN_SLEEP("GPIO261_AD26", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT6 */ | ||
363 | DB8500_PIN_SLEEP("GPIO262_AE26", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT5 */ | ||
364 | DB8500_PIN_SLEEP("GPIO263_AG29", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT4 */ | ||
365 | DB8500_PIN_SLEEP("GPIO264_AE27", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT3 */ | ||
366 | DB8500_PIN_SLEEP("GPIO265_AD27", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT2 */ | ||
367 | DB8500_PIN_SLEEP("GPIO266_AC28", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT1 */ | ||
368 | DB8500_PIN_SLEEP("GPIO267_AC27", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT0 */ | ||
369 | |||
370 | /* Mux in SPI2 pins on the "other C1" altfunction */ | 345 | /* Mux in SPI2 pins on the "other C1" altfunction */ |
371 | DB8500_MUX("spi2_oc1_2", "spi2", "spi2"), | 346 | DB8500_MUX("spi2_oc1_2", "spi2", "spi2"), |
372 | DB8500_PIN("GPIO216_AG12", gpio_out_hi, "spi2"), /* FRM */ | 347 | DB8500_PIN("GPIO216_AG12", gpio_out_hi, "spi2"), /* FRM */ |