aboutsummaryrefslogtreecommitdiffstats
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
parenteea227c60d593c2fe5692365936703bbebdbd1ad (diff)
downloadupstream-b82cb155fced6a99989870c92ebff8248c435fe7.tar.gz
upstream-b82cb155fced6a99989870c92ebff8248c435fe7.tar.bz2
upstream-b82cb155fced6a99989870c92ebff8248c435fe7.zip
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
-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
-rw-r--r--target/linux/brcm63xx/patches-3.14/300-reset_buttons.patch34
-rw-r--r--target/linux/brcm63xx/patches-3.14/308-board_leds_naming.patch267
-rw-r--r--target/linux/brcm63xx/patches-3.14/309-cfe_version_mod.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/339-MIPS-BCM63XX-add-support-for-BCM63268.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/341-MIPS-BCM63XX-add-support-for-BCM6318.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/351-set-board-usbh-ports.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch16
-rw-r--r--target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch6
-rw-r--r--target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/378-MIPS-BCM63XX-calculate-labels-for-DT-registered-cont.patch7
-rw-r--r--target/linux/brcm63xx/patches-3.14/499-allow_better_context_for_board_patches.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/500-board-D4PW.patch40
-rw-r--r--target/linux/brcm63xx/patches-3.14/501-board-NB4.patch238
-rw-r--r--target/linux/brcm63xx/patches-3.14/502-board-96338W2_E7T.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/503-board-CPVA642.patch78
-rw-r--r--target/linux/brcm63xx/patches-3.14/504-board_dsl_274xb_rev_c.patch50
-rw-r--r--target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch47
-rw-r--r--target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch52
-rw-r--r--target/linux/brcm63xx/patches-3.14/507-board-MAGIC.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/508-board_hw553.patch59
-rw-r--r--target/linux/brcm63xx/patches-3.14/509-board_rta1320_16m.patch30
-rw-r--r--target/linux/brcm63xx/patches-3.14/510-board_spw303v.patch57
-rw-r--r--target/linux/brcm63xx/patches-3.14/511-board_V2500V.patch46
-rw-r--r--target/linux/brcm63xx/patches-3.14/512-board_BTV2110.patch43
-rw-r--r--target/linux/brcm63xx/patches-3.14/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch50
-rw-r--r--target/linux/brcm63xx/patches-3.14/514-board_ct536_ct5621.patch30
-rw-r--r--target/linux/brcm63xx/patches-3.14/515-board_DWV-S0_fixes.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/516-board_96348A-122.patch51
-rw-r--r--target/linux/brcm63xx/patches-3.14/517-RTA1205W_16_uart_fixes.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/519_board_CPVA502plus.patch17
-rw-r--r--target/linux/brcm63xx/patches-3.14/520-bcm63xx-add-support-for-96368MVWG-board.patch32
-rw-r--r--target/linux/brcm63xx/patches-3.14/521-bcm63xx-add-support-for-96368MVNgr-board.patch32
-rw-r--r--target/linux/brcm63xx/patches-3.14/522-MIPS-BCM63XX-add-96328avng-reference-board.patch36
-rw-r--r--target/linux/brcm63xx/patches-3.14/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch41
-rw-r--r--target/linux/brcm63xx/patches-3.14/524-board_dsl_274xb_rev_f.patch68
-rw-r--r--target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch38
-rw-r--r--target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch114
-rw-r--r--target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch47
-rw-r--r--target/linux/brcm63xx/patches-3.14/528-board_nb6.patch65
-rw-r--r--target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch40
-rw-r--r--target/linux/brcm63xx/patches-3.14/530-board_A4001N1.patch89
-rw-r--r--target/linux/brcm63xx/patches-3.14/531-board_AR-5387un.patch42
-rw-r--r--target/linux/brcm63xx/patches-3.14/532-board_AR-5381u.patch36
-rw-r--r--target/linux/brcm63xx/patches-3.14/533-board_rta770bw.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/534-board_hw556.patch319
-rw-r--r--target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch84
-rw-r--r--target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch59
-rw-r--r--target/linux/brcm63xx/patches-3.14/550-MIPS-BCM63XX-remove-leds-and-buttons.patch343
-rw-r--r--target/linux/brcm63xx/patches-3.14/550-alice_gate2_leds.patch102
-rw-r--r--target/linux/brcm63xx/patches-3.14/551-96348gw_a_leds.patch22
-rw-r--r--target/linux/brcm63xx/patches-3.14/552-board_96348gw-10_reset_button.patch20
-rw-r--r--target/linux/brcm63xx/patches-3.14/553-boards_probe_switch.patch36
-rw-r--r--target/linux/brcm63xx/patches-3.14/554-board_DWVS0_leds_buttons.patch97
-rw-r--r--target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch37
-rw-r--r--target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch70
-rw-r--r--target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch62
-rw-r--r--target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch62
-rw-r--r--target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch53
-rw-r--r--target/linux/brcm63xx/patches-3.14/565-board_hw520.patch27
-rw-r--r--target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch51
-rw-r--r--target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/300-reset_buttons.patch34
-rw-r--r--target/linux/brcm63xx/patches-3.18/308-board_leds_naming.patch267
-rw-r--r--target/linux/brcm63xx/patches-3.18/309-cfe_version_mod.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/339-MIPS-BCM63XX-add-support-for-BCM63268.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/351-set-board-usbh-ports.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch16
-rw-r--r--target/linux/brcm63xx/patches-3.18/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch6
-rw-r--r--target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/499-allow_better_context_for_board_patches.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/500-board-D4PW.patch40
-rw-r--r--target/linux/brcm63xx/patches-3.18/501-board-NB4.patch238
-rw-r--r--target/linux/brcm63xx/patches-3.18/502-board-96338W2_E7T.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/503-board-CPVA642.patch78
-rw-r--r--target/linux/brcm63xx/patches-3.18/504-board_dsl_274xb_rev_c.patch50
-rw-r--r--target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch47
-rw-r--r--target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch52
-rw-r--r--target/linux/brcm63xx/patches-3.18/507-board-MAGIC.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/508-board_hw553.patch59
-rw-r--r--target/linux/brcm63xx/patches-3.18/509-board_rta1320_16m.patch30
-rw-r--r--target/linux/brcm63xx/patches-3.18/510-board_spw303v.patch57
-rw-r--r--target/linux/brcm63xx/patches-3.18/511-board_V2500V.patch46
-rw-r--r--target/linux/brcm63xx/patches-3.18/512-board_BTV2110.patch43
-rw-r--r--target/linux/brcm63xx/patches-3.18/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch50
-rw-r--r--target/linux/brcm63xx/patches-3.18/514-board_ct536_ct5621.patch30
-rw-r--r--target/linux/brcm63xx/patches-3.18/515-board_DWV-S0_fixes.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/516-board_96348A-122.patch51
-rw-r--r--target/linux/brcm63xx/patches-3.18/517-RTA1205W_16_uart_fixes.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/519_board_CPVA502plus.patch17
-rw-r--r--target/linux/brcm63xx/patches-3.18/520-bcm63xx-add-support-for-96368MVWG-board.patch32
-rw-r--r--target/linux/brcm63xx/patches-3.18/521-bcm63xx-add-support-for-96368MVNgr-board.patch32
-rw-r--r--target/linux/brcm63xx/patches-3.18/522-MIPS-BCM63XX-add-96328avng-reference-board.patch36
-rw-r--r--target/linux/brcm63xx/patches-3.18/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch41
-rw-r--r--target/linux/brcm63xx/patches-3.18/524-board_dsl_274xb_rev_f.patch68
-rw-r--r--target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch38
-rw-r--r--target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch114
-rw-r--r--target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch47
-rw-r--r--target/linux/brcm63xx/patches-3.18/528-board_nb6.patch65
-rw-r--r--target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch40
-rw-r--r--target/linux/brcm63xx/patches-3.18/530-board_A4001N1.patch89
-rw-r--r--target/linux/brcm63xx/patches-3.18/531-board_AR-5387un.patch42
-rw-r--r--target/linux/brcm63xx/patches-3.18/532-board_AR-5381u.patch36
-rw-r--r--target/linux/brcm63xx/patches-3.18/533-board_rta770bw.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/534-board_hw556.patch319
-rw-r--r--target/linux/brcm63xx/patches-3.18/535-board_rta770w.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/536-board_fast2704.patch84
-rw-r--r--target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch59
-rw-r--r--target/linux/brcm63xx/patches-3.18/550-MIPS-BCM63XX-remove-leds-and-buttons.patch343
-rw-r--r--target/linux/brcm63xx/patches-3.18/550-alice_gate2_leds.patch102
-rw-r--r--target/linux/brcm63xx/patches-3.18/551-96348gw_a_leds.patch22
-rw-r--r--target/linux/brcm63xx/patches-3.18/552-board_96348gw-10_reset_button.patch20
-rw-r--r--target/linux/brcm63xx/patches-3.18/553-boards_probe_switch.patch41
-rw-r--r--target/linux/brcm63xx/patches-3.18/554-board_DWVS0_leds_buttons.patch97
-rw-r--r--target/linux/brcm63xx/patches-3.18/555-board_96318ref.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/556-board_96318ref_p300.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch37
-rw-r--r--target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch70
-rw-r--r--target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch62
-rw-r--r--target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch62
-rw-r--r--target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch53
-rw-r--r--target/linux/brcm63xx/patches-3.18/565-board_hw520.patch27
-rw-r--r--target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch51
-rw-r--r--target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch4
191 files changed, 3631 insertions, 5718 deletions
diff --git a/target/linux/brcm63xx/dts/a226g.dts b/target/linux/brcm63xx/dts/a226g.dts
index 9aff81bad0..1b40507b2e 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 1abf8707ed..011f312755 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 ba6382eccd..13400f2b42 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 011fbf4832..1f8eaf66e9 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 2bdd201ff1..d45210f56d 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 9d66b8901b..eaa45b9e09 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 812108a887..d5f728a84d 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 d24a65593c..a8883e2f7b 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 c5bea28a86..fdd5c4781a 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 be69997950..f257125c8a 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 52e7dafe1b..8dbdbda72c 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 2040e2fd00..d378df1f6d 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 1609541425..9cca783f29 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 172ee62e78..173a8c3548 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 906ecab503..15828a13ed 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 cd039f86ef..fcce239395 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 004abcbd79..69842b183d 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 a978d41392..57e26f6bca 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 bcf3c8101a..730426f906 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 b274bfdb98..fa3e6e8ed9 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 f462411c94..0fb356637d 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 a12dd816a3..b9a215a989 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 2ada4f81a9..7b89bf2ba4 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 1aca23a8e3..3a4079b9b6 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 d8e2d3bed7..c92bc90a93 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 8742985454..f4ece9e0b8 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 efc0dc577f..6f2bda659c 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 23b33017cb..7e88e0146e 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 e36ddfac17..1546b6a495 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 a17f9882f8..f8ad084a7c 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 20accd7725..263485db0c 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 93934131dc..81e1e255d6 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 2f202a30bf..a3bb927ef9 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 5dcaa5547a..b5bc487c92 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 f001b77d4d..053ad354db 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 f0b5c54626..a9f80288b3 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 4165030aa6..2ffdf96b5c 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 bc8af33cc3..88647fa01b 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 75fec8b027..140e2de404 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 bf43571f6d..70f10dcd9f 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 6d218c20b9..b42e86fa70 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 a5bccda6a6..4c845edd4a 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 efab6f7da0..523bbe985d 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 e04845fa42..e984f53ccc 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 9b82ccd8ba..1bacaeb4d2 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 ea3b1fafa5..ae16ad3965 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 916dd4adb8..7c9c65ce00 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 df628dc75c..824b5e475c 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 8b9620fa87..aa98da111b 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 664ad7b807..ed3c322e05 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 d9ac629932..9c1feff376 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 c8ff50c8f2..74fef37813 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 40d7e1c548..b50d597f43 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 86fde1c7d2..a48b8f96af 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 6fc0c2aee5..8dfec310b8 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 29b85a2d2e..0d168d2338 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 {
diff --git a/target/linux/brcm63xx/patches-3.14/300-reset_buttons.patch b/target/linux/brcm63xx/patches-3.14/300-reset_buttons.patch
index c64d405496..2263b499ad 100644
--- a/target/linux/brcm63xx/patches-3.14/300-reset_buttons.patch
+++ b/target/linux/brcm63xx/patches-3.14/300-reset_buttons.patch
@@ -19,40 +19,6 @@
/*
* known 3368 boards
*/
-@@ -367,6 +372,16 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_96348gw = {
-@@ -425,6 +440,16 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_FAST2404 = {
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -12,6 +12,7 @@
diff --git a/target/linux/brcm63xx/patches-3.14/308-board_leds_naming.patch b/target/linux/brcm63xx/patches-3.14/308-board_leds_naming.patch
deleted file mode 100644
index 89b7ac39e9..0000000000
--- a/target/linux/brcm63xx/patches-3.14/308-board_leds_naming.patch
+++ /dev/null
@@ -1,267 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -130,28 +130,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl",
-+ .name = "96338GW:green:adsl",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ses",
-+ .name = "96338GW:green:ses",
- .gpio = 5,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96338GW:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96338GW:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96338GW:green:stop",
- .gpio = 1,
- .active_low = 1,
- }
-@@ -171,28 +171,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl",
-+ .name = "96338W:green:adsl",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ses",
-+ .name = "96338W:green:ses",
- .gpio = 5,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96338W:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96338W:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96338W:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -231,29 +231,29 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348R:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348R:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348R:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348R:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
-
- },
- {
-- .name = "stop",
-+ .name = "96348R:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -292,28 +292,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348GW-10:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348GW-10:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348GW-10:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348GW-10:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96348GW-10:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -346,28 +346,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348GW-11:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348GW-11:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348GW-11:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348GW-11:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96348GW-11:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -414,28 +414,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348GW:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348GW:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348GW:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348GW:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96348GW:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -567,27 +567,27 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96358VW:green:adsl-fail",
- .gpio = 15,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96358VW:green:ppp",
- .gpio = 22,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96358VW:green:ppp-fail",
- .gpio = 23,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96358VW:green:power",
- .gpio = 4,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96358VW:green:stop",
- .gpio = 5,
- },
- },
-@@ -619,22 +619,22 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl",
-+ .name = "96358VW2:green:adsl",
- .gpio = 22,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96358VW2:green:ppp-fail",
- .gpio = 23,
- },
- {
-- .name = "power",
-+ .name = "96358VW2:green:power",
- .gpio = 5,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96358VW2:green:stop",
- .gpio = 4,
- .active_low = 1,
- },
diff --git a/target/linux/brcm63xx/patches-3.14/309-cfe_version_mod.patch b/target/linux/brcm63xx/patches-3.14/309-cfe_version_mod.patch
index 65b75e1ec8..42af6aec4e 100644
--- a/target/linux/brcm63xx/patches-3.14/309-cfe_version_mod.patch
+++ b/target/linux/brcm63xx/patches-3.14/309-cfe_version_mod.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -747,10 +747,20 @@ void __init board_prom_init(void)
+@@ -727,10 +727,20 @@ void __init board_prom_init(void)
/* dump cfe version */
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
diff --git a/target/linux/brcm63xx/patches-3.14/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/brcm63xx/patches-3.14/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
index 4d29f6f2d3..51f5d943db 100644
--- a/target/linux/brcm63xx/patches-3.14/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
+++ b/target/linux/brcm63xx/patches-3.14/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
@@ -35,7 +35,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
source "arch/mips/bcm63xx/boards/Kconfig"
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -737,7 +737,7 @@ void __init board_prom_init(void)
+@@ -717,7 +717,7 @@ void __init board_prom_init(void)
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
*/
diff --git a/target/linux/brcm63xx/patches-3.14/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/brcm63xx/patches-3.14/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
index 7d9578bfcb..2dec1337f2 100644
--- a/target/linux/brcm63xx/patches-3.14/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
+++ b/target/linux/brcm63xx/patches-3.14/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
@@ -35,7 +35,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
select SYS_HAS_CPU_BMIPS4350
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -737,7 +737,7 @@ void __init board_prom_init(void)
+@@ -717,7 +717,7 @@ void __init board_prom_init(void)
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
*/
diff --git a/target/linux/brcm63xx/patches-3.14/351-set-board-usbh-ports.patch b/target/linux/brcm63xx/patches-3.14/351-set-board-usbh-ports.patch
index 804cb85f20..285aa40acf 100644
--- a/target/linux/brcm63xx/patches-3.14/351-set-board-usbh-ports.patch
+++ b/target/linux/brcm63xx/patches-3.14/351-set-board-usbh-ports.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -616,6 +616,7 @@ static struct board_info __initdata boar
+@@ -596,6 +596,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
diff --git a/target/linux/brcm63xx/patches-3.14/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch b/target/linux/brcm63xx/patches-3.14/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch
index b6bcdae5d7..c60f939d6f 100644
--- a/target/linux/brcm63xx/patches-3.14/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch
+++ b/target/linux/brcm63xx/patches-3.14/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch
@@ -35,7 +35,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+endmenu
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -726,7 +726,7 @@ static const struct board_info __initcon
+@@ -706,7 +706,7 @@ static const struct board_info __initcon
/*
* early init callback, read nvram data from flash and checksum it
*/
diff --git a/target/linux/brcm63xx/patches-3.14/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch b/target/linux/brcm63xx/patches-3.14/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch
index aedda96895..d7250d5732 100644
--- a/target/linux/brcm63xx/patches-3.14/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch
+++ b/target/linux/brcm63xx/patches-3.14/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch
@@ -50,7 +50,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -392,6 +396,7 @@ static struct board_info __initdata boar
+@@ -382,6 +386,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -58,7 +58,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -460,6 +465,7 @@ static struct board_info __initdata boar
+@@ -440,6 +445,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -483,6 +489,7 @@ static struct board_info __initdata boar
+@@ -463,6 +469,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -74,7 +74,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -501,6 +508,7 @@ static struct board_info __initdata boar
+@@ -481,6 +488,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_pci = 1,
@@ -82,7 +82,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.has_ohci0 = 1,
.has_enet0 = 1,
-@@ -523,6 +531,7 @@ static struct board_info __initdata boar
+@@ -503,6 +511,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -90,7 +90,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -549,6 +558,7 @@ static struct board_info __initdata boar
+@@ -529,6 +538,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -98,7 +98,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -601,6 +611,7 @@ static struct board_info __initdata boar
+@@ -581,6 +591,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -106,7 +106,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -672,6 +683,7 @@ static struct board_info __initdata boar
+@@ -652,6 +663,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
diff --git a/target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch b/target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
index afe537a5a5..58ffe5e82d 100644
--- a/target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
+++ b/target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -735,6 +735,10 @@ static const struct board_info __initcon
+@@ -715,6 +715,10 @@ static const struct board_info __initcon
#endif
};
@@ -27,7 +27,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -746,6 +750,7 @@ void __init board_bcm963xx_init(void)
+@@ -726,6 +730,7 @@ void __init board_bcm963xx_init(void)
char *board_name = NULL;
u32 val;
struct bcm_hcs *hcs;
@@ -35,7 +35,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
-@@ -785,6 +790,16 @@ void __init board_bcm963xx_init(void)
+@@ -765,6 +770,16 @@ void __init board_bcm963xx_init(void)
} else {
board_name = bcm63xx_nvram_get_name();
}
diff --git a/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch b/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
index 38ffe9b96f..4384c9427f 100644
--- a/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
+++ b/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -736,6 +736,49 @@ static const struct board_info __initcon
+@@ -716,6 +716,49 @@ static const struct board_info __initcon
};
static struct of_device_id const bcm963xx_boards_dt[] = {
diff --git a/target/linux/brcm63xx/patches-3.14/378-MIPS-BCM63XX-calculate-labels-for-DT-registered-cont.patch b/target/linux/brcm63xx/patches-3.14/378-MIPS-BCM63XX-calculate-labels-for-DT-registered-cont.patch
index 1f56c20da6..40f9e6dc7f 100644
--- a/target/linux/brcm63xx/patches-3.14/378-MIPS-BCM63XX-calculate-labels-for-DT-registered-cont.patch
+++ b/target/linux/brcm63xx/patches-3.14/378-MIPS-BCM63XX-calculate-labels-for-DT-registered-cont.patch
@@ -10,8 +10,6 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
arch/mips/bcm63xx/gpio.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
-diff --git a/arch/mips/bcm63xx/gpio.c b/arch/mips/bcm63xx/gpio.c
-index 70cd05b..cf0b819 100644
--- a/arch/mips/bcm63xx/gpio.c
+++ b/arch/mips/bcm63xx/gpio.c
@@ -20,6 +20,8 @@
@@ -23,7 +21,7 @@ index 70cd05b..cf0b819 100644
/* for registering lookups; make them large enough to hold OF names */
static char *gpio_chip_labels[] = {
"xxxxxxxx.gpio-controller",
-@@ -49,9 +51,17 @@ static void __init bcm63xx_gpio_init_one(int id, int dir, int data, int ngpio)
+@@ -49,9 +51,17 @@ static void __init bcm63xx_gpio_init_one
pdata.base = id * 32;
pdata.ngpio = ngpio;
@@ -44,6 +42,3 @@ index 70cd05b..cf0b819 100644
}
int __init bcm63xx_gpio_init(void)
---
-1.7.10.4
-
diff --git a/target/linux/brcm63xx/patches-3.14/499-allow_better_context_for_board_patches.patch b/target/linux/brcm63xx/patches-3.14/499-allow_better_context_for_board_patches.patch
index 1fd440750a..de2012b16b 100644
--- a/target/linux/brcm63xx/patches-3.14/499-allow_better_context_for_board_patches.patch
+++ b/target/linux/brcm63xx/patches-3.14/499-allow_better_context_for_board_patches.patch
@@ -36,7 +36,7 @@
/*
* known 6348 boards
-@@ -544,7 +544,7 @@ static struct board_info __initdata boar
+@@ -524,7 +524,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -45,7 +45,7 @@
/*
* known 6358 boards
-@@ -697,7 +697,7 @@ static struct board_info __initdata boar
+@@ -677,7 +677,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
diff --git a/target/linux/brcm63xx/patches-3.14/500-board-D4PW.patch b/target/linux/brcm63xx/patches-3.14/500-board-D4PW.patch
index 65b4d150b5..e00e56499e 100644
--- a/target/linux/brcm63xx/patches-3.14/500-board-D4PW.patch
+++ b/target/linux/brcm63xx/patches-3.14/500-board-D4PW.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -544,6 +544,56 @@ static struct board_info __initdata boar
+@@ -524,6 +524,22 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -19,45 +19,11 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "D-4P-W:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "D-4P-W::status",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "D-4P-W:green:internet",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "D-4P-W:red:internet",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 7,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -725,6 +775,7 @@ static const struct board_info __initcon
+@@ -705,6 +721,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
@@ -65,7 +31,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -756,6 +807,7 @@ static struct of_device_id const bcm963x
+@@ -736,6 +753,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
diff --git a/target/linux/brcm63xx/patches-3.14/501-board-NB4.patch b/target/linux/brcm63xx/patches-3.14/501-board-NB4.patch
index 93e454052d..97a9c73f85 100644
--- a/target/linux/brcm63xx/patches-3.14/501-board-NB4.patch
+++ b/target/linux/brcm63xx/patches-3.14/501-board-NB4.patch
@@ -1,75 +1,10 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,6 +12,12 @@
- #include <linux/string.h>
- #include <linux/gpio_keys.h>
- #include <linux/input.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/spi_gpio.h>
-+#if 0 /* FIXME: 3.14 removed non-DT support */
-+#include <linux/spi/74x164.h>
-+#endif
- #include <asm/addrspace.h>
- #include <bcm63xx_board.h>
- #include <bcm63xx_cpu.h>
-@@ -31,6 +37,12 @@
- #define BCM963XX_KEYS_POLL_INTERVAL 20
- #define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
-
-+#define NB4_PID_OFFSET 0xff80
-+#define NB4_74X164_GPIO_BASE 64
-+#define NB4_SPI_GPIO_MOSI 7
-+#define NB4_SPI_GPIO_CLK 6
-+#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
-+
- /*
- * known 3368 boards
- */
-@@ -747,6 +759,268 @@ static struct board_info __initdata boar
+@@ -693,6 +693,62 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+
-+struct spi_gpio_platform_data nb4_spi_gpio_data = {
-+ .sck = NB4_SPI_GPIO_CLK,
-+ .mosi = NB4_SPI_GPIO_MOSI,
-+ .miso = SPI_GPIO_NO_MISO,
-+ .num_chipselect = 1,
-+};
-+
-+
-+static struct platform_device nb4_spi_gpio = {
-+ .name = "spi_gpio",
-+ .id = 1,
-+ .dev = {
-+ .platform_data = &nb4_spi_gpio_data,
-+ },
-+};
-+
-+static struct platform_device * __initdata nb4_devices[] = {
-+ &nb4_spi_gpio,
-+};
-+
-+#if 0 /* FIXME: 3.14 removed non-DT support */
-+const struct gen_74x164_chip_platform_data nb4_74x164_platform_data = {
-+ .base = NB4_74X164_GPIO_BASE
-+};
-+#endif
-+
-+static struct spi_board_info nb4_spi_devices[] = {
-+#if 0 /* FIXME: 3.14 removed non-DT support */
-+ {
-+ .modalias = "74x164",
-+ .max_speed_hz = 781000,
-+ .bus_num = 1,
-+ .controller_data = (void *) SPI_GPIO_NO_CHIPSELECT,
-+ .mode = SPI_MODE_0,
-+ .platform_data = &nb4_74x164_platform_data
-+ }
-+#endif
-+};
-+
+static struct board_info __initdata board_nb4_ser_r0 = {
+ .name = "NB4-SER-r0",
+ .expected_cpu_id = 0x6358,
@@ -96,92 +31,6 @@
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
-+
-+ .leds = {
-+ {
-+ .name = "NB4-SER-r0:white:adsl",
-+ .gpio = NB4_74HC64_GPIO(4),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:traffic",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:tel",
-+ .gpio = NB4_74HC64_GPIO(3),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:tv",
-+ .gpio = NB4_74HC64_GPIO(2),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:wifi",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:alarm",
-+ .gpio = NB4_74HC64_GPIO(0),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:red:service",
-+ .gpio = 29,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:green:service",
-+ .gpio = 30,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:blue:service",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 37,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "service",
-+ .gpio = 27,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "clip",
-+ .gpio = 31,
-+ .type = EV_KEY,
-+ .code = BTN_1,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+ .devs = nb4_devices,
-+ .num_devs = ARRAY_SIZE(nb4_devices),
-+ .spis = nb4_spi_devices,
-+ .num_spis = ARRAY_SIZE(nb4_spi_devices),
+};
+
+static struct board_info __initdata board_nb4_fxc_r1 = {
@@ -210,92 +59,11 @@
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
-+
-+ .leds = {
-+ {
-+ .name = "NB4-FXC-r1:white:adsl",
-+ .gpio = NB4_74HC64_GPIO(4),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:traffic",
-+ .gpio = 2,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:tel",
-+ .gpio = NB4_74HC64_GPIO(3),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:tv",
-+ .gpio = NB4_74HC64_GPIO(2),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:wifi",
-+ .gpio = 15,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:alarm",
-+ .gpio = NB4_74HC64_GPIO(0),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:red:service",
-+ .gpio = 29,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:green:service",
-+ .gpio = 30,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:blue:service",
-+ .gpio = 4,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 37,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "service",
-+ .gpio = 27,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "clip",
-+ .gpio = 31,
-+ .type = EV_KEY,
-+ .code = BTN_1,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+ .devs = nb4_devices,
-+ .num_devs = ARRAY_SIZE(nb4_devices),
-+ .spis = nb4_spi_devices,
-+ .num_spis = ARRAY_SIZE(nb4_spi_devices),
+};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -783,6 +1057,8 @@ static const struct board_info __initcon
+@@ -729,6 +785,8 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
@@ -304,7 +72,7 @@
#endif
};
-@@ -824,6 +1100,8 @@ static struct of_device_id const bcm963x
+@@ -770,6 +828,8 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,a226m", .data = &board_DWVS0, },
{ .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
diff --git a/target/linux/brcm63xx/patches-3.14/502-board-96338W2_E7T.patch b/target/linux/brcm63xx/patches-3.14/502-board-96338W2_E7T.patch
index 3a8477753a..29d68a3d26 100644
--- a/target/linux/brcm63xx/patches-3.14/502-board-96338W2_E7T.patch
+++ b/target/linux/brcm63xx/patches-3.14/502-board-96338W2_E7T.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -211,6 +211,40 @@ static struct board_info __initdata boar
+@@ -199,6 +199,40 @@ static struct board_info __initdata boar
},
},
};
@@ -41,7 +41,7 @@
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1036,6 +1070,7 @@ static const struct board_info __initcon
+@@ -764,6 +798,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
diff --git a/target/linux/brcm63xx/patches-3.14/503-board-CPVA642.patch b/target/linux/brcm63xx/patches-3.14/503-board-CPVA642.patch
index ef72c7b152..5229ba89f0 100644
--- a/target/linux/brcm63xx/patches-3.14/503-board-CPVA642.patch
+++ b/target/linux/brcm63xx/patches-3.14/503-board-CPVA642.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -749,6 +749,98 @@ static struct board_info __initdata boar
+@@ -683,6 +683,26 @@ static struct board_info __initdata boar
},
};
@@ -21,85 +21,13 @@
+
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "CPVA642:red:power",
-+ .gpio = 14,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:power",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "CPVA642:red:wifi",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:wifi",
-+ .gpio = 28,
-+ .active_low = 0,
-+ },
-+ {
-+ .name = "CPVA642:red:link",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:link",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:ether",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:phone1",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:phone2",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:usb",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 37,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -1091,6 +1183,7 @@ static const struct board_info __initcon
+@@ -819,6 +839,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
@@ -107,7 +35,7 @@
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
-@@ -1137,6 +1230,7 @@ static struct of_device_id const bcm963x
+@@ -865,6 +886,7 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
{ .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
diff --git a/target/linux/brcm63xx/patches-3.14/504-board_dsl_274xb_rev_c.patch b/target/linux/brcm63xx/patches-3.14/504-board_dsl_274xb_rev_c.patch
index 25115657f7..199321a1e9 100644
--- a/target/linux/brcm63xx/patches-3.14/504-board_dsl_274xb_rev_c.patch
+++ b/target/linux/brcm63xx/patches-3.14/504-board_dsl_274xb_rev_c.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -886,6 +886,61 @@ static struct board_info __initdata boar
+@@ -748,6 +748,23 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -19,50 +19,12 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "dsl-274xb:green:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "dsl-274xb:red:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:adsl",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:internet",
-+ .gpio = 2,
-+ },
-+ {
-+ .name = "dsl-274xb:red:internet",
-+ .gpio = 10,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
- struct spi_gpio_platform_data nb4_spi_gpio_data = {
- .sck = NB4_SPI_GPIO_CLK,
- .mosi = NB4_SPI_GPIO_MOSI,
-@@ -1185,6 +1240,7 @@ static const struct board_info __initcon
+ static struct board_info __initdata board_nb4_ser_r0 = {
+ .name = "NB4-SER-r0",
+ .expected_cpu_id = 0x6358,
+@@ -841,6 +858,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
@@ -70,7 +32,7 @@
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
-@@ -1223,6 +1279,7 @@ static struct of_device_id const bcm963x
+@@ -879,6 +897,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch b/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch
index e26804f8fc..8d366153af 100644
--- a/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch
+++ b/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch
@@ -1,7 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -640,6 +640,84 @@ static struct board_info __initdata boar
- },
+@@ -574,6 +574,45 @@ static struct board_info __initdata boar
+ .force_duplex_full = 1,
},
};
+
@@ -35,45 +35,6 @@
+ .cs = 2,
+ },
+
-+ .leds = {
-+ {
-+ .name = "SPW500V:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "SPW500V:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "SPW500V:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ { .name = "SPW500V:green:pstn",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "SPW500V:green:voip",
-+ .gpio = 32,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -85,7 +46,7 @@
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1232,6 +1310,7 @@ static const struct board_info __initcon
+@@ -850,6 +889,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
@@ -93,7 +54,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1272,6 +1351,7 @@ static struct of_device_id const bcm963x
+@@ -890,6 +930,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
diff --git a/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch b/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch
index 26e92bcf65..144775dbb6 100644
--- a/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch
+++ b/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -503,6 +503,112 @@ static struct board_info __initdata boar
+@@ -471,6 +471,66 @@ static struct board_info __initdata boar
},
};
@@ -31,39 +31,6 @@
+ .ext_irq = 2,
+ .cs = 2,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "GW6200:green:line1",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "GW6200:green:line2",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "GW6200:green:line3",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "GW6200:green:tel",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+static struct board_info __initdata board_gw6000 = {
@@ -93,19 +60,6 @@
+ .ext_irq = 2,
+ .cs = 2,
+ },
-+
-+ /* GW6000 has no GPIO-controlled leds */
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+
@@ -113,7 +67,7 @@
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -1303,6 +1409,8 @@ static const struct board_info __initcon
+@@ -882,6 +942,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
@@ -122,7 +76,7 @@
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
-@@ -1352,6 +1460,8 @@ static struct of_device_id const bcm963x
+@@ -931,6 +993,8 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
diff --git a/target/linux/brcm63xx/patches-3.14/507-board-MAGIC.patch b/target/linux/brcm63xx/patches-3.14/507-board-MAGIC.patch
index c5ce970ae6..b0fd613527 100644
--- a/target/linux/brcm63xx/patches-3.14/507-board-MAGIC.patch
+++ b/target/linux/brcm63xx/patches-3.14/507-board-MAGIC.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -824,6 +824,78 @@ static struct board_info __initdata boar
+@@ -673,6 +673,78 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
@@ -79,7 +79,7 @@
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1419,6 +1491,7 @@ static const struct board_info __initcon
+@@ -952,6 +1024,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
diff --git a/target/linux/brcm63xx/patches-3.14/508-board_hw553.patch b/target/linux/brcm63xx/patches-3.14/508-board_hw553.patch
index 9d89615115..02196cbb2c 100644
--- a/target/linux/brcm63xx/patches-3.14/508-board_hw553.patch
+++ b/target/linux/brcm63xx/patches-3.14/508-board_hw553.patch
@@ -1,8 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1458,6 +1458,83 @@ static struct board_info __initdata boar
- .spis = nb4_spi_devices,
- .num_spis = ARRAY_SIZE(nb4_spi_devices),
+@@ -991,6 +991,34 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
};
+
+static struct board_info __initdata board_HW553 = {
@@ -26,55 +26,6 @@
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
+
-+ .leds = {
-+ {
-+ .name = "HW553:red:adsl",
-+ .gpio = 34,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:adsl",
-+ .gpio = 35,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:red:lan",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:lan",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW553:red:wifi",
-+ .gpio = 25,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:red:hspa",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:hspa",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -84,7 +35,7 @@
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1503,6 +1580,7 @@ static const struct board_info __initcon
+@@ -1036,6 +1064,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
@@ -92,7 +43,7 @@
#endif
};
-@@ -1544,6 +1622,7 @@ static struct of_device_id const bcm963x
+@@ -1077,6 +1106,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.14/509-board_rta1320_16m.patch b/target/linux/brcm63xx/patches-3.14/509-board_rta1320_16m.patch
index 16cc061ae9..1597f60ecf 100644
--- a/target/linux/brcm63xx/patches-3.14/509-board_rta1320_16m.patch
+++ b/target/linux/brcm63xx/patches-3.14/509-board_rta1320_16m.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -245,6 +245,45 @@ static struct board_info __initdata boar
+@@ -233,6 +233,21 @@ static struct board_info __initdata boar
},
},
};
@@ -18,35 +18,11 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "RTA1320_16M:green:adsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "RTA1320_16M:green:ppp",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "RTA1320_16M:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "RTA1320_16M:green:stop",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1551,6 +1590,7 @@ static const struct board_info __initcon
+@@ -1035,6 +1050,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
@@ -54,7 +30,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -1595,6 +1635,7 @@ static struct of_device_id const bcm963x
+@@ -1079,6 +1095,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6338
{ .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
{ .compatible = "brcm,bcm96338w", .data = &board_96338w, },
diff --git a/target/linux/brcm63xx/patches-3.14/510-board_spw303v.patch b/target/linux/brcm63xx/patches-3.14/510-board_spw303v.patch
index 0635ef70a3..61aa2e9eda 100644
--- a/target/linux/brcm63xx/patches-3.14/510-board_spw303v.patch
+++ b/target/linux/brcm63xx/patches-3.14/510-board_spw303v.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1574,6 +1574,72 @@ static struct board_info __initdata boar
+@@ -1034,6 +1034,21 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
@@ -18,62 +18,11 @@
+ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "spw303v:green:power+adsl",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:red:power+adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:ppp",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:ses",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:voip",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:pots",
-+ .gpio = 31,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "ses",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ }
+};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1621,6 +1687,7 @@ static const struct board_info __initcon
+@@ -1081,6 +1096,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
@@ -81,7 +30,7 @@
#endif
};
-@@ -1670,6 +1737,7 @@ static struct of_device_id const bcm963x
+@@ -1130,6 +1146,7 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
{ .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
diff --git a/target/linux/brcm63xx/patches-3.14/511-board_V2500V.patch b/target/linux/brcm63xx/patches-3.14/511-board_V2500V.patch
index ad5ebd4cab..99a684e281 100644
--- a/target/linux/brcm63xx/patches-3.14/511-board_V2500V.patch
+++ b/target/linux/brcm63xx/patches-3.14/511-board_V2500V.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -935,6 +935,65 @@ static struct board_info __initdata boar
+@@ -760,6 +760,27 @@ static struct board_info __initdata boar
},
},
};
@@ -24,49 +24,11 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "V2500V_BB:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "V2500V_BB:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2500V_BB:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ { .name = "V2500V_BB:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2500V_BB:green:wireless",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 31,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1675,6 +1734,7 @@ static const struct board_info __initcon
+@@ -1084,6 +1105,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
@@ -74,7 +36,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1713,6 +1773,7 @@ static struct of_device_id const bcm963x
+@@ -1122,6 +1144,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
@@ -82,7 +44,7 @@
{ .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
-@@ -1772,6 +1833,22 @@ void __init board_bcm963xx_init(void)
+@@ -1181,6 +1204,22 @@ void __init board_bcm963xx_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
diff --git a/target/linux/brcm63xx/patches-3.14/512-board_BTV2110.patch b/target/linux/brcm63xx/patches-3.14/512-board_BTV2110.patch
index 0d29b074e8..889d00218c 100644
--- a/target/linux/brcm63xx/patches-3.14/512-board_BTV2110.patch
+++ b/target/linux/brcm63xx/patches-3.14/512-board_BTV2110.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -473,6 +473,64 @@ static struct board_info __initdata boar
+@@ -427,6 +427,25 @@ static struct board_info __initdata boar
},
};
@@ -20,52 +20,13 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "V2110:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "V2110:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2110:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ { .name = "V2110:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2110:green:wireless",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1735,6 +1793,7 @@ static const struct board_info __initcon
+@@ -1106,6 +1125,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
diff --git a/target/linux/brcm63xx/patches-3.14/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch b/target/linux/brcm63xx/patches-3.14/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
index 9775970105..3842f7b9ce 100644
--- a/target/linux/brcm63xx/patches-3.14/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
+++ b/target/linux/brcm63xx/patches-3.14/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
@@ -57,7 +57,7 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
#endif /* __BOARD_COMMON_H */
--- /dev/null
+++ b/arch/mips/bcm63xx/boards/board_livebox.c
-@@ -0,0 +1,212 @@
+@@ -0,0 +1,164 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
@@ -82,9 +82,6 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
+
+#define PFX "board_livebox: "
+
-+#define LIVEBOX_KEYS_POLL_INTERVAL 20
-+#define LIVEBOX_KEYS_DEBOUNCE_INTERVAL (LIVEBOX_KEYS_POLL_INTERVAL * 3)
-+
+static unsigned int mac_addr_used = 0;
+
+/*
@@ -123,51 +120,6 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
+ .cs = 2,
+ .ext_irq = 2,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "Livebox-blue-5g:red:adsl-fail",
-+ .gpio = 0,
-+ .active_low = 0,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:adsl",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:traffic",
-+ .gpio = 2,
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:phone",
-+ .gpio = 3,
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:wifi",
-+ .gpio = 4,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "BTN_1",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = BTN_1,
-+ .debounce_interval = LIVEBOX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "BTN_2",
-+ .gpio = 7,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = BTN_2,
-+ .debounce_interval = LIVEBOX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+
-+ },
+};
+#endif
+
diff --git a/target/linux/brcm63xx/patches-3.14/514-board_ct536_ct5621.patch b/target/linux/brcm63xx/patches-3.14/514-board_ct536_ct5621.patch
index c75e00beb5..0db568cac7 100644
--- a/target/linux/brcm63xx/patches-3.14/514-board_ct536_ct5621.patch
+++ b/target/linux/brcm63xx/patches-3.14/514-board_ct536_ct5621.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -531,6 +531,58 @@ static struct board_info __initdata boar
+@@ -446,6 +446,34 @@ static struct board_info __initdata boar
};
@@ -25,30 +25,6 @@
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+
-+ .leds = {
-+ {
-+ .name = "CT536_CT5621:green:adsl-fail",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT536_CT5621:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -59,7 +35,7 @@
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1794,6 +1846,7 @@ static const struct board_info __initcon
+@@ -1126,6 +1154,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
@@ -67,7 +43,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1833,6 +1886,8 @@ static struct of_device_id const bcm963x
+@@ -1165,6 +1194,8 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
{ .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
diff --git a/target/linux/brcm63xx/patches-3.14/515-board_DWV-S0_fixes.patch b/target/linux/brcm63xx/patches-3.14/515-board_DWV-S0_fixes.patch
index 278cf2c536..5a73805530 100644
--- a/target/linux/brcm63xx/patches-3.14/515-board_DWV-S0_fixes.patch
+++ b/target/linux/brcm63xx/patches-3.14/515-board_DWV-S0_fixes.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1332,6 +1332,8 @@ static struct board_info __initdata boar
+@@ -984,6 +984,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
@@ -9,7 +9,7 @@
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1348,6 +1350,7 @@ static struct board_info __initdata boar
+@@ -1000,6 +1002,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
diff --git a/target/linux/brcm63xx/patches-3.14/516-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.14/516-board_96348A-122.patch
index e9375e4a74..b4b1476b9a 100644
--- a/target/linux/brcm63xx/patches-3.14/516-board_96348A-122.patch
+++ b/target/linux/brcm63xx/patches-3.14/516-board_96348A-122.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -583,6 +583,76 @@ static struct board_info __initdata boar
+@@ -474,6 +474,31 @@ static struct board_info __initdata boar
},
};
@@ -22,51 +22,6 @@
+
+ .has_ohci0 = 1,
+
-+ .leds = {
-+ {
-+ .name = "96348A-122:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96348A-122:red:alarm",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348A-122:green:wps",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 35,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -77,7 +32,7 @@
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1850,6 +1920,7 @@ static const struct board_info __initcon
+@@ -1158,6 +1183,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
@@ -85,7 +40,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1890,6 +1961,7 @@ static struct of_device_id const bcm963x
+@@ -1198,6 +1224,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
{ .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
{ .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
diff --git a/target/linux/brcm63xx/patches-3.14/517-RTA1205W_16_uart_fixes.patch b/target/linux/brcm63xx/patches-3.14/517-RTA1205W_16_uart_fixes.patch
index 10d2508e19..7fac28fd56 100644
--- a/target/linux/brcm63xx/patches-3.14/517-RTA1205W_16_uart_fixes.patch
+++ b/target/linux/brcm63xx/patches-3.14/517-RTA1205W_16_uart_fixes.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -857,6 +857,7 @@ static struct board_info __initdata boar
+@@ -647,6 +647,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
diff --git a/target/linux/brcm63xx/patches-3.14/519_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.14/519_board_CPVA502plus.patch
index 58a793f670..b0233a1ab1 100644
--- a/target/linux/brcm63xx/patches-3.14/519_board_CPVA502plus.patch
+++ b/target/linux/brcm63xx/patches-3.14/519_board_CPVA502plus.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -530,6 +530,40 @@ static struct board_info __initdata boar
+@@ -445,6 +445,27 @@ static struct board_info __initdata boar
},
};
@@ -22,26 +22,13 @@
+ .phy_id = 0,
+ },
+
-+ .leds = {
-+ {
-+ .name = "CPVA502+:green:phone",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA502+:amber:link",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .ephy_reset_gpio = 4,
+ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
+};
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -1922,6 +1956,7 @@ static const struct board_info __initcon
+@@ -1185,6 +1206,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
diff --git a/target/linux/brcm63xx/patches-3.14/520-bcm63xx-add-support-for-96368MVWG-board.patch b/target/linux/brcm63xx/patches-3.14/520-bcm63xx-add-support-for-96368MVWG-board.patch
index b3a886ec5d..2d144e5916 100644
--- a/target/linux/brcm63xx/patches-3.14/520-bcm63xx-add-support-for-96368MVWG-board.patch
+++ b/target/linux/brcm63xx/patches-3.14/520-bcm63xx-add-support-for-96368MVWG-board.patch
@@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1920,6 +1920,85 @@ static struct board_info __initdata boar
+@@ -1170,6 +1170,59 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
@@ -61,32 +61,6 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "96368MVWG:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVWG:green:ppp",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "96368MVWG:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96368MVWG:green:wps",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVWG:red:ppp-fail",
-+ .gpio = 31,
-+ },
-+ },
-+
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+};
@@ -96,7 +70,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1971,6 +2050,10 @@ static const struct board_info __initcon
+@@ -1221,6 +1274,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
@@ -107,7 +81,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -2027,6 +2110,7 @@ static struct of_device_id const bcm963x
+@@ -1277,6 +1334,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
diff --git a/target/linux/brcm63xx/patches-3.14/521-bcm63xx-add-support-for-96368MVNgr-board.patch b/target/linux/brcm63xx/patches-3.14/521-bcm63xx-add-support-for-96368MVNgr-board.patch
index e4b65084d6..1df11888aa 100644
--- a/target/linux/brcm63xx/patches-3.14/521-bcm63xx-add-support-for-96368MVNgr-board.patch
+++ b/target/linux/brcm63xx/patches-3.14/521-bcm63xx-add-support-for-96368MVNgr-board.patch
@@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1996,6 +1996,72 @@ static struct board_info __initdata boar
+@@ -1220,6 +1220,46 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
@@ -50,39 +50,13 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "96368MVNgr:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVNgr:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "96368MVNgr:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96368MVNgr:green:wps",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVNgr:green:inet-fail",
-+ .gpio = 3,
-+ },
-+ },
-+
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -2053,6 +2119,7 @@ static const struct board_info __initcon
+@@ -1277,6 +1317,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
@@ -90,7 +64,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
#endif
};
-@@ -2110,6 +2177,7 @@ static struct of_device_id const bcm963x
+@@ -1334,6 +1375,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
diff --git a/target/linux/brcm63xx/patches-3.14/522-MIPS-BCM63XX-add-96328avng-reference-board.patch b/target/linux/brcm63xx/patches-3.14/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
index 680a230bae..5ca3954797 100644
--- a/target/linux/brcm63xx/patches-3.14/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
+++ b/target/linux/brcm63xx/patches-3.14/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
@@ -9,10 +9,11 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -93,13 +93,45 @@ static struct board_info __initdata boar
- .port_no = 0,
+@@ -109,6 +109,33 @@ static struct board_info __initdata boar
+ .active_low = 1,
+ },
},
-
++
+ .has_enetsw = 1,
+
+ .enetsw = {
@@ -39,29 +40,6 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
+ },
+ },
+ },
-+
- .leds = {
- {
-- .name = "96328avng::ppp-fail",
-+ .name = "96328avng::internet-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-+ .name = "96328avng::dsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
- .name = "96328avng::power",
- .gpio = 4,
- .active_low = 1,
-@@ -116,7 +148,7 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- {
-- .name = "96328avng::ppp",
-+ .name = "96328avng::internet",
- .gpio = 11,
- .active_low = 1,
- },
+ };
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
diff --git a/target/linux/brcm63xx/patches-3.14/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch b/target/linux/brcm63xx/patches-3.14/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
index 8fef7d547b..6b5d7d2459 100644
--- a/target/linux/brcm63xx/patches-3.14/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
+++ b/target/linux/brcm63xx/patches-3.14/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -154,6 +154,76 @@ static struct board_info __initdata boar
+@@ -137,6 +137,41 @@ static struct board_info __initdata boar
},
},
};
@@ -47,46 +47,11 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
+ },
+ },
+ },
-+
-+ .leds = {
-+ {
-+ .name = "963281TAN::internet",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "963281TAN::internet-fail",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::power-fail",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::wps",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::dsl",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2105,6 +2175,7 @@ static const struct board_info __initcon
+@@ -1298,6 +1333,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -94,7 +59,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2161,6 +2232,7 @@ static struct of_device_id const bcm963x
+@@ -1354,6 +1390,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-3.14/524-board_dsl_274xb_rev_f.patch b/target/linux/brcm63xx/patches-3.14/524-board_dsl_274xb_rev_f.patch
index d8b8cc4500..a5c726dd82 100644
--- a/target/linux/brcm63xx/patches-3.14/524-board_dsl_274xb_rev_f.patch
+++ b/target/linux/brcm63xx/patches-3.14/524-board_dsl_274xb_rev_f.patch
@@ -10,8 +10,8 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -224,6 +224,111 @@ static struct board_info __initdata boar
-
+@@ -172,6 +172,51 @@ static struct board_info __initdata boar
+ },
},
};
+
@@ -58,71 +58,11 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ },
+ },
+ },
-+
-+ .leds = {
-+ {
-+ .name = "dsl-274xb:red:internet",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:dsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "dsl-274xb:red:power",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:blue:wps",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:internet",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "wifi",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2176,6 +2281,7 @@ static const struct board_info __initcon
+@@ -1334,6 +1379,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -130,7 +70,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2234,6 +2340,7 @@ static struct of_device_id const bcm963x
+@@ -1392,6 +1438,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6328
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
diff --git a/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch b/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
index 0dd54daad7..eb7a53fefe 100644
--- a/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
+++ b/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1158,6 +1158,59 @@ static struct board_info __initdata boar
+@@ -835,6 +835,25 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -21,46 +21,12 @@
+ },
+
+ .has_ohci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "96348W3:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96348W3:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348W3::adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348W3::internet",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
static struct board_info __initdata board_96348_D4PW = {
.name = "D-4P-W",
.expected_cpu_id = 0x6348,
-@@ -2311,6 +2364,7 @@ static const struct board_info __initcon
+@@ -1409,6 +1428,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
diff --git a/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch b/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
index d08822a6c5..ac24ebd047 100644
--- a/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
+++ b/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
@@ -1,61 +1,9 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -43,6 +43,12 @@
- #define NB4_SPI_GPIO_CLK 6
- #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
-
-+#define CT6373_PID_OFFSET 0xff80
-+#define CT6373_74X164_GPIO_BASE 64
-+#define CT6373_SPI_GPIO_MOSI 7
-+#define CT6373_SPI_GPIO_CLK 6
-+#define CT6373_74HC64_GPIO(X) (CT6373_74X164_GPIO_BASE + (X))
-+
- /*
- * known 3368 boards
- */
-@@ -2035,6 +2041,124 @@ static struct board_info __initdata boar
- .num_spis = ARRAY_SIZE(nb4_spi_devices),
+@@ -1251,6 +1251,31 @@ static struct board_info __initdata boar
+ .num_usbh_ports = 2,
};
-+
-+struct spi_gpio_platform_data ct6373_spi_gpio_data = {
-+ .sck = CT6373_SPI_GPIO_CLK,
-+ .mosi = CT6373_SPI_GPIO_MOSI,
-+ .miso = SPI_GPIO_NO_MISO,
-+ .num_chipselect = 1,
-+};
-+
-+static struct platform_device ct6373_spi_gpio = {
-+ .name = "spi_gpio",
-+ .id = 1,
-+ .dev = {
-+ .platform_data = &ct6373_spi_gpio_data,
-+ },
-+};
-+
-+static struct platform_device * __initdata ct6373_devices[] = {
-+ &ct6373_spi_gpio,
-+};
-+
-+#if 0 /* FIXME: 3.14 dropped non-DT support */
-+const struct gen_74x164_chip_platform_data ct6373_74x164_platform_data = {
-+ .base = CT6373_74X164_GPIO_BASE
-+};
-+#endif
-+
-+static struct spi_board_info ct6373_spi_devices[] = {
-+#if 0 /* FIXME: 3.14 dropped non-DT support */
-+ {
-+ .modalias = "74x164",
-+ .max_speed_hz = 781000,
-+ .bus_num = 1,
-+ .controller_data = (void *) SPI_GPIO_NO_CHIPSELECT,
-+ .mode = SPI_MODE_0,
-+ .platform_data = &ct6373_74x164_platform_data
-+ }
-+#endif
-+};
-+
+static struct board_info __initdata board_ct6373_1 = {
+ .name = "CT6373-1",
+ .expected_cpu_id = 0x6358,
@@ -74,71 +22,17 @@
+ .force_duplex_full = 1,
+ },
+
-+ .leds = {
-+ {
-+ .name = "CT6373-1:green:power",
-+ .gpio = 0,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "CT6373-1:green:usb",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:adsl",
-+ .gpio = CT6373_74HC64_GPIO(0),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:line",
-+ .gpio = CT6373_74HC64_GPIO(1),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:fxs1",
-+ .gpio = CT6373_74HC64_GPIO(2),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:fxs2",
-+ .gpio = CT6373_74HC64_GPIO(3),
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 35,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
+ .pci_dev = 1,
+ },
-+
-+ .devs = ct6373_devices,
-+ .num_devs = ARRAY_SIZE(ct6373_devices),
-+ .spis = ct6373_spi_devices,
-+ .num_spis = ARRAY_SIZE(ct6373_spi_devices),
+};
+
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2376,6 +2500,7 @@ static const struct board_info __initcon
+@@ -1440,6 +1465,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
@@ -146,7 +40,7 @@
&board_HW553,
&board_spw303v,
#endif
-@@ -2429,6 +2554,7 @@ static struct of_device_id const bcm963x
+@@ -1493,6 +1519,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch b/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
index e39e8c47ee..b83a966953 100644
--- a/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
+++ b/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
@@ -1,8 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2301,6 +2301,73 @@ static struct board_info __initdata boar
- },
- }
+@@ -1318,6 +1318,36 @@ static struct board_info __initdata boar
+ .use_internal_phy = 1,
+ },
};
+
+/* D-Link DVA-G3810BN/TL */
@@ -33,48 +33,11 @@
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "DVAG3810BN::voip",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "DVAG3810BN::dsl",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DVAG3810BN::internet",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DVAG3810BN::power",
-+ .gpio = 4,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "DVAG3810BN::stop",
-+ .gpio = 5,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -2503,6 +2570,7 @@ static const struct board_info __initcon
+@@ -1468,6 +1498,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
@@ -82,7 +45,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -2557,6 +2625,7 @@ static struct of_device_id const bcm963x
+@@ -1522,6 +1553,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch b/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
index 94ad4c902c..cf82d94836 100644
--- a/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
+++ b/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
@@ -1,23 +1,25 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -18,6 +18,7 @@
- #if 0 /* FIXME: 3.14 removed non-DT support */
- #include <linux/spi/74x164.h>
- #endif
+@@ -12,6 +12,8 @@
+ #include <linux/string.h>
+ #include <linux/gpio_keys.h>
+ #include <linux/input.h>
++#include <linux/platform_device.h>
+#include <linux/rtl8367.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -42,6 +43,8 @@
- #define NB4_SPI_GPIO_MOSI 7
- #define NB4_SPI_GPIO_CLK 6
- #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
+@@ -31,6 +33,9 @@
+ #define BCM963XX_KEYS_POLL_INTERVAL 20
+ #define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
+
+#define NB6_GPIO_RTL8367_SDA 18
+#define NB6_GPIO_RTL8367_SCK 20
-
- #define CT6373_PID_OFFSET 0xff80
- #define CT6373_74X164_GPIO_BASE 64
-@@ -2370,6 +2373,104 @@ static struct board_info __initdata boar
++
+ /*
+ * known 3368 boards
+ */
+@@ -1350,6 +1355,69 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
@@ -79,41 +81,6 @@
+ },
+ },
+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 24,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 25,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 12,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "service",
-+ .gpio = 10,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .devs = nb6_devices,
+ .num_devs = ARRAY_SIZE(nb6_devices),
+};
@@ -122,7 +89,7 @@
/*
* known 6368 boards
*/
-@@ -2573,6 +2674,10 @@ static const struct board_info __initcon
+@@ -1501,6 +1569,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
@@ -133,7 +100,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -2636,6 +2741,9 @@ static struct of_device_id const bcm963x
+@@ -1564,6 +1636,9 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
diff --git a/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch b/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
index 62d3eb4a6b..0c19a6e044 100644
--- a/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
+++ b/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1103,6 +1103,57 @@ static struct board_info __initdata boar
+@@ -776,6 +776,23 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -19,46 +19,12 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "F@ST2604:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "F@ST2604:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2604:red:inet",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2604:green:wps",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -2645,6 +2696,7 @@ static const struct board_info __initcon
+@@ -1540,6 +1557,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
@@ -66,7 +32,7 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -2717,6 +2769,7 @@ static struct of_device_id const bcm963x
+@@ -1612,6 +1630,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
diff --git a/target/linux/brcm63xx/patches-3.14/530-board_A4001N1.patch b/target/linux/brcm63xx/patches-3.14/530-board_A4001N1.patch
index 9a05d98548..40ff98b30f 100644
--- a/target/linux/brcm63xx/patches-3.14/530-board_A4001N1.patch
+++ b/target/linux/brcm63xx/patches-3.14/530-board_A4001N1.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -234,6 +234,133 @@ static struct board_info __initdata boar
+@@ -178,6 +178,50 @@ static struct board_info __initdata boar
},
};
@@ -41,89 +41,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "A4001N1:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "A4001N1:red:power",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:inet",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:inet",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:ppp",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:3g",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:3g",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:wlan",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:eth",
-+ .gpio = 31,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:eth",
-+ .gpio = 20,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -134,7 +51,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -2677,6 +2804,7 @@ static const struct board_info __initcon
+@@ -1538,6 +1582,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -142,7 +59,7 @@
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
-@@ -2742,6 +2870,7 @@ static struct of_device_id const bcm963x
+@@ -1603,6 +1648,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-3.14/531-board_AR-5387un.patch b/target/linux/brcm63xx/patches-3.14/531-board_AR-5387un.patch
index 82d6c807a5..9598ceb508 100644
--- a/target/linux/brcm63xx/patches-3.14/531-board_AR-5387un.patch
+++ b/target/linux/brcm63xx/patches-3.14/531-board_AR-5387un.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -164,6 +164,115 @@ static struct board_info __initdata boar
+@@ -143,6 +143,79 @@ static struct board_info __initdata boar
},
};
@@ -68,42 +68,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "AR-5387un:green:power",
-+ .gpio = 8,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "AR-5387un:red:power",
-+ .gpio = 4,
-+ },
-+ {
-+ .name = "AR-5387un:green:inet",
-+ .gpio = 7,
-+ },
-+ {
-+ .name = "AR-5387un:red:inet",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "AR-5387un:green:dsl",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -116,7 +80,7 @@
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -2803,6 +2912,7 @@ static const struct board_info __initcon
+@@ -1581,6 +1654,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -124,7 +88,7 @@
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
-@@ -2873,6 +2983,7 @@ static struct of_device_id const bcm963x
+@@ -1651,6 +1725,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
diff --git a/target/linux/brcm63xx/patches-3.14/532-board_AR-5381u.patch b/target/linux/brcm63xx/patches-3.14/532-board_AR-5381u.patch
index 941bf8fdfa..c1984c4ad6 100644
--- a/target/linux/brcm63xx/patches-3.14/532-board_AR-5381u.patch
+++ b/target/linux/brcm63xx/patches-3.14/532-board_AR-5381u.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -164,6 +164,91 @@ static struct board_info __initdata boar
+@@ -143,6 +143,61 @@ static struct board_info __initdata boar
},
};
@@ -50,36 +50,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "AR-5381u:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "AR-5381u:red:alarm",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AR-5381u:green:inet",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -92,7 +62,7 @@
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -2912,6 +2997,7 @@ static const struct board_info __initcon
+@@ -1654,6 +1709,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -100,7 +70,7 @@
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
-@@ -2983,6 +3069,7 @@ static struct of_device_id const bcm963x
+@@ -1725,6 +1781,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
diff --git a/target/linux/brcm63xx/patches-3.14/533-board_rta770bw.patch b/target/linux/brcm63xx/patches-3.14/533-board_rta770bw.patch
index 059823ea06..a402340b8b 100644
--- a/target/linux/brcm63xx/patches-3.14/533-board_rta770bw.patch
+++ b/target/linux/brcm63xx/patches-3.14/533-board_rta770bw.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -833,6 +833,55 @@ static struct board_info __initdata boar
+@@ -544,6 +544,55 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
@@ -56,7 +56,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3011,6 +3060,7 @@ static const struct board_info __initcon
+@@ -1723,6 +1772,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
diff --git a/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch b/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
index de672c0cf7..f1664a476e 100644
--- a/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
+++ b/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
@@ -6,9 +6,9 @@
#include <linux/input.h>
+#include <linux/pci_ids.h>
#include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/spi_gpio.h>
-@@ -2660,6 +2661,402 @@ static struct board_info __initdata boar
+ #include <linux/rtl8367.h>
+ #include <asm/addrspace.h>
+@@ -1547,6 +1548,93 @@ static struct board_info __initdata boar
},
};
@@ -39,105 +39,6 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "HW556:green:lan1",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan2",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:red:message",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan1",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:hspa",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan2",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan3",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan3",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan4",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan4",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "help",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_HELP,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "restart",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_CONFIG,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+static struct board_info __initdata board_HW556_A = {
+ .name = "HW556_A",
@@ -167,111 +68,6 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "HW556:red:message",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:hspa",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:red:all",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:green:lan1",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan1",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan2",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan2",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan3",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan3",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan4",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan4",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "help",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_HELP,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "restart",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_CONFIG,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+static struct board_info __initdata board_HW556_B = {
+ .name = "HW556_B",
@@ -301,117 +97,12 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "HW556:red:message",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:hspa",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:red:all",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:green:lan1",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan1",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan2",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan2",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan3",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan3",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan4",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan4",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "help",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_HELP,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "restart",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_CONFIG,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3096,6 +3493,9 @@ static const struct board_info __initcon
+@@ -1808,6 +1896,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
@@ -421,7 +112,7 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3162,6 +3562,9 @@ static struct of_device_id const bcm963x
+@@ -1874,6 +1965,9 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
{ .compatible = "huawei,hg553", .data = &board_HW553, },
diff --git a/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch b/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch
index 0d55786467..eb2d0c393f 100644
--- a/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch
+++ b/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -883,6 +883,60 @@ static struct board_info __initdata boar
+@@ -594,6 +594,60 @@ static struct board_info __initdata boar
},
},
};
@@ -61,7 +61,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3458,6 +3512,7 @@ static const struct board_info __initcon
+@@ -1861,6 +1915,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
diff --git a/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch b/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch
index 95388a29fe..adef676d3c 100644
--- a/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch
+++ b/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch
@@ -12,7 +12,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -660,6 +660,122 @@ static struct board_info __initdata boar
+@@ -395,6 +395,44 @@ static struct board_info __initdata boar
},
},
};
@@ -53,89 +53,11 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
+ },
+ },
+ },
-+
-+ .leds = {
-+ /* front LEDs */
-+ {
-+ .name = "F@ST2704V2:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "F@ST2704V2:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:red:inet",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:green:dsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:green:inet",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:green:usb",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+
-+ /* side button LEDs */
-+ {
-+ .name = "F@ST2704V2:green:wps",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+
-+ /* FIXME: can't control gpio0 line in "out" state, needs further investigation */
-+ /*
-+ {
-+ .name = "F@ST2704V2:green:rfkill",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ */
-+
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "rfkill",
-+ .gpio = 15,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -3502,6 +3618,7 @@ static const struct board_info __initcon
+@@ -1905,6 +1943,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
@@ -143,7 +65,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -3577,6 +3694,7 @@ static struct of_device_id const bcm963x
+@@ -1980,6 +2019,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
{ .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
diff --git a/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch b/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
index 031bd5ecb2..55c754a7f9 100644
--- a/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
+++ b/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
@@ -6,7 +6,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3457,6 +3457,96 @@ static struct board_info __initdata boar
+@@ -1834,6 +1834,43 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
@@ -46,64 +46,11 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
+ },
+ },
+ },
-+
-+ .leds = {
-+ {
-+ .name = "fast2504n:orange:power",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:green:power",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "fast2504n:red:internet",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:green:ok",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:orange:ok",
-+ .gpio = 29,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:orange:wlan",
-+ .gpio = 30,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 24,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 25,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -3674,6 +3764,7 @@ static const struct board_info __initcon
+@@ -1999,6 +2036,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
@@ -111,7 +58,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -3748,6 +3839,7 @@ static struct of_device_id const bcm963x
+@@ -2073,6 +2111,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
diff --git a/target/linux/brcm63xx/patches-3.14/550-MIPS-BCM63XX-remove-leds-and-buttons.patch b/target/linux/brcm63xx/patches-3.14/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
new file mode 100644
index 0000000000..d4365f9320
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.14/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
@@ -0,0 +1,343 @@
+From 997f53b174c63153335508c22dc4493e8e5808d6 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sun, 22 Feb 2015 17:52:32 +0100
+Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 262 -----------------------------
+ 1 file changed, 262 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -56,14 +56,6 @@ static struct board_info __initdata boar
+ .use_internal_phy = 1,
+ },
+
+- .leds = {
+- {
+- .name = "CVG834G:green:power",
+- .gpio = 37,
+- .default_trigger= "default-on",
+- },
+- },
+-
+ .ephy_reset_gpio = 36,
+ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
+ };
+@@ -87,35 +79,6 @@ static struct board_info __initdata boar
+ .port_no = 0,
+ },
+
+- .leds = {
+- {
+- .name = "96328avng::ppp-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "96328avng::power",
+- .gpio = 4,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "96328avng::power-fail",
+- .gpio = 8,
+- .active_low = 1,
+- },
+- {
+- .name = "96328avng::wps",
+- .gpio = 9,
+- .active_low = 1,
+- },
+- {
+- .name = "96328avng::ppp",
+- .gpio = 11,
+- .active_low = 1,
+- },
+- },
+-
+ .has_enetsw = 1,
+
+ .enetsw = {
+@@ -451,35 +414,6 @@ static struct board_info __initdata boar
+ },
+
+ .has_ohci0 = 1,
+-
+- .leds = {
+- {
+- .name = "adsl",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ses",
+- .gpio = 5,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- }
+- },
+ };
+
+ static struct board_info __initdata board_96338w = {
+@@ -492,35 +426,6 @@ static struct board_info __initdata boar
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ses",
+- .gpio = 5,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96338w2_e7t = {
+@@ -705,36 +610,6 @@ static struct board_info __initdata boar
+ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+-
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96348gw_10 = {
+@@ -767,35 +642,6 @@ static struct board_info __initdata boar
+ .cs = 2,
+ .ext_irq = 2,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96348gw_11 = {
+@@ -822,35 +668,6 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+
+@@ -974,35 +791,6 @@ static struct board_info __initdata boar
+ .ext_irq = 2,
+ .cs = 2,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_gw6200 = {
+@@ -1367,33 +1155,6 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 15,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 22,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 23,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 4,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 5,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96358vw2 = {
+@@ -1421,29 +1182,6 @@ static struct board_info __initdata boar
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
+-
+- .leds = {
+- {
+- .name = "adsl",
+- .gpio = 22,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 23,
+- },
+- {
+- .name = "power",
+- .gpio = 5,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_CPVA642 = {
diff --git a/target/linux/brcm63xx/patches-3.14/550-alice_gate2_leds.patch b/target/linux/brcm63xx/patches-3.14/550-alice_gate2_leds.patch
deleted file mode 100644
index dbf53b7bf5..0000000000
--- a/target/linux/brcm63xx/patches-3.14/550-alice_gate2_leds.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2292,6 +2292,99 @@ static struct board_info __initdata boar
-
- .has_ohci0 = 1,
- .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "AGPF-S0:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "AGPF-S0:red:service",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:service",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:adsl",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:adsl",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:wifi",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:wifi",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:internet",
-+ .gpio = 25,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:internet",
-+ .gpio = 24,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:usr1",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:usr1",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:usr2",
-+ .gpio = 30,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:usr2",
-+ .gpio = 29,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_DWVS0 = {
diff --git a/target/linux/brcm63xx/patches-3.14/551-96348gw_a_leds.patch b/target/linux/brcm63xx/patches-3.14/551-96348gw_a_leds.patch
deleted file mode 100644
index f574148a1f..0000000000
--- a/target/linux/brcm63xx/patches-3.14/551-96348gw_a_leds.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1757,6 +1757,19 @@ static struct board_info __initdata boar
- },
-
- .has_ohci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "96348GW-A::adsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348GW-A::usb",
-+ .gpio = 0,
-+ .active_low = 1,
-+ }
-+ },
- };
-
- /* NetGear DG834G v4 */
diff --git a/target/linux/brcm63xx/patches-3.14/552-board_96348gw-10_reset_button.patch b/target/linux/brcm63xx/patches-3.14/552-board_96348gw-10_reset_button.patch
deleted file mode 100644
index b32fa93099..0000000000
--- a/target/linux/brcm63xx/patches-3.14/552-board_96348gw-10_reset_button.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1163,6 +1163,17 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_96348gw_11 = {
diff --git a/target/linux/brcm63xx/patches-3.14/553-boards_probe_switch.patch b/target/linux/brcm63xx/patches-3.14/553-boards_probe_switch.patch
index ed7ceb999e..6442761714 100644
--- a/target/linux/brcm63xx/patches-3.14/553-boards_probe_switch.patch
+++ b/target/linux/brcm63xx/patches-3.14/553-boards_probe_switch.patch
@@ -1,24 +1,17 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -789,6 +789,8 @@ static struct board_info __initdata boar
+@@ -423,6 +423,10 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
+ .has_phy = 1,
+ .phy_id = 0,
- .force_speed_100 = 1,
- .force_duplex_full = 1,
- },
-@@ -832,6 +834,8 @@ static struct board_info __initdata boar
- .has_uart0 = 1,
- .has_enet0 = 1,
- .enet0 = {
+ .has_phy = 1,
+ .phy_id = 0,
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1119,6 +1123,8 @@ static struct board_info __initdata boar
+@@ -627,6 +631,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -27,7 +20,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1192,6 +1198,8 @@ static struct board_info __initdata boar
+@@ -660,6 +666,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -36,7 +29,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1470,6 +1478,8 @@ static struct board_info __initdata boar
+@@ -807,6 +815,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -45,7 +38,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1646,6 +1656,8 @@ static struct board_info __initdata boar
+@@ -869,6 +879,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -54,7 +47,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1721,6 +1733,8 @@ static struct board_info __initdata boar
+@@ -910,6 +922,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -63,7 +56,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1743,6 +1757,8 @@ static struct board_info __initdata boar
+@@ -932,6 +946,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -72,7 +65,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1763,6 +1779,8 @@ static struct board_info __initdata boar
+@@ -952,6 +968,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -81,7 +74,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2116,6 +2134,8 @@ static struct board_info __initdata boar
+@@ -1147,6 +1165,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -90,7 +83,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2169,6 +2189,8 @@ static struct board_info __initdata boar
+@@ -1219,6 +1239,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -99,19 +92,12 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2310,6 +2332,8 @@ static struct board_info __initdata boar
+@@ -1244,6 +1266,10 @@ static struct board_info __initdata boar
},
.enet1 = {
+ .has_phy = 1,
+ .phy_id = 0,
- .force_speed_100 = 1,
- .force_duplex_full = 1,
- },
-@@ -2428,6 +2452,8 @@ static struct board_info __initdata boar
- },
-
- .enet1 = {
+ .has_phy = 1,
+ .phy_id = 0,
.force_speed_100 = 1,
diff --git a/target/linux/brcm63xx/patches-3.14/554-board_DWVS0_leds_buttons.patch b/target/linux/brcm63xx/patches-3.14/554-board_DWVS0_leds_buttons.patch
deleted file mode 100644
index fa27a487fd..0000000000
--- a/target/linux/brcm63xx/patches-3.14/554-board_DWVS0_leds_buttons.patch
+++ /dev/null
@@ -1,97 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2460,6 +2460,94 @@ static struct board_info __initdata boar
-
- .has_ohci0 = 1,
- .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "DWV-S0:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "DWV-S0:red:internet",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:internet",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:ADSL",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:ADSL",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:wifi",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:VoIP",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:VoIP",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:ethernet",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:ethernet",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:USB",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:USB",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- /* D-Link DSL-274xB revison C2/C3 */
diff --git a/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch b/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch
index bf46a1ab7d..c179bbaa76 100644
--- a/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch
+++ b/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -86,6 +86,93 @@ static struct board_info __initdata boar
+@@ -62,6 +62,93 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_3368 */
/*
@@ -94,7 +94,7 @@
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -3932,6 +4019,9 @@ static const struct board_info __initcon
+@@ -1737,6 +1824,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
diff --git a/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch b/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch
index a4d8be626e..83eaa29ca1 100644
--- a/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch
+++ b/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -170,6 +170,94 @@ static struct board_info __initdata boar
+@@ -146,6 +146,94 @@ static struct board_info __initdata boar
},
},
};
@@ -95,7 +95,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -4021,6 +4109,7 @@ static const struct board_info __initcon
+@@ -1826,6 +1914,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
diff --git a/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch b/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch
index 783bb6ac6b..f0465ab56c 100644
--- a/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch
+++ b/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4101,6 +4101,75 @@ static struct board_info __initdata boar
+@@ -1906,6 +1906,75 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
@@ -76,7 +76,7 @@
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4181,6 +4250,9 @@ static const struct board_info __initcon
+@@ -1986,6 +2055,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
diff --git a/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch b/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch
index 32823e8a86..d72974e836 100644
--- a/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch
+++ b/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch
@@ -8,8 +8,8 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1424,6 +1424,51 @@ static struct board_info __initdata boar
- },
+@@ -853,6 +853,22 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
};
+static struct board_info __initdata board_96348gw_10_AR1004G = {
@@ -26,41 +26,12 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "AR1004G:green:inet",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AR1004G:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AR1004G:red:power",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -4221,6 +4266,7 @@ static const struct board_info __initcon
+@@ -2026,6 +2042,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
@@ -68,7 +39,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -4278,6 +4324,7 @@ static struct of_device_id const bcm963x
+@@ -2083,6 +2100,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
diff --git a/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch b/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch
index ebccfc0b0c..fb356f57cc 100644
--- a/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch
+++ b/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4212,6 +4212,108 @@ static struct board_info __initdata boar
+@@ -1988,6 +1988,108 @@ static struct board_info __initdata boar
},
},
};
@@ -109,7 +109,7 @@
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -4298,6 +4400,7 @@ static const struct board_info __initcon
+@@ -2074,6 +2176,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
diff --git a/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
index 026d19519b..04dcf2030f 100644
--- a/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
+++ b/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4149,6 +4149,131 @@ static struct board_info __initdata boar
+@@ -1925,6 +1925,131 @@ static struct board_info __initdata boar
* known 63268/63269 boards
*/
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -132,7 +132,7 @@
static struct board_info __initdata board_963269bhr = {
.name = "963269BHR",
.expected_cpu_id = 0x63268,
-@@ -4399,6 +4524,7 @@ static const struct board_info __initcon
+@@ -2175,6 +2300,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
index 94b8778a10..1cc35476bc 100644
--- a/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
+++ b/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
@@ -1,14 +1,16 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -13,6 +13,7 @@
- #include <linux/gpio_keys.h>
+@@ -14,7 +14,9 @@
#include <linux/input.h>
#include <linux/pci_ids.h>
-+#include <linux/platform_data/b53.h>
#include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/spi_gpio.h>
-@@ -4143,6 +4144,117 @@ static struct board_info __initdata boar
++#include <linux/platform_data/b53.h>
+ #include <linux/rtl8367.h>
++#include <linux/spi/spi.h>
+ #include <asm/addrspace.h>
+ #include <bcm63xx_board.h>
+ #include <bcm63xx_cpu.h>
+@@ -1919,6 +1921,65 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
@@ -60,58 +62,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "WAP-5813n:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "WAP-5813n:red:power",
-+ .gpio = 24,
-+ },
-+ {
-+ .name = "WAP-5813n:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "WAP-5813n:red:inet",
-+ .gpio = 31,
-+ },
-+ {
-+ .name = "WAP-5813n:green:wps",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "wlan",
-+ .gpio = 32,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 35,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
@@ -126,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -4522,6 +4634,7 @@ static const struct board_info __initcon
+@@ -2298,6 +2359,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -134,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
-@@ -4603,6 +4716,7 @@ static struct of_device_id const bcm963x
+@@ -2379,6 +2441,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
index ecc08e2d9d..a599794830 100644
--- a/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
+++ b/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4145,6 +4145,116 @@ static struct board_info __initdata boar
+@@ -1922,6 +1922,60 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -49,62 +49,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "VR-3025u:green:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan1",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan2",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan3",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan4",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "VR-3025u:red:power",
-+ .gpio = 24,
-+ },
-+ {
-+ .name = "VR-3025u:red:inet",
-+ .gpio = 31,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
@@ -117,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4634,6 +4744,7 @@ static const struct board_info __initcon
+@@ -2359,6 +2413,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -125,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4716,6 +4827,7 @@ static struct of_device_id const bcm963x
+@@ -2441,6 +2496,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
index 7b4ff2b0fd..610db1ea37 100644
--- a/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
+++ b/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4255,6 +4255,116 @@ static struct board_info __initdata boar
+@@ -1976,6 +1976,60 @@ static struct board_info __initdata boar
},
};
@@ -49,62 +49,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "VR-3025un:green:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "VR-3025un:green:lan1",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:lan2",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:lan3",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:iptv",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "VR-3025un:red:power",
-+ .gpio = 24,
-+ },
-+ {
-+ .name = "VR-3025un:red:inet",
-+ .gpio = 31,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
@@ -117,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4745,6 +4855,7 @@ static const struct board_info __initcon
+@@ -2414,6 +2468,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
@@ -125,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4828,6 +4939,7 @@ static struct of_device_id const bcm963x
+@@ -2497,6 +2552,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
diff --git a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
index 1a173e99fa..9d08f39b90 100644
--- a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
+++ b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4154,6 +4154,96 @@ static struct sprom_fixup __initdata vr3
+@@ -1931,6 +1931,49 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
@@ -40,53 +40,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "P870HW-51a:green:power",
-+ .gpio = 0,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "P870HW-51a:green:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "P870HW-51a:green:inet",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "P870HW-51a:orange:wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "P870HW-51a:red:inet",
-+ .gpio = 33,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 35,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -97,7 +50,7 @@
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -4854,6 +4944,7 @@ static const struct board_info __initcon
+@@ -2467,6 +2510,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -105,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -4941,6 +5032,7 @@ static struct of_device_id const bcm963x
+@@ -2554,6 +2598,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch b/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
index d28c4afb69..c80392a1c4 100644
--- a/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
+++ b/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
@@ -1,7 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3206,6 +3206,56 @@ static struct board_info __initdata boar
- .num_spis = ARRAY_SIZE(ct6373_spi_devices),
+@@ -1569,6 +1569,37 @@ static struct board_info __initdata boar
+ },
};
+static struct board_info __initdata board_HW520 = {
@@ -28,25 +28,6 @@
+ .force_duplex_full = 1,
+ },
+
-+ .leds = {
-+ {
-+ .name = "HW520:green:net",
-+ .gpio = 32,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -57,7 +38,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -4928,6 +4978,7 @@ static const struct board_info __initcon
+@@ -2494,6 +2525,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@@ -65,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
-@@ -5009,6 +5060,7 @@ static struct of_device_id const bcm963x
+@@ -2575,6 +2607,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
diff --git a/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch b/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch
index 2873c53f31..e89d03552b 100644
--- a/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch
+++ b/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -605,6 +605,95 @@ static struct board_info __initdata boar
+@@ -447,6 +447,50 @@ static struct board_info __initdata boar
},
};
@@ -41,51 +41,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "A4001N:green:power",
-+ .gpio = 8,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "A4001N:red:power",
-+ .gpio = 4,
-+ },
-+ {
-+ .name = "A4001N:red:inet",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "A4001N:green:usb",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N:green:dsl",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -96,7 +51,7 @@
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -4929,6 +5018,7 @@ static const struct board_info __initcon
+@@ -2476,6 +2520,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
@@ -104,7 +59,7 @@
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
-@@ -5013,6 +5103,7 @@ static struct of_device_id const bcm963x
+@@ -2560,6 +2605,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch b/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch
index 98c4664bf6..59458341cf 100644
--- a/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch
+++ b/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -259,6 +259,141 @@ static struct board_info __initdata boar
+@@ -236,6 +236,141 @@ static struct board_info __initdata boar
},
},
};
@@ -142,7 +142,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -5012,6 +5147,7 @@ static const struct board_info __initcon
+@@ -2514,6 +2649,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
diff --git a/target/linux/brcm63xx/patches-3.18/300-reset_buttons.patch b/target/linux/brcm63xx/patches-3.18/300-reset_buttons.patch
index c64d405496..2263b499ad 100644
--- a/target/linux/brcm63xx/patches-3.18/300-reset_buttons.patch
+++ b/target/linux/brcm63xx/patches-3.18/300-reset_buttons.patch
@@ -19,40 +19,6 @@
/*
* known 3368 boards
*/
-@@ -367,6 +372,16 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_96348gw = {
-@@ -425,6 +440,16 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_FAST2404 = {
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -12,6 +12,7 @@
diff --git a/target/linux/brcm63xx/patches-3.18/308-board_leds_naming.patch b/target/linux/brcm63xx/patches-3.18/308-board_leds_naming.patch
deleted file mode 100644
index 89b7ac39e9..0000000000
--- a/target/linux/brcm63xx/patches-3.18/308-board_leds_naming.patch
+++ /dev/null
@@ -1,267 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -130,28 +130,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl",
-+ .name = "96338GW:green:adsl",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ses",
-+ .name = "96338GW:green:ses",
- .gpio = 5,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96338GW:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96338GW:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96338GW:green:stop",
- .gpio = 1,
- .active_low = 1,
- }
-@@ -171,28 +171,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl",
-+ .name = "96338W:green:adsl",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ses",
-+ .name = "96338W:green:ses",
- .gpio = 5,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96338W:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96338W:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96338W:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -231,29 +231,29 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348R:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348R:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348R:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348R:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
-
- },
- {
-- .name = "stop",
-+ .name = "96348R:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -292,28 +292,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348GW-10:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348GW-10:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348GW-10:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348GW-10:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96348GW-10:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -346,28 +346,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348GW-11:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348GW-11:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348GW-11:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348GW-11:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96348GW-11:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -414,28 +414,28 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96348GW:green:adsl-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96348GW:green:ppp",
- .gpio = 3,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96348GW:green:ppp-fail",
- .gpio = 4,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96348GW:green:power",
- .gpio = 0,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96348GW:green:stop",
- .gpio = 1,
- .active_low = 1,
- },
-@@ -567,27 +567,27 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl-fail",
-+ .name = "96358VW:green:adsl-fail",
- .gpio = 15,
- .active_low = 1,
- },
- {
-- .name = "ppp",
-+ .name = "96358VW:green:ppp",
- .gpio = 22,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96358VW:green:ppp-fail",
- .gpio = 23,
- .active_low = 1,
- },
- {
-- .name = "power",
-+ .name = "96358VW:green:power",
- .gpio = 4,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96358VW:green:stop",
- .gpio = 5,
- },
- },
-@@ -619,22 +619,22 @@ static struct board_info __initdata boar
-
- .leds = {
- {
-- .name = "adsl",
-+ .name = "96358VW2:green:adsl",
- .gpio = 22,
- .active_low = 1,
- },
- {
-- .name = "ppp-fail",
-+ .name = "96358VW2:green:ppp-fail",
- .gpio = 23,
- },
- {
-- .name = "power",
-+ .name = "96358VW2:green:power",
- .gpio = 5,
- .active_low = 1,
- .default_trigger = "default-on",
- },
- {
-- .name = "stop",
-+ .name = "96358VW2:green:stop",
- .gpio = 4,
- .active_low = 1,
- },
diff --git a/target/linux/brcm63xx/patches-3.18/309-cfe_version_mod.patch b/target/linux/brcm63xx/patches-3.18/309-cfe_version_mod.patch
index 65b75e1ec8..42af6aec4e 100644
--- a/target/linux/brcm63xx/patches-3.18/309-cfe_version_mod.patch
+++ b/target/linux/brcm63xx/patches-3.18/309-cfe_version_mod.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -747,10 +747,20 @@ void __init board_prom_init(void)
+@@ -727,10 +727,20 @@ void __init board_prom_init(void)
/* dump cfe version */
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
diff --git a/target/linux/brcm63xx/patches-3.18/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/brcm63xx/patches-3.18/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
index ba0df35251..7c424cc22a 100644
--- a/target/linux/brcm63xx/patches-3.18/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
+++ b/target/linux/brcm63xx/patches-3.18/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
@@ -35,7 +35,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
source "arch/mips/bcm63xx/boards/Kconfig"
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -737,7 +737,7 @@ void __init board_prom_init(void)
+@@ -717,7 +717,7 @@ void __init board_prom_init(void)
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
*/
diff --git a/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
index 0e4df97731..ead4ee05fb 100644
--- a/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
+++ b/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
@@ -35,7 +35,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
select SYS_HAS_CPU_BMIPS4350
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -737,7 +737,7 @@ void __init board_prom_init(void)
+@@ -717,7 +717,7 @@ void __init board_prom_init(void)
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
*/
diff --git a/target/linux/brcm63xx/patches-3.18/351-set-board-usbh-ports.patch b/target/linux/brcm63xx/patches-3.18/351-set-board-usbh-ports.patch
index 804cb85f20..285aa40acf 100644
--- a/target/linux/brcm63xx/patches-3.18/351-set-board-usbh-ports.patch
+++ b/target/linux/brcm63xx/patches-3.18/351-set-board-usbh-ports.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -616,6 +616,7 @@ static struct board_info __initdata boar
+@@ -596,6 +596,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
diff --git a/target/linux/brcm63xx/patches-3.18/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch b/target/linux/brcm63xx/patches-3.18/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch
index b6bcdae5d7..c60f939d6f 100644
--- a/target/linux/brcm63xx/patches-3.18/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch
+++ b/target/linux/brcm63xx/patches-3.18/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch
@@ -35,7 +35,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+endmenu
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -726,7 +726,7 @@ static const struct board_info __initcon
+@@ -706,7 +706,7 @@ static const struct board_info __initcon
/*
* early init callback, read nvram data from flash and checksum it
*/
diff --git a/target/linux/brcm63xx/patches-3.18/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch b/target/linux/brcm63xx/patches-3.18/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch
index aedda96895..d7250d5732 100644
--- a/target/linux/brcm63xx/patches-3.18/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch
+++ b/target/linux/brcm63xx/patches-3.18/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch
@@ -50,7 +50,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -392,6 +396,7 @@ static struct board_info __initdata boar
+@@ -382,6 +386,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -58,7 +58,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -460,6 +465,7 @@ static struct board_info __initdata boar
+@@ -440,6 +445,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -483,6 +489,7 @@ static struct board_info __initdata boar
+@@ -463,6 +469,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -74,7 +74,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -501,6 +508,7 @@ static struct board_info __initdata boar
+@@ -481,6 +488,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_pci = 1,
@@ -82,7 +82,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.has_ohci0 = 1,
.has_enet0 = 1,
-@@ -523,6 +531,7 @@ static struct board_info __initdata boar
+@@ -503,6 +511,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -90,7 +90,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -549,6 +558,7 @@ static struct board_info __initdata boar
+@@ -529,6 +538,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -98,7 +98,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -601,6 +611,7 @@ static struct board_info __initdata boar
+@@ -581,6 +591,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
@@ -106,7 +106,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.enet0 = {
.has_phy = 1,
-@@ -672,6 +683,7 @@ static struct board_info __initdata boar
+@@ -652,6 +663,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
diff --git a/target/linux/brcm63xx/patches-3.18/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch b/target/linux/brcm63xx/patches-3.18/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
index afe537a5a5..58ffe5e82d 100644
--- a/target/linux/brcm63xx/patches-3.18/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
+++ b/target/linux/brcm63xx/patches-3.18/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -735,6 +735,10 @@ static const struct board_info __initcon
+@@ -715,6 +715,10 @@ static const struct board_info __initcon
#endif
};
@@ -27,7 +27,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -746,6 +750,7 @@ void __init board_bcm963xx_init(void)
+@@ -726,6 +730,7 @@ void __init board_bcm963xx_init(void)
char *board_name = NULL;
u32 val;
struct bcm_hcs *hcs;
@@ -35,7 +35,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
-@@ -785,6 +790,16 @@ void __init board_bcm963xx_init(void)
+@@ -765,6 +770,16 @@ void __init board_bcm963xx_init(void)
} else {
board_name = bcm63xx_nvram_get_name();
}
diff --git a/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch b/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
index 38ffe9b96f..4384c9427f 100644
--- a/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
+++ b/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -736,6 +736,49 @@ static const struct board_info __initcon
+@@ -716,6 +716,49 @@ static const struct board_info __initcon
};
static struct of_device_id const bcm963xx_boards_dt[] = {
diff --git a/target/linux/brcm63xx/patches-3.18/499-allow_better_context_for_board_patches.patch b/target/linux/brcm63xx/patches-3.18/499-allow_better_context_for_board_patches.patch
index 1fd440750a..de2012b16b 100644
--- a/target/linux/brcm63xx/patches-3.18/499-allow_better_context_for_board_patches.patch
+++ b/target/linux/brcm63xx/patches-3.18/499-allow_better_context_for_board_patches.patch
@@ -36,7 +36,7 @@
/*
* known 6348 boards
-@@ -544,7 +544,7 @@ static struct board_info __initdata boar
+@@ -524,7 +524,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -45,7 +45,7 @@
/*
* known 6358 boards
-@@ -697,7 +697,7 @@ static struct board_info __initdata boar
+@@ -677,7 +677,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
diff --git a/target/linux/brcm63xx/patches-3.18/500-board-D4PW.patch b/target/linux/brcm63xx/patches-3.18/500-board-D4PW.patch
index 65b4d150b5..e00e56499e 100644
--- a/target/linux/brcm63xx/patches-3.18/500-board-D4PW.patch
+++ b/target/linux/brcm63xx/patches-3.18/500-board-D4PW.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -544,6 +544,56 @@ static struct board_info __initdata boar
+@@ -524,6 +524,22 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -19,45 +19,11 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "D-4P-W:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "D-4P-W::status",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "D-4P-W:green:internet",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "D-4P-W:red:internet",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 7,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -725,6 +775,7 @@ static const struct board_info __initcon
+@@ -705,6 +721,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
@@ -65,7 +31,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -756,6 +807,7 @@ static struct of_device_id const bcm963x
+@@ -736,6 +753,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
diff --git a/target/linux/brcm63xx/patches-3.18/501-board-NB4.patch b/target/linux/brcm63xx/patches-3.18/501-board-NB4.patch
index 93e454052d..97a9c73f85 100644
--- a/target/linux/brcm63xx/patches-3.18/501-board-NB4.patch
+++ b/target/linux/brcm63xx/patches-3.18/501-board-NB4.patch
@@ -1,75 +1,10 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,6 +12,12 @@
- #include <linux/string.h>
- #include <linux/gpio_keys.h>
- #include <linux/input.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/spi_gpio.h>
-+#if 0 /* FIXME: 3.14 removed non-DT support */
-+#include <linux/spi/74x164.h>
-+#endif
- #include <asm/addrspace.h>
- #include <bcm63xx_board.h>
- #include <bcm63xx_cpu.h>
-@@ -31,6 +37,12 @@
- #define BCM963XX_KEYS_POLL_INTERVAL 20
- #define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
-
-+#define NB4_PID_OFFSET 0xff80
-+#define NB4_74X164_GPIO_BASE 64
-+#define NB4_SPI_GPIO_MOSI 7
-+#define NB4_SPI_GPIO_CLK 6
-+#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
-+
- /*
- * known 3368 boards
- */
-@@ -747,6 +759,268 @@ static struct board_info __initdata boar
+@@ -693,6 +693,62 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+
-+struct spi_gpio_platform_data nb4_spi_gpio_data = {
-+ .sck = NB4_SPI_GPIO_CLK,
-+ .mosi = NB4_SPI_GPIO_MOSI,
-+ .miso = SPI_GPIO_NO_MISO,
-+ .num_chipselect = 1,
-+};
-+
-+
-+static struct platform_device nb4_spi_gpio = {
-+ .name = "spi_gpio",
-+ .id = 1,
-+ .dev = {
-+ .platform_data = &nb4_spi_gpio_data,
-+ },
-+};
-+
-+static struct platform_device * __initdata nb4_devices[] = {
-+ &nb4_spi_gpio,
-+};
-+
-+#if 0 /* FIXME: 3.14 removed non-DT support */
-+const struct gen_74x164_chip_platform_data nb4_74x164_platform_data = {
-+ .base = NB4_74X164_GPIO_BASE
-+};
-+#endif
-+
-+static struct spi_board_info nb4_spi_devices[] = {
-+#if 0 /* FIXME: 3.14 removed non-DT support */
-+ {
-+ .modalias = "74x164",
-+ .max_speed_hz = 781000,
-+ .bus_num = 1,
-+ .controller_data = (void *) SPI_GPIO_NO_CHIPSELECT,
-+ .mode = SPI_MODE_0,
-+ .platform_data = &nb4_74x164_platform_data
-+ }
-+#endif
-+};
-+
+static struct board_info __initdata board_nb4_ser_r0 = {
+ .name = "NB4-SER-r0",
+ .expected_cpu_id = 0x6358,
@@ -96,92 +31,6 @@
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
-+
-+ .leds = {
-+ {
-+ .name = "NB4-SER-r0:white:adsl",
-+ .gpio = NB4_74HC64_GPIO(4),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:traffic",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:tel",
-+ .gpio = NB4_74HC64_GPIO(3),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:tv",
-+ .gpio = NB4_74HC64_GPIO(2),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:wifi",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:white:alarm",
-+ .gpio = NB4_74HC64_GPIO(0),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:red:service",
-+ .gpio = 29,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:green:service",
-+ .gpio = 30,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-SER-r0:blue:service",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 37,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "service",
-+ .gpio = 27,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "clip",
-+ .gpio = 31,
-+ .type = EV_KEY,
-+ .code = BTN_1,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+ .devs = nb4_devices,
-+ .num_devs = ARRAY_SIZE(nb4_devices),
-+ .spis = nb4_spi_devices,
-+ .num_spis = ARRAY_SIZE(nb4_spi_devices),
+};
+
+static struct board_info __initdata board_nb4_fxc_r1 = {
@@ -210,92 +59,11 @@
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
-+
-+ .leds = {
-+ {
-+ .name = "NB4-FXC-r1:white:adsl",
-+ .gpio = NB4_74HC64_GPIO(4),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:traffic",
-+ .gpio = 2,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:tel",
-+ .gpio = NB4_74HC64_GPIO(3),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:tv",
-+ .gpio = NB4_74HC64_GPIO(2),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:wifi",
-+ .gpio = 15,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:white:alarm",
-+ .gpio = NB4_74HC64_GPIO(0),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:red:service",
-+ .gpio = 29,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:green:service",
-+ .gpio = 30,
-+ },
-+ {
-+ .name = "NB4-FXC-r1:blue:service",
-+ .gpio = 4,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 37,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "service",
-+ .gpio = 27,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "clip",
-+ .gpio = 31,
-+ .type = EV_KEY,
-+ .code = BTN_1,
-+ .active_low = 1,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+ .devs = nb4_devices,
-+ .num_devs = ARRAY_SIZE(nb4_devices),
-+ .spis = nb4_spi_devices,
-+ .num_spis = ARRAY_SIZE(nb4_spi_devices),
+};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -783,6 +1057,8 @@ static const struct board_info __initcon
+@@ -729,6 +785,8 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
@@ -304,7 +72,7 @@
#endif
};
-@@ -824,6 +1100,8 @@ static struct of_device_id const bcm963x
+@@ -770,6 +828,8 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,a226m", .data = &board_DWVS0, },
{ .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
diff --git a/target/linux/brcm63xx/patches-3.18/502-board-96338W2_E7T.patch b/target/linux/brcm63xx/patches-3.18/502-board-96338W2_E7T.patch
index 3a8477753a..29d68a3d26 100644
--- a/target/linux/brcm63xx/patches-3.18/502-board-96338W2_E7T.patch
+++ b/target/linux/brcm63xx/patches-3.18/502-board-96338W2_E7T.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -211,6 +211,40 @@ static struct board_info __initdata boar
+@@ -199,6 +199,40 @@ static struct board_info __initdata boar
},
},
};
@@ -41,7 +41,7 @@
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1036,6 +1070,7 @@ static const struct board_info __initcon
+@@ -764,6 +798,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
diff --git a/target/linux/brcm63xx/patches-3.18/503-board-CPVA642.patch b/target/linux/brcm63xx/patches-3.18/503-board-CPVA642.patch
index ef72c7b152..5229ba89f0 100644
--- a/target/linux/brcm63xx/patches-3.18/503-board-CPVA642.patch
+++ b/target/linux/brcm63xx/patches-3.18/503-board-CPVA642.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -749,6 +749,98 @@ static struct board_info __initdata boar
+@@ -683,6 +683,26 @@ static struct board_info __initdata boar
},
};
@@ -21,85 +21,13 @@
+
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "CPVA642:red:power",
-+ .gpio = 14,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:power",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "CPVA642:red:wifi",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:wifi",
-+ .gpio = 28,
-+ .active_low = 0,
-+ },
-+ {
-+ .name = "CPVA642:red:link",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:link",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:ether",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:phone1",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:phone2",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA642:green:usb",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 37,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -1091,6 +1183,7 @@ static const struct board_info __initcon
+@@ -819,6 +839,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
@@ -107,7 +35,7 @@
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
-@@ -1137,6 +1230,7 @@ static struct of_device_id const bcm963x
+@@ -865,6 +886,7 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
{ .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
diff --git a/target/linux/brcm63xx/patches-3.18/504-board_dsl_274xb_rev_c.patch b/target/linux/brcm63xx/patches-3.18/504-board_dsl_274xb_rev_c.patch
index 25115657f7..199321a1e9 100644
--- a/target/linux/brcm63xx/patches-3.18/504-board_dsl_274xb_rev_c.patch
+++ b/target/linux/brcm63xx/patches-3.18/504-board_dsl_274xb_rev_c.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -886,6 +886,61 @@ static struct board_info __initdata boar
+@@ -748,6 +748,23 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -19,50 +19,12 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "dsl-274xb:green:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "dsl-274xb:red:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:adsl",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:internet",
-+ .gpio = 2,
-+ },
-+ {
-+ .name = "dsl-274xb:red:internet",
-+ .gpio = 10,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
- struct spi_gpio_platform_data nb4_spi_gpio_data = {
- .sck = NB4_SPI_GPIO_CLK,
- .mosi = NB4_SPI_GPIO_MOSI,
-@@ -1185,6 +1240,7 @@ static const struct board_info __initcon
+ static struct board_info __initdata board_nb4_ser_r0 = {
+ .name = "NB4-SER-r0",
+ .expected_cpu_id = 0x6358,
+@@ -841,6 +858,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
@@ -70,7 +32,7 @@
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
-@@ -1223,6 +1279,7 @@ static struct of_device_id const bcm963x
+@@ -879,6 +897,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch b/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch
index e26804f8fc..8d366153af 100644
--- a/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch
+++ b/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch
@@ -1,7 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -640,6 +640,84 @@ static struct board_info __initdata boar
- },
+@@ -574,6 +574,45 @@ static struct board_info __initdata boar
+ .force_duplex_full = 1,
},
};
+
@@ -35,45 +35,6 @@
+ .cs = 2,
+ },
+
-+ .leds = {
-+ {
-+ .name = "SPW500V:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "SPW500V:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "SPW500V:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ { .name = "SPW500V:green:pstn",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "SPW500V:green:voip",
-+ .gpio = 32,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -85,7 +46,7 @@
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1232,6 +1310,7 @@ static const struct board_info __initcon
+@@ -850,6 +889,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
@@ -93,7 +54,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1272,6 +1351,7 @@ static struct of_device_id const bcm963x
+@@ -890,6 +930,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
diff --git a/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch b/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch
index 26e92bcf65..144775dbb6 100644
--- a/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch
+++ b/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -503,6 +503,112 @@ static struct board_info __initdata boar
+@@ -471,6 +471,66 @@ static struct board_info __initdata boar
},
};
@@ -31,39 +31,6 @@
+ .ext_irq = 2,
+ .cs = 2,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "GW6200:green:line1",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "GW6200:green:line2",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "GW6200:green:line3",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "GW6200:green:tel",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+static struct board_info __initdata board_gw6000 = {
@@ -93,19 +60,6 @@
+ .ext_irq = 2,
+ .cs = 2,
+ },
-+
-+ /* GW6000 has no GPIO-controlled leds */
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+
@@ -113,7 +67,7 @@
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -1303,6 +1409,8 @@ static const struct board_info __initcon
+@@ -882,6 +942,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
@@ -122,7 +76,7 @@
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
-@@ -1352,6 +1460,8 @@ static struct of_device_id const bcm963x
+@@ -931,6 +993,8 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
diff --git a/target/linux/brcm63xx/patches-3.18/507-board-MAGIC.patch b/target/linux/brcm63xx/patches-3.18/507-board-MAGIC.patch
index c5ce970ae6..b0fd613527 100644
--- a/target/linux/brcm63xx/patches-3.18/507-board-MAGIC.patch
+++ b/target/linux/brcm63xx/patches-3.18/507-board-MAGIC.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -824,6 +824,78 @@ static struct board_info __initdata boar
+@@ -673,6 +673,78 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
@@ -79,7 +79,7 @@
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1419,6 +1491,7 @@ static const struct board_info __initcon
+@@ -952,6 +1024,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
diff --git a/target/linux/brcm63xx/patches-3.18/508-board_hw553.patch b/target/linux/brcm63xx/patches-3.18/508-board_hw553.patch
index 9d89615115..02196cbb2c 100644
--- a/target/linux/brcm63xx/patches-3.18/508-board_hw553.patch
+++ b/target/linux/brcm63xx/patches-3.18/508-board_hw553.patch
@@ -1,8 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1458,6 +1458,83 @@ static struct board_info __initdata boar
- .spis = nb4_spi_devices,
- .num_spis = ARRAY_SIZE(nb4_spi_devices),
+@@ -991,6 +991,34 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
};
+
+static struct board_info __initdata board_HW553 = {
@@ -26,55 +26,6 @@
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
+
-+ .leds = {
-+ {
-+ .name = "HW553:red:adsl",
-+ .gpio = 34,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:adsl",
-+ .gpio = 35,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:red:lan",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:lan",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW553:red:wifi",
-+ .gpio = 25,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:red:hspa",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW553:blue:hspa",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -84,7 +35,7 @@
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1503,6 +1580,7 @@ static const struct board_info __initcon
+@@ -1036,6 +1064,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
@@ -92,7 +43,7 @@
#endif
};
-@@ -1544,6 +1622,7 @@ static struct of_device_id const bcm963x
+@@ -1077,6 +1106,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.18/509-board_rta1320_16m.patch b/target/linux/brcm63xx/patches-3.18/509-board_rta1320_16m.patch
index 16cc061ae9..1597f60ecf 100644
--- a/target/linux/brcm63xx/patches-3.18/509-board_rta1320_16m.patch
+++ b/target/linux/brcm63xx/patches-3.18/509-board_rta1320_16m.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -245,6 +245,45 @@ static struct board_info __initdata boar
+@@ -233,6 +233,21 @@ static struct board_info __initdata boar
},
},
};
@@ -18,35 +18,11 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "RTA1320_16M:green:adsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "RTA1320_16M:green:ppp",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "RTA1320_16M:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "RTA1320_16M:green:stop",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1551,6 +1590,7 @@ static const struct board_info __initcon
+@@ -1035,6 +1050,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
@@ -54,7 +30,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -1595,6 +1635,7 @@ static struct of_device_id const bcm963x
+@@ -1079,6 +1095,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6338
{ .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
{ .compatible = "brcm,bcm96338w", .data = &board_96338w, },
diff --git a/target/linux/brcm63xx/patches-3.18/510-board_spw303v.patch b/target/linux/brcm63xx/patches-3.18/510-board_spw303v.patch
index 0635ef70a3..61aa2e9eda 100644
--- a/target/linux/brcm63xx/patches-3.18/510-board_spw303v.patch
+++ b/target/linux/brcm63xx/patches-3.18/510-board_spw303v.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1574,6 +1574,72 @@ static struct board_info __initdata boar
+@@ -1034,6 +1034,21 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
@@ -18,62 +18,11 @@
+ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "spw303v:green:power+adsl",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:red:power+adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:ppp",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:ses",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:voip",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "spw303v:green:pots",
-+ .gpio = 31,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "ses",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ }
+};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1621,6 +1687,7 @@ static const struct board_info __initcon
+@@ -1081,6 +1096,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
@@ -81,7 +30,7 @@
#endif
};
-@@ -1670,6 +1737,7 @@ static struct of_device_id const bcm963x
+@@ -1130,6 +1146,7 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
{ .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
diff --git a/target/linux/brcm63xx/patches-3.18/511-board_V2500V.patch b/target/linux/brcm63xx/patches-3.18/511-board_V2500V.patch
index ad5ebd4cab..99a684e281 100644
--- a/target/linux/brcm63xx/patches-3.18/511-board_V2500V.patch
+++ b/target/linux/brcm63xx/patches-3.18/511-board_V2500V.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -935,6 +935,65 @@ static struct board_info __initdata boar
+@@ -760,6 +760,27 @@ static struct board_info __initdata boar
},
},
};
@@ -24,49 +24,11 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "V2500V_BB:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "V2500V_BB:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2500V_BB:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ { .name = "V2500V_BB:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2500V_BB:green:wireless",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 31,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1675,6 +1734,7 @@ static const struct board_info __initcon
+@@ -1084,6 +1105,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
@@ -74,7 +36,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1713,6 +1773,7 @@ static struct of_device_id const bcm963x
+@@ -1122,6 +1144,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
@@ -82,7 +44,7 @@
{ .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
-@@ -1772,6 +1833,22 @@ void __init board_bcm963xx_init(void)
+@@ -1181,6 +1204,22 @@ void __init board_bcm963xx_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
diff --git a/target/linux/brcm63xx/patches-3.18/512-board_BTV2110.patch b/target/linux/brcm63xx/patches-3.18/512-board_BTV2110.patch
index 0d29b074e8..889d00218c 100644
--- a/target/linux/brcm63xx/patches-3.18/512-board_BTV2110.patch
+++ b/target/linux/brcm63xx/patches-3.18/512-board_BTV2110.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -473,6 +473,64 @@ static struct board_info __initdata boar
+@@ -427,6 +427,25 @@ static struct board_info __initdata boar
},
};
@@ -20,52 +20,13 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "V2110:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "V2110:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2110:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ { .name = "V2110:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "V2110:green:wireless",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
+
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1735,6 +1793,7 @@ static const struct board_info __initcon
+@@ -1106,6 +1125,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
diff --git a/target/linux/brcm63xx/patches-3.18/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch b/target/linux/brcm63xx/patches-3.18/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
index 9775970105..8a6d856515 100644
--- a/target/linux/brcm63xx/patches-3.18/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
+++ b/target/linux/brcm63xx/patches-3.18/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
@@ -57,7 +57,7 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
#endif /* __BOARD_COMMON_H */
--- /dev/null
+++ b/arch/mips/bcm63xx/boards/board_livebox.c
-@@ -0,0 +1,212 @@
+@@ -0,0 +1,214 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
@@ -82,9 +82,6 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
+
+#define PFX "board_livebox: "
+
-+#define LIVEBOX_KEYS_POLL_INTERVAL 20
-+#define LIVEBOX_KEYS_DEBOUNCE_INTERVAL (LIVEBOX_KEYS_POLL_INTERVAL * 3)
-+
+static unsigned int mac_addr_used = 0;
+
+/*
@@ -123,51 +120,6 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
+ .cs = 2,
+ .ext_irq = 2,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "Livebox-blue-5g:red:adsl-fail",
-+ .gpio = 0,
-+ .active_low = 0,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:adsl",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:traffic",
-+ .gpio = 2,
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:phone",
-+ .gpio = 3,
-+ },
-+ {
-+ .name = "Livebox-blue-5g:red:wifi",
-+ .gpio = 4,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "BTN_1",
-+ .gpio = 36,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = BTN_1,
-+ .debounce_interval = LIVEBOX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "BTN_2",
-+ .gpio = 7,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = BTN_2,
-+ .debounce_interval = LIVEBOX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+
-+ },
+};
+#endif
+
diff --git a/target/linux/brcm63xx/patches-3.18/514-board_ct536_ct5621.patch b/target/linux/brcm63xx/patches-3.18/514-board_ct536_ct5621.patch
index c75e00beb5..0db568cac7 100644
--- a/target/linux/brcm63xx/patches-3.18/514-board_ct536_ct5621.patch
+++ b/target/linux/brcm63xx/patches-3.18/514-board_ct536_ct5621.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -531,6 +531,58 @@ static struct board_info __initdata boar
+@@ -446,6 +446,34 @@ static struct board_info __initdata boar
};
@@ -25,30 +25,6 @@
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+
-+ .leds = {
-+ {
-+ .name = "CT536_CT5621:green:adsl-fail",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT536_CT5621:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -59,7 +35,7 @@
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1794,6 +1846,7 @@ static const struct board_info __initcon
+@@ -1126,6 +1154,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
@@ -67,7 +43,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1833,6 +1886,8 @@ static struct of_device_id const bcm963x
+@@ -1165,6 +1194,8 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
{ .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
diff --git a/target/linux/brcm63xx/patches-3.18/515-board_DWV-S0_fixes.patch b/target/linux/brcm63xx/patches-3.18/515-board_DWV-S0_fixes.patch
index 278cf2c536..5a73805530 100644
--- a/target/linux/brcm63xx/patches-3.18/515-board_DWV-S0_fixes.patch
+++ b/target/linux/brcm63xx/patches-3.18/515-board_DWV-S0_fixes.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1332,6 +1332,8 @@ static struct board_info __initdata boar
+@@ -984,6 +984,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
@@ -9,7 +9,7 @@
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1348,6 +1350,7 @@ static struct board_info __initdata boar
+@@ -1000,6 +1002,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
diff --git a/target/linux/brcm63xx/patches-3.18/516-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.18/516-board_96348A-122.patch
index e9375e4a74..b4b1476b9a 100644
--- a/target/linux/brcm63xx/patches-3.18/516-board_96348A-122.patch
+++ b/target/linux/brcm63xx/patches-3.18/516-board_96348A-122.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -583,6 +583,76 @@ static struct board_info __initdata boar
+@@ -474,6 +474,31 @@ static struct board_info __initdata boar
},
};
@@ -22,51 +22,6 @@
+
+ .has_ohci0 = 1,
+
-+ .leds = {
-+ {
-+ .name = "96348A-122:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96348A-122:red:alarm",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348A-122:green:wps",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 35,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -77,7 +32,7 @@
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1850,6 +1920,7 @@ static const struct board_info __initcon
+@@ -1158,6 +1183,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
@@ -85,7 +40,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1890,6 +1961,7 @@ static struct of_device_id const bcm963x
+@@ -1198,6 +1224,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
{ .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
{ .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
diff --git a/target/linux/brcm63xx/patches-3.18/517-RTA1205W_16_uart_fixes.patch b/target/linux/brcm63xx/patches-3.18/517-RTA1205W_16_uart_fixes.patch
index 10d2508e19..7fac28fd56 100644
--- a/target/linux/brcm63xx/patches-3.18/517-RTA1205W_16_uart_fixes.patch
+++ b/target/linux/brcm63xx/patches-3.18/517-RTA1205W_16_uart_fixes.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -857,6 +857,7 @@ static struct board_info __initdata boar
+@@ -647,6 +647,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
diff --git a/target/linux/brcm63xx/patches-3.18/519_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.18/519_board_CPVA502plus.patch
index 58a793f670..b0233a1ab1 100644
--- a/target/linux/brcm63xx/patches-3.18/519_board_CPVA502plus.patch
+++ b/target/linux/brcm63xx/patches-3.18/519_board_CPVA502plus.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -530,6 +530,40 @@ static struct board_info __initdata boar
+@@ -445,6 +445,27 @@ static struct board_info __initdata boar
},
};
@@ -22,26 +22,13 @@
+ .phy_id = 0,
+ },
+
-+ .leds = {
-+ {
-+ .name = "CPVA502+:green:phone",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CPVA502+:amber:link",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .ephy_reset_gpio = 4,
+ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
+};
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -1922,6 +1956,7 @@ static const struct board_info __initcon
+@@ -1185,6 +1206,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
diff --git a/target/linux/brcm63xx/patches-3.18/520-bcm63xx-add-support-for-96368MVWG-board.patch b/target/linux/brcm63xx/patches-3.18/520-bcm63xx-add-support-for-96368MVWG-board.patch
index b3a886ec5d..2d144e5916 100644
--- a/target/linux/brcm63xx/patches-3.18/520-bcm63xx-add-support-for-96368MVWG-board.patch
+++ b/target/linux/brcm63xx/patches-3.18/520-bcm63xx-add-support-for-96368MVWG-board.patch
@@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1920,6 +1920,85 @@ static struct board_info __initdata boar
+@@ -1170,6 +1170,59 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
@@ -61,32 +61,6 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "96368MVWG:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVWG:green:ppp",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "96368MVWG:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96368MVWG:green:wps",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVWG:red:ppp-fail",
-+ .gpio = 31,
-+ },
-+ },
-+
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+};
@@ -96,7 +70,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1971,6 +2050,10 @@ static const struct board_info __initcon
+@@ -1221,6 +1274,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
@@ -107,7 +81,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -2027,6 +2110,7 @@ static struct of_device_id const bcm963x
+@@ -1277,6 +1334,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
diff --git a/target/linux/brcm63xx/patches-3.18/521-bcm63xx-add-support-for-96368MVNgr-board.patch b/target/linux/brcm63xx/patches-3.18/521-bcm63xx-add-support-for-96368MVNgr-board.patch
index e4b65084d6..1df11888aa 100644
--- a/target/linux/brcm63xx/patches-3.18/521-bcm63xx-add-support-for-96368MVNgr-board.patch
+++ b/target/linux/brcm63xx/patches-3.18/521-bcm63xx-add-support-for-96368MVNgr-board.patch
@@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1996,6 +1996,72 @@ static struct board_info __initdata boar
+@@ -1220,6 +1220,46 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
@@ -50,39 +50,13 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "96368MVNgr:green:adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVNgr:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "96368MVNgr:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96368MVNgr:green:wps",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96368MVNgr:green:inet-fail",
-+ .gpio = 3,
-+ },
-+ },
-+
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -2053,6 +2119,7 @@ static const struct board_info __initcon
+@@ -1277,6 +1317,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
@@ -90,7 +64,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
#endif
};
-@@ -2110,6 +2177,7 @@ static struct of_device_id const bcm963x
+@@ -1334,6 +1375,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
diff --git a/target/linux/brcm63xx/patches-3.18/522-MIPS-BCM63XX-add-96328avng-reference-board.patch b/target/linux/brcm63xx/patches-3.18/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
index 680a230bae..5ca3954797 100644
--- a/target/linux/brcm63xx/patches-3.18/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
+++ b/target/linux/brcm63xx/patches-3.18/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
@@ -9,10 +9,11 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -93,13 +93,45 @@ static struct board_info __initdata boar
- .port_no = 0,
+@@ -109,6 +109,33 @@ static struct board_info __initdata boar
+ .active_low = 1,
+ },
},
-
++
+ .has_enetsw = 1,
+
+ .enetsw = {
@@ -39,29 +40,6 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
+ },
+ },
+ },
-+
- .leds = {
- {
-- .name = "96328avng::ppp-fail",
-+ .name = "96328avng::internet-fail",
- .gpio = 2,
- .active_low = 1,
- },
- {
-+ .name = "96328avng::dsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
- .name = "96328avng::power",
- .gpio = 4,
- .active_low = 1,
-@@ -116,7 +148,7 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- {
-- .name = "96328avng::ppp",
-+ .name = "96328avng::internet",
- .gpio = 11,
- .active_low = 1,
- },
+ };
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
diff --git a/target/linux/brcm63xx/patches-3.18/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch b/target/linux/brcm63xx/patches-3.18/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
index 8fef7d547b..6b5d7d2459 100644
--- a/target/linux/brcm63xx/patches-3.18/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
+++ b/target/linux/brcm63xx/patches-3.18/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -154,6 +154,76 @@ static struct board_info __initdata boar
+@@ -137,6 +137,41 @@ static struct board_info __initdata boar
},
},
};
@@ -47,46 +47,11 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
+ },
+ },
+ },
-+
-+ .leds = {
-+ {
-+ .name = "963281TAN::internet",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "963281TAN::internet-fail",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::power-fail",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::wps",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "963281TAN::dsl",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2105,6 +2175,7 @@ static const struct board_info __initcon
+@@ -1298,6 +1333,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -94,7 +59,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2161,6 +2232,7 @@ static struct of_device_id const bcm963x
+@@ -1354,6 +1390,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-3.18/524-board_dsl_274xb_rev_f.patch b/target/linux/brcm63xx/patches-3.18/524-board_dsl_274xb_rev_f.patch
index d8b8cc4500..a5c726dd82 100644
--- a/target/linux/brcm63xx/patches-3.18/524-board_dsl_274xb_rev_f.patch
+++ b/target/linux/brcm63xx/patches-3.18/524-board_dsl_274xb_rev_f.patch
@@ -10,8 +10,8 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -224,6 +224,111 @@ static struct board_info __initdata boar
-
+@@ -172,6 +172,51 @@ static struct board_info __initdata boar
+ },
},
};
+
@@ -58,71 +58,11 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ },
+ },
+ },
-+
-+ .leds = {
-+ {
-+ .name = "dsl-274xb:red:internet",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:dsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "dsl-274xb:red:power",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:blue:wps",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-274xb:green:internet",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "wifi",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2176,6 +2281,7 @@ static const struct board_info __initcon
+@@ -1334,6 +1379,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -130,7 +70,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2234,6 +2340,7 @@ static struct of_device_id const bcm963x
+@@ -1392,6 +1438,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6328
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
diff --git a/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch b/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch
index 0dd54daad7..eb7a53fefe 100644
--- a/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch
+++ b/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1158,6 +1158,59 @@ static struct board_info __initdata boar
+@@ -835,6 +835,25 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -21,46 +21,12 @@
+ },
+
+ .has_ohci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "96348W3:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "96348W3:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348W3::adsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348W3::internet",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
static struct board_info __initdata board_96348_D4PW = {
.name = "D-4P-W",
.expected_cpu_id = 0x6348,
-@@ -2311,6 +2364,7 @@ static const struct board_info __initcon
+@@ -1409,6 +1428,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
diff --git a/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch b/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch
index d08822a6c5..ac24ebd047 100644
--- a/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch
+++ b/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch
@@ -1,61 +1,9 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -43,6 +43,12 @@
- #define NB4_SPI_GPIO_CLK 6
- #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
-
-+#define CT6373_PID_OFFSET 0xff80
-+#define CT6373_74X164_GPIO_BASE 64
-+#define CT6373_SPI_GPIO_MOSI 7
-+#define CT6373_SPI_GPIO_CLK 6
-+#define CT6373_74HC64_GPIO(X) (CT6373_74X164_GPIO_BASE + (X))
-+
- /*
- * known 3368 boards
- */
-@@ -2035,6 +2041,124 @@ static struct board_info __initdata boar
- .num_spis = ARRAY_SIZE(nb4_spi_devices),
+@@ -1251,6 +1251,31 @@ static struct board_info __initdata boar
+ .num_usbh_ports = 2,
};
-+
-+struct spi_gpio_platform_data ct6373_spi_gpio_data = {
-+ .sck = CT6373_SPI_GPIO_CLK,
-+ .mosi = CT6373_SPI_GPIO_MOSI,
-+ .miso = SPI_GPIO_NO_MISO,
-+ .num_chipselect = 1,
-+};
-+
-+static struct platform_device ct6373_spi_gpio = {
-+ .name = "spi_gpio",
-+ .id = 1,
-+ .dev = {
-+ .platform_data = &ct6373_spi_gpio_data,
-+ },
-+};
-+
-+static struct platform_device * __initdata ct6373_devices[] = {
-+ &ct6373_spi_gpio,
-+};
-+
-+#if 0 /* FIXME: 3.14 dropped non-DT support */
-+const struct gen_74x164_chip_platform_data ct6373_74x164_platform_data = {
-+ .base = CT6373_74X164_GPIO_BASE
-+};
-+#endif
-+
-+static struct spi_board_info ct6373_spi_devices[] = {
-+#if 0 /* FIXME: 3.14 dropped non-DT support */
-+ {
-+ .modalias = "74x164",
-+ .max_speed_hz = 781000,
-+ .bus_num = 1,
-+ .controller_data = (void *) SPI_GPIO_NO_CHIPSELECT,
-+ .mode = SPI_MODE_0,
-+ .platform_data = &ct6373_74x164_platform_data
-+ }
-+#endif
-+};
-+
+static struct board_info __initdata board_ct6373_1 = {
+ .name = "CT6373-1",
+ .expected_cpu_id = 0x6358,
@@ -74,71 +22,17 @@
+ .force_duplex_full = 1,
+ },
+
-+ .leds = {
-+ {
-+ .name = "CT6373-1:green:power",
-+ .gpio = 0,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "CT6373-1:green:usb",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:adsl",
-+ .gpio = CT6373_74HC64_GPIO(0),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:line",
-+ .gpio = CT6373_74HC64_GPIO(1),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:fxs1",
-+ .gpio = CT6373_74HC64_GPIO(2),
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "CT6373-1:green:fxs2",
-+ .gpio = CT6373_74HC64_GPIO(3),
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 35,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
+ .pci_dev = 1,
+ },
-+
-+ .devs = ct6373_devices,
-+ .num_devs = ARRAY_SIZE(ct6373_devices),
-+ .spis = ct6373_spi_devices,
-+ .num_spis = ARRAY_SIZE(ct6373_spi_devices),
+};
+
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2376,6 +2500,7 @@ static const struct board_info __initcon
+@@ -1440,6 +1465,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
@@ -146,7 +40,7 @@
&board_HW553,
&board_spw303v,
#endif
-@@ -2429,6 +2554,7 @@ static struct of_device_id const bcm963x
+@@ -1493,6 +1519,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch b/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch
index e39e8c47ee..b83a966953 100644
--- a/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch
+++ b/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch
@@ -1,8 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2301,6 +2301,73 @@ static struct board_info __initdata boar
- },
- }
+@@ -1318,6 +1318,36 @@ static struct board_info __initdata boar
+ .use_internal_phy = 1,
+ },
};
+
+/* D-Link DVA-G3810BN/TL */
@@ -33,48 +33,11 @@
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "DVAG3810BN::voip",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "DVAG3810BN::dsl",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DVAG3810BN::internet",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DVAG3810BN::power",
-+ .gpio = 4,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "DVAG3810BN::stop",
-+ .gpio = 5,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -2503,6 +2570,7 @@ static const struct board_info __initcon
+@@ -1468,6 +1498,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
@@ -82,7 +45,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -2557,6 +2625,7 @@ static struct of_device_id const bcm963x
+@@ -1522,6 +1553,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch b/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch
index 94ad4c902c..cf82d94836 100644
--- a/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch
+++ b/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch
@@ -1,23 +1,25 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -18,6 +18,7 @@
- #if 0 /* FIXME: 3.14 removed non-DT support */
- #include <linux/spi/74x164.h>
- #endif
+@@ -12,6 +12,8 @@
+ #include <linux/string.h>
+ #include <linux/gpio_keys.h>
+ #include <linux/input.h>
++#include <linux/platform_device.h>
+#include <linux/rtl8367.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -42,6 +43,8 @@
- #define NB4_SPI_GPIO_MOSI 7
- #define NB4_SPI_GPIO_CLK 6
- #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
+@@ -31,6 +33,9 @@
+ #define BCM963XX_KEYS_POLL_INTERVAL 20
+ #define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
+
+#define NB6_GPIO_RTL8367_SDA 18
+#define NB6_GPIO_RTL8367_SCK 20
-
- #define CT6373_PID_OFFSET 0xff80
- #define CT6373_74X164_GPIO_BASE 64
-@@ -2370,6 +2373,104 @@ static struct board_info __initdata boar
++
+ /*
+ * known 3368 boards
+ */
+@@ -1350,6 +1355,69 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
@@ -79,41 +81,6 @@
+ },
+ },
+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 24,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 25,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 12,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "service",
-+ .gpio = 10,
-+ .type = EV_KEY,
-+ .code = BTN_0,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .devs = nb6_devices,
+ .num_devs = ARRAY_SIZE(nb6_devices),
+};
@@ -122,7 +89,7 @@
/*
* known 6368 boards
*/
-@@ -2573,6 +2674,10 @@ static const struct board_info __initcon
+@@ -1501,6 +1569,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
@@ -133,7 +100,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -2636,6 +2741,9 @@ static struct of_device_id const bcm963x
+@@ -1564,6 +1636,9 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
diff --git a/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch b/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch
index 62d3eb4a6b..0c19a6e044 100644
--- a/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch
+++ b/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1103,6 +1103,57 @@ static struct board_info __initdata boar
+@@ -776,6 +776,23 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -19,46 +19,12 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "F@ST2604:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "F@ST2604:red:power",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2604:red:inet",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2604:green:wps",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -2645,6 +2696,7 @@ static const struct board_info __initcon
+@@ -1540,6 +1557,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
@@ -66,7 +32,7 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -2717,6 +2769,7 @@ static struct of_device_id const bcm963x
+@@ -1612,6 +1630,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
diff --git a/target/linux/brcm63xx/patches-3.18/530-board_A4001N1.patch b/target/linux/brcm63xx/patches-3.18/530-board_A4001N1.patch
index 9a05d98548..40ff98b30f 100644
--- a/target/linux/brcm63xx/patches-3.18/530-board_A4001N1.patch
+++ b/target/linux/brcm63xx/patches-3.18/530-board_A4001N1.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -234,6 +234,133 @@ static struct board_info __initdata boar
+@@ -178,6 +178,50 @@ static struct board_info __initdata boar
},
};
@@ -41,89 +41,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "A4001N1:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "A4001N1:red:power",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:inet",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:inet",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:ppp",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:ppp",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:3g",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:3g",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:wlan",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:green:eth",
-+ .gpio = 31,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N1:red:eth",
-+ .gpio = 20,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -134,7 +51,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -2677,6 +2804,7 @@ static const struct board_info __initcon
+@@ -1538,6 +1582,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -142,7 +59,7 @@
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
-@@ -2742,6 +2870,7 @@ static struct of_device_id const bcm963x
+@@ -1603,6 +1648,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-3.18/531-board_AR-5387un.patch b/target/linux/brcm63xx/patches-3.18/531-board_AR-5387un.patch
index 82d6c807a5..9598ceb508 100644
--- a/target/linux/brcm63xx/patches-3.18/531-board_AR-5387un.patch
+++ b/target/linux/brcm63xx/patches-3.18/531-board_AR-5387un.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -164,6 +164,115 @@ static struct board_info __initdata boar
+@@ -143,6 +143,79 @@ static struct board_info __initdata boar
},
};
@@ -68,42 +68,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "AR-5387un:green:power",
-+ .gpio = 8,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "AR-5387un:red:power",
-+ .gpio = 4,
-+ },
-+ {
-+ .name = "AR-5387un:green:inet",
-+ .gpio = 7,
-+ },
-+ {
-+ .name = "AR-5387un:red:inet",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "AR-5387un:green:dsl",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -116,7 +80,7 @@
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -2803,6 +2912,7 @@ static const struct board_info __initcon
+@@ -1581,6 +1654,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -124,7 +88,7 @@
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
-@@ -2873,6 +2983,7 @@ static struct of_device_id const bcm963x
+@@ -1651,6 +1725,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
diff --git a/target/linux/brcm63xx/patches-3.18/532-board_AR-5381u.patch b/target/linux/brcm63xx/patches-3.18/532-board_AR-5381u.patch
index 941bf8fdfa..c1984c4ad6 100644
--- a/target/linux/brcm63xx/patches-3.18/532-board_AR-5381u.patch
+++ b/target/linux/brcm63xx/patches-3.18/532-board_AR-5381u.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -164,6 +164,91 @@ static struct board_info __initdata boar
+@@ -143,6 +143,61 @@ static struct board_info __initdata boar
},
};
@@ -50,36 +50,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "AR-5381u:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "AR-5381u:red:alarm",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AR-5381u:green:inet",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -92,7 +62,7 @@
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -2912,6 +2997,7 @@ static const struct board_info __initcon
+@@ -1654,6 +1709,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -100,7 +70,7 @@
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
-@@ -2983,6 +3069,7 @@ static struct of_device_id const bcm963x
+@@ -1725,6 +1781,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
diff --git a/target/linux/brcm63xx/patches-3.18/533-board_rta770bw.patch b/target/linux/brcm63xx/patches-3.18/533-board_rta770bw.patch
index 059823ea06..a402340b8b 100644
--- a/target/linux/brcm63xx/patches-3.18/533-board_rta770bw.patch
+++ b/target/linux/brcm63xx/patches-3.18/533-board_rta770bw.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -833,6 +833,55 @@ static struct board_info __initdata boar
+@@ -544,6 +544,55 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
@@ -56,7 +56,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3011,6 +3060,7 @@ static const struct board_info __initcon
+@@ -1723,6 +1772,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
diff --git a/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch b/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch
index de672c0cf7..f1664a476e 100644
--- a/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch
+++ b/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch
@@ -6,9 +6,9 @@
#include <linux/input.h>
+#include <linux/pci_ids.h>
#include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/spi_gpio.h>
-@@ -2660,6 +2661,402 @@ static struct board_info __initdata boar
+ #include <linux/rtl8367.h>
+ #include <asm/addrspace.h>
+@@ -1547,6 +1548,93 @@ static struct board_info __initdata boar
},
};
@@ -39,105 +39,6 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "HW556:green:lan1",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan2",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:red:message",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan1",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:hspa",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan2",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan3",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan3",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan4",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan4",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "help",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_HELP,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "restart",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_CONFIG,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+static struct board_info __initdata board_HW556_A = {
+ .name = "HW556_A",
@@ -167,111 +68,6 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "HW556:red:message",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:hspa",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:red:all",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:green:lan1",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan1",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan2",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan2",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan3",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan3",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan4",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan4",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "help",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_HELP,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "restart",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_CONFIG,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+static struct board_info __initdata board_HW556_B = {
+ .name = "HW556_B",
@@ -301,117 +97,12 @@
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "HW556:red:message",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:hspa",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:red:all",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "HW556:green:lan1",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan1",
-+ .gpio = 13,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan2",
-+ .gpio = 15,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan2",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan3",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan3",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:green:lan4",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "HW556:red:lan4",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "help",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_HELP,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wlan",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "restart",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_CONFIG,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3096,6 +3493,9 @@ static const struct board_info __initcon
+@@ -1808,6 +1896,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
@@ -421,7 +112,7 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3162,6 +3562,9 @@ static struct of_device_id const bcm963x
+@@ -1874,6 +1965,9 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
{ .compatible = "huawei,hg553", .data = &board_HW553, },
diff --git a/target/linux/brcm63xx/patches-3.18/535-board_rta770w.patch b/target/linux/brcm63xx/patches-3.18/535-board_rta770w.patch
index 0d55786467..eb2d0c393f 100644
--- a/target/linux/brcm63xx/patches-3.18/535-board_rta770w.patch
+++ b/target/linux/brcm63xx/patches-3.18/535-board_rta770w.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -883,6 +883,60 @@ static struct board_info __initdata boar
+@@ -594,6 +594,60 @@ static struct board_info __initdata boar
},
},
};
@@ -61,7 +61,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3458,6 +3512,7 @@ static const struct board_info __initcon
+@@ -1861,6 +1915,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
diff --git a/target/linux/brcm63xx/patches-3.18/536-board_fast2704.patch b/target/linux/brcm63xx/patches-3.18/536-board_fast2704.patch
index 95388a29fe..adef676d3c 100644
--- a/target/linux/brcm63xx/patches-3.18/536-board_fast2704.patch
+++ b/target/linux/brcm63xx/patches-3.18/536-board_fast2704.patch
@@ -12,7 +12,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -660,6 +660,122 @@ static struct board_info __initdata boar
+@@ -395,6 +395,44 @@ static struct board_info __initdata boar
},
},
};
@@ -53,89 +53,11 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
+ },
+ },
+ },
-+
-+ .leds = {
-+ /* front LEDs */
-+ {
-+ .name = "F@ST2704V2:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "F@ST2704V2:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:red:inet",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:green:dsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:green:inet",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "F@ST2704V2:green:usb",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+
-+ /* side button LEDs */
-+ {
-+ .name = "F@ST2704V2:green:wps",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+
-+ /* FIXME: can't control gpio0 line in "out" state, needs further investigation */
-+ /*
-+ {
-+ .name = "F@ST2704V2:green:rfkill",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ */
-+
-+ },
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "rfkill",
-+ .gpio = 15,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -3502,6 +3618,7 @@ static const struct board_info __initcon
+@@ -1905,6 +1943,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
@@ -143,7 +65,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -3577,6 +3694,7 @@ static struct of_device_id const bcm963x
+@@ -1980,6 +2019,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
{ .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
diff --git a/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch b/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch
index 031bd5ecb2..55c754a7f9 100644
--- a/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch
+++ b/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch
@@ -6,7 +6,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3457,6 +3457,96 @@ static struct board_info __initdata boar
+@@ -1834,6 +1834,43 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
@@ -46,64 +46,11 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
+ },
+ },
+ },
-+
-+ .leds = {
-+ {
-+ .name = "fast2504n:orange:power",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:green:power",
-+ .gpio = 10,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "fast2504n:red:internet",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:green:ok",
-+ .gpio = 28,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:orange:ok",
-+ .gpio = 29,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "fast2504n:orange:wlan",
-+ .gpio = 30,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 24,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 25,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -3674,6 +3764,7 @@ static const struct board_info __initcon
+@@ -1999,6 +2036,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
@@ -111,7 +58,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -3748,6 +3839,7 @@ static struct of_device_id const bcm963x
+@@ -2073,6 +2111,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
diff --git a/target/linux/brcm63xx/patches-3.18/550-MIPS-BCM63XX-remove-leds-and-buttons.patch b/target/linux/brcm63xx/patches-3.18/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
new file mode 100644
index 0000000000..d4365f9320
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.18/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
@@ -0,0 +1,343 @@
+From 997f53b174c63153335508c22dc4493e8e5808d6 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sun, 22 Feb 2015 17:52:32 +0100
+Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 262 -----------------------------
+ 1 file changed, 262 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -56,14 +56,6 @@ static struct board_info __initdata boar
+ .use_internal_phy = 1,
+ },
+
+- .leds = {
+- {
+- .name = "CVG834G:green:power",
+- .gpio = 37,
+- .default_trigger= "default-on",
+- },
+- },
+-
+ .ephy_reset_gpio = 36,
+ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
+ };
+@@ -87,35 +79,6 @@ static struct board_info __initdata boar
+ .port_no = 0,
+ },
+
+- .leds = {
+- {
+- .name = "96328avng::ppp-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "96328avng::power",
+- .gpio = 4,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "96328avng::power-fail",
+- .gpio = 8,
+- .active_low = 1,
+- },
+- {
+- .name = "96328avng::wps",
+- .gpio = 9,
+- .active_low = 1,
+- },
+- {
+- .name = "96328avng::ppp",
+- .gpio = 11,
+- .active_low = 1,
+- },
+- },
+-
+ .has_enetsw = 1,
+
+ .enetsw = {
+@@ -451,35 +414,6 @@ static struct board_info __initdata boar
+ },
+
+ .has_ohci0 = 1,
+-
+- .leds = {
+- {
+- .name = "adsl",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ses",
+- .gpio = 5,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- }
+- },
+ };
+
+ static struct board_info __initdata board_96338w = {
+@@ -492,35 +426,6 @@ static struct board_info __initdata boar
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ses",
+- .gpio = 5,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96338w2_e7t = {
+@@ -705,36 +610,6 @@ static struct board_info __initdata boar
+ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+-
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96348gw_10 = {
+@@ -767,35 +642,6 @@ static struct board_info __initdata boar
+ .cs = 2,
+ .ext_irq = 2,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96348gw_11 = {
+@@ -822,35 +668,6 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+
+@@ -974,35 +791,6 @@ static struct board_info __initdata boar
+ .ext_irq = 2,
+ .cs = 2,
+ },
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 2,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 3,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 0,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 1,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_gw6200 = {
+@@ -1367,33 +1155,6 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+-
+- .leds = {
+- {
+- .name = "adsl-fail",
+- .gpio = 15,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp",
+- .gpio = 22,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 23,
+- .active_low = 1,
+- },
+- {
+- .name = "power",
+- .gpio = 4,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 5,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_96358vw2 = {
+@@ -1421,29 +1182,6 @@ static struct board_info __initdata boar
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
+-
+- .leds = {
+- {
+- .name = "adsl",
+- .gpio = 22,
+- .active_low = 1,
+- },
+- {
+- .name = "ppp-fail",
+- .gpio = 23,
+- },
+- {
+- .name = "power",
+- .gpio = 5,
+- .active_low = 1,
+- .default_trigger = "default-on",
+- },
+- {
+- .name = "stop",
+- .gpio = 4,
+- .active_low = 1,
+- },
+- },
+ };
+
+ static struct board_info __initdata board_CPVA642 = {
diff --git a/target/linux/brcm63xx/patches-3.18/550-alice_gate2_leds.patch b/target/linux/brcm63xx/patches-3.18/550-alice_gate2_leds.patch
deleted file mode 100644
index dbf53b7bf5..0000000000
--- a/target/linux/brcm63xx/patches-3.18/550-alice_gate2_leds.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2292,6 +2292,99 @@ static struct board_info __initdata boar
-
- .has_ohci0 = 1,
- .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "AGPF-S0:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "AGPF-S0:red:service",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:service",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:adsl",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:adsl",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:wifi",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:wifi",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:internet",
-+ .gpio = 25,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:internet",
-+ .gpio = 24,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:usr1",
-+ .gpio = 27,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:usr1",
-+ .gpio = 26,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:red:usr2",
-+ .gpio = 30,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AGPF-S0:green:usr2",
-+ .gpio = 29,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_DWVS0 = {
diff --git a/target/linux/brcm63xx/patches-3.18/551-96348gw_a_leds.patch b/target/linux/brcm63xx/patches-3.18/551-96348gw_a_leds.patch
deleted file mode 100644
index f574148a1f..0000000000
--- a/target/linux/brcm63xx/patches-3.18/551-96348gw_a_leds.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1757,6 +1757,19 @@ static struct board_info __initdata boar
- },
-
- .has_ohci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "96348GW-A::adsl",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "96348GW-A::usb",
-+ .gpio = 0,
-+ .active_low = 1,
-+ }
-+ },
- };
-
- /* NetGear DG834G v4 */
diff --git a/target/linux/brcm63xx/patches-3.18/552-board_96348gw-10_reset_button.patch b/target/linux/brcm63xx/patches-3.18/552-board_96348gw-10_reset_button.patch
deleted file mode 100644
index b32fa93099..0000000000
--- a/target/linux/brcm63xx/patches-3.18/552-board_96348gw-10_reset_button.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1163,6 +1163,17 @@ static struct board_info __initdata boar
- .active_low = 1,
- },
- },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 6,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- static struct board_info __initdata board_96348gw_11 = {
diff --git a/target/linux/brcm63xx/patches-3.18/553-boards_probe_switch.patch b/target/linux/brcm63xx/patches-3.18/553-boards_probe_switch.patch
index ed7ceb999e..7bff76a3d7 100644
--- a/target/linux/brcm63xx/patches-3.18/553-boards_probe_switch.patch
+++ b/target/linux/brcm63xx/patches-3.18/553-boards_probe_switch.patch
@@ -1,24 +1,17 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -789,6 +789,8 @@ static struct board_info __initdata boar
+@@ -423,6 +423,10 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
+ .has_phy = 1,
+ .phy_id = 0,
- .force_speed_100 = 1,
- .force_duplex_full = 1,
- },
-@@ -832,6 +834,8 @@ static struct board_info __initdata boar
- .has_uart0 = 1,
- .has_enet0 = 1,
- .enet0 = {
+ .has_phy = 1,
+ .phy_id = 0,
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1119,6 +1123,8 @@ static struct board_info __initdata boar
+@@ -627,6 +631,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -27,7 +20,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1192,6 +1198,8 @@ static struct board_info __initdata boar
+@@ -660,6 +666,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -36,7 +29,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1470,6 +1478,8 @@ static struct board_info __initdata boar
+@@ -807,6 +815,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -45,7 +38,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1646,6 +1656,8 @@ static struct board_info __initdata boar
+@@ -869,6 +879,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -54,7 +47,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1721,6 +1733,8 @@ static struct board_info __initdata boar
+@@ -910,6 +922,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -63,7 +56,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1743,6 +1757,8 @@ static struct board_info __initdata boar
+@@ -932,6 +946,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -72,7 +65,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1763,6 +1779,8 @@ static struct board_info __initdata boar
+@@ -952,6 +968,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
@@ -81,7 +74,7 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2116,6 +2134,8 @@ static struct board_info __initdata boar
+@@ -1173,6 +1191,8 @@ static struct board_info __initdata boar
},
.enet1 = {
@@ -90,28 +83,14 @@
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2169,6 +2189,8 @@ static struct board_info __initdata boar
+@@ -1244,6 +1264,12 @@ static struct board_info __initdata boar
},
.enet1 = {
+ .has_phy = 1,
+ .phy_id = 0,
- .force_speed_100 = 1,
- .force_duplex_full = 1,
- },
-@@ -2310,6 +2332,8 @@ static struct board_info __initdata boar
- },
-
- .enet1 = {
+ .has_phy = 1,
+ .phy_id = 0,
- .force_speed_100 = 1,
- .force_duplex_full = 1,
- },
-@@ -2428,6 +2452,8 @@ static struct board_info __initdata boar
- },
-
- .enet1 = {
+ .has_phy = 1,
+ .phy_id = 0,
.force_speed_100 = 1,
diff --git a/target/linux/brcm63xx/patches-3.18/554-board_DWVS0_leds_buttons.patch b/target/linux/brcm63xx/patches-3.18/554-board_DWVS0_leds_buttons.patch
deleted file mode 100644
index fa27a487fd..0000000000
--- a/target/linux/brcm63xx/patches-3.18/554-board_DWVS0_leds_buttons.patch
+++ /dev/null
@@ -1,97 +0,0 @@
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2460,6 +2460,94 @@ static struct board_info __initdata boar
-
- .has_ohci0 = 1,
- .has_ehci0 = 1,
-+
-+ .leds = {
-+ {
-+ .name = "DWV-S0:red:power",
-+ .gpio = 5,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:power",
-+ .gpio = 4,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "DWV-S0:red:internet",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:internet",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:ADSL",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:ADSL",
-+ .gpio = 12,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:wifi",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:VoIP",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:VoIP",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:ethernet",
-+ .gpio = 1,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:ethernet",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:red:USB",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "DWV-S0:green:USB",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
- };
-
- /* D-Link DSL-274xB revison C2/C3 */
diff --git a/target/linux/brcm63xx/patches-3.18/555-board_96318ref.patch b/target/linux/brcm63xx/patches-3.18/555-board_96318ref.patch
index bf46a1ab7d..c179bbaa76 100644
--- a/target/linux/brcm63xx/patches-3.18/555-board_96318ref.patch
+++ b/target/linux/brcm63xx/patches-3.18/555-board_96318ref.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -86,6 +86,93 @@ static struct board_info __initdata boar
+@@ -62,6 +62,93 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_3368 */
/*
@@ -94,7 +94,7 @@
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -3932,6 +4019,9 @@ static const struct board_info __initcon
+@@ -1737,6 +1824,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
diff --git a/target/linux/brcm63xx/patches-3.18/556-board_96318ref_p300.patch b/target/linux/brcm63xx/patches-3.18/556-board_96318ref_p300.patch
index a4d8be626e..83eaa29ca1 100644
--- a/target/linux/brcm63xx/patches-3.18/556-board_96318ref_p300.patch
+++ b/target/linux/brcm63xx/patches-3.18/556-board_96318ref_p300.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -170,6 +170,94 @@ static struct board_info __initdata boar
+@@ -146,6 +146,94 @@ static struct board_info __initdata boar
},
},
};
@@ -95,7 +95,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -4021,6 +4109,7 @@ static const struct board_info __initcon
+@@ -1826,6 +1914,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
diff --git a/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch b/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch
index 783bb6ac6b..f0465ab56c 100644
--- a/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch
+++ b/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4101,6 +4101,75 @@ static struct board_info __initdata boar
+@@ -1906,6 +1906,75 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
@@ -76,7 +76,7 @@
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4181,6 +4250,9 @@ static const struct board_info __initcon
+@@ -1986,6 +2055,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
diff --git a/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch b/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch
index 32823e8a86..d72974e836 100644
--- a/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch
+++ b/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch
@@ -8,8 +8,8 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1424,6 +1424,51 @@ static struct board_info __initdata boar
- },
+@@ -853,6 +853,22 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
};
+static struct board_info __initdata board_96348gw_10_AR1004G = {
@@ -26,41 +26,12 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
-+
-+ .leds = {
-+ {
-+ .name = "AR1004G:green:inet",
-+ .gpio = 3,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AR1004G:green:power",
-+ .gpio = 0,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "AR1004G:red:power",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
+};
+
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -4221,6 +4266,7 @@ static const struct board_info __initcon
+@@ -2026,6 +2042,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
@@ -68,7 +39,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -4278,6 +4324,7 @@ static struct of_device_id const bcm963x
+@@ -2083,6 +2100,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
diff --git a/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch b/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch
index ebccfc0b0c..fb356f57cc 100644
--- a/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch
+++ b/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4212,6 +4212,108 @@ static struct board_info __initdata boar
+@@ -1988,6 +1988,108 @@ static struct board_info __initdata boar
},
},
};
@@ -109,7 +109,7 @@
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -4298,6 +4400,7 @@ static const struct board_info __initcon
+@@ -2074,6 +2176,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
diff --git a/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch
index 026d19519b..04dcf2030f 100644
--- a/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch
+++ b/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4149,6 +4149,131 @@ static struct board_info __initdata boar
+@@ -1925,6 +1925,131 @@ static struct board_info __initdata boar
* known 63268/63269 boards
*/
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -132,7 +132,7 @@
static struct board_info __initdata board_963269bhr = {
.name = "963269BHR",
.expected_cpu_id = 0x63268,
-@@ -4399,6 +4524,7 @@ static const struct board_info __initcon
+@@ -2175,6 +2300,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch
index 94b8778a10..1cc35476bc 100644
--- a/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch
+++ b/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch
@@ -1,14 +1,16 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -13,6 +13,7 @@
- #include <linux/gpio_keys.h>
+@@ -14,7 +14,9 @@
#include <linux/input.h>
#include <linux/pci_ids.h>
-+#include <linux/platform_data/b53.h>
#include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/spi_gpio.h>
-@@ -4143,6 +4144,117 @@ static struct board_info __initdata boar
++#include <linux/platform_data/b53.h>
+ #include <linux/rtl8367.h>
++#include <linux/spi/spi.h>
+ #include <asm/addrspace.h>
+ #include <bcm63xx_board.h>
+ #include <bcm63xx_cpu.h>
+@@ -1919,6 +1921,65 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
@@ -60,58 +62,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "WAP-5813n:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "WAP-5813n:red:power",
-+ .gpio = 24,
-+ },
-+ {
-+ .name = "WAP-5813n:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "WAP-5813n:red:inet",
-+ .gpio = 31,
-+ },
-+ {
-+ .name = "WAP-5813n:green:wps",
-+ .gpio = 23,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "wlan",
-+ .gpio = 32,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 35,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
@@ -126,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -4522,6 +4634,7 @@ static const struct board_info __initcon
+@@ -2298,6 +2359,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -134,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
-@@ -4603,6 +4716,7 @@ static struct of_device_id const bcm963x
+@@ -2379,6 +2441,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch
index ecc08e2d9d..a599794830 100644
--- a/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch
+++ b/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4145,6 +4145,116 @@ static struct board_info __initdata boar
+@@ -1922,6 +1922,60 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -49,62 +49,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "VR-3025u:green:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan1",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan2",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan3",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:lan4",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025u:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "VR-3025u:red:power",
-+ .gpio = 24,
-+ },
-+ {
-+ .name = "VR-3025u:red:inet",
-+ .gpio = 31,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
@@ -117,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4634,6 +4744,7 @@ static const struct board_info __initcon
+@@ -2359,6 +2413,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -125,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4716,6 +4827,7 @@ static struct of_device_id const bcm963x
+@@ -2441,6 +2496,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch
index 7b4ff2b0fd..610db1ea37 100644
--- a/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch
+++ b/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4255,6 +4255,116 @@ static struct board_info __initdata boar
+@@ -1976,6 +1976,60 @@ static struct board_info __initdata boar
},
};
@@ -49,62 +49,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "VR-3025un:green:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:inet",
-+ .gpio = 5,
-+ },
-+ {
-+ .name = "VR-3025un:green:lan1",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:lan2",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:lan3",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:iptv",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "VR-3025un:green:power",
-+ .gpio = 22,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "VR-3025un:red:power",
-+ .gpio = 24,
-+ },
-+ {
-+ .name = "VR-3025un:red:inet",
-+ .gpio = 31,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
@@ -117,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4745,6 +4855,7 @@ static const struct board_info __initcon
+@@ -2414,6 +2468,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
@@ -125,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4828,6 +4939,7 @@ static struct of_device_id const bcm963x
+@@ -2497,6 +2552,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
diff --git a/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch
index 1a173e99fa..9d08f39b90 100644
--- a/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch
+++ b/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4154,6 +4154,96 @@ static struct sprom_fixup __initdata vr3
+@@ -1931,6 +1931,49 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
@@ -40,53 +40,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "P870HW-51a:green:power",
-+ .gpio = 0,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "P870HW-51a:green:dsl",
-+ .gpio = 2,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "P870HW-51a:green:inet",
-+ .gpio = 22,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "P870HW-51a:orange:wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "P870HW-51a:red:inet",
-+ .gpio = 33,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 35,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ .active_low = 1,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -97,7 +50,7 @@
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -4854,6 +4944,7 @@ static const struct board_info __initcon
+@@ -2467,6 +2510,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -105,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -4941,6 +5032,7 @@ static struct of_device_id const bcm963x
+@@ -2554,6 +2598,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch b/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch
index d28c4afb69..c80392a1c4 100644
--- a/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch
+++ b/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch
@@ -1,7 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3206,6 +3206,56 @@ static struct board_info __initdata boar
- .num_spis = ARRAY_SIZE(ct6373_spi_devices),
+@@ -1569,6 +1569,37 @@ static struct board_info __initdata boar
+ },
};
+static struct board_info __initdata board_HW520 = {
@@ -28,25 +28,6 @@
+ .force_duplex_full = 1,
+ },
+
-+ .leds = {
-+ {
-+ .name = "HW520:green:net",
-+ .gpio = 32,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 37,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
@@ -57,7 +38,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -4928,6 +4978,7 @@ static const struct board_info __initcon
+@@ -2494,6 +2525,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@@ -65,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
-@@ -5009,6 +5060,7 @@ static struct of_device_id const bcm963x
+@@ -2575,6 +2607,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
diff --git a/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch b/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch
index 2873c53f31..e89d03552b 100644
--- a/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch
+++ b/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -605,6 +605,95 @@ static struct board_info __initdata boar
+@@ -447,6 +447,50 @@ static struct board_info __initdata boar
},
};
@@ -41,51 +41,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "A4001N:green:power",
-+ .gpio = 8,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "A4001N:red:power",
-+ .gpio = 4,
-+ },
-+ {
-+ .name = "A4001N:red:inet",
-+ .gpio = 1,
-+ },
-+ {
-+ .name = "A4001N:green:usb",
-+ .gpio = 10,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "A4001N:green:dsl",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "reset",
-+ .gpio = 23,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 24,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43225,
+ .pci_bus = 1,
@@ -96,7 +51,7 @@
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -4929,6 +5018,7 @@ static const struct board_info __initcon
+@@ -2476,6 +2520,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
@@ -104,7 +59,7 @@
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
-@@ -5013,6 +5103,7 @@ static struct of_device_id const bcm963x
+@@ -2560,6 +2605,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch b/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch
index 98c4664bf6..59458341cf 100644
--- a/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch
+++ b/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -259,6 +259,141 @@ static struct board_info __initdata boar
+@@ -236,6 +236,141 @@ static struct board_info __initdata boar
},
},
};
@@ -142,7 +142,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -5012,6 +5147,7 @@ static const struct board_info __initcon
+@@ -2514,6 +2649,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,