aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2012-07-17 02:05:27 -0400
committerAndrew Lunn <andrew@lunn.ch>2012-07-27 10:50:49 -0400
commitf3af1c73f0dde5848d1da50372979c784f2aa34a (patch)
tree9be02ad2a117cdf11e7350af109d2107d0d832cd /arch
parentb94a257cdb115c0bc2058685b18280c9319780a3 (diff)
ARM: Kirkwood: Describe GoFlex Net LEDs and SATA in DT.
Signed-off-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Josh Coombs <josh.coombs@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/kirkwood-goflexnet.dts50
-rw-r--r--arch/arm/mach-kirkwood/board-goflexnet.c84
2 files changed, 50 insertions, 84 deletions
diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts
index c5d5a4e9f11e..f6974d1d27b0 100644
--- a/arch/arm/boot/dts/kirkwood-goflexnet.dts
+++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts
@@ -45,5 +45,55 @@
45 reg = <0x02500000 0xd800000>; 45 reg = <0x02500000 0xd800000>;
46 }; 46 };
47 }; 47 };
48 sata@80000 {
49 status = "okay";
50 nr-ports = <2>;
51 };
52
53 };
54 gpio-leds {
55 compatible = "gpio-leds";
56
57 health {
58 label = "status:green:health";
59 gpios = <&gpio1 14 1>;
60 linux,default-trigger = "default-on";
61 };
62 fault {
63 label = "status:orange:fault";
64 gpios = <&gpio1 15 1>;
65 };
66 left0 {
67 label = "status:white:left0";
68 gpios = <&gpio1 10 0>;
69 };
70 left1 {
71 label = "status:white:left1";
72 gpios = <&gpio1 11 0>;
73 };
74 left2 {
75 label = "status:white:left2";
76 gpios = <&gpio1 12 0>;
77 };
78 left3 {
79 label = "status:white:left3";
80 gpios = <&gpio1 13 0>;
81 };
82 right0 {
83 label = "status:white:right0";
84 gpios = <&gpio1 6 0>;
85 };
86 right1 {
87 label = "status:white:right1";
88 gpios = <&gpio1 7 0>;
89 };
90 right2 {
91 label = "status:white:right2";
92 gpios = <&gpio1 8 0>;
93 };
94 right3 {
95 label = "status:white:right3";
96 gpios = <&gpio1 9 0>;
97 };
48 }; 98 };
49}; 99};
diff --git a/arch/arm/mach-kirkwood/board-goflexnet.c b/arch/arm/mach-kirkwood/board-goflexnet.c
index 3957ece46d36..413e2c8ef5fe 100644
--- a/arch/arm/mach-kirkwood/board-goflexnet.c
+++ b/arch/arm/mach-kirkwood/board-goflexnet.c
@@ -27,7 +27,6 @@
27#include <linux/of_irq.h> 27#include <linux/of_irq.h>
28#include <linux/of_platform.h> 28#include <linux/of_platform.h>
29#include <linux/gpio.h> 29#include <linux/gpio.h>
30#include <linux/leds.h>
31#include <asm/mach-types.h> 30#include <asm/mach-types.h>
32#include <asm/mach/arch.h> 31#include <asm/mach/arch.h>
33#include <asm/mach/map.h> 32#include <asm/mach/map.h>
@@ -41,86 +40,6 @@ static struct mv643xx_eth_platform_data goflexnet_ge00_data = {
41 .phy_addr = MV643XX_ETH_PHY_ADDR(0), 40 .phy_addr = MV643XX_ETH_PHY_ADDR(0),
42}; 41};
43 42
44static struct mv_sata_platform_data goflexnet_sata_data = {
45 .n_ports = 2,
46};
47
48static struct gpio_led goflexnet_led_pins[] = {
49 {
50 .name = "status:green:health",
51 .default_trigger = "default-on",
52 .gpio = 46,
53 .active_low = 1,
54 },
55 {
56 .name = "status:orange:fault",
57 .default_trigger = "none",
58 .gpio = 47,
59 .active_low = 1,
60 },
61 {
62 .name = "status:white:left0",
63 .default_trigger = "none",
64 .gpio = 42,
65 .active_low = 0,
66 },
67 {
68 .name = "status:white:left1",
69 .default_trigger = "none",
70 .gpio = 43,
71 .active_low = 0,
72 },
73 {
74 .name = "status:white:left2",
75 .default_trigger = "none",
76 .gpio = 44,
77 .active_low = 0,
78 },
79 {
80 .name = "status:white:left3",
81 .default_trigger = "none",
82 .gpio = 45,
83 .active_low = 0,
84 },
85 {
86 .name = "status:white:right0",
87 .default_trigger = "none",
88 .gpio = 38,
89 .active_low = 0,
90 },
91 {
92 .name = "status:white:right1",
93 .default_trigger = "none",
94 .gpio = 39,
95 .active_low = 0,
96 },
97 {
98 .name = "status:white:right2",
99 .default_trigger = "none",
100 .gpio = 40,
101 .active_low = 0,
102 },
103 {
104 .name = "status:white:right3",
105 .default_trigger = "none",
106 .gpio = 41,
107 .active_low = 0,
108 },
109};
110
111static struct gpio_led_platform_data goflexnet_led_data = {
112 .leds = goflexnet_led_pins,
113 .num_leds = ARRAY_SIZE(goflexnet_led_pins),
114};
115
116static struct platform_device goflexnet_leds = {
117 .name = "leds-gpio",
118 .id = -1,
119 .dev = {
120 .platform_data = &goflexnet_led_data,
121 }
122};
123
124static unsigned int goflexnet_mpp_config[] __initdata = { 43static unsigned int goflexnet_mpp_config[] __initdata = {
125 MPP29_GPIO, /* USB Power Enable */ 44 MPP29_GPIO, /* USB Power Enable */
126 MPP47_GPIO, /* LED Orange */ 45 MPP47_GPIO, /* LED Orange */
@@ -149,7 +68,4 @@ void __init goflexnet_init(void)
149 kirkwood_ehci_init(); 68 kirkwood_ehci_init();
150 69
151 kirkwood_ge00_init(&goflexnet_ge00_data); 70 kirkwood_ge00_init(&goflexnet_ge00_data);
152 kirkwood_sata_init(&goflexnet_sata_data);
153
154 platform_device_register(&goflexnet_leds);
155} 71}