summaryrefslogtreecommitdiff
path: root/target/linux/brcm63xx/dts
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2015-02-27 17:40:04 +0000
committerJonas Gorski <jogo@openwrt.org>2015-02-27 17:40:04 +0000
commitb82cb155fced6a99989870c92ebff8248c435fe7 (patch)
treea81679b3673389471a37b52989ff7de497b92a86 /target/linux/brcm63xx/dts
parenteea227c60d593c2fe5692365936703bbebdbd1ad (diff)
downloadmtk-20170518-b82cb155fced6a99989870c92ebff8248c435fe7.zip
mtk-20170518-b82cb155fced6a99989870c92ebff8248c435fe7.tar.gz
mtk-20170518-b82cb155fced6a99989870c92ebff8248c435fe7.tar.bz2
brcm63xx: move buttons and leds to dts files
Register buttons and leds through DT for all available dts, and remove them from the board files. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> [jogo: remove leds/buttons from board files fix wrong led polarities for dsl-274xb-c2, cpva642, p870hw comment out spi-gpio and associated leds] Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 44566
Diffstat (limited to 'target/linux/brcm63xx/dts')
-rw-r--r--target/linux/brcm63xx/dts/a226g.dts77
-rw-r--r--target/linux/brcm63xx/dts/a226m-fwb.dts77
-rw-r--r--target/linux/brcm63xx/dts/a226m.dts77
-rw-r--r--target/linux/brcm63xx/dts/a4001n.dts45
-rw-r--r--target/linux/brcm63xx/dts/a4001n1.dts73
-rw-r--r--target/linux/brcm63xx/dts/agpf-s0.dts81
-rw-r--r--target/linux/brcm63xx/dts/ar-5381u.dts32
-rw-r--r--target/linux/brcm63xx/dts/ar-5387un.dts40
-rw-r--r--target/linux/brcm63xx/dts/ar1004g.dts32
-rw-r--r--target/linux/brcm63xx/dts/bcm963281TAN.dts30
-rw-r--r--target/linux/brcm63xx/dts/bcm96328avng.dts30
-rw-r--r--target/linux/brcm63xx/dts/bcm96338GW.dts26
-rw-r--r--target/linux/brcm63xx/dts/bcm96338W.dts26
-rw-r--r--target/linux/brcm63xx/dts/bcm96348GW-10.dts40
-rw-r--r--target/linux/brcm63xx/dts/bcm96348GW-11.dts40
-rw-r--r--target/linux/brcm63xx/dts/bcm96348GW.dts40
-rw-r--r--target/linux/brcm63xx/dts/bcm96348R.dts26
-rw-r--r--target/linux/brcm63xx/dts/bcm96358VW.dts26
-rw-r--r--target/linux/brcm63xx/dts/bcm96358VW2.dts22
-rw-r--r--target/linux/brcm63xx/dts/bcm96368MVNgr.dts26
-rw-r--r--target/linux/brcm63xx/dts/bcm96368MVWG.dts26
-rw-r--r--target/linux/brcm63xx/dts/cpva642.dts65
-rw-r--r--target/linux/brcm63xx/dts/ct-5365.dts42
-rw-r--r--target/linux/brcm63xx/dts/ct-6373.dts70
-rw-r--r--target/linux/brcm63xx/dts/ct536plus.dts28
-rw-r--r--target/linux/brcm63xx/dts/dg834gtpn.dts40
-rw-r--r--target/linux/brcm63xx/dts/dsl-2640b-b.dts36
-rw-r--r--target/linux/brcm63xx/dts/dsl-2650u.dts22
-rw-r--r--target/linux/brcm63xx/dts/dsl-274xb-c.dts40
-rw-r--r--target/linux/brcm63xx/dts/dsl-274xb-f.dts54
-rw-r--r--target/linux/brcm63xx/dts/dva-g3810bn_tl.dts40
-rw-r--r--target/linux/brcm63xx/dts/f5d7633.dts40
-rw-r--r--target/linux/brcm63xx/dts/fast2504n.dts49
-rw-r--r--target/linux/brcm63xx/dts/fast2604.dts36
-rw-r--r--target/linux/brcm63xx/dts/fast2704v2.dts58
-rw-r--r--target/linux/brcm63xx/dts/gw6000.dts14
-rw-r--r--target/linux/brcm63xx/dts/gw6200.dts35
-rw-r--r--target/linux/brcm63xx/dts/hg520v.dts23
-rw-r--r--target/linux/brcm63xx/dts/hg553.dts42
-rw-r--r--target/linux/brcm63xx/dts/hg556a-a.dts88
-rw-r--r--target/linux/brcm63xx/dts/hg556a-b.dts88
-rw-r--r--target/linux/brcm63xx/dts/hg556a-c.dts83
-rw-r--r--target/linux/brcm63xx/dts/livebox-blue-5g.dts51
-rw-r--r--target/linux/brcm63xx/dts/nb4-fxc-r1.dts92
-rw-r--r--target/linux/brcm63xx/dts/nb4-ser-r0.dts92
-rw-r--r--target/linux/brcm63xx/dts/nb6-ser-r0.dts29
-rw-r--r--target/linux/brcm63xx/dts/p870hw-51a-v2.dts45
-rw-r--r--target/linux/brcm63xx/dts/rg100a.dts22
-rw-r--r--target/linux/brcm63xx/dts/rta1320.dts23
-rw-r--r--target/linux/brcm63xx/dts/spw303v.dts49
-rw-r--r--target/linux/brcm63xx/dts/spw500v.dts40
-rw-r--r--target/linux/brcm63xx/dts/td-w8900gb.dts40
-rw-r--r--target/linux/brcm63xx/dts/usr9108.dts13
-rw-r--r--target/linux/brcm63xx/dts/vr-3025u.dts56
-rw-r--r--target/linux/brcm63xx/dts/vr-3025un.dts56
-rw-r--r--target/linux/brcm63xx/dts/wap-5813n.dts50
56 files changed, 2543 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/dts/a226g.dts b/target/linux/brcm63xx/dts/a226g.dts
index 9aff81b..1b40507 100644
--- a/target/linux/brcm63xx/dts/a226g.dts
+++ b/target/linux/brcm63xx/dts/a226g.dts
@@ -5,6 +5,83 @@
/ {
model = "Pirelli A226G";
compatible = "pirelli,a226g", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ voip_red {
+ label = "DWV-S0:red:VoIP";
+ gpios = <&gpio0 0 1>;
+ };
+ eth_red {
+ label = "DWV-S0:red:ethernet";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_green {
+ label = "DWV-S0:green:ADSL";
+ gpios = <&gpio0 2 1>;
+ };
+ usb_green {
+ label = "DWV-S0:green:USB";
+ gpios = <&gpio0 3 1>;
+ };
+ power_green {
+ label = "DWV-S0:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "DWV-S0:red:power";
+ gpios = <&gpio0 5 1>;
+ };
+ inet_red {
+ label = "DWV-S0:red:internet";
+ gpios = <&gpio0 6 1>;
+ };
+ inet_green {
+ label = "DWV-S0:green:internet";
+ gpios = <&gpio0 7 1>;
+ };
+ eth_green {
+ label = "DWV-S0:green:ethernet";
+ gpios = <&gpio0 8 1>;
+ };
+ voip_green {
+ label = "DWV-S0:green:VoIP";
+ gpios = <&gpio0 9 1>;
+ };
+ wifi_red {
+ label = "DWV-S0:red:wifi";
+ gpios = <&gpio0 10 1>;
+ };
+ usb_red {
+ label = "DWV-S0:red:USB";
+ gpios = <&gpio0 11 1>;
+ };
+ dsl_red {
+ label = "DWV-S0:red:ADSL";
+ gpios = <&gpio0 12 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/a226m-fwb.dts b/target/linux/brcm63xx/dts/a226m-fwb.dts
index 1abf870..011f312 100644
--- a/target/linux/brcm63xx/dts/a226m-fwb.dts
+++ b/target/linux/brcm63xx/dts/a226m-fwb.dts
@@ -5,6 +5,83 @@
/ {
model = "Pirelli A226M-FWB";
compatible = "pirelli,a226m-fwb", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ voip_red {
+ label = "DWV-S0:red:VoIP";
+ gpios = <&gpio0 0 1>;
+ };
+ eth_red {
+ label = "DWV-S0:red:ethernet";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_green {
+ label = "DWV-S0:green:ADSL";
+ gpios = <&gpio0 2 1>;
+ };
+ usb_green {
+ label = "DWV-S0:green:USB";
+ gpios = <&gpio0 3 1>;
+ };
+ power_green {
+ label = "DWV-S0:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "DWV-S0:red:power";
+ gpios = <&gpio0 5 1>;
+ };
+ inet_red {
+ label = "DWV-S0:red:internet";
+ gpios = <&gpio0 6 1>;
+ };
+ inet_green {
+ label = "DWV-S0:green:internet";
+ gpios = <&gpio0 7 1>;
+ };
+ eth_green {
+ label = "DWV-S0:green:ethernet";
+ gpios = <&gpio0 8 1>;
+ };
+ voip_green {
+ label = "DWV-S0:green:VoIP";
+ gpios = <&gpio0 9 1>;
+ };
+ wifi_red {
+ label = "DWV-S0:red:wifi";
+ gpios = <&gpio0 10 1>;
+ };
+ usb_red {
+ label = "DWV-S0:red:USB";
+ gpios = <&gpio0 11 1>;
+ };
+ dsl_red {
+ label = "DWV-S0:red:ADSL";
+ gpios = <&gpio0 12 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/a226m.dts b/target/linux/brcm63xx/dts/a226m.dts
index ba6382e..13400f2 100644
--- a/target/linux/brcm63xx/dts/a226m.dts
+++ b/target/linux/brcm63xx/dts/a226m.dts
@@ -5,6 +5,83 @@
/ {
model = "Pirelli A226M";
compatible = "pirelli,a226m", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ voip_red {
+ label = "DWV-S0:red:VoIP";
+ gpios = <&gpio0 0 1>;
+ };
+ eth_red {
+ label = "DWV-S0:red:ethernet";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_green {
+ label = "DWV-S0:green:ADSL";
+ gpios = <&gpio0 2 1>;
+ };
+ usb_green {
+ label = "DWV-S0:green:USB";
+ gpios = <&gpio0 3 1>;
+ };
+ power_green {
+ label = "DWV-S0:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "DWV-S0:red:power";
+ gpios = <&gpio0 5 1>;
+ };
+ inet_red {
+ label = "DWV-S0:red:internet";
+ gpios = <&gpio0 6 1>;
+ };
+ inet_green {
+ label = "DWV-S0:green:internet";
+ gpios = <&gpio0 7 1>;
+ };
+ eth_green {
+ label = "DWV-S0:green:ethernet";
+ gpios = <&gpio0 8 1>;
+ };
+ voip_green {
+ label = "DWV-S0:green:VoIP";
+ gpios = <&gpio0 9 1>;
+ };
+ wifi_red {
+ label = "DWV-S0:red:wifi";
+ gpios = <&gpio0 10 1>;
+ };
+ usb_red {
+ label = "DWV-S0:red:USB";
+ gpios = <&gpio0 11 1>;
+ };
+ dsl_red {
+ label = "DWV-S0:red:ADSL";
+ gpios = <&gpio0 12 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/a4001n.dts b/target/linux/brcm63xx/dts/a4001n.dts
index 011fbf4..1f8eaf6 100644
--- a/target/linux/brcm63xx/dts/a4001n.dts
+++ b/target/linux/brcm63xx/dts/a4001n.dts
@@ -5,4 +5,49 @@
/ {
model = "ADB P.DG A4001N";
compatible = "adb,a4001n", "brcm,bcm6328";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 23 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 24 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_red {
+ label = "A4001N:red:inet";
+ gpios = <&gpio0 1 0>;
+ };
+ power_red {
+ label = "A4001N:red:power";
+ gpios = <&gpio0 4 0>;
+ };
+ power_green {
+ label = "A4001N:green:power";
+ gpios = <&gpio0 8 0>;
+ default-state = "on";
+ };
+ usb_green {
+ label = "A4001N:green:usb";
+ gpios = <&gpio0 10 1>;
+ };
+ dsl_green {
+ label = "A4001N:green:dsl";
+ gpios = <&gpio0 11 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/a4001n1.dts b/target/linux/brcm63xx/dts/a4001n1.dts
index 2bdd201..d45210f 100644
--- a/target/linux/brcm63xx/dts/a4001n1.dts
+++ b/target/linux/brcm63xx/dts/a4001n1.dts
@@ -5,4 +5,77 @@
/ {
model = "ADB P.DG A4001N1";
compatible = "adb,a4001n1", "brcm,bcm6328";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 23 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wlan";
+ gpios = <&gpio0 24 1>;
+ linux,code = <0xee>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_red {
+ label = "A4001N1:red:inet";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "A4001N1:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ power_red {
+ label = "A4001N1:red:power";
+ gpios = <&gpio0 4 1>;
+ };
+ ppp_red {
+ label = "A4001N1:red:ppp";
+ gpios = <&gpio0 5 1>;
+ };
+ usb_green {
+ label = "A4001N1:green:3g";
+ gpios = <&gpio0 6 1>;
+ };
+ usb_red {
+ label = "A4001N1:red:3g";
+ gpios = <&gpio0 7 1>;
+ };
+ power_green {
+ label = "A4001N1:green:power";
+ gpios = <&gpio0 8 1>;
+ default-state = "on";
+ };
+ wlan_green {
+ label = "A4001N1:green:wlan";
+ gpios = <&gpio0 9 1>;
+ };
+ wlan_red {
+ label = "A4001N1:red:wlan";
+ gpios = <&gpio0 10 1>;
+ };
+ inet_green {
+ label = "A4001N1:green:inet";
+ gpios = <&gpio0 11 1>;
+ };
+ eth_red {
+ label = "A4001N1:red:eth";
+ gpios = <&gpio0 20 1>;
+ };
+ eth_green {
+ label = "A4001N1:green:eth";
+ gpios = <&gpio0 31 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/agpf-s0.dts b/target/linux/brcm63xx/dts/agpf-s0.dts
index 9d66b89..eaa45b9 100644
--- a/target/linux/brcm63xx/dts/agpf-s0.dts
+++ b/target/linux/brcm63xx/dts/agpf-s0.dts
@@ -5,6 +5,87 @@
/ {
model = "Pirelli Alice Gate AGPF-S0";
compatible = "pirelli,agpf-s0", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "AGPF-S0:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "AGPF-S0:red:power";
+ gpios = <&gpio0 5 1>;
+ };
+ service_green {
+ label = "AGPF-S0:green:service";
+ gpios = <&gpio0 6 1>;
+ };
+ service_red {
+ label = "AGPF-S0:red:service";
+ gpios = <&gpio0 7 1>;
+ };
+ dsl_green {
+ label = "AGPF-S0:green:adsl";
+ gpios = <&gpio0 9 1>;
+ };
+ dsl_red {
+ label = "AGPF-S0:red:adsl";
+ gpios = <&gpio0 10 1>;
+ };
+ wifi_green {
+ label = "AGPF-S0:green:wifi";
+ gpios = <&gpio0 22 1>;
+ };
+ wifi_red {
+ label = "AGPF-S0:red:wifi";
+ gpios = <&gpio0 23 1>;
+ };
+ inet_red {
+ label = "AGPF-S0:red:internet";
+ gpios = <&gpio0 24 1>;
+ };
+ inet_green {
+ label = "AGPF-S0:green:internet";
+ gpios = <&gpio0 25 1>;
+ };
+ usr1_green {
+ label = "AGPF-S0:green:usr1";
+ gpios = <&gpio0 26 1>;
+ };
+ usr1_red {
+ label = "AGPF-S0:red:usr1";
+ gpios = <&gpio0 27 1>;
+ };
+ usr2_green {
+ label = "AGPF-S0:green:usr2";
+ gpios = <&gpio0 29 1>;
+ };
+ usr2_red {
+ label = "AGPF-S0:red:usr2";
+ gpios = <&gpio0 30 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/ar-5381u.dts b/target/linux/brcm63xx/dts/ar-5381u.dts
index 812108a..d5f728a 100644
--- a/target/linux/brcm63xx/dts/ar-5381u.dts
+++ b/target/linux/brcm63xx/dts/ar-5381u.dts
@@ -5,4 +5,36 @@
/ {
model = "Comtrend AR-5381u";
compatible = "comtrend,ar-5381u", "brcm,bcm6328";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 23 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ alarm_red {
+ label = "AR-5381u:red:alarm";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_green {
+ label = "AR-5381u:green:inet";
+ gpios = <&gpio0 3 1>;
+ };
+ power_green {
+ label = "AR-5381u:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/ar-5387un.dts b/target/linux/brcm63xx/dts/ar-5387un.dts
index d24a655..a8883e2 100644
--- a/target/linux/brcm63xx/dts/ar-5387un.dts
+++ b/target/linux/brcm63xx/dts/ar-5387un.dts
@@ -5,4 +5,44 @@
/ {
model = "Comtrend AR-5387un";
compatible = "comtrend,ar-5387un", "brcm,bcm6328";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 23 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_red {
+ label = "AR-5387un:red:inet";
+ gpios = <&gpio0 1 0>;
+ };
+ power_red {
+ label = "AR-5387un:red:power";
+ gpios = <&gpio0 4 0>;
+ };
+ inet_green {
+ label = "AR-5387un:green:inet";
+ gpios = <&gpio0 7 0>;
+ };
+ power_green {
+ label = "AR-5387un:green:power";
+ gpios = <&gpio0 8 0>;
+ default-state = "on";
+ };
+ dsl_green {
+ label = "AR-5387un:green:dsl";
+ gpios = <&gpio0 11 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/ar1004g.dts b/target/linux/brcm63xx/dts/ar1004g.dts
index c5bea28a..fdd5c47 100644
--- a/target/linux/brcm63xx/dts/ar1004g.dts
+++ b/target/linux/brcm63xx/dts/ar1004g.dts
@@ -5,4 +5,36 @@
/ {
model = "ASMAX AR 1004g";
compatible = "asmax,ar1004g", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "AR1004G:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ inet_green {
+ label = "AR1004G:green:inet";
+ gpios = <&gpio0 3 1>;
+ };
+ power_red {
+ label = "AR1004G:red:power";
+ gpios = <&gpio0 6 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm963281TAN.dts b/target/linux/brcm63xx/dts/bcm963281TAN.dts
index be69997..f257125 100644
--- a/target/linux/brcm63xx/dts/bcm963281TAN.dts
+++ b/target/linux/brcm63xx/dts/bcm963281TAN.dts
@@ -5,4 +5,34 @@
/ {
model = "Broadcom bcm963281TAN reference board";
compatible = "brcm,bcm963281TAN", "brcm,bcm6328";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet {
+ label = "963281TAN::internet";
+ gpios = <&gpio0 1 1>;
+ };
+ power {
+ label = "963281TAN::power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ inet_fail {
+ label = "963281TAN::internet-fail";
+ gpios = <&gpio0 7 1>;
+ };
+ power_fail {
+ label = "963281TAN::power-fail";
+ gpios = <&gpio0 8 1>;
+ };
+ wps {
+ label = "963281TAN::wps";
+ gpios = <&gpio0 9 1>;
+ };
+ dsl {
+ label = "963281TAN::dsl";
+ gpios = <&gpio0 11 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96328avng.dts b/target/linux/brcm63xx/dts/bcm96328avng.dts
index 52e7daf..8dbdbda 100644
--- a/target/linux/brcm63xx/dts/bcm96328avng.dts
+++ b/target/linux/brcm63xx/dts/bcm96328avng.dts
@@ -5,4 +5,34 @@
/ {
model = "Broadcom BCM96328avng reference board";
compatible = "brcm,bcm96328avng", "brcm,bcm6328";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_fail {
+ label = "96328avng::internet-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ dsl {
+ label = "96328avng::dsl";
+ gpios = <&gpio0 3 1>;
+ };
+ power {
+ label = "96328avng::power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_fail {
+ label = "96328avng::power-fail";
+ gpios = <&gpio0 8 1>;
+ };
+ wps {
+ label = "96328avng::wps";
+ gpios = <&gpio0 9 1>;
+ };
+ inet {
+ label = "96328avng::internet";
+ gpios = <&gpio0 11 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96338GW.dts b/target/linux/brcm63xx/dts/bcm96338GW.dts
index 2040e2f..d378df1 100644
--- a/target/linux/brcm63xx/dts/bcm96338GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96338GW.dts
@@ -5,4 +5,30 @@
/ {
model = "Broadcom BCM96338GW reference board";
compatible = "brcm,bcm96338gw", "brcm,bcm6338";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96338GW:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96338GW:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_green {
+ label = "96338GW:green:adsl";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96338GW:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ ses_green {
+ label = "96338GW:green:ses";
+ gpios = <&gpio0 5 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96338W.dts b/target/linux/brcm63xx/dts/bcm96338W.dts
index 1609541..9cca783 100644
--- a/target/linux/brcm63xx/dts/bcm96338W.dts
+++ b/target/linux/brcm63xx/dts/bcm96338W.dts
@@ -5,4 +5,30 @@
/ {
model = "Broadcom BCM96338W reference board";
compatible = "brcm,bcm96338w", "brcm,bcm6338";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96338W:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96338W:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_green {
+ label = "96338W:green:adsl";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96338W:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ ses_green {
+ label = "96338W:green:ses";
+ gpios = <&gpio0 5 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-10.dts b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
index 172ee62..173a8c3 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-10.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
@@ -5,4 +5,44 @@
/ {
model = "Broadcom BCM96348GW-10 reference board";
compatible = "brcm,bcm96348gw-10", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 6 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348GW-10:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348GW-10:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348GW-10:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348GW-10:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348GW-10:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-11.dts b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
index 906ecab..15828a1 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-11.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
@@ -5,4 +5,44 @@
/ {
model = "Broadcom BCM96348GW-11 reference board";
compatible = "brcm,bcm96348gw-11", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348GW-11:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348GW-11:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348GW-11:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348GW-11:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348GW-11:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96348GW.dts b/target/linux/brcm63xx/dts/bcm96348GW.dts
index cd039f8..fcce239 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW.dts
@@ -5,4 +5,44 @@
/ {
model = "Broadcom BCM96348GW reference board";
compatible = "brcm,bcm96348gw", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 4 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348GW:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348GW:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348GW:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348GW:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348GW:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96348R.dts b/target/linux/brcm63xx/dts/bcm96348R.dts
index 004abcb..69842b1 100644
--- a/target/linux/brcm63xx/dts/bcm96348R.dts
+++ b/target/linux/brcm63xx/dts/bcm96348R.dts
@@ -5,4 +5,30 @@
/ {
model = "Broadcom 96348R reference board";
compatible = "brcm,bcm96348r", "brcm,bcm6348";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348R:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348R:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348R:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348R:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348R:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96358VW.dts b/target/linux/brcm63xx/dts/bcm96358VW.dts
index a978d41..57e26f6 100644
--- a/target/linux/brcm63xx/dts/bcm96358VW.dts
+++ b/target/linux/brcm63xx/dts/bcm96358VW.dts
@@ -5,4 +5,30 @@
/ {
model = "Broadcom BCM96358VW reference board";
compatible = "brcm,bcm96358vw", "brcm,bcm6358";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96358VW:green:power";
+ gpios = <&gpio0 4 0>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96358VW:green:stop";
+ gpios = <&gpio0 5 0>;
+ };
+ adsl_fail_green {
+ label = "96358VW:green:adsl-fail";
+ gpios = <&gpio0 15 1>;
+ };
+ ppp_green {
+ label = "96358VW:green:ppp";
+ gpios = <&gpio0 22 1>;
+ };
+ ppp_fail_green {
+ label = "96358VW:green:ppp-fail";
+ gpios = <&gpio0 23 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96358VW2.dts b/target/linux/brcm63xx/dts/bcm96358VW2.dts
index bcf3c81..730426f 100644
--- a/target/linux/brcm63xx/dts/bcm96358VW2.dts
+++ b/target/linux/brcm63xx/dts/bcm96358VW2.dts
@@ -5,4 +5,26 @@
/ {
model = "Broadcom BCM96358VW2 reference board";
compatible = "brcm,bcm96358vw2", "brcm,bcm6358";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ stop_green {
+ label = "96358VW2:green:stop";
+ gpios = <&gpio0 4 1>;
+ };
+ power_green {
+ label = "96358VW2:green:power";
+ gpios = <&gpio0 5 1>;
+ default-state = "on";
+ };
+ adsl_green {
+ label = "96358VW2:green:adsl";
+ gpios = <&gpio0 22 1>;
+ };
+ ppp_fail_green {
+ label = "96358VW2:green:ppp-fail";
+ gpios = <&gpio0 23 0>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
index b274bfd..fa3e6e8 100644
--- a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
+++ b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
@@ -5,4 +5,30 @@
/ {
model = "Broadcom BCM96368MVNgr reference board";
compatible = "brcm,bcm96368mvngr", "brcm,bcm6368";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ dsl_green {
+ label = "96368MVNgr:green:adsl";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_fail_green {
+ label = "96368MVNgr:green:inet-fail";
+ gpios = <&gpio0 3 0>;
+ };
+ inet_green {
+ label = "96368MVNgr:green:inet";
+ gpios = <&gpio0 5 0>;
+ };
+ power_green {
+ label = "96368MVNgr:green:power";
+ gpios = <&gpio0 22 0>;
+ default-state = "on";
+ };
+ wps_green {
+ label = "96368MVNgr:green:wps";
+ gpios = <&gpio0 23 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96368MVWG.dts b/target/linux/brcm63xx/dts/bcm96368MVWG.dts
index f462411..0fb3566 100644
--- a/target/linux/brcm63xx/dts/bcm96368MVWG.dts
+++ b/target/linux/brcm63xx/dts/bcm96368MVWG.dts
@@ -5,4 +5,30 @@
/ {
model = "Broadcom BCM96368MVWG reference board";
compatible = "brcm,bcm96368mvwg", "brcm,bcm6368";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ dsl_green {
+ label = "96368MVWG:green:adsl";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96368MVWG:green:ppp";
+ gpios = <&gpio0 5 0>;
+ };
+ power_green {
+ label = "96368MVWG:green:power";
+ gpios = <&gpio0 22 0>;
+ default-state = "on";
+ };
+ wps_green {
+ label = "96368MVWG:green:wps";
+ gpios = <&gpio0 23 1>;
+ };
+ ppp_fail_red {
+ label = "96368MVWG:red:ppp-fail";
+ gpios = <&gpio0 31 0>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/cpva642.dts b/target/linux/brcm63xx/dts/cpva642.dts
index a12dd81..b9a215a 100644
--- a/target/linux/brcm63xx/dts/cpva642.dts
+++ b/target/linux/brcm63xx/dts/cpva642.dts
@@ -5,6 +5,71 @@
/ {
model = "Telsey CPVA642-type (CPA-ZNTE60T)";
compatible = "telsey,cpva642", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 4 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio1 5 0>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ eth_green {
+ label = "CPVA642:green:ether";
+ gpios = <&gpio0 1 1>;
+ };
+ phone2_green {
+ label = "CPVA642:green:phone2";
+ gpios = <&gpio0 2 1>;
+ };
+ usb_green {
+ label = "CPVA642:green:usb";
+ gpios = <&gpio0 3 1>;
+ };
+ phone1_green {
+ label = "CPVA642:green:phone1";
+ gpios = <&gpio0 4 1>;
+ };
+ wifi_red {
+ label = "CPVA642:red:wifi";
+ gpios = <&gpio0 6 1>;
+ };
+ link_red {
+ label = "CPVA642:red:link";
+ gpios = <&gpio0 9 1>;
+ };
+ link_green {
+ label = "CPVA642:green:link";
+ gpios = <&gpio0 10 1>;
+ };
+ power_green {
+ label = "CPVA642:green:power";
+ gpios = <&gpio0 11 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "CPVA642:red:power";
+ gpios = <&gpio0 14 1>;
+ };
+ wifi_green {
+ label = "CPVA642:green:wifi";
+ gpios = <&gpio0 28 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/ct-5365.dts b/target/linux/brcm63xx/dts/ct-5365.dts
index 2ada4f8..7b89bf2 100644
--- a/target/linux/brcm63xx/dts/ct-5365.dts
+++ b/target/linux/brcm63xx/dts/ct-5365.dts
@@ -5,6 +5,48 @@
/ {
model = "Comtrend CT-5365";
compatible = "comtrend,ct-5365", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ wlan {
+ label = "wlan";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0xee>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio1 3 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348A-122:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ alarm_red {
+ label = "96348A-122:red:alarm";
+ gpios = <&gpio0 2 1>;
+ };
+ wps_green {
+ label = "96348A-122:green:wps";
+ gpios = <&gpio0 6 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts
index 1aca23a..3a4079b 100644
--- a/target/linux/brcm63xx/dts/ct-6373.dts
+++ b/target/linux/brcm63xx/dts/ct-6373.dts
@@ -5,6 +5,76 @@
/ {
model = "Comtrend CT-6373";
compatible = "comtrend,ct-6373", "brcm,bcm6358";
+/*
+ spi-gpio {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spi-gpio";
+
+ gpio-mosi = <&gpio0 7 0>;
+ gpio-sck = <&gpio0 6 0>;
+ num-chipselects = <0>;
+
+ hc595: gpio-spi-controller@0 {
+ compatible = "fairchild,74hc595";
+ reg = <0>;
+ registers-number = <1>;
+ spi-max-frequency = <100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+ };
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 3 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "CT6373-1:green:power";
+ gpios = <&gpio0 0 0>;
+ default-state = "on";
+ };
+ usb_green {
+ label = "CT6373-1:green:usb";
+ gpios = <&gpio0 3 1>;
+ };
+ wlan_green {
+ label = "CT6373-1:green:wlan";
+ gpios = <&gpio0 9 1>;
+ };
+/*
+ dsl_green {
+ label = "CT6373-1:green:adsl";
+ gpios = <&hc595 0 1>;
+ };
+ line_green {
+ label = "CT6373-1:green:line";
+ gpios = <&hc595 1 1>;
+ };
+ fxs1_green {
+ label = "CT6373-1:green:fxs1";
+ gpios = <&hc595 2 1>;
+ };
+ fxs2_green {
+ label = "CT6373-1:green:fxs2";
+ gpios = <&hc595 3 1>;
+ };
+*/
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/ct536plus.dts b/target/linux/brcm63xx/dts/ct536plus.dts
index d8e2d3b..c92bc90 100644
--- a/target/linux/brcm63xx/dts/ct536plus.dts
+++ b/target/linux/brcm63xx/dts/ct536plus.dts
@@ -5,4 +5,32 @@
/ {
model = "Comtrend CT-536+/CT-5621T";
compatible = "comtrend,ct536+", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "CT536_CT5621:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ adsl_fail_green {
+ label = "CT536_CT5621:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/dg834gtpn.dts b/target/linux/brcm63xx/dts/dg834gtpn.dts
index 8742985..f4ece9e 100644
--- a/target/linux/brcm63xx/dts/dg834gtpn.dts
+++ b/target/linux/brcm63xx/dts/dg834gtpn.dts
@@ -5,6 +5,46 @@
/ {
model = "Netgear DG834GT/PN";
compatible = "netgear,dg834gtpn", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 6 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348GW-10:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348GW-10:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348GW-10:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348GW-10:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348GW-10:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/dsl-2640b-b.dts b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
index efc0dc5..6f2bda6 100644
--- a/target/linux/brcm63xx/dts/dsl-2640b-b.dts
+++ b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
@@ -5,6 +5,42 @@
/ {
model = "D-Link DSL-2640B rev B2";
compatible = "d-link,dsl-2640b-b", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 7 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "D-4P-W:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ status {
+ label = "D-4P-W::status";
+ gpios = <&gpio0 3 1>;
+ };
+ inet_green {
+ label = "D-4P-W:green:internet";
+ gpios = <&gpio0 4 1>;
+ };
+ inet_red {
+ label = "D-4P-W:red:internet";
+ gpios = <&gpio0 5 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/dsl-2650u.dts b/target/linux/brcm63xx/dts/dsl-2650u.dts
index 23b3301..7e88e01 100644
--- a/target/linux/brcm63xx/dts/dsl-2650u.dts
+++ b/target/linux/brcm63xx/dts/dsl-2650u.dts
@@ -5,6 +5,28 @@
/ {
model = "D-Link DSL-2650U";
compatible = "d-link,dsl-2650u", "brcm,bcm6358";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ stop_green {
+ label = "96358VW2:green:stop";
+ gpios = <&gpio0 4 1>;
+ };
+ power_green {
+ label = "96358VW2:green:power";
+ gpios = <&gpio0 5 1>;
+ default-state = "on";
+ };
+ adsl_green {
+ label = "96358VW2:green:adsl";
+ gpios = <&gpio0 22 1>;
+ };
+ ppp_fail_green {
+ label = "96358VW2:green:ppp-fail";
+ gpios = <&gpio0 23 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-c.dts b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
index e36ddfa..1546b6a 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-c.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
@@ -5,6 +5,46 @@
/ {
model = "D-Link DSL-2740B/DSL-2741B rev C2/3";
compatible = "d-link,dsl-274xb-c2", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_green {
+ label = "dsl-274xb:green:internet";
+ gpios = <&gpio0 2 0>;
+ };
+ power_red {
+ label = "dsl-274xb:red:power";
+ gpios = <&gpio0 4 1>;
+ };
+ power_green {
+ label = "dsl-274xb:green:power";
+ gpios = <&gpio0 5 1>;
+ default-state = "on";
+ };
+ dsl_green {
+ label = "dsl-274xb:green:adsl";
+ gpios = <&gpio0 9 1>;
+ };
+ inet_red {
+ label = "dsl-274xb:red:internet";
+ gpios = <&gpio0 10 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-f.dts b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
index a17f988..f8ad084 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-f.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
@@ -5,4 +5,58 @@
/ {
model = "D-Link DSL-2740B/DSL-2741B rev F1";
compatible = "d-link,dsl-274xb-f", "brcm,bcm6328";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio0 10 1>;
+ linux,code = <0xee>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 23 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 24 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_red {
+ label = "dsl-274xb:red:internet";
+ gpios = <&gpio0 2 1>;
+ };
+ dsl_green {
+ label = "dsl-274xb:green:dsl";
+ gpios = <&gpio0 3 1>;
+ };
+ power_green {
+ label = "dsl-274xb:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "dsl-274xb:red:power";
+ gpios = <&gpio0 8 1>;
+ };
+ wps_blue {
+ label = "dsl-274xb:blue:wps";
+ gpios = <&gpio0 9 1>;
+ };
+ inet_green {
+ label = "dsl-274xb:green:internet";
+ gpios = <&gpio0 11 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
index 20accd7..263485d 100644
--- a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
+++ b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
@@ -5,4 +5,44 @@
/ {
model = "D-Link DVA-G3810BN/TL";
compatible = "d-link,dva-g3810bn/tl", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ voip {
+ label = "DVAG3810BN::voip";
+ gpios = <&gpio0 1 0>;
+ };
+ power {
+ label = "DVAG3810BN::power";
+ gpios = <&gpio0 4 0>;
+ default-state = "on";
+ };
+ stop {
+ label = "DVAG3810BN::stop";
+ gpios = <&gpio0 5 0>;
+ };
+ dsl {
+ label = "DVAG3810BN::dsl";
+ gpios = <&gpio0 22 1>;
+ };
+ inet {
+ label = "DVAG3810BN::internet";
+ gpios = <&gpio0 23 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/f5d7633.dts b/target/linux/brcm63xx/dts/f5d7633.dts
index 9393413..81e1e25 100644
--- a/target/linux/brcm63xx/dts/f5d7633.dts
+++ b/target/linux/brcm63xx/dts/f5d7633.dts
@@ -5,6 +5,46 @@
/ {
model = "Belkin F5D7633";
compatible = "belkin,f5d7633", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 6 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348GW-10:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348GW-10:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348GW-10:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348GW-10:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348GW-10:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/fast2504n.dts b/target/linux/brcm63xx/dts/fast2504n.dts
index 2f202a3..a3bb927 100644
--- a/target/linux/brcm63xx/dts/fast2504n.dts
+++ b/target/linux/brcm63xx/dts/fast2504n.dts
@@ -5,4 +5,53 @@
/ {
model = "Sagem F@ST2504n";
compatible = "sagem,f@st2504n", "brcm,bcm6362";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 24 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 25 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_orange {
+ label = "fast2504n:orange:power";
+ gpios = <&gpio0 2 1>;
+ };
+ power_green {
+ label = "fast2504n:green:power";
+ gpios = <&gpio0 10 1>;
+ default-state = "on";
+ };
+ inet_red {
+ label = "fast2504n:red:internet";
+ gpios = <&gpio0 26 1>;
+ };
+ ok_green {
+ label = "fast2504n:green:ok";
+ gpios = <&gpio0 28 1>;
+ };
+ ok_orange {
+ label = "fast2504n:orange:ok";
+ gpios = <&gpio0 29 1>;
+ };
+ wlan_orangee {
+ label = "fast2504n:orange:wlan";
+ gpios = <&gpio0 30 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/fast2604.dts b/target/linux/brcm63xx/dts/fast2604.dts
index 5dcaa55..b5bc487 100644
--- a/target/linux/brcm63xx/dts/fast2604.dts
+++ b/target/linux/brcm63xx/dts/fast2604.dts
@@ -5,6 +5,42 @@
/ {
model = "Sagem F@ST2604";
compatible = "sagem,f@st2604", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "F@ST2604:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "F@ST2604:red:power";
+ gpios = <&gpio0 1 1>;
+ };
+ inet_red {
+ label = "F@ST2604:red:inet";
+ gpios = <&gpio0 4 1>;
+ };
+ wps_green {
+ label = "F@ST2604:green:wps";
+ gpios = <&gpio0 5 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/fast2704v2.dts b/target/linux/brcm63xx/dts/fast2704v2.dts
index f001b77..053ad35 100644
--- a/target/linux/brcm63xx/dts/fast2704v2.dts
+++ b/target/linux/brcm63xx/dts/fast2704v2.dts
@@ -5,4 +5,62 @@
/ {
model = "Sagem F@ST2704V2";
compatible = "sagem,f@st2704v2", "brcm,bcm6328";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio0 15 1>;
+ linux,code = <0xee>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 23 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 24 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ usb_green {
+ label = "F@ST2704V2:green:usb";
+ gpios = <&gpio0 1 1>;
+ };
+ inet_red {
+ label = "F@ST2704V2:red:inet";
+ gpios = <&gpio0 2 1>;
+ };
+ dsl_green {
+ label = "F@ST2704V2:green:dsl";
+ gpios = <&gpio0 3 1>;
+ };
+ power_green {
+ label = "F@ST2704V2:green:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "F@ST2704V2:red:power";
+ gpios = <&gpio0 5 1>;
+ };
+ wps_green {
+ label = "F@ST2704V2:green:wps";
+ gpios = <&gpio0 10 1>;
+ };
+ inet_green {
+ label = "F@ST2704V2:green:inet";
+ gpios = <&gpio0 11 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/gw6000.dts b/target/linux/brcm63xx/dts/gw6000.dts
index f0b5c54..a9f8028 100644
--- a/target/linux/brcm63xx/dts/gw6000.dts
+++ b/target/linux/brcm63xx/dts/gw6000.dts
@@ -5,4 +5,18 @@
/ {
model = "TECOM GW6000";
compatible = "tecom,gw6000", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 4 1>;
+ linux,code = <0x198>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/gw6200.dts b/target/linux/brcm63xx/dts/gw6200.dts
index 4165030..2ffdf96 100644
--- a/target/linux/brcm63xx/dts/gw6200.dts
+++ b/target/linux/brcm63xx/dts/gw6200.dts
@@ -5,4 +5,39 @@
/ {
model = "TECOM GW6200";
compatible = "tecom,gw6200", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 4 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ line1_green {
+ label = "GW6200:green:line1";
+ gpios = <&gpio0 4 1>;
+ };
+ line2_green {
+ label = "GW6200:green:line2";
+ gpios = <&gpio0 5 1>;
+ };
+ line3_green {
+ label = "GW6200:green:line3";
+ gpios = <&gpio0 6 1>;
+ };
+ tel_green {
+ label = "GW6200:green:tel";
+ gpios = <&gpio0 7 1>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/hg520v.dts b/target/linux/brcm63xx/dts/hg520v.dts
index bc8af33..88647fa 100644
--- a/target/linux/brcm63xx/dts/hg520v.dts
+++ b/target/linux/brcm63xx/dts/hg520v.dts
@@ -5,6 +5,29 @@
/ {
model = "Huawei EchoLife HG520v";
compatible = "huawei,hg520v", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_green {
+ label = "HW520:green:net";
+ gpios = <&gpio1 0 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/hg553.dts b/target/linux/brcm63xx/dts/hg553.dts
index 75fec8b..140e2de 100644
--- a/target/linux/brcm63xx/dts/hg553.dts
+++ b/target/linux/brcm63xx/dts/hg553.dts
@@ -5,6 +5,48 @@
/ {
model = "Huawei EchoLife HG553";
compatible = "huawei,hg553", "brcm,bcm6358";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "HW553:blue:power";
+ gpios = <&gpio0 4 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "HW553:red:power";
+ gpios = <&gpio0 5 1>;
+ };
+ hspa_red {
+ label = "HW553:red:hspa";
+ gpios = <&gpio0 12 1>;
+ };
+ hspa_blue {
+ label = "HW553:blue:hspa";
+ gpios = <&gpio0 13 1>;
+ };
+ lan_red {
+ label = "HW553:red:lan";
+ gpios = <&gpio0 22 1>;
+ };
+ lan_blue {
+ label = "HW553:blue:lan";
+ gpios = <&gpio0 23 1>;
+ };
+ wifi_red {
+ label = "HW553:red:wifi";
+ gpios = <&gpio0 25 1>;
+ };
+ dsl_red {
+ label = "HW553:red:adsl";
+ gpios = <&gpio1 2 1>;
+ };
+ dsl_blue {
+ label = "HW553:blue:adsl";
+ gpios = <&gpio1 3 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/hg556a-a.dts b/target/linux/brcm63xx/dts/hg556a-a.dts
index bf43571..70f10dc 100644
--- a/target/linux/brcm63xx/dts/hg556a-a.dts
+++ b/target/linux/brcm63xx/dts/hg556a-a.dts
@@ -5,6 +5,94 @@
/ {
model = "Huawei EchoLife HG556a (version A)";
compatible = "huawei,hg556a-a", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ help {
+ label = "help";
+ gpios = <&gpio0 8 1>;
+ linux,code = <0x8a>;
+ };
+ wlan {
+ label = "wlan";
+ gpios = <&gpio0 9 1>;
+ linux,code = <0xee>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio0 10 1>;
+ linux,code = <0x198>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 11 1>;
+ linux,code = <0xab>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ message_red {
+ label = "HW556:red:message";
+ gpios = <&gpio0 0 1>;
+ };
+ hspa_red {
+ label = "HW556:red:hspa";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_red {
+ label = "HW556:red:dsl";
+ gpios = <&gpio0 2 1>;
+ };
+ power_red {
+ label = "HW556:red:power";
+ gpios = <&gpio0 3 1>;
+ default-state = "on";
+ };
+ all_red {
+ label = "HW556:red:all";
+ gpios = <&gpio0 6 1>;
+ default-state = "on";
+ };
+ lan1_green {
+ label = "HW556:green:lan1";
+ gpios = <&gpio0 12 1>;
+ };
+ lan1_red {
+ label = "HW556:red:lan1";
+ gpios = <&gpio0 13 1>;
+ };
+ lan2_green {
+ label = "HW556:green:lan2";
+ gpios = <&gpio0 15 1>;
+ };
+ lan2_red {
+ label = "HW556:red:lan2";
+ gpios = <&gpio0 22 1>;
+ };
+ lan3_green {
+ label = "HW556:green:lan3";
+ gpios = <&gpio0 23 1>;
+ };
+ lan3_red {
+ label = "HW556:red:lan3";
+ gpios = <&gpio0 26 1>;
+ };
+ lan4_green {
+ label = "HW556:green:lan4";
+ gpios = <&gpio0 27 1>;
+ };
+ lan4_red {
+ label = "HW556:red:lan4";
+ gpios = <&gpio0 28 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/hg556a-b.dts b/target/linux/brcm63xx/dts/hg556a-b.dts
index 6d218c2..b42e86f 100644
--- a/target/linux/brcm63xx/dts/hg556a-b.dts
+++ b/target/linux/brcm63xx/dts/hg556a-b.dts
@@ -5,6 +5,94 @@
/ {
model = "Huawei EchoLife HG556a (version B)";
compatible = "huawei,hg556a-b", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ help {
+ label = "help";
+ gpios = <&gpio0 8 1>;
+ linux,code = <0x8a>;
+ };
+ wlan {
+ label = "wlan";
+ gpios = <&gpio0 9 1>;
+ linux,code = <0xee>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio0 10 1>;
+ linux,code = <0x198>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 11 1>;
+ linux,code = <0xab>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ message_red {
+ label = "HW556:red:message";
+ gpios = <&gpio0 0 1>;
+ };
+ hspa_red {
+ label = "HW556:red:hspa";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_red {
+ label = "HW556:red:dsl";
+ gpios = <&gpio0 2 1>;
+ };
+ power_red {
+ label = "HW556:red:power";
+ gpios = <&gpio0 3 1>;
+ default-state = "on";
+ };
+ all_red {
+ label = "HW556:red:all";
+ gpios = <&gpio0 6 1>;
+ default-state = "on";
+ };
+ lan1_green {
+ label = "HW556:green:lan1";
+ gpios = <&gpio0 12 1>;
+ };
+ lan1_red {
+ label = "HW556:red:lan1";
+ gpios = <&gpio0 13 1>;
+ };
+ lan2_green {
+ label = "HW556:green:lan2";
+ gpios = <&gpio0 15 1>;
+ };
+ lan2_red {
+ label = "HW556:red:lan2";
+ gpios = <&gpio0 22 1>;
+ };
+ lan3_green {
+ label = "HW556:green:lan3";
+ gpios = <&gpio0 23 1>;
+ };
+ lan3_red {
+ label = "HW556:red:lan3";
+ gpios = <&gpio0 26 1>;
+ };
+ lan4_green {
+ label = "HW556:green:lan4";
+ gpios = <&gpio0 27 1>;
+ };
+ lan4_red {
+ label = "HW556:red:lan4";
+ gpios = <&gpio0 28 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/hg556a-c.dts b/target/linux/brcm63xx/dts/hg556a-c.dts
index a5bccda..4c845ed 100644
--- a/target/linux/brcm63xx/dts/hg556a-c.dts
+++ b/target/linux/brcm63xx/dts/hg556a-c.dts
@@ -5,6 +5,89 @@
/ {
model = "Huawei EchoLife HG556a (version C)";
compatible = "huawei,hg556a-c", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ help {
+ label = "help";
+ gpios = <&gpio0 8 1>;
+ linux,code = <0x8a>;
+ };
+ wlan {
+ label = "wlan";
+ gpios = <&gpio0 9 1>;
+ linux,code = <0xee>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio0 10 1>;
+ linux,code = <0x198>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 11 1>;
+ linux,code = <0xab>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ lan1_green {
+ label = "HW556:green:lan1";
+ gpios = <&gpio0 0 1>;
+ };
+ lan2_green {
+ label = "HW556:green:lan2";
+ gpios = <&gpio0 1 1>;
+ };
+ dsl_red {
+ label = "HW556:red:dsl";
+ gpios = <&gpio0 2 1>;
+ };
+ power_red {
+ label = "HW556:red:power";
+ gpios = <&gpio0 3 1>;
+ default-state = "on";
+ };
+ message_red {
+ label = "HW556:red:message";
+ gpios = <&gpio0 12 1>;
+ };
+ lan1_red {
+ label = "HW556:red:lan1";
+ gpios = <&gpio0 13 1>;
+ };
+ hspa_red {
+ label = "HW556:red:hspa";
+ gpios = <&gpio0 15 1>;
+ };
+ lan2_red {
+ label = "HW556:red:lan2";
+ gpios = <&gpio0 22 1>;
+ };
+ lan3_green {
+ label = "HW556:green:lan3";
+ gpios = <&gpio0 23 1>;
+ };
+ lan3_red {
+ label = "HW556:red:lan3";
+ gpios = <&gpio0 26 1>;
+ };
+ lan4_green {
+ label = "HW556:green:lan4";
+ gpios = <&gpio0 27 1>;
+ };
+ lan4_red {
+ label = "HW556:red:lan4";
+ gpios = <&gpio0 28 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/livebox-blue-5g.dts b/target/linux/brcm63xx/dts/livebox-blue-5g.dts
index efab6f7..523bbe9 100644
--- a/target/linux/brcm63xx/dts/livebox-blue-5g.dts
+++ b/target/linux/brcm63xx/dts/livebox-blue-5g.dts
@@ -5,6 +5,57 @@
/ {
model = "Inventel Livebox 1";
compatible = "inventel,livebox-blue-5g", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ button1 {
+ label = "BTN_1";
+ gpios = <&gpio1 4 1>;
+ linux,code = <0x101>;
+ };
+
+ button2 {
+ label = "BTN_2";
+ gpios = <&gpio0 7 1>;
+ linux,code = <0x102>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ red_adsl_fail {
+ label = "Livebox-blue-5g:red:adsl-fail";
+ gpios = <&gpio0 0 0>;
+ default-state = "on";
+ };
+
+ red_adsl {
+ label = "Livebox-blue-5g:red:adsl-fail";
+ gpios = <&gpio0 1 0>;
+ };
+
+ red_traffic {
+ label = "Livebox-blue-5g:red:adsl-fail";
+ gpios = <&gpio0 2 0>;
+ };
+
+ red_phone {
+ label = "Livebox-blue-5g:red:adsl-fail";
+ gpios = <&gpio0 3 0>;
+ };
+
+ red_wifi {
+ label = "Livebox-blue-5g:red:adsl-fail";
+ gpios = <&gpio0 4 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
index e04845f..e984f53 100644
--- a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
+++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
@@ -5,4 +5,96 @@
/ {
model = "SFR Neuf Box 4 (Foxconn)";
compatible = "sfr,nb4-fxc-r1", "brcm,bcm6358";
+/*
+ spi-gpio {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spi-gpio";
+
+ gpio-mosi = <&gpio0 7 0>;
+ gpio-sck = <&gpio0 6 0>;
+ num-chipselects = <0>;
+
+ hc595: gpio-spi-controller@0 {
+ compatible = "fairchild,74hc595";
+ reg = <0>;
+ registers-number = <1>;
+ spi-max-frequency = <100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+ };
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ service {
+ label = "service";
+ gpios = <&gpio0 27 1>;
+ linux,code = <0x100>;
+ };
+ clip {
+ label = "clip";
+ gpios = <&gpio0 31 1>;
+ linux,code = <0x101>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ traffic_white {
+ label = "NB4-FXC-r1:white:traffic";
+ gpios = <&gpio0 2 0>;
+ };
+ service_blue {
+ label = "NB4-FXC-r1:blue:service";
+ gpios = <&gpio0 4 0>;
+ };
+ wifi_white {
+ label = "NB4-FXC-r1:white:wifi";
+ gpios = <&gpio0 15 0>;
+ };
+ service_red {
+ label = "NB4-FXC-r1:red:service";
+ gpios = <&gpio0 29 0>;
+ };
+ service_green {
+ label = "NB4-FXC-r1:green:service";
+ gpios = <&gpio0 30 0>;
+ };
+/*
+ alarm_white {
+ label = "NB4-FXC-r1:white:alarm";
+ gpios = <&hc595 0 1>;
+ };
+ tv_white {
+ label = "NB4-FXC-r1:white:tv";
+ gpios = <&hc595 2 1>;
+ };
+ tel_white {
+ label = "NB4-FXC-r1:white:tel";
+ gpios = <&hc595 3 1>;
+ };
+ adsl_white {
+ label = "NB4-FXC-r0:white:adsl";
+ gpios = <&hc595 4 1>;
+ };
+*/
+ };
};
diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
index 9b82ccd..1bacaeb 100644
--- a/target/linux/brcm63xx/dts/nb4-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
@@ -5,4 +5,96 @@
/ {
model = "SFR Neuf Box 4 (Sercomm)";
compatible = "sfr,nb4-ser-r0", "brcm,bcm6358";
+/*
+ spi-gpio {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spi-gpio";
+
+ gpio-mosi = <&gpio0 7 0>;
+ gpio-sck = <&gpio0 6 0>;
+ num-chipselects = <0>;
+
+ hc595: gpio-spi-controller@0 {
+ compatible = "fairchild,74hc595";
+ reg = <0>;
+ registers-number = <1>;
+ spi-max-frequency = <100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+ };
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ service {
+ label = "service";
+ gpios = <&gpio0 27 1>;
+ linux,code = <0x100>;
+ };
+ clip {
+ label = "clip";
+ gpios = <&gpio0 31 1>;
+ linux,code = <0x101>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ traffic_white {
+ label = "NB4-SER-r0:white:traffic";
+ gpios = <&gpio0 2 1>;
+ };
+ service_blue {
+ label = "NB4-SER-r0:blue:service";
+ gpios = <&gpio0 4 1>;
+ };
+ wifi_white {
+ label = "NB4-SER-r0:white:wifi";
+ gpios = <&gpio0 15 1>;
+ };
+ service_red {
+ label = "NB4-SER-r0:red:service";
+ gpios = <&gpio0 29 1>;
+ };
+ service_green {
+ label = "NB4-SER-r0:green:service";
+ gpios = <&gpio0 30 1>;
+ };
+/*
+ alarm_white {
+ label = "NB4-SER-r0:white:alarm";
+ gpios = <&hc595 0 1>;
+ };
+ tv_white {
+ label = "NB4-SER-r0:white:tv";
+ gpios = <&hc595 2 1>;
+ };
+ tel_white {
+ label = "NB4-SER-r0:white:tel";
+ gpios = <&hc595 3 1>;
+ };
+ adsl_white {
+ label = "NB4-SER-r0:white:adsl";
+ gpios = <&hc595 4 1>;
+ };
+*/
+ };
};
diff --git a/target/linux/brcm63xx/dts/nb6-ser-r0.dts b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
index ea3b1fa..ae16ad3 100644
--- a/target/linux/brcm63xx/dts/nb6-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
@@ -5,4 +5,33 @@
/ {
model = "SFR neufbox 6 (Sercomm)";
compatible = "sfr,nb6-ser-r0", "brcm,bcm6362";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ service {
+ label = "service";
+ gpios = <&gpio0 10 1>;
+ linux,code = <0x100>;
+ };
+ wlan {
+ label = "wlan";
+ gpios = <&gpio0 12 1>;
+ linux,code = <0xee>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 24 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 25 1>;
+ linux,code = <0x211>;
+ };
+ };
};
diff --git a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
index 916dd4a..7c9c65c 100644
--- a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
+++ b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
@@ -5,6 +5,51 @@
/ {
model = "Zyxel P870HW-51a v2";
compatible = "zyxel,p870hw-51a-v2", "brcm,bcm6368";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio1 3 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "P870HW-51a:green:power";
+ gpios = <&gpio0 0 0>;
+ default-state = "on";
+ };
+ dsl_green {
+ label = "P870HW-51a:green:dsl";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_green {
+ label = "P870HW-51a:green:inet";
+ gpios = <&gpio0 22 1>;
+ };
+ wps_orange {
+ label = "P870HW-51a:orange:wps";
+ gpios = <&gpio0 24 1>;
+ };
+ inet_red {
+ label = "P870HW-51a:red:inet";
+ gpios = <&gpio1 1 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/rg100a.dts b/target/linux/brcm63xx/dts/rg100a.dts
index df628dc..824b5e4 100644
--- a/target/linux/brcm63xx/dts/rg100a.dts
+++ b/target/linux/brcm63xx/dts/rg100a.dts
@@ -5,6 +5,28 @@
/ {
model = "Alcatel RG100A";
compatible = "alcatel,rg100a", "brcm,bcm6358";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ stop_green {
+ label = "96358VW2:green:stop";
+ gpios = <&gpio0 4 1>;
+ };
+ power_green {
+ label = "96358VW2:green:power";
+ gpios = <&gpio0 5 1>;
+ default-state = "on";
+ };
+ adsl_green {
+ label = "96358VW2:green:adsl";
+ gpios = <&gpio0 22 1>;
+ };
+ ppp_fail_green {
+ label = "96358VW2:green:ppp-fail";
+ gpios = <&gpio0 23 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/rta1320.dts b/target/linux/brcm63xx/dts/rta1320.dts
index 8b9620f..aa98da1 100644
--- a/target/linux/brcm63xx/dts/rta1320.dts
+++ b/target/linux/brcm63xx/dts/rta1320.dts
@@ -5,6 +5,29 @@
/ {
model = "Dynalink RTA1320";
compatible = "dynalink,rta1320", "brcm,bcm6338";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ green_adsl {
+ label = "RTA1320_16M:green:adsl";
+ gpios = <&gpio0 3 1>;
+ };
+ green_ppp {
+ label = "RTA1320_16M:green:ppp";
+ gpios = <&gpio0 4 1>;
+ };
+ green_power {
+ label = "RTA1320_16M:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+
+ green_stop {
+ label = "RTA1320_16M:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/spw303v.dts b/target/linux/brcm63xx/dts/spw303v.dts
index 664ad7b..ed3c322 100644
--- a/target/linux/brcm63xx/dts/spw303v.dts
+++ b/target/linux/brcm63xx/dts/spw303v.dts
@@ -5,6 +5,55 @@
/ {
model = "T-Com Speedport W303 V";
compatible = "t-com,spw303v", "brcm,bcm6358";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 11 0>;
+ linux,code = <0x198>;
+ };
+ ses {
+ label = "ses";
+ gpios = <&gpio1 5 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ ses_green {
+ label = "spw303v:green:ses";
+ gpios = <&gpio0 0 1>;
+ };
+ power_adsl_red {
+ label = "spw303v:red:power+adsl";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "spw303v:green:ppp";
+ gpios = <&gpio0 5 1>;
+ };
+ power_adsl_green {
+ label = "spw303v:green:power+adsl";
+ gpios = <&gpio0 22 1>;
+ default-state = "on";
+ };
+ voip_green {
+ label = "spw303v:green:voip";
+ gpios = <&gpio0 27 1>;
+ };
+ pots_green {
+ label = "spw303v:green:pots";
+ gpios = <&gpio0 31 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/spw500v.dts b/target/linux/brcm63xx/dts/spw500v.dts
index d9ac629..9c1feff 100644
--- a/target/linux/brcm63xx/dts/spw500v.dts
+++ b/target/linux/brcm63xx/dts/spw500v.dts
@@ -5,6 +5,46 @@
/ {
model = "T-Com Speedport W500 V";
compatible = "t-com,spw500v", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "SPW500V:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "SPW500V:red:power";
+ gpios = <&gpio0 1 1>;
+ };
+ ppp_green {
+ label = "SPW500V:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ pstn_green {
+ label = "SPW500V:green:pstn";
+ gpios = <&gpio0 28 1>;
+ };
+ voip_green {
+ label = "SPW500V:green:voip";
+ gpios = <&gpio1 0 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts
index c8ff50c..74fef37 100644
--- a/target/linux/brcm63xx/dts/td-w8900gb.dts
+++ b/target/linux/brcm63xx/dts/td-w8900gb.dts
@@ -5,6 +5,46 @@
/ {
model = "TP-Link TD-W8900GB";
compatible = "tp-link,td-w8900gb", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348GW-11:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ stop_green {
+ label = "96348GW-11:green:stop";
+ gpios = <&gpio0 1 1>;
+ };
+ adsl_fail_green {
+ label = "96348GW-11:green:adsl-fail";
+ gpios = <&gpio0 2 1>;
+ };
+ ppp_green {
+ label = "96348GW-11:green:ppp";
+ gpios = <&gpio0 3 1>;
+ };
+ ppp_fail_green {
+ label = "96348GW-11:green:ppp-fail";
+ gpios = <&gpio0 4 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/usr9108.dts b/target/linux/brcm63xx/dts/usr9108.dts
index 40d7e1c..b50d597 100644
--- a/target/linux/brcm63xx/dts/usr9108.dts
+++ b/target/linux/brcm63xx/dts/usr9108.dts
@@ -5,6 +5,19 @@
/ {
model = "USRobotics 9108";
compatible = "usr,9108", "brcm,bcm6348";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ usb {
+ label = "96348GW-A::usb";
+ gpios = <&gpio0 0 1>;
+ };
+ dsl {
+ label = "96348GW-A::adsl";
+ gpios = <&gpio0 3 1>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/vr-3025u.dts b/target/linux/brcm63xx/dts/vr-3025u.dts
index 86fde1c..a48b8f9 100644
--- a/target/linux/brcm63xx/dts/vr-3025u.dts
+++ b/target/linux/brcm63xx/dts/vr-3025u.dts
@@ -5,6 +5,62 @@
/ {
model = "Comtrend VR-3025u";
compatible = "comtrend,vr-3025u", "brcm,bcm6368";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ dsl_green {
+ label = "VR-3025u:green:dsl";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_green {
+ label = "VR-3025u:green:inet";
+ gpios = <&gpio0 5 0>;
+ };
+ lan1_green {
+ label = "VR-3025u:green:lan1";
+ gpios = <&gpio0 6 1>;
+ };
+ lan2_green {
+ label = "VR-3025u:green:lan2";
+ gpios = <&gpio0 7 1>;
+ };
+ lan3_green {
+ label = "VR-3025u:green:lan3";
+ gpios = <&gpio0 8 1>;
+ };
+ lan4_green {
+ label = "VR-3025u:green:lan4";
+ gpios = <&gpio0 9 1>;
+ };
+ power_green {
+ label = "VR-3025u:green:power";
+ gpios = <&gpio0 22 0>;
+ default-state = "on";
+ };
+ power_red {
+ label = "VR-3025u:red:power";
+ gpios = <&gpio0 24 0>;
+ };
+ inet_red {
+ label = "VR-3025u:red:inet";
+ gpios = <&gpio0 31 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/vr-3025un.dts b/target/linux/brcm63xx/dts/vr-3025un.dts
index 6fc0c2a..8dfec31 100644
--- a/target/linux/brcm63xx/dts/vr-3025un.dts
+++ b/target/linux/brcm63xx/dts/vr-3025un.dts
@@ -5,6 +5,62 @@
/ {
model = "Comtrend VR-3025un";
compatible = "comtrend,vr-3025un", "brcm,bcm6368";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ dsl_green {
+ label = "VR-3025un:green:dsl";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_green {
+ label = "VR-3025un:green:inet";
+ gpios = <&gpio0 5 0>;
+ };
+ lan1_green {
+ label = "VR-3025un:green:lan1";
+ gpios = <&gpio0 6 1>;
+ };
+ lan2_green {
+ label = "VR-3025un:green:lan2";
+ gpios = <&gpio0 7 1>;
+ };
+ lan3_green {
+ label = "VR-3025un:green:lan3";
+ gpios = <&gpio0 8 1>;
+ };
+ iptv_green {
+ label = "VR-3025un:green:iptv";
+ gpios = <&gpio0 9 1>;
+ };
+ power_green {
+ label = "VR-3025un:green:power";
+ gpios = <&gpio0 22 0>;
+ default-state = "on";
+ };
+ power_red {
+ label = "VR-3025un:red:power";
+ gpios = <&gpio0 24 0>;
+ };
+ inet_red {
+ label = "VR-3025un:red:inet";
+ gpios = <&gpio0 31 0>;
+ };
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/wap-5813n.dts b/target/linux/brcm63xx/dts/wap-5813n.dts
index 29b85a2..0d168d2 100644
--- a/target/linux/brcm63xx/dts/wap-5813n.dts
+++ b/target/linux/brcm63xx/dts/wap-5813n.dts
@@ -5,6 +5,56 @@
/ {
model = "Comtrend WAP-5813n";
compatible = "comtrend,wap-5813n", "brcm,bcm6368";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wlan {
+ label = "wlan";
+ gpios = <&gpio1 0 1>;
+ linux,code = <0xee>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_green {
+ label = "WAP-5813n:green:inet";
+ gpios = <&gpio0 5 0>;
+ };
+ power_green {
+ label = "WAP-5813n:green:power";
+ gpios = <&gpio0 22 0>;
+ default-state = "on";
+ };
+ wps_green {
+ label = "WAP-5813n:green:wps";
+ gpios = <&gpio0 23 1>;
+ };
+ power_red {
+ label = "WAP-5813n:red:power";
+ gpios = <&gpio0 24 0>;
+ };
+ inet_red {
+ label = "WAP-5813n:red:inet";
+ gpios = <&gpio0 31 0>;
+ };
+ };
};
&pflash {