diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-01-03 06:54:28 -0500 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-03-15 08:34:09 -0400 |
commit | 79f7182e410ba2bf0d4d8eda94feb2873215eb54 (patch) | |
tree | 7f2d2bdfa4b3357bc92118505c148e7ff33d3a93 /arch/arm/mach-shmobile/board-armadillo800eva.c | |
parent | e6bd960e93491b29831711151ccc850610d08393 (diff) |
ARM: shmobile: armadillo800eva: Register pinctrl mappings for LCDC0
Replace the GPIO-based LCDC0 pinmux configuration by pinctrl mappings.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-shmobile/board-armadillo800eva.c')
-rw-r--r-- | arch/arm/mach-shmobile/board-armadillo800eva.c | 42 |
1 files changed, 13 insertions, 29 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 92d799138835..aa812cf7aa4e 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
29 | #include <linux/gpio.h> | 29 | #include <linux/gpio.h> |
30 | #include <linux/gpio_keys.h> | 30 | #include <linux/gpio_keys.h> |
31 | #include <linux/pinctrl/machine.h> | ||
31 | #include <linux/regulator/fixed.h> | 32 | #include <linux/regulator/fixed.h> |
32 | #include <linux/regulator/machine.h> | 33 | #include <linux/regulator/machine.h> |
33 | #include <linux/sh_eth.h> | 34 | #include <linux/sh_eth.h> |
@@ -914,6 +915,16 @@ static struct platform_device *eva_devices[] __initdata = { | |||
914 | &i2c_gpio_device, | 915 | &i2c_gpio_device, |
915 | }; | 916 | }; |
916 | 917 | ||
918 | static const struct pinctrl_map eva_pinctrl_map[] = { | ||
919 | /* LCD0 */ | ||
920 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-r8a7740", | ||
921 | "lcd0_data24_0", "lcd0"), | ||
922 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-r8a7740", | ||
923 | "lcd0_lclk_1", "lcd0"), | ||
924 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-r8a7740", | ||
925 | "lcd0_sync", "lcd0"), | ||
926 | }; | ||
927 | |||
917 | static void __init eva_clock_init(void) | 928 | static void __init eva_clock_init(void) |
918 | { | 929 | { |
919 | struct clk *system = clk_get(NULL, "system_clk"); | 930 | struct clk *system = clk_get(NULL, "system_clk"); |
@@ -961,6 +972,8 @@ static void __init eva_init(void) | |||
961 | regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers, | 972 | regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers, |
962 | ARRAY_SIZE(fixed3v3_power_consumers), 3300000); | 973 | ARRAY_SIZE(fixed3v3_power_consumers), 3300000); |
963 | 974 | ||
975 | pinctrl_register_mappings(eva_pinctrl_map, ARRAY_SIZE(eva_pinctrl_map)); | ||
976 | |||
964 | r8a7740_pinmux_init(); | 977 | r8a7740_pinmux_init(); |
965 | r8a7740_meram_workaround(); | 978 | r8a7740_meram_workaround(); |
966 | 979 | ||
@@ -970,35 +983,6 @@ static void __init eva_init(void) | |||
970 | 983 | ||
971 | /* LCDC0 */ | 984 | /* LCDC0 */ |
972 | gpio_request(GPIO_FN_LCDC0_SELECT, NULL); | 985 | gpio_request(GPIO_FN_LCDC0_SELECT, NULL); |
973 | gpio_request(GPIO_FN_LCD0_D0, NULL); | ||
974 | gpio_request(GPIO_FN_LCD0_D1, NULL); | ||
975 | gpio_request(GPIO_FN_LCD0_D2, NULL); | ||
976 | gpio_request(GPIO_FN_LCD0_D3, NULL); | ||
977 | gpio_request(GPIO_FN_LCD0_D4, NULL); | ||
978 | gpio_request(GPIO_FN_LCD0_D5, NULL); | ||
979 | gpio_request(GPIO_FN_LCD0_D6, NULL); | ||
980 | gpio_request(GPIO_FN_LCD0_D7, NULL); | ||
981 | gpio_request(GPIO_FN_LCD0_D8, NULL); | ||
982 | gpio_request(GPIO_FN_LCD0_D9, NULL); | ||
983 | gpio_request(GPIO_FN_LCD0_D10, NULL); | ||
984 | gpio_request(GPIO_FN_LCD0_D11, NULL); | ||
985 | gpio_request(GPIO_FN_LCD0_D12, NULL); | ||
986 | gpio_request(GPIO_FN_LCD0_D13, NULL); | ||
987 | gpio_request(GPIO_FN_LCD0_D14, NULL); | ||
988 | gpio_request(GPIO_FN_LCD0_D15, NULL); | ||
989 | gpio_request(GPIO_FN_LCD0_D16, NULL); | ||
990 | gpio_request(GPIO_FN_LCD0_D17, NULL); | ||
991 | gpio_request(GPIO_FN_LCD0_D18_PORT40, NULL); | ||
992 | gpio_request(GPIO_FN_LCD0_D19_PORT4, NULL); | ||
993 | gpio_request(GPIO_FN_LCD0_D20_PORT3, NULL); | ||
994 | gpio_request(GPIO_FN_LCD0_D21_PORT2, NULL); | ||
995 | gpio_request(GPIO_FN_LCD0_D22_PORT0, NULL); | ||
996 | gpio_request(GPIO_FN_LCD0_D23_PORT1, NULL); | ||
997 | gpio_request(GPIO_FN_LCD0_DCK, NULL); | ||
998 | gpio_request(GPIO_FN_LCD0_VSYN, NULL); | ||
999 | gpio_request(GPIO_FN_LCD0_HSYN, NULL); | ||
1000 | gpio_request(GPIO_FN_LCD0_DISP, NULL); | ||
1001 | gpio_request(GPIO_FN_LCD0_LCLK_PORT165, NULL); | ||
1002 | 986 | ||
1003 | gpio_request_one(61, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ | 987 | gpio_request_one(61, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ |
1004 | gpio_request_one(202, GPIOF_OUT_INIT_LOW, NULL); /* LCD0_LED_CONT */ | 988 | gpio_request_one(202, GPIOF_OUT_INIT_LOW, NULL); /* LCD0_LED_CONT */ |