aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-11-13 07:46:57 -0500
committerLinus Walleij <linus.walleij@linaro.org>2013-11-26 15:01:55 -0500
commit1e66235330ff1bdc372647f47a414a3d3952dffb (patch)
treed84371d9c2d3af186c524ef1041cea95e6f7e9cb /arch/arm/mach-ux500
parent96fee13f0f11a7479a06e4c44aaa89ee77b9fafb (diff)
ARM: ux500: move MMC/SD/SDIO pin control to the device tree
This moves the static, device-tied pin control configuration out of the board file board-mop500-pins.c and into the device tree. Add entries for SDI1 and SDI2 on the Snowball so that the WLAN pins on SDI1 can be used further on, and the unused pins on SDI2 can be put to sleep. Cc: Lee Jones <lee.jones@linaro.org> Cc: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r--arch/arm/mach-ux500/board-mop500-pins.c107
1 files changed, 0 insertions, 107 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c
index 1f1e53972063..0f9a0776cf90 100644
--- a/arch/arm/mach-ux500/board-mop500-pins.c
+++ b/arch/arm/mach-ux500/board-mop500-pins.c
@@ -63,12 +63,6 @@ BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH|
63 PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); 63 PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
64BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP| 64BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP|
65 PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED); 65 PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED);
66BIAS(out_lo_wkup_pdis, PIN_SLPM_OUTPUT_LOW|
67 PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
68BIAS(in_wkup_pdis_en, PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|
69 PIN_SLPM_PDIS_ENABLED);
70BIAS(in_wkup_pdis, PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|
71 PIN_SLPM_PDIS_DISABLED);
72 66
73/* We use these to define hog settings that are always done on boot */ 67/* We use these to define hog settings that are always done on boot */
74#define DB8500_MUX_HOG(group,func) \ 68#define DB8500_MUX_HOG(group,func) \
@@ -389,99 +383,6 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = {
389 DB8500_PIN("GPIO69_E2", in_pu, "0-0070"), 383 DB8500_PIN("GPIO69_E2", in_pu, "0-0070"),
390 /* LCD VSI1 sleep state */ 384 /* LCD VSI1 sleep state */
391 DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"), 385 DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"),
392 /* Mux in SDI0 (here called MC0) used for removable MMC/SD/SDIO cards */
393 DB8500_MUX("mc0_a_1", "mc0", "sdi0"),
394 DB8500_PIN("GPIO18_AC2", out_hi, "sdi0"), /* CMDDIR */
395 DB8500_PIN("GPIO19_AC1", out_hi, "sdi0"), /* DAT0DIR */
396 DB8500_PIN("GPIO20_AB4", out_hi, "sdi0"), /* DAT2DIR */
397 DB8500_PIN("GPIO22_AA3", in_nopull, "sdi0"), /* FBCLK */
398 DB8500_PIN("GPIO23_AA4", out_lo, "sdi0"), /* CLK */
399 DB8500_PIN("GPIO24_AB2", in_pu, "sdi0"), /* CMD */
400 DB8500_PIN("GPIO25_Y4", in_pu, "sdi0"), /* DAT0 */
401 DB8500_PIN("GPIO26_Y2", in_pu, "sdi0"), /* DAT1 */
402 DB8500_PIN("GPIO27_AA2", in_pu, "sdi0"), /* DAT2 */
403 DB8500_PIN("GPIO28_AA1", in_pu, "sdi0"), /* DAT3 */
404 /* SDI0 sleep state */
405 DB8500_PIN_SLEEP("GPIO18_AC2", slpm_out_hi_wkup_pdis, "sdi0"),
406 DB8500_PIN_SLEEP("GPIO19_AC1", slpm_out_hi_wkup_pdis, "sdi0"),
407 DB8500_PIN_SLEEP("GPIO20_AB4", slpm_out_hi_wkup_pdis, "sdi0"),
408 DB8500_PIN_SLEEP("GPIO22_AA3", slpm_in_wkup_pdis, "sdi0"),
409 DB8500_PIN_SLEEP("GPIO23_AA4", slpm_out_lo_wkup_pdis, "sdi0"),
410 DB8500_PIN_SLEEP("GPIO24_AB2", slpm_in_wkup_pdis, "sdi0"),
411 DB8500_PIN_SLEEP("GPIO25_Y4", slpm_in_wkup_pdis, "sdi0"),
412 DB8500_PIN_SLEEP("GPIO26_Y2", slpm_in_wkup_pdis, "sdi0"),
413 DB8500_PIN_SLEEP("GPIO27_AA2", slpm_in_wkup_pdis, "sdi0"),
414 DB8500_PIN_SLEEP("GPIO28_AA1", slpm_in_wkup_pdis, "sdi0"),
415
416 /* Mux in SDI1 (here called MC1) used for SDIO for CW1200 WLAN */
417 DB8500_MUX("mc1_a_1", "mc1", "sdi1"),
418 DB8500_PIN("GPIO208_AH16", out_lo, "sdi1"), /* CLK */
419 DB8500_PIN("GPIO209_AG15", in_nopull, "sdi1"), /* FBCLK */
420 DB8500_PIN("GPIO210_AJ15", in_pu, "sdi1"), /* CMD */
421 DB8500_PIN("GPIO211_AG14", in_pu, "sdi1"), /* DAT0 */
422 DB8500_PIN("GPIO212_AF13", in_pu, "sdi1"), /* DAT1 */
423 DB8500_PIN("GPIO213_AG13", in_pu, "sdi1"), /* DAT2 */
424 DB8500_PIN("GPIO214_AH15", in_pu, "sdi1"), /* DAT3 */
425 /* SDI1 sleep state */
426 DB8500_PIN_SLEEP("GPIO208_AH16", slpm_out_lo_wkup_pdis, "sdi1"), /* CLK */
427 DB8500_PIN_SLEEP("GPIO209_AG15", slpm_in_wkup_pdis, "sdi1"), /* FBCLK */
428 DB8500_PIN_SLEEP("GPIO210_AJ15", slpm_in_wkup_pdis, "sdi1"), /* CMD */
429 DB8500_PIN_SLEEP("GPIO211_AG14", slpm_in_wkup_pdis, "sdi1"), /* DAT0 */
430 DB8500_PIN_SLEEP("GPIO212_AF13", slpm_in_wkup_pdis, "sdi1"), /* DAT1 */
431 DB8500_PIN_SLEEP("GPIO213_AG13", slpm_in_wkup_pdis, "sdi1"), /* DAT2 */
432 DB8500_PIN_SLEEP("GPIO214_AH15", slpm_in_wkup_pdis, "sdi1"), /* DAT3 */
433
434 /* Mux in SDI2 (here called MC2) used for for PoP eMMC */
435 DB8500_MUX("mc2_a_1", "mc2", "sdi2"),
436 DB8500_PIN("GPIO128_A5", out_lo, "sdi2"), /* CLK */
437 DB8500_PIN("GPIO129_B4", in_pu, "sdi2"), /* CMD */
438 DB8500_PIN("GPIO130_C8", in_nopull, "sdi2"), /* FBCLK */
439 DB8500_PIN("GPIO131_A12", in_pu, "sdi2"), /* DAT0 */
440 DB8500_PIN("GPIO132_C10", in_pu, "sdi2"), /* DAT1 */
441 DB8500_PIN("GPIO133_B10", in_pu, "sdi2"), /* DAT2 */
442 DB8500_PIN("GPIO134_B9", in_pu, "sdi2"), /* DAT3 */
443 DB8500_PIN("GPIO135_A9", in_pu, "sdi2"), /* DAT4 */
444 DB8500_PIN("GPIO136_C7", in_pu, "sdi2"), /* DAT5 */
445 DB8500_PIN("GPIO137_A7", in_pu, "sdi2"), /* DAT6 */
446 DB8500_PIN("GPIO138_C5", in_pu, "sdi2"), /* DAT7 */
447 /* SDI2 sleep state */
448 DB8500_PIN_SLEEP("GPIO128_A5", out_lo_wkup_pdis, "sdi2"), /* CLK */
449 DB8500_PIN_SLEEP("GPIO129_B4", in_wkup_pdis_en, "sdi2"), /* CMD */
450 DB8500_PIN_SLEEP("GPIO130_C8", in_wkup_pdis_en, "sdi2"), /* FBCLK */
451 DB8500_PIN_SLEEP("GPIO131_A12", in_wkup_pdis, "sdi2"), /* DAT0 */
452 DB8500_PIN_SLEEP("GPIO132_C10", in_wkup_pdis, "sdi2"), /* DAT1 */
453 DB8500_PIN_SLEEP("GPIO133_B10", in_wkup_pdis, "sdi2"), /* DAT2 */
454 DB8500_PIN_SLEEP("GPIO134_B9", in_wkup_pdis, "sdi2"), /* DAT3 */
455 DB8500_PIN_SLEEP("GPIO135_A9", in_wkup_pdis, "sdi2"), /* DAT4 */
456 DB8500_PIN_SLEEP("GPIO136_C7", in_wkup_pdis, "sdi2"), /* DAT5 */
457 DB8500_PIN_SLEEP("GPIO137_A7", in_wkup_pdis, "sdi2"), /* DAT6 */
458 DB8500_PIN_SLEEP("GPIO138_C5", in_wkup_pdis, "sdi2"), /* DAT7 */
459
460 /* Mux in SDI4 (here called MC4) used for for PCB-mounted eMMC */
461 DB8500_MUX("mc4_a_1", "mc4", "sdi4"),
462 DB8500_PIN("GPIO197_AH24", in_pu, "sdi4"), /* DAT3 */
463 DB8500_PIN("GPIO198_AG25", in_pu, "sdi4"), /* DAT2 */
464 DB8500_PIN("GPIO199_AH23", in_pu, "sdi4"), /* DAT1 */
465 DB8500_PIN("GPIO200_AH26", in_pu, "sdi4"), /* DAT0 */
466 DB8500_PIN("GPIO201_AF24", in_pu, "sdi4"), /* CMD */
467 DB8500_PIN("GPIO202_AF25", in_nopull, "sdi4"), /* FBCLK */
468 DB8500_PIN("GPIO203_AE23", out_lo, "sdi4"), /* CLK */
469 DB8500_PIN("GPIO204_AF23", in_pu, "sdi4"), /* DAT7 */
470 DB8500_PIN("GPIO205_AG23", in_pu, "sdi4"), /* DAT6 */
471 DB8500_PIN("GPIO206_AG24", in_pu, "sdi4"), /* DAT5 */
472 DB8500_PIN("GPIO207_AJ23", in_pu, "sdi4"), /* DAT4 */
473 /*SDI4 sleep state */
474 DB8500_PIN_SLEEP("GPIO197_AH24", slpm_in_wkup_pdis, "sdi4"), /* DAT3 */
475 DB8500_PIN_SLEEP("GPIO198_AG25", slpm_in_wkup_pdis, "sdi4"), /* DAT2 */
476 DB8500_PIN_SLEEP("GPIO199_AH23", slpm_in_wkup_pdis, "sdi4"), /* DAT1 */
477 DB8500_PIN_SLEEP("GPIO200_AH26", slpm_in_wkup_pdis, "sdi4"), /* DAT0 */
478 DB8500_PIN_SLEEP("GPIO201_AF24", slpm_in_wkup_pdis, "sdi4"), /* CMD */
479 DB8500_PIN_SLEEP("GPIO202_AF25", slpm_in_wkup_pdis, "sdi4"), /* FBCLK */
480 DB8500_PIN_SLEEP("GPIO203_AE23", slpm_out_lo_wkup_pdis, "sdi4"), /* CLK */
481 DB8500_PIN_SLEEP("GPIO204_AF23", slpm_in_wkup_pdis, "sdi4"), /* DAT7 */
482 DB8500_PIN_SLEEP("GPIO205_AG23", slpm_in_wkup_pdis, "sdi4"), /* DAT6 */
483 DB8500_PIN_SLEEP("GPIO206_AG24", slpm_in_wkup_pdis, "sdi4"), /* DAT5 */
484 DB8500_PIN_SLEEP("GPIO207_AJ23", slpm_in_wkup_pdis, "sdi4"), /* DAT4 */
485 386
486 /* Mux in USB pins, drive STP high */ 387 /* Mux in USB pins, drive STP high */
487 /* USB default state */ 388 /* USB default state */
@@ -795,10 +696,6 @@ static struct pinctrl_map __initdata mop500_pinmap[] = {
795 DB8500_PIN_SLEEP("GPIO166_A22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O2 */ 696 DB8500_PIN_SLEEP("GPIO166_A22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O2 */
796 DB8500_PIN_SLEEP("GPIO167_B24", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O1 */ 697 DB8500_PIN_SLEEP("GPIO167_B24", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O1 */
797 DB8500_PIN_SLEEP("GPIO168_C22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O0 */ 698 DB8500_PIN_SLEEP("GPIO168_C22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O0 */
798
799 /* Mux in and drive the SDI0 DAT31DIR line high at runtime */
800 DB8500_MUX("mc0dat31dir_a_1", "mc0", "sdi0"),
801 DB8500_PIN("GPIO21_AB3", out_hi, "sdi0"),
802}; 699};
803 700
804/* 701/*
@@ -888,8 +785,6 @@ static struct pinctrl_map __initdata hrefv60_pinmap[] = {
888 /* Accelerometer interrupt lines */ 785 /* Accelerometer interrupt lines */
889 DB8500_PIN_HOG("GPIO82_C1", gpio_in_pu), /* ACC_INT1 */ 786 DB8500_PIN_HOG("GPIO82_C1", gpio_in_pu), /* ACC_INT1 */
890 DB8500_PIN_HOG("GPIO83_D3", gpio_in_pu), /* ACC_INT2 */ 787 DB8500_PIN_HOG("GPIO83_D3", gpio_in_pu), /* ACC_INT2 */
891 /* SD card detect GPIO pin */
892 DB8500_PIN_HOG("GPIO95_E8", gpio_in_pu),
893 /* 788 /*
894 * Runtime stuff 789 * Runtime stuff
895 * Pull up/down of some sensor GPIO pins, for proximity, HAL sensor 790 * Pull up/down of some sensor GPIO pins, for proximity, HAL sensor
@@ -925,8 +820,6 @@ static struct pinctrl_map __initdata snowball_pinmap[] = {
925 /* Mux in SSP0 connected to AB8500, pull down RXD pin */ 820 /* Mux in SSP0 connected to AB8500, pull down RXD pin */
926 DB8500_MUX_HOG("ssp0_a_1", "ssp0"), 821 DB8500_MUX_HOG("ssp0_a_1", "ssp0"),
927 DB8500_PIN_HOG("GPIO145_C13", pd), 822 DB8500_PIN_HOG("GPIO145_C13", pd),
928 /* Always drive the MC0 DAT31DIR line high on these boards */
929 DB8500_PIN_HOG("GPIO21_AB3", out_hi),
930 /* Mux in "SM" which is used for the SMSC911x Ethernet adapter */ 823 /* Mux in "SM" which is used for the SMSC911x Ethernet adapter */
931 DB8500_MUX_HOG("sm_b_1", "sm"), 824 DB8500_MUX_HOG("sm_b_1", "sm"),
932 /* User LED */ 825 /* User LED */