aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-08 14:16:17 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-08 14:16:17 -0400
commit231bf80f7f14107f7ecfa2e0a2b0c56e6a793284 (patch)
tree268a7dc003f1a36554f784086cb59f211119e0c1
parentb3345d7c57d70e6cb6749af25cdbe80515582e99 (diff)
parentbdd18e8f76e33151a850906c8353222bd06a49e6 (diff)
Merge tag 'boards-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board changes from Olof Johansson: "This is the smallest board branch we have ever had. Most of this is a few cleanups for board code for Renesas shmobile, with a bit of legacy driver support added. This is strongly trending in the right direction now" * tag 'boards-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: shmobile: Enable R-Car Gen2 CMA code in board files ARM: shmobile: armadillo800eva reference: Spelling s/ED/LED/ ARM: shmobile: armadillo800eva legacy: Add LED support ARM: shmobile: lager-reference: Remove workarounds for core clock issues ARM: shmobile: koelsch-reference: Remove workarounds for core clock issues
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva-reference.c8
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva.c35
-rw-r--r--arch/arm/mach-shmobile/board-koelsch-reference.c16
-rw-r--r--arch/arm/mach-shmobile/board-koelsch.c1
-rw-r--r--arch/arm/mach-shmobile/board-lager-reference.c15
-rw-r--r--arch/arm/mach-shmobile/board-lager.c1
6 files changed, 43 insertions, 33 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
index 208576667b22..84bc6cb6d5aa 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
@@ -55,11 +55,11 @@
55 * CON22 Serial 55 * CON22 Serial
56 * CON23 LAN 56 * CON23 LAN
57 * CON24 USB3 57 * CON24 USB3
58 * LED1 Camera LED(Yellow) 58 * LED1 Camera LED (Yellow)
59 * LED2 Power LED (Green) 59 * LED2 Power LED (Green)
60 * ED3-LED6 User LED(Yellow) 60 * LED3-LED6 User LED (Yellow)
61 * LED7 LAN link LED(Green) 61 * LED7 LAN link LED (Green)
62 * LED8 LAN activity LED(Yellow) 62 * LED8 LAN activity LED (Yellow)
63 */ 63 */
64 64
65/* 65/*
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index 42b6afaa69af..6dbaad611a92 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -580,6 +580,40 @@ static struct platform_device hdmi_lcdc_device = {
580 }, 580 },
581}; 581};
582 582
583/* LEDS */
584static struct gpio_led gpio_leds[] = {
585 {
586 .name = "LED3",
587 .gpio = 102,
588 .default_state = LEDS_GPIO_DEFSTATE_ON,
589 }, {
590 .name = "LED4",
591 .gpio = 111,
592 .default_state = LEDS_GPIO_DEFSTATE_ON,
593 }, {
594 .name = "LED5",
595 .gpio = 110,
596 .default_state = LEDS_GPIO_DEFSTATE_ON,
597 }, {
598 .name = "LED6",
599 .gpio = 177,
600 .default_state = LEDS_GPIO_DEFSTATE_ON,
601 },
602};
603
604static struct gpio_led_platform_data leds_gpio_info = {
605 .leds = gpio_leds,
606 .num_leds = ARRAY_SIZE(gpio_leds),
607};
608
609static struct platform_device leds_gpio_device = {
610 .name = "leds-gpio",
611 .id = -1,
612 .dev = {
613 .platform_data = &leds_gpio_info,
614 },
615};
616
583/* GPIO KEY */ 617/* GPIO KEY */
584#define GPIO_KEY(c, g, d, ...) \ 618#define GPIO_KEY(c, g, d, ...) \
585 { .code = c, .gpio = g, .desc = d, .active_low = 1, __VA_ARGS__ } 619 { .code = c, .gpio = g, .desc = d, .active_low = 1, __VA_ARGS__ }
@@ -1075,6 +1109,7 @@ static struct platform_device *eva_devices[] __initdata = {
1075 &lcdc0_device, 1109 &lcdc0_device,
1076 &pwm_device, 1110 &pwm_device,
1077 &pwm_backlight_device, 1111 &pwm_backlight_device,
1112 &leds_gpio_device,
1078 &gpio_keys_device, 1113 &gpio_keys_device,
1079 &sh_eth_device, 1114 &sh_eth_device,
1080 &vcc_sdhi0, 1115 &vcc_sdhi0,
diff --git a/arch/arm/mach-shmobile/board-koelsch-reference.c b/arch/arm/mach-shmobile/board-koelsch-reference.c
index 0b1fb2345aa1..3ff88c138896 100644
--- a/arch/arm/mach-shmobile/board-koelsch-reference.c
+++ b/arch/arm/mach-shmobile/board-koelsch-reference.c
@@ -94,24 +94,9 @@ static const struct clk_name clk_names[] __initconst = {
94 { "lvds0", "lvds.0", "rcar-du-r8a7791" }, 94 { "lvds0", "lvds.0", "rcar-du-r8a7791" },
95}; 95};
96 96
97/*
98 * This is a really crude hack to work around core platform clock issues
99 */
100static const struct clk_name clk_enables[] __initconst = {
101 { "ether", NULL, "ee700000.ethernet" },
102 { "i2c2", NULL, "e6530000.i2c" },
103 { "msiof0", NULL, "e6e20000.spi" },
104 { "qspi_mod", NULL, "e6b10000.spi" },
105 { "sdhi0", NULL, "ee100000.sd" },
106 { "sdhi1", NULL, "ee140000.sd" },
107 { "sdhi2", NULL, "ee160000.sd" },
108 { "thermal", NULL, "e61f0000.thermal" },
109};
110
111static void __init koelsch_add_standard_devices(void) 97static void __init koelsch_add_standard_devices(void)
112{ 98{
113 shmobile_clk_workaround(clk_names, ARRAY_SIZE(clk_names), false); 99 shmobile_clk_workaround(clk_names, ARRAY_SIZE(clk_names), false);
114 shmobile_clk_workaround(clk_enables, ARRAY_SIZE(clk_enables), true);
115 r8a7791_add_dt_devices(); 100 r8a7791_add_dt_devices();
116 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 101 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
117 102
@@ -130,5 +115,6 @@ DT_MACHINE_START(KOELSCH_DT, "koelsch")
130 .init_time = rcar_gen2_timer_init, 115 .init_time = rcar_gen2_timer_init,
131 .init_machine = koelsch_add_standard_devices, 116 .init_machine = koelsch_add_standard_devices,
132 .init_late = shmobile_init_late, 117 .init_late = shmobile_init_late,
118 .reserve = rcar_gen2_reserve,
133 .dt_compat = koelsch_boards_compat_dt, 119 .dt_compat = koelsch_boards_compat_dt,
134MACHINE_END 120MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-koelsch.c b/arch/arm/mach-shmobile/board-koelsch.c
index 766442f82948..b7d5bc7659cd 100644
--- a/arch/arm/mach-shmobile/board-koelsch.c
+++ b/arch/arm/mach-shmobile/board-koelsch.c
@@ -526,5 +526,6 @@ DT_MACHINE_START(KOELSCH_DT, "koelsch")
526 .init_time = rcar_gen2_timer_init, 526 .init_time = rcar_gen2_timer_init,
527 .init_machine = koelsch_init, 527 .init_machine = koelsch_init,
528 .init_late = shmobile_init_late, 528 .init_late = shmobile_init_late,
529 .reserve = rcar_gen2_reserve,
529 .dt_compat = koelsch_boards_compat_dt, 530 .dt_compat = koelsch_boards_compat_dt,
530MACHINE_END 531MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-lager-reference.c b/arch/arm/mach-shmobile/board-lager-reference.c
index 8dcff51a8f45..41c808e56005 100644
--- a/arch/arm/mach-shmobile/board-lager-reference.c
+++ b/arch/arm/mach-shmobile/board-lager-reference.c
@@ -100,23 +100,9 @@ static const struct clk_name clk_names[] __initconst = {
100 { "lvds1", "lvds.1", "rcar-du-r8a7790" }, 100 { "lvds1", "lvds.1", "rcar-du-r8a7790" },
101}; 101};
102 102
103/*
104 * This is a really crude hack to work around core platform clock issues
105 */
106static const struct clk_name clk_enables[] __initconst = {
107 { "ether", NULL, "ee700000.ethernet" },
108 { "msiof1", NULL, "e6e10000.spi" },
109 { "mmcif1", NULL, "ee220000.mmc" },
110 { "qspi_mod", NULL, "e6b10000.spi" },
111 { "sdhi0", NULL, "ee100000.sd" },
112 { "sdhi2", NULL, "ee140000.sd" },
113 { "thermal", NULL, "e61f0000.thermal" },
114};
115
116static void __init lager_add_standard_devices(void) 103static void __init lager_add_standard_devices(void)
117{ 104{
118 shmobile_clk_workaround(clk_names, ARRAY_SIZE(clk_names), false); 105 shmobile_clk_workaround(clk_names, ARRAY_SIZE(clk_names), false);
119 shmobile_clk_workaround(clk_enables, ARRAY_SIZE(clk_enables), true);
120 r8a7790_add_dt_devices(); 106 r8a7790_add_dt_devices();
121 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 107 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
122 108
@@ -135,5 +121,6 @@ DT_MACHINE_START(LAGER_DT, "lager")
135 .init_time = rcar_gen2_timer_init, 121 .init_time = rcar_gen2_timer_init,
136 .init_machine = lager_add_standard_devices, 122 .init_machine = lager_add_standard_devices,
137 .init_late = shmobile_init_late, 123 .init_late = shmobile_init_late,
124 .reserve = rcar_gen2_reserve,
138 .dt_compat = lager_boards_compat_dt, 125 .dt_compat = lager_boards_compat_dt,
139MACHINE_END 126MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
index 18331ac375f1..e1d8215da0b0 100644
--- a/arch/arm/mach-shmobile/board-lager.c
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -887,5 +887,6 @@ DT_MACHINE_START(LAGER_DT, "lager")
887 .init_time = rcar_gen2_timer_init, 887 .init_time = rcar_gen2_timer_init,
888 .init_machine = lager_init, 888 .init_machine = lager_init,
889 .init_late = shmobile_init_late, 889 .init_late = shmobile_init_late,
890 .reserve = rcar_gen2_reserve,
890 .dt_compat = lager_boards_compat_dt, 891 .dt_compat = lager_boards_compat_dt,
891MACHINE_END 892MACHINE_END