diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-03-12 22:23:50 -0400 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-03-15 08:34:11 -0400 |
commit | 83aeac9874b6fe45e42891c0d4cc0f3e86b8aa66 (patch) | |
tree | 97ce167c2781e9d2bb50c50d10f1df162919fefb | |
parent | ee9f8da7f722367478b4ebfb51d3c88417246123 (diff) |
ARM: shmobile: kzm9g: Register pinctrl mappings for SDHI and MMCIF
Replace the GPIO-based SDHI and MMCIF pinmux configuration by pinctrl
mappings.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
-rw-r--r-- | arch/arm/mach-shmobile/board-kzm9g.c | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index a628d1b3b84e..335bdbbcd9f6 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/arch/arm/mach-shmobile/board-kzm9g.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/mmc/sh_mobile_sdhi.h> | 31 | #include <linux/mmc/sh_mobile_sdhi.h> |
32 | #include <linux/mfd/tmio.h> | 32 | #include <linux/mfd/tmio.h> |
33 | #include <linux/pinctrl/machine.h> | 33 | #include <linux/pinctrl/machine.h> |
34 | #include <linux/pinctrl/pinconf-generic.h> | ||
34 | #include <linux/platform_device.h> | 35 | #include <linux/platform_device.h> |
35 | #include <linux/regulator/fixed.h> | 36 | #include <linux/regulator/fixed.h> |
36 | #include <linux/regulator/machine.h> | 37 | #include <linux/regulator/machine.h> |
@@ -600,6 +601,10 @@ static struct platform_device *kzm_devices[] __initdata = { | |||
600 | &fsi_ak4648_device, | 601 | &fsi_ak4648_device, |
601 | }; | 602 | }; |
602 | 603 | ||
604 | static unsigned long pin_pullup_conf[] = { | ||
605 | PIN_CONF_PACKED(PIN_CONFIG_BIAS_PULL_UP, 0), | ||
606 | }; | ||
607 | |||
603 | static const struct pinctrl_map kzm_pinctrl_map[] = { | 608 | static const struct pinctrl_map kzm_pinctrl_map[] = { |
604 | /* FSIA (AK4648) */ | 609 | /* FSIA (AK4648) */ |
605 | PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2.0", "pfc-sh73a0", | 610 | PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2.0", "pfc-sh73a0", |
@@ -618,11 +623,34 @@ static const struct pinctrl_map kzm_pinctrl_map[] = { | |||
618 | "lcd_data24", "lcd"), | 623 | "lcd_data24", "lcd"), |
619 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-sh73a0", | 624 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-sh73a0", |
620 | "lcd_sync", "lcd"), | 625 | "lcd_sync", "lcd"), |
626 | /* MMCIF */ | ||
627 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
628 | "mmc0_data8_0", "mmc0"), | ||
629 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
630 | "mmc0_ctrl_0", "mmc0"), | ||
631 | PIN_MAP_CONFIGS_PIN_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
632 | "PORT279", pin_pullup_conf), | ||
633 | PIN_MAP_CONFIGS_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
634 | "mmc0_data8_0", pin_pullup_conf), | ||
621 | /* SCIFA4 */ | 635 | /* SCIFA4 */ |
622 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0", | 636 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0", |
623 | "scifa4_data", "scifa4"), | 637 | "scifa4_data", "scifa4"), |
624 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0", | 638 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0", |
625 | "scifa4_ctrl", "scifa4"), | 639 | "scifa4_ctrl", "scifa4"), |
640 | /* SDHI0 */ | ||
641 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
642 | "sdhi0_data4", "sdhi0"), | ||
643 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
644 | "sdhi0_ctrl", "sdhi0"), | ||
645 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
646 | "sdhi0_cd", "sdhi0"), | ||
647 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
648 | "sdhi0_wp", "sdhi0"), | ||
649 | /* SDHI2 */ | ||
650 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-sh73a0", | ||
651 | "sdhi2_data4", "sdhi2"), | ||
652 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-sh73a0", | ||
653 | "sdhi2_ctrl", "sdhi2"), | ||
626 | }; | 654 | }; |
627 | 655 | ||
628 | /* | 656 | /* |
@@ -703,37 +731,11 @@ static void __init kzm_init(void) | |||
703 | /* Touchscreen */ | 731 | /* Touchscreen */ |
704 | gpio_request_one(223, GPIOF_IN, NULL); /* IRQ8 */ | 732 | gpio_request_one(223, GPIOF_IN, NULL); /* IRQ8 */ |
705 | 733 | ||
706 | /* enable MMCIF */ | ||
707 | gpio_request(GPIO_FN_MMCCLK0, NULL); | ||
708 | gpio_request(GPIO_FN_MMCCMD0_PU, NULL); | ||
709 | gpio_request(GPIO_FN_MMCD0_0_PU, NULL); | ||
710 | gpio_request(GPIO_FN_MMCD0_1_PU, NULL); | ||
711 | gpio_request(GPIO_FN_MMCD0_2_PU, NULL); | ||
712 | gpio_request(GPIO_FN_MMCD0_3_PU, NULL); | ||
713 | gpio_request(GPIO_FN_MMCD0_4_PU, NULL); | ||
714 | gpio_request(GPIO_FN_MMCD0_5_PU, NULL); | ||
715 | gpio_request(GPIO_FN_MMCD0_6_PU, NULL); | ||
716 | gpio_request(GPIO_FN_MMCD0_7_PU, NULL); | ||
717 | |||
718 | /* enable SD */ | 734 | /* enable SD */ |
719 | gpio_request(GPIO_FN_SDHIWP0, NULL); | ||
720 | gpio_request(GPIO_FN_SDHICD0, NULL); | ||
721 | gpio_request(GPIO_FN_SDHICMD0, NULL); | ||
722 | gpio_request(GPIO_FN_SDHICLK0, NULL); | ||
723 | gpio_request(GPIO_FN_SDHID0_3, NULL); | ||
724 | gpio_request(GPIO_FN_SDHID0_2, NULL); | ||
725 | gpio_request(GPIO_FN_SDHID0_1, NULL); | ||
726 | gpio_request(GPIO_FN_SDHID0_0, NULL); | ||
727 | gpio_request(GPIO_FN_SDHI0_VCCQ_MC0_ON, NULL); | 735 | gpio_request(GPIO_FN_SDHI0_VCCQ_MC0_ON, NULL); |
728 | gpio_request_one(15, GPIOF_OUT_INIT_HIGH, NULL); /* power */ | 736 | gpio_request_one(15, GPIOF_OUT_INIT_HIGH, NULL); /* power */ |
729 | 737 | ||
730 | /* enable Micro SD */ | 738 | /* enable Micro SD */ |
731 | gpio_request(GPIO_FN_SDHID2_0, NULL); | ||
732 | gpio_request(GPIO_FN_SDHID2_1, NULL); | ||
733 | gpio_request(GPIO_FN_SDHID2_2, NULL); | ||
734 | gpio_request(GPIO_FN_SDHID2_3, NULL); | ||
735 | gpio_request(GPIO_FN_SDHICMD2, NULL); | ||
736 | gpio_request(GPIO_FN_SDHICLK2, NULL); | ||
737 | gpio_request_one(14, GPIOF_OUT_INIT_HIGH, NULL); /* power */ | 739 | gpio_request_one(14, GPIOF_OUT_INIT_HIGH, NULL); /* power */ |
738 | 740 | ||
739 | /* enable USB */ | 741 | /* enable USB */ |