aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZoltan Herpai <wigyori@uid0.hu>2016-06-28 10:08:04 +0200
committerGitHub <noreply@github.com>2016-06-28 10:08:04 +0200
commiteaeb4e48938014039899b0312e8e87da1073e348 (patch)
tree58519cde29158a1611b398c0e75b576125e5aa61
parentdebeac0f833c2de3f15fe14135e365b6d8f54908 (diff)
parent3b0bfeac5cbb3df53755859299e9188981175b66 (diff)
downloadmaster-187ad058-eaeb4e48938014039899b0312e8e87da1073e348.tar.gz
master-187ad058-eaeb4e48938014039899b0312e8e87da1073e348.tar.bz2
master-187ad058-eaeb4e48938014039899b0312e8e87da1073e348.zip
Merge pull request #16 from wigyori/master
Update bcm53xx, brcm63xx, octeon, and smaller patches
-rw-r--r--package/libs/libnetfilter-queue/patches/100-checksum_computation.patch113
-rw-r--r--package/system/mtd/src/mtd.c8
-rw-r--r--package/system/mtd/src/mtd.h2
-rw-r--r--package/system/mtd/src/seama.c6
-rw-r--r--package/utils/oseama/src/oseama.c134
-rw-r--r--target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc6
-rw-r--r--target/linux/bcm53xx/base-files/lib/upgrade/platform.sh81
-rw-r--r--target/linux/bcm53xx/config-4.412
-rw-r--r--target/linux/bcm53xx/patches-4.4/037-0001-ARM-BCM5301X-Add-DT-entry-for-SPI-controller-and-NOR.patch (renamed from target/linux/bcm53xx/patches-4.4/037-ARM-BCM5301X-Add-DT-entry-for-SPI-controller-and-NOR.patch)0
-rw-r--r--target/linux/bcm53xx/patches-4.4/037-0002-ARM-BCM5301X-Enable-SPI-NOR-on-dual-flash-devices.patch (renamed from target/linux/bcm53xx/patches-4.4/130-ARM-BCM5301X-Enable-SPI-NOR-on-dual-flash-devices.patch)10
-rw-r--r--target/linux/bcm53xx/patches-4.4/038-0001-ARM-dts-Enable-SRAB-switch-and-GMACs-on-5301x-DTS.patch63
-rw-r--r--target/linux/bcm53xx/patches-4.4/038-0002-ARM-dts-BCM5301X-Add-SRAB-interrupts.patch38
-rw-r--r--target/linux/bcm53xx/patches-4.4/038-0003-ARM-dts-BCM5310x-Enable-switch-ports-on-SmartRG-SR40.patch60
-rw-r--r--target/linux/brcm63xx/Makefile3
-rwxr-xr-xtarget/linux/brcm63xx/base-files/etc/board.d/01_leds7
-rwxr-xr-xtarget/linux/brcm63xx/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/brcm63xx/base-files/etc/diag.sh3
-rw-r--r--target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc2
-rwxr-xr-xtarget/linux/brcm63xx/base-files/lib/brcm63xx.sh3
-rw-r--r--target/linux/brcm63xx/config-4.426
-rw-r--r--target/linux/brcm63xx/dts/a226g.dts4
-rw-r--r--target/linux/brcm63xx/dts/a226m-fwb.dts4
-rw-r--r--target/linux/brcm63xx/dts/a226m.dts4
-rw-r--r--target/linux/brcm63xx/dts/a4001n.dts4
-rw-r--r--target/linux/brcm63xx/dts/a4001n1.dts4
-rw-r--r--target/linux/brcm63xx/dts/agpf-s0.dts4
-rw-r--r--target/linux/brcm63xx/dts/ar-5381u.dts4
-rw-r--r--target/linux/brcm63xx/dts/ar-5387un.dts4
-rw-r--r--target/linux/brcm63xx/dts/ar1004g.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm3368.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6318.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm63268.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6328.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6338.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6345.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6348.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6358.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6362.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm6368.dtsi2
-rw-r--r--target/linux/brcm63xx/dts/bcm96318ref.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96318ref_p300.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm963268bu_p300.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm963269bhr.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm963281TAN.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96328avng.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96338GW.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96338W.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96345GW2.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96348GW-10.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96348GW-11.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96348GW.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96348R.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96358VW.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96358VW2.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96368MVNgr.dts4
-rw-r--r--target/linux/brcm63xx/dts/bcm96368MVWG.dts4
-rw-r--r--target/linux/brcm63xx/dts/cpva502plus.dts4
-rw-r--r--target/linux/brcm63xx/dts/cpva642.dts4
-rw-r--r--target/linux/brcm63xx/dts/ct-5365.dts4
-rw-r--r--target/linux/brcm63xx/dts/ct-6373.dts4
-rw-r--r--target/linux/brcm63xx/dts/ct536plus.dts4
-rw-r--r--target/linux/brcm63xx/dts/cvg834g.dts4
-rw-r--r--target/linux/brcm63xx/dts/dg834g_v4.dts4
-rw-r--r--target/linux/brcm63xx/dts/dg834gtpn.dts4
-rw-r--r--target/linux/brcm63xx/dts/dgnd3700v1.dts4
-rw-r--r--target/linux/brcm63xx/dts/dsl-2640b-b.dts4
-rw-r--r--target/linux/brcm63xx/dts/dsl-2640u.dts4
-rw-r--r--target/linux/brcm63xx/dts/dsl-2650u.dts4
-rw-r--r--target/linux/brcm63xx/dts/dsl-274xb-c.dts4
-rw-r--r--target/linux/brcm63xx/dts/dsl-274xb-f.dts4
-rw-r--r--target/linux/brcm63xx/dts/dsl-275xb-d.dts4
-rw-r--r--target/linux/brcm63xx/dts/dv-201amr.dts4
-rw-r--r--target/linux/brcm63xx/dts/dva-g3810bn_tl.dts4
-rw-r--r--target/linux/brcm63xx/dts/evg2000.dts107
-rw-r--r--target/linux/brcm63xx/dts/f5d7633.dts4
-rw-r--r--target/linux/brcm63xx/dts/fast2404.dts4
-rw-r--r--target/linux/brcm63xx/dts/fast2504n.dts4
-rw-r--r--target/linux/brcm63xx/dts/fast2604.dts4
-rw-r--r--target/linux/brcm63xx/dts/fast2704n.dts4
-rw-r--r--target/linux/brcm63xx/dts/fast2704v2.dts4
-rw-r--r--target/linux/brcm63xx/dts/gw6000.dts4
-rw-r--r--target/linux/brcm63xx/dts/gw6200.dts4
-rw-r--r--target/linux/brcm63xx/dts/hg520v.dts4
-rw-r--r--target/linux/brcm63xx/dts/hg553.dts4
-rw-r--r--target/linux/brcm63xx/dts/hg556a-a.dts4
-rw-r--r--target/linux/brcm63xx/dts/hg556a-b.dts4
-rw-r--r--target/linux/brcm63xx/dts/hg556a-c.dts4
-rw-r--r--target/linux/brcm63xx/dts/hg622.dts5
-rw-r--r--target/linux/brcm63xx/dts/hg655b.dts4
-rw-r--r--target/linux/brcm63xx/dts/homehub2a.dts4
-rw-r--r--target/linux/brcm63xx/dts/livebox-blue-5g.dts4
-rw-r--r--target/linux/brcm63xx/dts/magic.dts4
-rw-r--r--target/linux/brcm63xx/dts/nb4-fxc-r1.dts4
-rw-r--r--target/linux/brcm63xx/dts/nb4-ser-r0.dts4
-rw-r--r--target/linux/brcm63xx/dts/nb6-ser-r0.dts4
-rw-r--r--target/linux/brcm63xx/dts/p870hw-51a-v2.dts4
-rw-r--r--target/linux/brcm63xx/dts/r5010unv2.dts5
-rw-r--r--target/linux/brcm63xx/dts/rg100a.dts4
-rw-r--r--target/linux/brcm63xx/dts/rta1025w.dts4
-rw-r--r--target/linux/brcm63xx/dts/rta1320.dts4
-rw-r--r--target/linux/brcm63xx/dts/rta770bw.dts4
-rw-r--r--target/linux/brcm63xx/dts/rta770w.dts4
-rw-r--r--target/linux/brcm63xx/dts/spw303v.dts4
-rw-r--r--target/linux/brcm63xx/dts/spw500v.dts4
-rw-r--r--target/linux/brcm63xx/dts/td-w8900gb.dts4
-rw-r--r--target/linux/brcm63xx/dts/usr9108.dts4
-rw-r--r--target/linux/brcm63xx/dts/v2110.dts4
-rw-r--r--target/linux/brcm63xx/dts/v2500v-bb.dts4
-rw-r--r--target/linux/brcm63xx/dts/vg50.dts4
-rw-r--r--target/linux/brcm63xx/dts/vr-3025u.dts4
-rw-r--r--target/linux/brcm63xx/dts/vr-3025un.dts4
-rw-r--r--target/linux/brcm63xx/dts/vr-3026e.dts4
-rw-r--r--target/linux/brcm63xx/dts/wap-5813n.dts4
-rw-r--r--target/linux/brcm63xx/image/Makefile481
-rw-r--r--target/linux/brcm63xx/image/bcm63xx.mk1083
-rw-r--r--target/linux/brcm63xx/patches-4.4/202-MTD-DEVICES-m25p80-use-parsers-if-provided-in-flash-.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/203-MTD-DEVICES-m25p80-add-support-for-limiting-reads.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/321-irqchip-add-support-for-bcm6345-style-external-inter.patch18
-rw-r--r--target/linux/brcm63xx/patches-4.4/414-MTD-m25p80-allow-passing-pp_data.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch12
-rw-r--r--target/linux/brcm63xx/patches-4.4/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch9
-rw-r--r--target/linux/brcm63xx/patches-4.4/524-board_dsl_274xb_rev_f.patch7
-rw-r--r--target/linux/brcm63xx/patches-4.4/525-board_96348w3.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/526-board_CT6373-1.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/527-board_dva-g3810bn-tl-1.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/528-board_nb6.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/529-board_fast2604.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/530-board_A4001N1.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/531-board_AR-5387un.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/532-board_AR-5381u.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/533-board_rta770bw.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/534-board_hw556.patch8
-rw-r--r--target/linux/brcm63xx/patches-4.4/535-board_rta770w.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/536-board_fast2704.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/537-board_fast2504n.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/550-MIPS-BCM63XX-remove-leds-and-buttons.patch16
-rw-r--r--target/linux/brcm63xx/patches-4.4/555-board_96318ref.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/556-board_96318ref_p300.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/557-board_bcm963269bhr.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/558-board_AR1004G.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/559-board_vw6339gu.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/560-board_963268gu_p300.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/561-board_WAP-5813n.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/562-board_VR-3025u.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/563-board_VR-3025un.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/564-board_P870HW-51a_v2.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/565-board_hw520.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/566-board_A4001N.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/567-board_dsl-2751b_e1.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/568-board_DGND3700v1_3800B.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/569-board_homehub2a.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/570-board_HG655b.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/571-board_fast2704n.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/572-board_VR-3026e.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/573-board_R5010UNv2.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/574-board_HG622.patch6
-rw-r--r--target/linux/brcm63xx/patches-4.4/575-board_EVG2000.patch62
-rw-r--r--target/linux/brcm63xx/profiles/01-generic.mk123
-rw-r--r--target/linux/brcm63xx/profiles/adb.mk26
-rw-r--r--target/linux/brcm63xx/profiles/alcatel.mk16
-rw-r--r--target/linux/brcm63xx/profiles/asmax.mk15
-rw-r--r--target/linux/brcm63xx/profiles/belkin.mk15
-rw-r--r--target/linux/brcm63xx/profiles/broadcom.mk42
-rw-r--r--target/linux/brcm63xx/profiles/bt.mk34
-rw-r--r--target/linux/brcm63xx/profiles/comtrend.mk93
-rw-r--r--target/linux/brcm63xx/profiles/d-link.mk71
-rw-r--r--target/linux/brcm63xx/profiles/davolink.mk15
-rw-r--r--target/linux/brcm63xx/profiles/default.mk (renamed from target/linux/brcm63xx/profiles/00-default.mk)5
-rw-r--r--target/linux/brcm63xx/profiles/dynalink.mk42
-rw-r--r--target/linux/brcm63xx/profiles/huawei.mk65
-rw-r--r--target/linux/brcm63xx/profiles/inteno.mk15
-rw-r--r--target/linux/brcm63xx/profiles/inventel.mk15
-rw-r--r--target/linux/brcm63xx/profiles/netgear.mk43
-rw-r--r--target/linux/brcm63xx/profiles/nucom.mk16
-rw-r--r--target/linux/brcm63xx/profiles/pirelli.mk35
-rw-r--r--target/linux/brcm63xx/profiles/sagem.mk53
-rw-r--r--target/linux/brcm63xx/profiles/sfr.mk26
-rw-r--r--target/linux/brcm63xx/profiles/t-com.mk25
-rw-r--r--target/linux/brcm63xx/profiles/tecom.mk28
-rw-r--r--target/linux/brcm63xx/profiles/telsey.mk34
-rw-r--r--target/linux/brcm63xx/profiles/tp-link.mk15
-rw-r--r--target/linux/brcm63xx/profiles/usrobotics.mk16
-rw-r--r--target/linux/brcm63xx/profiles/zyxel.mk15
-rw-r--r--target/linux/cns3xxx/files/drivers/net/ethernet/cavium/cns3xxx_eth.c4
-rw-r--r--target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c4
-rw-r--r--target/linux/octeon/image/Makefile79
-rw-r--r--target/linux/octeon/patches-4.4/170-cisco-hack.patch31
-rw-r--r--target/linux/octeon/profiles/000-Generic.mk12
-rw-r--r--tools/firmware-utils/src/oseama.c134
190 files changed, 2483 insertions, 1596 deletions
diff --git a/package/libs/libnetfilter-queue/patches/100-checksum_computation.patch b/package/libs/libnetfilter-queue/patches/100-checksum_computation.patch
new file mode 100644
index 0000000000..cbbff827dd
--- /dev/null
+++ b/package/libs/libnetfilter-queue/patches/100-checksum_computation.patch
@@ -0,0 +1,113 @@
+--- a/src/extra/checksum.c
++++ b/src/extra/checksum.c
+@@ -11,6 +11,7 @@
+
+ #include <stdio.h>
+ #include <stdbool.h>
++#include <endian.h>
+ #include <arpa/inet.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip6.h>
+@@ -26,8 +27,13 @@ uint16_t checksum(uint32_t sum, uint16_t
+ sum += *buf++;
+ size -= sizeof(uint16_t);
+ }
+- if (size)
+- sum += *(uint8_t *)buf;
++ if (size) {
++#if __BYTE_ORDER == __BIG_ENDIAN
++ sum += (uint16_t)*(uint8_t *)buf << 8;
++#else
++ sum += (uint16_t)*(uint8_t *)buf;
++#endif
++ }
+
+ sum = (sum >> 16) + (sum & 0xffff);
+ sum += (sum >>16);
+@@ -35,7 +41,7 @@ uint16_t checksum(uint32_t sum, uint16_t
+ return (uint16_t)(~sum);
+ }
+
+-uint16_t checksum_tcpudp_ipv4(struct iphdr *iph)
++uint16_t checksum_tcpudp_ipv4(struct iphdr *iph, uint16_t protocol_id)
+ {
+ uint32_t sum = 0;
+ uint32_t iph_len = iph->ihl*4;
+@@ -46,13 +52,13 @@ uint16_t checksum_tcpudp_ipv4(struct iph
+ sum += (iph->saddr) & 0xFFFF;
+ sum += (iph->daddr >> 16) & 0xFFFF;
+ sum += (iph->daddr) & 0xFFFF;
+- sum += htons(IPPROTO_TCP);
++ sum += htons(protocol_id);
+ sum += htons(len);
+
+ return checksum(sum, (uint16_t *)payload, len);
+ }
+
+-uint16_t checksum_tcpudp_ipv6(struct ip6_hdr *ip6h, void *transport_hdr)
++uint16_t checksum_tcpudp_ipv6(struct ip6_hdr *ip6h, void *transport_hdr, uint16_t protocol_id)
+ {
+ uint32_t sum = 0;
+ uint32_t hdr_len = (uint32_t *)transport_hdr - (uint32_t *)ip6h;
+@@ -68,7 +74,7 @@ uint16_t checksum_tcpudp_ipv6(struct ip6
+ sum += (ip6h->ip6_dst.s6_addr16[i] >> 16) & 0xFFFF;
+ sum += (ip6h->ip6_dst.s6_addr16[i]) & 0xFFFF;
+ }
+- sum += htons(IPPROTO_TCP);
++ sum += htons(protocol_id);
+ sum += htons(ip6h->ip6_plen);
+
+ return checksum(sum, (uint16_t *)payload, len);
+--- a/src/extra/tcp.c
++++ b/src/extra/tcp.c
+@@ -91,7 +91,7 @@ nfq_tcp_compute_checksum_ipv4(struct tcp
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ tcph->check = 0;
+- tcph->check = checksum_tcpudp_ipv4(iph);
++ tcph->check = checksum_tcpudp_ipv4(iph, IPPROTO_TCP);
+ }
+ EXPORT_SYMBOL(nfq_tcp_compute_checksum_ipv4);
+
+@@ -105,7 +105,7 @@ nfq_tcp_compute_checksum_ipv6(struct tcp
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ tcph->check = 0;
+- tcph->check = checksum_tcpudp_ipv6(ip6h, tcph);
++ tcph->check = checksum_tcpudp_ipv6(ip6h, tcph, IPPROTO_TCP);
+ }
+ EXPORT_SYMBOL(nfq_tcp_compute_checksum_ipv6);
+
+--- a/src/extra/udp.c
++++ b/src/extra/udp.c
+@@ -91,7 +91,7 @@ nfq_udp_compute_checksum_ipv4(struct udp
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ udph->check = 0;
+- udph->check = checksum_tcpudp_ipv4(iph);
++ udph->check = checksum_tcpudp_ipv4(iph, IPPROTO_UDP);
+ }
+ EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv4);
+
+@@ -110,7 +110,7 @@ nfq_udp_compute_checksum_ipv6(struct udp
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ udph->check = 0;
+- udph->check = checksum_tcpudp_ipv6(ip6h, udph);
++ udph->check = checksum_tcpudp_ipv6(ip6h, udph, IPPROTO_UDP);
+ }
+ EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv6);
+
+--- a/src/internal.h
++++ b/src/internal.h
+@@ -13,8 +13,8 @@ struct iphdr;
+ struct ip6_hdr;
+
+ uint16_t checksum(uint32_t sum, uint16_t *buf, int size);
+-uint16_t checksum_tcpudp_ipv4(struct iphdr *iph);
+-uint16_t checksum_tcpudp_ipv6(struct ip6_hdr *ip6h, void *transport_hdr);
++uint16_t checksum_tcpudp_ipv4(struct iphdr *iph, uint16_t protocol_id);
++uint16_t checksum_tcpudp_ipv6(struct ip6_hdr *ip6h, void *transport_hdr, uint16_t protocol_id);
+
+ struct pkt_buff {
+ uint8_t *mac_header;
diff --git a/package/system/mtd/src/mtd.c b/package/system/mtd/src/mtd.c
index af544198cb..7d1fc8df72 100644
--- a/package/system/mtd/src/mtd.c
+++ b/package/system/mtd/src/mtd.c
@@ -674,7 +674,7 @@ resume:
break;
case MTD_IMAGE_FORMAT_SEAMA:
if (mtd_fixseama)
- mtd_fixseama(mtd, 0);
+ mtd_fixseama(mtd, 0, 0);
break;
default:
break;
@@ -737,8 +737,10 @@ static void usage(void)
if (mtd_fixtrx) {
fprintf(stderr,
" -o offset offset of the image header in the partition(for fixtrx)\n");
+ }
+ if (mtd_fixtrx || mtd_fixseama) {
fprintf(stderr,
- " -c datasize amount of data to be used for checksum calculation (for fixtrx)\n");
+ " -c datasize amount of data to be used for checksum calculation (for fixtrx / fixseama)\n");
}
fprintf(stderr,
#ifdef FIS_SUPPORT
@@ -987,7 +989,7 @@ int main (int argc, char **argv)
break;
case CMD_FIXSEAMA:
if (mtd_fixseama)
- mtd_fixseama(device, 0);
+ mtd_fixseama(device, 0, data_size);
break;
}
diff --git a/package/system/mtd/src/mtd.h b/package/system/mtd/src/mtd.h
index 0a8b1ae0fd..9b2e32ffd4 100644
--- a/package/system/mtd/src/mtd.h
+++ b/package/system/mtd/src/mtd.h
@@ -26,6 +26,6 @@ extern void mtd_parse_jffs2data(const char *buf, const char *dir);
extern int trx_fixup(int fd, const char *name) __attribute__ ((weak));
extern int trx_check(int imagefd, const char *mtd, char *buf, int *len) __attribute__ ((weak));
extern int mtd_fixtrx(const char *mtd, size_t offset, size_t data_size) __attribute__ ((weak));
-extern int mtd_fixseama(const char *mtd, size_t offset) __attribute__ ((weak));
+extern int mtd_fixseama(const char *mtd, size_t offset, size_t data_size) __attribute__ ((weak));
extern int mtd_resetbc(const char *mtd) __attribute__ ((weak));
#endif /* __mtd_h */
diff --git a/package/system/mtd/src/seama.c b/package/system/mtd/src/seama.c
index f8b677b189..bcda321918 100644
--- a/package/system/mtd/src/seama.c
+++ b/package/system/mtd/src/seama.c
@@ -104,14 +104,13 @@ err_out:
}
int
-mtd_fixseama(const char *mtd, size_t offset)
+mtd_fixseama(const char *mtd, size_t offset, size_t data_size)
{
int fd;
char *first_block;
ssize_t res;
size_t block_offset;
size_t data_offset;
- size_t data_size;
struct seama_entity_header *shdr;
if (quiet < 2)
@@ -155,7 +154,8 @@ mtd_fixseama(const char *mtd, size_t offset)
}
data_offset = offset + sizeof(struct seama_entity_header) + ntohs(shdr->metasize);
- data_size = mtdsize - data_offset;
+ if (!data_size)
+ data_size = mtdsize - data_offset;
if (data_size > ntohl(shdr->size))
data_size = ntohl(shdr->size);
if (seama_fix_md5(shdr, fd, data_offset, data_size))
diff --git a/package/utils/oseama/src/oseama.c b/package/utils/oseama/src/oseama.c
index 37a2171574..4434b11162 100644
--- a/package/utils/oseama/src/oseama.c
+++ b/package/utils/oseama/src/oseama.c
@@ -57,6 +57,7 @@ struct seama_entity_header {
char *seama_path;
int entity_idx = -1;
+char *out_path;
static inline size_t oseama_min(size_t x, size_t y) {
return x < y ? x : y;
@@ -392,6 +393,132 @@ out:
}
/**************************************************
+ * Extract
+ **************************************************/
+
+static void oseama_extract_parse_options(int argc, char **argv) {
+ int c;
+
+ while ((c = getopt(argc, argv, "e:o:")) != -1) {
+ switch (c) {
+ case 'e':
+ entity_idx = atoi(optarg);
+ break;
+ case 'o':
+ out_path = optarg;
+ break;
+ }
+ }
+}
+
+static int oseama_extract_entity(FILE *seama, FILE *out) {
+ struct seama_entity_header hdr;
+ size_t bytes, metasize, imagesize, length;
+ uint8_t buf[1024];
+ int i = 0;
+ int err = 0;
+
+ while ((bytes = fread(&hdr, 1, sizeof(hdr), seama)) == sizeof(hdr)) {
+ if (be32_to_cpu(hdr.magic) != SEAMA_MAGIC) {
+ fprintf(stderr, "Invalid Seama magic: 0x%08x\n", be32_to_cpu(hdr.magic));
+ err = -EINVAL;
+ break;
+ }
+ metasize = be16_to_cpu(hdr.metasize);
+ imagesize = be32_to_cpu(hdr.imagesize);
+
+ if (i != entity_idx) {
+ fseek(seama, metasize + imagesize, SEEK_CUR);
+ i++;
+ continue;
+ }
+
+ fseek(seama, -sizeof(hdr), SEEK_CUR);
+
+ length = sizeof(hdr) + metasize + imagesize;
+ while ((bytes = fread(buf, 1, oseama_min(sizeof(buf), length), seama)) > 0) {
+ if (fwrite(buf, 1, bytes, out) != bytes) {
+ fprintf(stderr, "Couldn't write %zu B to %s\n", bytes, out_path);
+ err = -EIO;
+ break;
+ }
+ length -= bytes;
+ }
+
+ if (length) {
+ fprintf(stderr, "Couldn't extract whole entity %d from %s (%zu B left)\n", entity_idx, seama_path, length);
+ err = -EIO;
+ break;
+ }
+
+ break;
+ }
+
+ return err;
+}
+
+static int oseama_extract(int argc, char **argv) {
+ FILE *seama;
+ FILE *out;
+ struct seama_seal_header hdr;
+ size_t bytes;
+ uint16_t metasize;
+ int err = 0;
+
+ if (argc < 3) {
+ fprintf(stderr, "No Seama file passed\n");
+ err = -EINVAL;
+ goto out;
+ }
+ seama_path = argv[2];
+
+ optind = 3;
+ oseama_extract_parse_options(argc, argv);
+ if (entity_idx < 0) {
+ fprintf(stderr, "No entity specified\n");
+ err = -EINVAL;
+ goto out;
+ } else if (!out_path) {
+ fprintf(stderr, "No output file specified\n");
+ err = -EINVAL;
+ goto out;
+ }
+
+ seama = fopen(seama_path, "r");
+ if (!seama) {
+ fprintf(stderr, "Couldn't open %s\n", seama_path);
+ err = -EACCES;
+ goto out;
+ }
+
+ out = fopen(out_path, "w");
+ if (!out) {
+ fprintf(stderr, "Couldn't open %s\n", out_path);
+ err = -EACCES;
+ goto err_close_seama;
+ }
+
+ bytes = fread(&hdr, 1, sizeof(hdr), seama);
+ if (bytes != sizeof(hdr)) {
+ fprintf(stderr, "Couldn't read %s header\n", seama_path);
+ err = -EIO;
+ goto err_close_out;
+ }
+ metasize = be16_to_cpu(hdr.metasize);
+
+ fseek(seama, metasize, SEEK_CUR);
+
+ oseama_extract_entity(seama, out);
+
+err_close_out:
+ fclose(out);
+err_close_seama:
+ fclose(seama);
+out:
+ return err;
+}
+
+/**************************************************
* Start
**************************************************/
@@ -407,6 +534,11 @@ static void usage() {
printf("\t-m meta\t\t\t\tmeta into to put in header\n");
printf("\t-f file\t\t\t\tappend content from file\n");
printf("\t-b offset\t\t\tappend zeros till reaching absolute offset\n");
+ printf("\n");
+ printf("Extract from Seama seal (container):\n");
+ printf("\toseama extract <file> [options]\n");
+ printf("\t-e\t\t\t\tindex of entity to extract\n");
+ printf("\t-o file\t\t\t\toutput file\n");
}
int main(int argc, char **argv) {
@@ -415,6 +547,8 @@ int main(int argc, char **argv) {
return oseama_info(argc, argv);
else if (!strcmp(argv[1], "entity"))
return oseama_entity(argc, argv);
+ else if (!strcmp(argv[1], "extract"))
+ return oseama_extract(argc, argv);
}
usage();
diff --git a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
index 3d14827482..7056017107 100644
--- a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
@@ -1,3 +1,7 @@
#!/bin/sh
-mtd fixtrx firmware || mtd fixseama firmware
+kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
+
+mtd ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0
+mtd fixseama firmware && exit 0
+exit 1
diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
index 51ad041730..f0a48ddeec 100644
--- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
@@ -132,22 +132,12 @@ platform_check_image() {
return $error
}
-platform_pre_upgrade() {
- export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/bin/oseama /bin/sed"
-
- local file_type=$(platform_identify "$1")
+# $(1): image for upgrade (with possible extra header)
+# $(2): offset of trx in image
+platform_pre_upgrade_trx() {
local dir="/tmp/sysupgrade-bcm53xx"
local trx="$1"
- local offset
-
- [ "$(platform_flash_type)" != "nand" ] && return
-
- # Find trx offset
- case "$file_type" in
- "chk") offset=$((0x$(get_magic_long_at "$1" 4)));;
- "cybertan") offset=32;;
- "seama") return;;
- esac
+ local offset="$2"
# Extract partitions from trx
rm -fR $dir
@@ -207,6 +197,69 @@ platform_pre_upgrade() {
nand_do_upgrade /tmp/root.ubi
}
+platform_pre_upgrade_seama() {
+ local dir="/tmp/sysupgrade-bcm53xx"
+ local seama="$1"
+ local tmp
+
+ # Extract Seama entity from Seama seal
+ rm -fR $dir
+ mkdir -p $dir
+ oseama extract "$seama" \
+ -e 0 \
+ -o $dir/seama.entity
+ [ $? -ne 0 ] && {
+ echo "Failed to extract Seama entity."
+ return
+ }
+ local entity_size=$(wc -c $dir/seama.entity | cut -d ' ' -f 1)
+
+ local ubi_offset=0
+ tmp=0
+ while [ 1 ]; do
+ [ $tmp -ge $entity_size ] && break
+ [ "$(dd if=$dir/seama.entity skip=$tmp bs=1 count=4 2>/dev/null)" = "UBI#" ] && {
+ ubi_offset=$tmp
+ break
+ }
+ tmp=$(($tmp + 131072))
+ done
+ [ $ubi_offset -eq 0 ] && {
+ echo "Failed to find UBI in Seama entity."
+ return
+ }
+
+ local ubi_length=0
+ while [ "$(dd if=$dir/seama.entity skip=$(($ubi_offset + $ubi_length)) bs=1 count=4 2>/dev/null)" = "UBI#" ]; do
+ ubi_length=$(($ubi_length + 131072))
+ done
+
+ dd if=$dir/seama.entity of=$dir/kernel.seama bs=131072 count=$(($ubi_offset / 131072)) 2>/dev/null
+ dd if=$dir/seama.entity of=$dir/root.ubi bs=131072 skip=$(($ubi_offset / 131072)) count=$(($ubi_length / 131072)) 2>/dev/null
+
+ # Flash
+ local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
+ mtd write $dir/kernel.seama firmware
+ mtd ${kernel_size:+-c 0x$kernel_size} fixseama firmware
+ nand_do_upgrade $dir/root.ubi
+}
+
+platform_pre_upgrade() {
+ export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/bin/oseama /bin/sed"
+
+ local file_type=$(platform_identify "$1")
+
+ [ "$(platform_flash_type)" != "nand" ] && return
+
+ # Find trx offset
+ case "$file_type" in
+ "chk") platform_pre_upgrade_trx "$1" $((0x$(get_magic_long_at "$1" 4)));;
+ "cybertan") platform_pre_upgrade_trx "$1" 32;;
+ "seama") platform_pre_upgrade_seama "$1";;
+ "trx") platform_pre_upgrade_trx "$1";;
+ esac
+}
+
platform_trx_from_chk_cmd() {
local header_len=$((0x$(get_magic_long_at "$1" 4)))
diff --git a/target/linux/bcm53xx/config-4.4 b/target/linux/bcm53xx/config-4.4
index ce9508a2ef..634786177a 100644
--- a/target/linux/bcm53xx/config-4.4
+++ b/target/linux/bcm53xx/config-4.4
@@ -175,11 +175,6 @@ CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZ4=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_NET_DSA=y
@@ -205,6 +200,8 @@ CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_WORK=y
+CONFIG_KERNEL_CAT=y
+# CONFIG_KERNEL_XZ is not set
CONFIG_LIBFDT=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_LZO_COMPRESS=y
@@ -280,10 +277,8 @@ CONFIG_SERIAL_8250_FSL=y
# CONFIG_SERIAL_AMBA_PL010 is not set
# CONFIG_SERIAL_AMBA_PL011 is not set
CONFIG_SERIAL_OF_PLATFORM=y
-# CONFIG_SG_SPLIT is not set
CONFIG_SMP=y
CONFIG_SMP_ON_UP=y
-# CONFIG_SOC_BRCMSTB is not set
CONFIG_SPARSE_IRQ=y
CONFIG_SPI=y
CONFIG_SPI_BCM53XX=y
@@ -291,8 +286,6 @@ CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_MASTER=y
CONFIG_SRCU=y
-CONFIG_STOP_MACHINE=y
-# CONFIG_SUNXI_SRAM is not set
CONFIG_SWCONFIG=y
CONFIG_SWIOTLB=y
CONFIG_SWP_EMULATE=y
@@ -300,7 +293,6 @@ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TREE_RCU=y
-# CONFIG_UBIFS_ATIME_SUPPORT is not set
CONFIG_UBIFS_FS=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
diff --git a/target/linux/bcm53xx/patches-4.4/037-ARM-BCM5301X-Add-DT-entry-for-SPI-controller-and-NOR.patch b/target/linux/bcm53xx/patches-4.4/037-0001-ARM-BCM5301X-Add-DT-entry-for-SPI-controller-and-NOR.patch
index 4549396d2b..4549396d2b 100644
--- a/target/linux/bcm53xx/patches-4.4/037-ARM-BCM5301X-Add-DT-entry-for-SPI-controller-and-NOR.patch
+++ b/target/linux/bcm53xx/patches-4.4/037-0001-ARM-BCM5301X-Add-DT-entry-for-SPI-controller-and-NOR.patch
diff --git a/target/linux/bcm53xx/patches-4.4/130-ARM-BCM5301X-Enable-SPI-NOR-on-dual-flash-devices.patch b/target/linux/bcm53xx/patches-4.4/037-0002-ARM-BCM5301X-Enable-SPI-NOR-on-dual-flash-devices.patch
index c9bb9af479..f15cfb79c4 100644
--- a/target/linux/bcm53xx/patches-4.4/130-ARM-BCM5301X-Enable-SPI-NOR-on-dual-flash-devices.patch
+++ b/target/linux/bcm53xx/patches-4.4/037-0002-ARM-BCM5301X-Enable-SPI-NOR-on-dual-flash-devices.patch
@@ -1,5 +1,6 @@
+From 5f79985dcfec73d7a09ed99c40c28b64552518fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Date: Wed, 27 Apr 2016 08:58:01 +0200
+Date: Wed, 27 Apr 2016 09:05:03 +0200
Subject: [PATCH] ARM: BCM5301X: Enable SPI-NOR on dual flash devices
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -13,7 +14,14 @@ However there are also devices with two flash memories:
On such devices we still need SPI-NOR e.g. to access NVRAM data.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
+ arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 4 ++++
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 4 ++++
+ arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 4 ++++
+ arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 4 ++++
+ arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 4 ++++
+ 5 files changed, 20 insertions(+)
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
diff --git a/target/linux/bcm53xx/patches-4.4/038-0001-ARM-dts-Enable-SRAB-switch-and-GMACs-on-5301x-DTS.patch b/target/linux/bcm53xx/patches-4.4/038-0001-ARM-dts-Enable-SRAB-switch-and-GMACs-on-5301x-DTS.patch
new file mode 100644
index 0000000000..0210f7e2aa
--- /dev/null
+++ b/target/linux/bcm53xx/patches-4.4/038-0001-ARM-dts-Enable-SRAB-switch-and-GMACs-on-5301x-DTS.patch
@@ -0,0 +1,63 @@
+From 59f0ce1a3ebb9288fc8c1400aa503e923621161e Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Mon, 23 May 2016 16:38:00 -0700
+Subject: [PATCH 1/3] ARM: dts: Enable SRAB switch and GMACs on 5301x DTS
+
+Add the Switch Register Access Block which is a special piece of
+hardware allowing us to perform indirect read/writes towards the
+integrated BCM5301X Ethernet switch.
+
+We also add the 4 Gigabit MAC Device Tree nodes within the brcm,bus-axi
+bus node to get proper binding between the BCMA instantiated core and
+the Device Tree nodes. We will need that to be able to reference
+Ethernet Device Tree nodes in a future patch adding the switch ports
+layout.
+
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm5301x.dtsi | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -239,6 +239,22 @@
+ status = "disabled";
+ };
+ };
++
++ gmac0: ethernet@24000 {
++ reg = <0x24000 0x800>;
++ };
++
++ gmac1: ethernet@25000 {
++ reg = <0x25000 0x800>;
++ };
++
++ gmac2: ethernet@26000 {
++ reg = <0x26000 0x800>;
++ };
++
++ gmac3: ethernet@27000 {
++ reg = <0x27000 0x800>;
++ };
+ };
+
+ lcpll0: lcpll0@1800c100 {
+@@ -260,6 +276,17 @@
+ "sata2";
+ };
+
++ srab: srab@18007000 {
++ compatible = "brcm,bcm5301x-srab";
++ reg = <0x18007000 0x1000>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ status = "disabled";
++
++ /* ports are defined in board DTS */
++ };
++
+ nand: nand@18028000 {
+ compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
+ reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
diff --git a/target/linux/bcm53xx/patches-4.4/038-0002-ARM-dts-BCM5301X-Add-SRAB-interrupts.patch b/target/linux/bcm53xx/patches-4.4/038-0002-ARM-dts-BCM5301X-Add-SRAB-interrupts.patch
new file mode 100644
index 0000000000..95375fc338
--- /dev/null
+++ b/target/linux/bcm53xx/patches-4.4/038-0002-ARM-dts-BCM5301X-Add-SRAB-interrupts.patch
@@ -0,0 +1,38 @@
+From 2cd0c0202f138fa95b3fbb027e87b191ad0b1884 Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Tue, 24 May 2016 11:41:58 -0700
+Subject: [PATCH 2/3] ARM: dts: BCM5301X: Add SRAB interrupts
+
+Add interrupt mapping for the Switch Register Access Block. Only 12
+interrupts are usable at the moment even though up to 32 are dedicated
+to the SRAB.
+
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm5301x.dtsi | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -153,6 +153,21 @@
+ /* ChipCommon */
+ <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
+
++ /* Switch Register Access Block */
++ <0x00007000 0 &gic GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 1 &gic GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 2 &gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 3 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 4 &gic GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 5 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 6 &gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 7 &gic GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 8 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 9 &gic GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 10 &gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 11 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 12 &gic GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
++
+ /* PCIe Controller 0 */
+ <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
+ <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
diff --git a/target/linux/bcm53xx/patches-4.4/038-0003-ARM-dts-BCM5310x-Enable-switch-ports-on-SmartRG-SR40.patch b/target/linux/bcm53xx/patches-4.4/038-0003-ARM-dts-BCM5310x-Enable-switch-ports-on-SmartRG-SR40.patch
new file mode 100644
index 0000000000..7ddb99bb33
--- /dev/null
+++ b/target/linux/bcm53xx/patches-4.4/038-0003-ARM-dts-BCM5310x-Enable-switch-ports-on-SmartRG-SR40.patch
@@ -0,0 +1,60 @@
+From 2df1808dc0e2b5358e13beb95192b15200017776 Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Wed, 25 May 2016 16:55:35 -0700
+Subject: [PATCH 3/3] ARM: dts: BCM5310x: Enable switch ports on SmartRG
+ SR400AC
+
+Define the port mapping for the SmartRG SR400ACE device.
+
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 40 +++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
++++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+@@ -126,3 +126,43 @@
+ &spi_nor {
+ status = "okay";
+ };
++
++&srab {
++ status = "okay";
++
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ port@0 {
++ reg = <0>;
++ label = "lan4";
++ };
++
++ port@1 {
++ reg = <1>;
++ label = "lan3";
++ };
++
++ port@2 {
++ reg = <2>;
++ label = "lan2";
++ };
++
++ port@3 {
++ reg = <3>;
++ label = "lan1";
++ };
++
++ port@4 {
++ reg = <4>;
++ label = "wan";
++ };
++
++ port@5 {
++ reg = <5>;
++ label = "cpu";
++ ethernet = <&gmac0>;
++ };
++ };
++};
diff --git a/target/linux/brcm63xx/Makefile b/target/linux/brcm63xx/Makefile
index f96897cfd1..0dba065d0d 100644
--- a/target/linux/brcm63xx/Makefile
+++ b/target/linux/brcm63xx/Makefile
@@ -1,5 +1,6 @@
#
# Copyright (C) 2006-2009 OpenWrt.org
+# Copyright (C) 2016 LEDE project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -11,7 +12,7 @@ BOARD:=brcm63xx
BOARDNAME:=Broadcom BCM63xx
SUBTARGETS:=generic smp
FEATURES:=squashfs usb atm pci pcmcia usbgadget
-KERNEL_PATCHVER:=4.1
+KERNEL_PATCHVER:=4.4
MAINTAINER:=Jonas Gorski <jogo@openwrt.org>
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/brcm63xx/base-files/etc/board.d/01_leds b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
index 8339254b75..4163214732 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
+++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
@@ -24,6 +24,13 @@ dgnd3700v1_dgnd3800b)
ucidef_set_led_usbdev "usb1" "USB1" "DGND3700v1_3800B:green:usb-back" "1-1"
ucidef_set_led_usbdev "usb2" "USB2" "DGND3700v1_3800B:green:usb-front" "1-2"
;;
+evg2000)
+ ucidef_set_led_netdev "lan" "LAN" "EVG2000:green:lan" "eth0"
+ ucidef_set_led_netdev "wan" "WAN" "EVG2000:green:wan" "eth1"
+ ucidef_set_led_netdev "wlan0" "WIFI" "EVG2000:green:wireless" "wlan0"
+ ucidef_set_led_usbdev "usb1" "USB1" "EVG2000:green:voip1" "1-1"
+ ucidef_set_led_usbdev "usb2" "USB2" "EVG2000:green:voip2" "1-2"
+ ;;
fast2704n)
ucidef_set_led_netdev "wan" "WAN" "F@ST2704N:green:inet" "eth0.2"
;;
diff --git a/target/linux/brcm63xx/base-files/etc/board.d/02_network b/target/linux/brcm63xx/base-files/etc/board.d/02_network
index f96da088f2..83367c1997 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
@@ -11,6 +11,7 @@ board_config_update
case "$(brcm63xx_board_name)" in
cvg834g |\
+evg2000 |\
rta770bw |\
rta770w |\
spw303v |\
diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
index b8649646e4..6ac2459c92 100644
--- a/target/linux/brcm63xx/base-files/etc/diag.sh
+++ b/target/linux/brcm63xx/base-files/etc/diag.sh
@@ -70,6 +70,9 @@ set_state() {
dgnd3700v1_dgnd3800b)
status_led="DGND3700v1_3800B:green:power"
;;
+ evg2000)
+ status_led="EVG2000:green:power"
+ ;;
fast2504n)
status_led="fast2504n:green:ok"
;;
diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
index 70dbe2a837..1201168feb 100644
--- a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
@@ -21,6 +21,7 @@ case "$(brcm63xx_board_name)" in
cpva642 |\
ct-6373 |\
dsl-274xb-f |\
+ evg2000 |\
hg622 |\
magic |\
p870hw-51a_v2 |\
@@ -37,4 +38,3 @@ case "$(brcm63xx_board_name)" in
do_fixcrc
;;
esac
-
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index a2d6519aa2..9cc0b2b570 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -183,6 +183,9 @@ brcm63xx_dt_detect() {
"Netgear DGND3700v1/DGND3800B")
board_name="dgnd3700v1_dgnd3800b"
;;
+ "Netgear EVG2000")
+ board_name="evg2000"
+ ;;
"NuCom R5010UN v2")
board_name="r5010un_v2"
;;
diff --git a/target/linux/brcm63xx/config-4.4 b/target/linux/brcm63xx/config-4.4
index 2eabf6ab13..4739627fa3 100644
--- a/target/linux/brcm63xx/config-4.4
+++ b/target/linux/brcm63xx/config-4.4
@@ -1,15 +1,17 @@
CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
# CONFIG_ARCH_HAS_SG_CHAIN is not set
-CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_B53=y
CONFIG_B53_MMAP_DRIVER=y
@@ -45,15 +47,13 @@ CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_HOST_PCI=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BCM_NET_PHYLIB=y
CONFIG_BOARD_BCM63XX_DT=y
CONFIG_BOARD_BCM963XX=y
CONFIG_BOARD_LIVEBOX=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_CEVT_R4K=y
CONFIG_CLONE_BACKWARDS=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
-CONFIG_CMDLINE_BOOL=y
-# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_BMIPS=y
CONFIG_CPU_BMIPS32_3300=y
@@ -67,6 +67,8 @@ CONFIG_CPU_R4K_CACHE_TLB=y
CONFIG_CPU_R4K_FPU=y
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
@@ -76,10 +78,12 @@ CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_IO=y
+CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_74X164=y
CONFIG_GPIO_BCM63XX=y
@@ -113,6 +117,7 @@ CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
@@ -132,25 +137,25 @@ CONFIG_INITRAMFS_SOURCE=""
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_IRQCHIP=y
-CONFIG_IRQ_CPU=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
CONFIG_KEXEC=y
+CONFIG_KEXEC_CORE=y
CONFIG_LEDS_GPIO=y
CONFIG_LIBFDT=y
-# CONFIG_LZ4_COMPRESS is not set
-# CONFIG_LZ4_DECOMPRESS is not set
CONFIG_MDIO_BOARDINFO=y
CONFIG_MIPS=y
+CONFIG_MIPS_CLOCK_VSYSCALL=y
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
-CONFIG_MIPS_CMDLINE_FROM_DTB=y
# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
+CONFIG_MIPS_CMDLINE_FROM_DTB=y
+# CONFIG_MIPS_ELF_APPENDED_DTB is not set
# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=4
CONFIG_MIPS_L1_CACHE_SHIFT_4=y
# CONFIG_MIPS_MACHINE is not set
-# CONFIG_MIPS_ELF_APPENDED_DTB is not set
# CONFIG_MIPS_NO_APPENDED_DTB is not set
CONFIG_MIPS_RAW_APPENDED_DTB=y
CONFIG_MODULES_USE_ELF_REL=y
@@ -186,7 +191,6 @@ CONFIG_OF_MTD=y
CONFIG_OF_NET=y
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
-CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PCI=y
# CONFIG_PCIEAER is not set
CONFIG_PCIEPORTBUS=y
@@ -196,12 +200,12 @@ CONFIG_PGTABLE_LEVELS=2
CONFIG_PHYLIB=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_RCU_EXPEDITE_BOOT is not set
# CONFIG_RCU_STALL_COMMON is not set
CONFIG_RELAY=y
CONFIG_RTL8366_SMI=y
CONFIG_RTL8367_PHY=y
CONFIG_SCHED_HRTICK=y
+# CONFIG_SCHED_INFO is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SERIAL_8250 is not set
CONFIG_SERIAL_BCM63XX=y
diff --git a/target/linux/brcm63xx/dts/a226g.dts b/target/linux/brcm63xx/dts/a226g.dts
index b62c68ffd2..dc24e5a03f 100644
--- a/target/linux/brcm63xx/dts/a226g.dts
+++ b/target/linux/brcm63xx/dts/a226g.dts
@@ -8,6 +8,10 @@
model = "Pirelli A226G";
compatible = "pirelli,a226g", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/a226m-fwb.dts b/target/linux/brcm63xx/dts/a226m-fwb.dts
index d91fffe3d5..ced66ddfcd 100644
--- a/target/linux/brcm63xx/dts/a226m-fwb.dts
+++ b/target/linux/brcm63xx/dts/a226m-fwb.dts
@@ -8,6 +8,10 @@
model = "Pirelli A226M-FWB";
compatible = "pirelli,a226m-fwb", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/a226m.dts b/target/linux/brcm63xx/dts/a226m.dts
index d3f628da84..9a9ec1e1ea 100644
--- a/target/linux/brcm63xx/dts/a226m.dts
+++ b/target/linux/brcm63xx/dts/a226m.dts
@@ -8,6 +8,10 @@
model = "Pirelli A226M";
compatible = "pirelli,a226m", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/a4001n.dts b/target/linux/brcm63xx/dts/a4001n.dts
index 13c5e503aa..c71e2857b6 100644
--- a/target/linux/brcm63xx/dts/a4001n.dts
+++ b/target/linux/brcm63xx/dts/a4001n.dts
@@ -8,6 +8,10 @@
model = "ADB P.DG A4001N";
compatible = "adb,a4001n", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/a4001n1.dts b/target/linux/brcm63xx/dts/a4001n1.dts
index e30d6d0c74..2806bb41d3 100644
--- a/target/linux/brcm63xx/dts/a4001n1.dts
+++ b/target/linux/brcm63xx/dts/a4001n1.dts
@@ -8,6 +8,10 @@
model = "ADB P.DG A4001N1";
compatible = "adb,a4001n1", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/agpf-s0.dts b/target/linux/brcm63xx/dts/agpf-s0.dts
index 4662b2d67f..3ff9cb2779 100644
--- a/target/linux/brcm63xx/dts/agpf-s0.dts
+++ b/target/linux/brcm63xx/dts/agpf-s0.dts
@@ -8,6 +8,10 @@
model = "Pirelli Alice Gate AGPF-S0";
compatible = "pirelli,agpf-s0", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/ar-5381u.dts b/target/linux/brcm63xx/dts/ar-5381u.dts
index a148ec43eb..ecdf618211 100644
--- a/target/linux/brcm63xx/dts/ar-5381u.dts
+++ b/target/linux/brcm63xx/dts/ar-5381u.dts
@@ -8,6 +8,10 @@
model = "Comtrend AR-5381u";
compatible = "comtrend,ar-5381u", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/ar-5387un.dts b/target/linux/brcm63xx/dts/ar-5387un.dts
index c30da06dc9..b7b3a958b8 100644
--- a/target/linux/brcm63xx/dts/ar-5387un.dts
+++ b/target/linux/brcm63xx/dts/ar-5387un.dts
@@ -8,6 +8,10 @@
model = "Comtrend AR-5387un";
compatible = "comtrend,ar-5387un", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/ar1004g.dts b/target/linux/brcm63xx/dts/ar1004g.dts
index 07407992ec..230cfd80ec 100644
--- a/target/linux/brcm63xx/dts/ar1004g.dts
+++ b/target/linux/brcm63xx/dts/ar1004g.dts
@@ -8,6 +8,10 @@
model = "ASMAX AR 1004g";
compatible = "asmax,ar1004g", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm3368.dtsi b/target/linux/brcm63xx/dts/bcm3368.dtsi
index 6828b345b3..5c2052962c 100644
--- a/target/linux/brcm63xx/dts/bcm3368.dtsi
+++ b/target/linux/brcm63xx/dts/bcm3368.dtsi
@@ -53,7 +53,7 @@
compatible = "simple-bus";
periph_intc: interrupt-controller@fff8c00c {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0xfff8c00c 0x8>;
interrupt-controller;
diff --git a/target/linux/brcm63xx/dts/bcm6318.dtsi b/target/linux/brcm63xx/dts/bcm6318.dtsi
index f851a9cbf5..115b15c7fe 100644
--- a/target/linux/brcm63xx/dts/bcm6318.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6318.dtsi
@@ -47,7 +47,7 @@
};
periph_intc: interrupt-controller@10000020 {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0x10000020 0x20>;
interrupt-controller;
diff --git a/target/linux/brcm63xx/dts/bcm63268.dtsi b/target/linux/brcm63xx/dts/bcm63268.dtsi
index 0a1f8b17cf..47894f8b42 100644
--- a/target/linux/brcm63xx/dts/bcm63268.dtsi
+++ b/target/linux/brcm63xx/dts/bcm63268.dtsi
@@ -53,7 +53,7 @@
};
periph_intc: interrupt-controller@10000020 {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0x10000020 0x20>,
<0x10000040 0x20>;
diff --git a/target/linux/brcm63xx/dts/bcm6328.dtsi b/target/linux/brcm63xx/dts/bcm6328.dtsi
index a0b1316423..b49958a7b6 100644
--- a/target/linux/brcm63xx/dts/bcm6328.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6328.dtsi
@@ -46,7 +46,7 @@
};
periph_intc: interrupt-controller@10000020 {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0x10000020 0x10>;
interrupt-controller;
diff --git a/target/linux/brcm63xx/dts/bcm6338.dtsi b/target/linux/brcm63xx/dts/bcm6338.dtsi
index d578a5b59b..7d48e86b8c 100644
--- a/target/linux/brcm63xx/dts/bcm6338.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6338.dtsi
@@ -46,7 +46,7 @@
compatible = "simple-bus";
periph_intc: interrupt-controller@fffe000c {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0xfffe000c 0x8>;
interrupt-controller;
diff --git a/target/linux/brcm63xx/dts/bcm6345.dtsi b/target/linux/brcm63xx/dts/bcm6345.dtsi
index f70246860c..b16c132cea 100644
--- a/target/linux/brcm63xx/dts/bcm6345.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6345.dtsi
@@ -46,7 +46,7 @@
compatible = "simple-bus";
periph_intc: interrupt-controller@fffe000c {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0xfffe000c 0x9>;
interrupt-controller;
diff --git a/target/linux/brcm63xx/dts/bcm6348.dtsi b/target/linux/brcm63xx/dts/bcm6348.dtsi
index 81e99ed4d0..7edda30845 100644
--- a/target/linux/brcm63xx/dts/bcm6348.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6348.dtsi
@@ -47,7 +47,7 @@
compatible = "simple-bus";
periph_intc: interrupt-controller@fffe000c {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0xfffe000c 0x8>;
interrupt-controller;
diff --git a/target/linux/brcm63xx/dts/bcm6358.dtsi b/target/linux/brcm63xx/dts/bcm6358.dtsi
index bc3784a221..fa0b5b8a6e 100644
--- a/target/linux/brcm63xx/dts/bcm6358.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6358.dtsi
@@ -53,7 +53,7 @@
compatible = "simple-bus";
periph_intc: interrupt-controller@fffe000c {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0xfffe000c 0x8>,
<0xfffe0038 0x8>;
diff --git a/target/linux/brcm63xx/dts/bcm6362.dtsi b/target/linux/brcm63xx/dts/bcm6362.dtsi
index 6604f5cc62..40f6b9ec29 100644
--- a/target/linux/brcm63xx/dts/bcm6362.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6362.dtsi
@@ -53,7 +53,7 @@
};
periph_intc: interrupt-controller@10000020 {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0x10000020 0x10>,
<0x10000030 0x10>;
diff --git a/target/linux/brcm63xx/dts/bcm6368.dtsi b/target/linux/brcm63xx/dts/bcm6368.dtsi
index 7dbe9ec49e..52bcec4466 100644
--- a/target/linux/brcm63xx/dts/bcm6368.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6368.dtsi
@@ -65,7 +65,7 @@
};
periph_intc: interrupt-controller@10000020 {
- compatible = "brcm,bcm6345-periph-intc";
+ compatible = "brcm,bcm6345-l1-intc";
reg = <0x10000020 0x10>,
<0x10000030 0x10>;
diff --git a/target/linux/brcm63xx/dts/bcm96318ref.dts b/target/linux/brcm63xx/dts/bcm96318ref.dts
index 79137dbd67..4f5049caf7 100644
--- a/target/linux/brcm63xx/dts/bcm96318ref.dts
+++ b/target/linux/brcm63xx/dts/bcm96318ref.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96318REF reference board";
compatible = "brcm,bcm96318ref", "brcm,bcm6318";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
index be1db5aa20..5f37a44d58 100644
--- a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
+++ b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96318REF_P300 reference board";
compatible = "brcm,bcm96318ref_p300", "brcm,bcm6318";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
index f659b396be..d332e3dd90 100644
--- a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
+++ b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM963268BU_P300 reference board";
compatible = "brcm,bcm963268bu_p300", "brcm,bcm63268";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm963269bhr.dts b/target/linux/brcm63xx/dts/bcm963269bhr.dts
index 01a76804f8..bf4168a37d 100644
--- a/target/linux/brcm63xx/dts/bcm963269bhr.dts
+++ b/target/linux/brcm63xx/dts/bcm963269bhr.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM963269BHR reference board";
compatible = "brcm,bcm963269bhr", "brcm,bcm63268";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm963281TAN.dts b/target/linux/brcm63xx/dts/bcm963281TAN.dts
index 21b329aecd..71354db5a1 100644
--- a/target/linux/brcm63xx/dts/bcm963281TAN.dts
+++ b/target/linux/brcm63xx/dts/bcm963281TAN.dts
@@ -8,6 +8,10 @@
model = "Broadcom bcm963281TAN reference board";
compatible = "brcm,bcm963281TAN", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96328avng.dts b/target/linux/brcm63xx/dts/bcm96328avng.dts
index 3ed4b223b0..4c8e319811 100644
--- a/target/linux/brcm63xx/dts/bcm96328avng.dts
+++ b/target/linux/brcm63xx/dts/bcm96328avng.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96328avng reference board";
compatible = "brcm,bcm96328avng", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96338GW.dts b/target/linux/brcm63xx/dts/bcm96338GW.dts
index d7af9ef651..c5780ad8b7 100644
--- a/target/linux/brcm63xx/dts/bcm96338GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96338GW.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96338GW reference board";
compatible = "brcm,bcm96338gw", "brcm,bcm6338";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96338W.dts b/target/linux/brcm63xx/dts/bcm96338W.dts
index 4904073df1..54dfefd235 100644
--- a/target/linux/brcm63xx/dts/bcm96338W.dts
+++ b/target/linux/brcm63xx/dts/bcm96338W.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96338W reference board";
compatible = "brcm,bcm96338w", "brcm,bcm6338";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96345GW2.dts b/target/linux/brcm63xx/dts/bcm96345GW2.dts
index 7214185491..b5717c0063 100644
--- a/target/linux/brcm63xx/dts/bcm96345GW2.dts
+++ b/target/linux/brcm63xx/dts/bcm96345GW2.dts
@@ -7,4 +7,8 @@
/ {
model = "Broadcom BCM96345GW2 reference board";
compatible = "brcm,bcm96345gw2", "brcm,bcm6345";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
};
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-10.dts b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
index 5f60d36aa3..45386e705d 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-10.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96348GW-10 reference board";
compatible = "brcm,bcm96348gw-10", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-11.dts b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
index efd3e91293..f1f6f6d522 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-11.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96348GW-11 reference board";
compatible = "brcm,bcm96348gw-11", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm96348GW.dts b/target/linux/brcm63xx/dts/bcm96348GW.dts
index cf40e52634..736337454e 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96348GW reference board";
compatible = "brcm,bcm96348gw", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/bcm96348R.dts b/target/linux/brcm63xx/dts/bcm96348R.dts
index d7df2a91af..62d4bd325d 100644
--- a/target/linux/brcm63xx/dts/bcm96348R.dts
+++ b/target/linux/brcm63xx/dts/bcm96348R.dts
@@ -8,6 +8,10 @@
model = "Broadcom 96348R reference board";
compatible = "brcm,bcm96348r", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96358VW.dts b/target/linux/brcm63xx/dts/bcm96358VW.dts
index ff924992d6..7a83a9cb31 100644
--- a/target/linux/brcm63xx/dts/bcm96358VW.dts
+++ b/target/linux/brcm63xx/dts/bcm96358VW.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96358VW reference board";
compatible = "brcm,bcm96358vw", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96358VW2.dts b/target/linux/brcm63xx/dts/bcm96358VW2.dts
index 8f7070a354..08341ae2c5 100644
--- a/target/linux/brcm63xx/dts/bcm96358VW2.dts
+++ b/target/linux/brcm63xx/dts/bcm96358VW2.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96358VW2 reference board";
compatible = "brcm,bcm96358vw2", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
index 21f1395b91..dcb1d2ebe5 100644
--- a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
+++ b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96368MVNgr reference board";
compatible = "brcm,bcm96368mvngr", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/bcm96368MVWG.dts b/target/linux/brcm63xx/dts/bcm96368MVWG.dts
index 04442ab398..e76afa0f42 100644
--- a/target/linux/brcm63xx/dts/bcm96368MVWG.dts
+++ b/target/linux/brcm63xx/dts/bcm96368MVWG.dts
@@ -8,6 +8,10 @@
model = "Broadcom BCM96368MVWG reference board";
compatible = "brcm,bcm96368mvwg", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/cpva502plus.dts b/target/linux/brcm63xx/dts/cpva502plus.dts
index f00d73e1c4..6d9b5d329f 100644
--- a/target/linux/brcm63xx/dts/cpva502plus.dts
+++ b/target/linux/brcm63xx/dts/cpva502plus.dts
@@ -8,6 +8,10 @@
model = "Telsey CPVA502+";
compatible = "telsey,cpva502+", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/cpva642.dts b/target/linux/brcm63xx/dts/cpva642.dts
index 8d72e0261b..1a0522de0b 100644
--- a/target/linux/brcm63xx/dts/cpva642.dts
+++ b/target/linux/brcm63xx/dts/cpva642.dts
@@ -8,6 +8,10 @@
model = "Telsey CPVA642-type (CPA-ZNTE60T)";
compatible = "telsey,cpva642", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/ct-5365.dts b/target/linux/brcm63xx/dts/ct-5365.dts
index 6f452fefc1..8187be6970 100644
--- a/target/linux/brcm63xx/dts/ct-5365.dts
+++ b/target/linux/brcm63xx/dts/ct-5365.dts
@@ -8,6 +8,10 @@
model = "Comtrend CT-5365";
compatible = "comtrend,ct-5365", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts
index d6f0f8b00d..2d5d8fa7e4 100644
--- a/target/linux/brcm63xx/dts/ct-6373.dts
+++ b/target/linux/brcm63xx/dts/ct-6373.dts
@@ -8,6 +8,10 @@
model = "Comtrend CT-6373";
compatible = "comtrend,ct-6373", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
spi-gpio {
#address-cells = <1>;
#size-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/ct536plus.dts b/target/linux/brcm63xx/dts/ct536plus.dts
index c05068a723..91ca91c9f1 100644
--- a/target/linux/brcm63xx/dts/ct536plus.dts
+++ b/target/linux/brcm63xx/dts/ct536plus.dts
@@ -8,6 +8,10 @@
model = "Comtrend CT-536+/CT-5621T";
compatible = "comtrend,ct536+", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/cvg834g.dts b/target/linux/brcm63xx/dts/cvg834g.dts
index b61a07c1c1..73ae58d610 100644
--- a/target/linux/brcm63xx/dts/cvg834g.dts
+++ b/target/linux/brcm63xx/dts/cvg834g.dts
@@ -8,6 +8,10 @@
model = "Netgear CVG834G";
compatible = "netgear,cvg834g", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/dg834g_v4.dts b/target/linux/brcm63xx/dts/dg834g_v4.dts
index 148530032c..ee63473e3c 100644
--- a/target/linux/brcm63xx/dts/dg834g_v4.dts
+++ b/target/linux/brcm63xx/dts/dg834g_v4.dts
@@ -8,6 +8,10 @@
model = "Netgear DG834G v4";
compatible = "netgear,dg834g-v4", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dg834gtpn.dts b/target/linux/brcm63xx/dts/dg834gtpn.dts
index 889435822d..9bd67f4190 100644
--- a/target/linux/brcm63xx/dts/dg834gtpn.dts
+++ b/target/linux/brcm63xx/dts/dg834gtpn.dts
@@ -8,6 +8,10 @@
model = "Netgear DG834GT/PN";
compatible = "netgear,dg834gtpn", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dgnd3700v1.dts b/target/linux/brcm63xx/dts/dgnd3700v1.dts
index 8c8c0bf844..2b6248b19a 100644
--- a/target/linux/brcm63xx/dts/dgnd3700v1.dts
+++ b/target/linux/brcm63xx/dts/dgnd3700v1.dts
@@ -8,6 +8,10 @@
model = "Netgear DGND3700v1/DGND3800B";
compatible = "netgear,dgnd3700v1", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dsl-2640b-b.dts b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
index 83b36a5597..767586dfb8 100644
--- a/target/linux/brcm63xx/dts/dsl-2640b-b.dts
+++ b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
@@ -8,6 +8,10 @@
model = "D-Link DSL-2640B rev B2";
compatible = "d-link,dsl-2640b-b", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dsl-2640u.dts b/target/linux/brcm63xx/dts/dsl-2640u.dts
index d3d27725e2..3b94a4abcb 100644
--- a/target/linux/brcm63xx/dts/dsl-2640u.dts
+++ b/target/linux/brcm63xx/dts/dsl-2640u.dts
@@ -8,6 +8,10 @@
model = "D-Link DSL-2640U/BRU/C";
compatible = "d-link,dsl-2640u", "brcm,bcm6338";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/dsl-2650u.dts b/target/linux/brcm63xx/dts/dsl-2650u.dts
index 2847c18699..ed42f63346 100644
--- a/target/linux/brcm63xx/dts/dsl-2650u.dts
+++ b/target/linux/brcm63xx/dts/dsl-2650u.dts
@@ -8,6 +8,10 @@
model = "D-Link DSL-2650U";
compatible = "d-link,dsl-2650u", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-c.dts b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
index 29ae125479..10bf9a54af 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-c.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
@@ -8,6 +8,10 @@
model = "D-Link DSL-2740B/DSL-2741B rev C2/3";
compatible = "d-link,dsl-274xb-c2", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-f.dts b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
index fb1ded7c62..9ce2e98bb4 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-f.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
@@ -8,6 +8,10 @@
model = "D-Link DSL-2740B/DSL-2741B rev F1";
compatible = "d-link,dsl-274xb-f", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dsl-275xb-d.dts b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
index dd00e2c573..b78ec541ae 100644
--- a/target/linux/brcm63xx/dts/dsl-275xb-d.dts
+++ b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
@@ -8,6 +8,10 @@
model = "D-Link DSL-2750B/DSL-2751 rev D1";
compatible = "d-link,dsl-275xb-d", "brcm,bcm6318";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/dv-201amr.dts b/target/linux/brcm63xx/dts/dv-201amr.dts
index f792ac268b..9d96e7471e 100644
--- a/target/linux/brcm63xx/dts/dv-201amr.dts
+++ b/target/linux/brcm63xx/dts/dv-201amr.dts
@@ -7,6 +7,10 @@
/ {
model = "Davolink DV-201AMR";
compatible = "davolink,dv-201amr", "brcm,bcm6348";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
index 20098258a3..90aca83a54 100644
--- a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
+++ b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
@@ -8,6 +8,10 @@
model = "D-Link DVA-G3810BN/TL";
compatible = "d-link,dva-g3810bn/tl", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/evg2000.dts b/target/linux/brcm63xx/dts/evg2000.dts
new file mode 100644
index 0000000000..79f26b9850
--- /dev/null
+++ b/target/linux/brcm63xx/dts/evg2000.dts
@@ -0,0 +1,107 @@
+/dts-v1/;
+
+#include "bcm6368.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Netgear EVG2000";
+ compatible = "netgear,evg2000", "brcm,bcm6368";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 25 1>;
+ linux,code = <KEY_RESTART>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 26 1>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ voip1_green {
+ label = "EVG2000:green:voip1";
+ gpios = <&gpio0 14 1>;
+ };
+ voip2_green {
+ label = "EVG2000:green:voip2";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_red {
+ label = "EVG2000:red:inet";
+ gpios = <&gpio0 4 1>;
+ };
+ inet_green {
+ label = "EVG2000:green:inet";
+ gpios = <&gpio0 5 1>;
+ };
+ usb_green {
+ label = "EVG2000:green:usb";
+ gpios = <&gpio0 15 1>;
+ };
+ power_green {
+ label = "EVG2000:green:power";
+ gpios = <&gpio0 22 1>;
+ default-state = "on";
+ };
+ power_red {
+ label = "EVG2000:red:power";
+ gpios = <&gpio0 23 1>;
+ };
+ lan_green {
+ label = "EVG2000:green:lan";
+ gpios = <&gpio0 24 1>;
+ };
+ wireless_green {
+ label = "EVG2000:green:wireless";
+ gpios = <&gpio0 26 1>;
+ };
+ wan_green {
+ label = "EVG2000:green:wan";
+ gpios = <&gpio0 27 1>;
+ };
+ };
+};
+
+&pflash {
+ status = "ok";
+
+ linux,part-probe = "bcm63xxpart";
+
+ cfe@0 {
+ label = "CFE";
+ reg = <0x00000000 0x00020000>;
+ read-only;
+ };
+
+ linux@20000 {
+ label = "linux";
+ reg = <0x00020000 0x00f40000>;
+ };
+
+ board_data@f60000 {
+ label = "board_data";
+ reg = <0x00f60000 0x00080000>;
+ read-only;
+ };
+
+ nvram@fe0000 {
+ label = "nvram";
+ reg = <0x00fe0000 0x00020000>;
+ };
+};
diff --git a/target/linux/brcm63xx/dts/f5d7633.dts b/target/linux/brcm63xx/dts/f5d7633.dts
index 519df1e566..2dae1aff72 100644
--- a/target/linux/brcm63xx/dts/f5d7633.dts
+++ b/target/linux/brcm63xx/dts/f5d7633.dts
@@ -8,6 +8,10 @@
model = "Belkin F5D7633";
compatible = "belkin,f5d7633", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/fast2404.dts b/target/linux/brcm63xx/dts/fast2404.dts
index 5309703fae..29211e6d17 100644
--- a/target/linux/brcm63xx/dts/fast2404.dts
+++ b/target/linux/brcm63xx/dts/fast2404.dts
@@ -7,6 +7,10 @@
/ {
model = "Sagem F@ST2404";
compatible = "sagem,f@st2404", "brcm,bcm6348";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/fast2504n.dts b/target/linux/brcm63xx/dts/fast2504n.dts
index cf453af2ad..4bc06c1770 100644
--- a/target/linux/brcm63xx/dts/fast2504n.dts
+++ b/target/linux/brcm63xx/dts/fast2504n.dts
@@ -8,6 +8,10 @@
model = "Sagem F@ST2504n";
compatible = "sagem,f@st2504n", "brcm,bcm6362";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/fast2604.dts b/target/linux/brcm63xx/dts/fast2604.dts
index c6b71d1cde..5d7192fc05 100644
--- a/target/linux/brcm63xx/dts/fast2604.dts
+++ b/target/linux/brcm63xx/dts/fast2604.dts
@@ -8,6 +8,10 @@
model = "Sagem F@ST2604";
compatible = "sagem,f@st2604", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/fast2704n.dts b/target/linux/brcm63xx/dts/fast2704n.dts
index 232d4d1c8e..8756ca0a0f 100644
--- a/target/linux/brcm63xx/dts/fast2704n.dts
+++ b/target/linux/brcm63xx/dts/fast2704n.dts
@@ -8,6 +8,10 @@
model = "Sagem F@ST2704N";
compatible = "sagem,f@st2704n", "brcm,bcm6318";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/fast2704v2.dts b/target/linux/brcm63xx/dts/fast2704v2.dts
index 3f56827d1a..7611bf44c4 100644
--- a/target/linux/brcm63xx/dts/fast2704v2.dts
+++ b/target/linux/brcm63xx/dts/fast2704v2.dts
@@ -8,6 +8,10 @@
model = "Sagem F@ST2704V2";
compatible = "sagem,f@st2704v2", "brcm,bcm6328";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/gw6000.dts b/target/linux/brcm63xx/dts/gw6000.dts
index 69424e08a0..c6befddb5b 100644
--- a/target/linux/brcm63xx/dts/gw6000.dts
+++ b/target/linux/brcm63xx/dts/gw6000.dts
@@ -8,6 +8,10 @@
model = "TECOM GW6000";
compatible = "tecom,gw6000", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/gw6200.dts b/target/linux/brcm63xx/dts/gw6200.dts
index 2bd4381927..14c12a8700 100644
--- a/target/linux/brcm63xx/dts/gw6200.dts
+++ b/target/linux/brcm63xx/dts/gw6200.dts
@@ -8,6 +8,10 @@
model = "TECOM GW6200";
compatible = "tecom,gw6200", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg520v.dts b/target/linux/brcm63xx/dts/hg520v.dts
index 7b6b36f06a..a86311f08e 100644
--- a/target/linux/brcm63xx/dts/hg520v.dts
+++ b/target/linux/brcm63xx/dts/hg520v.dts
@@ -8,6 +8,10 @@
model = "Huawei EchoLife HG520v";
compatible = "huawei,hg520v", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg553.dts b/target/linux/brcm63xx/dts/hg553.dts
index b23ceaaa80..cc6b331511 100644
--- a/target/linux/brcm63xx/dts/hg553.dts
+++ b/target/linux/brcm63xx/dts/hg553.dts
@@ -8,6 +8,10 @@
model = "Huawei EchoLife HG553";
compatible = "huawei,hg553", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg556a-a.dts b/target/linux/brcm63xx/dts/hg556a-a.dts
index 98e0a83430..b9f5842b07 100644
--- a/target/linux/brcm63xx/dts/hg556a-a.dts
+++ b/target/linux/brcm63xx/dts/hg556a-a.dts
@@ -8,6 +8,10 @@
model = "Huawei EchoLife HG556a (version A)";
compatible = "huawei,hg556a-a", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg556a-b.dts b/target/linux/brcm63xx/dts/hg556a-b.dts
index 8a19856e29..40f79cd135 100644
--- a/target/linux/brcm63xx/dts/hg556a-b.dts
+++ b/target/linux/brcm63xx/dts/hg556a-b.dts
@@ -8,6 +8,10 @@
model = "Huawei EchoLife HG556a (version B)";
compatible = "huawei,hg556a-b", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg556a-c.dts b/target/linux/brcm63xx/dts/hg556a-c.dts
index 9798091871..3e64a2fb18 100644
--- a/target/linux/brcm63xx/dts/hg556a-c.dts
+++ b/target/linux/brcm63xx/dts/hg556a-c.dts
@@ -8,6 +8,10 @@
model = "Huawei EchoLife HG556a (version C)";
compatible = "huawei,hg556a-c", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg622.dts b/target/linux/brcm63xx/dts/hg622.dts
index 6cfc06729d..6dee418edb 100644
--- a/target/linux/brcm63xx/dts/hg622.dts
+++ b/target/linux/brcm63xx/dts/hg622.dts
@@ -8,6 +8,11 @@
model = "Huawei HG622";
compatible = "huawei,hg622", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/hg655b.dts b/target/linux/brcm63xx/dts/hg655b.dts
index b7722dfc73..7f4a7cab56 100644
--- a/target/linux/brcm63xx/dts/hg655b.dts
+++ b/target/linux/brcm63xx/dts/hg655b.dts
@@ -8,6 +8,10 @@
model = "Huawei HG655b";
compatible = "huawei,hg655b", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts
index 9e7ce2fcf6..8d0accdb93 100644
--- a/target/linux/brcm63xx/dts/homehub2a.dts
+++ b/target/linux/brcm63xx/dts/homehub2a.dts
@@ -8,6 +8,10 @@
model = "BT Home Hub 2.0 Type A";
compatible = "thomson,homehub2a", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
spi-gpio {
#address-cells = <1>;
#size-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/livebox-blue-5g.dts b/target/linux/brcm63xx/dts/livebox-blue-5g.dts
index bc3d403559..0df5fa8e33 100644
--- a/target/linux/brcm63xx/dts/livebox-blue-5g.dts
+++ b/target/linux/brcm63xx/dts/livebox-blue-5g.dts
@@ -8,6 +8,10 @@
model = "Inventel Livebox 1";
compatible = "inventel,livebox-blue-5g", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/magic.dts b/target/linux/brcm63xx/dts/magic.dts
index b923ee8dfd..be10524094 100644
--- a/target/linux/brcm63xx/dts/magic.dts
+++ b/target/linux/brcm63xx/dts/magic.dts
@@ -8,6 +8,10 @@
model = "Alice W-Gate";
compatible = "telsey,magic", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
index 65f26c7281..e1f55fde91 100644
--- a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
+++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
@@ -8,6 +8,10 @@
model = "SFR Neuf Box 4 (Foxconn)";
compatible = "sfr,nb4-fxc-r1", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
spi-gpio {
#address-cells = <1>;
#size-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
index 1a48b72822..3044516cf8 100644
--- a/target/linux/brcm63xx/dts/nb4-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
@@ -8,6 +8,10 @@
model = "SFR Neuf Box 4 (Sercomm)";
compatible = "sfr,nb4-ser-r0", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
spi-gpio {
#address-cells = <1>;
#size-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/nb6-ser-r0.dts b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
index c23ff904c3..d61c16ddae 100644
--- a/target/linux/brcm63xx/dts/nb6-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
@@ -8,6 +8,10 @@
model = "SFR neufbox 6 (Sercomm)";
compatible = "sfr,nb6-ser-r0", "brcm,bcm6362";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
index 606b896193..962d474398 100644
--- a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
+++ b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
@@ -8,6 +8,10 @@
model = "Zyxel P870HW-51a v2";
compatible = "zyxel,p870hw-51a-v2", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/r5010unv2.dts b/target/linux/brcm63xx/dts/r5010unv2.dts
index cae2296d53..0d91d84520 100644
--- a/target/linux/brcm63xx/dts/r5010unv2.dts
+++ b/target/linux/brcm63xx/dts/r5010unv2.dts
@@ -7,6 +7,11 @@
/ {
model = "NuCom R5010UN v2";
compatible = "nucom,r5010unv2", "brcm,bcm6328";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
diff --git a/target/linux/brcm63xx/dts/rg100a.dts b/target/linux/brcm63xx/dts/rg100a.dts
index 503ae57f21..770ceee356 100644
--- a/target/linux/brcm63xx/dts/rg100a.dts
+++ b/target/linux/brcm63xx/dts/rg100a.dts
@@ -8,6 +8,10 @@
model = "Alcatel RG100A";
compatible = "alcatel,rg100a", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/rta1025w.dts b/target/linux/brcm63xx/dts/rta1025w.dts
index 5d0dce0b77..4758ab3a23 100644
--- a/target/linux/brcm63xx/dts/rta1025w.dts
+++ b/target/linux/brcm63xx/dts/rta1025w.dts
@@ -7,6 +7,10 @@
/ {
model = "Dynalink RTA1025W";
compatible = "dynalink,rta1025w", "brcm,bcm6348";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
};
&pflash {
diff --git a/target/linux/brcm63xx/dts/rta1320.dts b/target/linux/brcm63xx/dts/rta1320.dts
index c8c2827c6a..6dbf0a5a91 100644
--- a/target/linux/brcm63xx/dts/rta1320.dts
+++ b/target/linux/brcm63xx/dts/rta1320.dts
@@ -8,6 +8,10 @@
model = "Dynalink RTA1320";
compatible = "dynalink,rta1320", "brcm,bcm6338";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/rta770bw.dts b/target/linux/brcm63xx/dts/rta770bw.dts
index d24334e909..bb92d1ec0b 100644
--- a/target/linux/brcm63xx/dts/rta770bw.dts
+++ b/target/linux/brcm63xx/dts/rta770bw.dts
@@ -8,6 +8,10 @@
model = "Siemens Gigaset SE515";
compatible = "dynalink,rta770bw", "brcm,bcm6345";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/rta770w.dts b/target/linux/brcm63xx/dts/rta770w.dts
index 2c2d6fb952..7cefa5008d 100644
--- a/target/linux/brcm63xx/dts/rta770w.dts
+++ b/target/linux/brcm63xx/dts/rta770w.dts
@@ -8,6 +8,10 @@
model = "Dynalink RTA770W";
compatible = "dynalink,rta770w", "brcm,bcm6345";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/spw303v.dts b/target/linux/brcm63xx/dts/spw303v.dts
index 2dcf752753..8128fbdfb6 100644
--- a/target/linux/brcm63xx/dts/spw303v.dts
+++ b/target/linux/brcm63xx/dts/spw303v.dts
@@ -8,6 +8,10 @@
model = "T-Com Speedport W303 V";
compatible = "t-com,spw303v", "brcm,bcm6358";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/spw500v.dts b/target/linux/brcm63xx/dts/spw500v.dts
index 2fcf958e8e..4fe32d6f16 100644
--- a/target/linux/brcm63xx/dts/spw500v.dts
+++ b/target/linux/brcm63xx/dts/spw500v.dts
@@ -8,6 +8,10 @@
model = "T-Com Speedport W500 V";
compatible = "t-com,spw500v", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts
index a1480f69a9..6e13f3f52c 100644
--- a/target/linux/brcm63xx/dts/td-w8900gb.dts
+++ b/target/linux/brcm63xx/dts/td-w8900gb.dts
@@ -8,6 +8,10 @@
model = "TP-Link TD-W8900GB";
compatible = "tp-link,td-w8900gb", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/usr9108.dts b/target/linux/brcm63xx/dts/usr9108.dts
index 64a5ab3dcb..25415abe04 100644
--- a/target/linux/brcm63xx/dts/usr9108.dts
+++ b/target/linux/brcm63xx/dts/usr9108.dts
@@ -8,6 +8,10 @@
model = "USRobotics 9108";
compatible = "usr,9108", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-leds {
compatible = "gpio-leds";
diff --git a/target/linux/brcm63xx/dts/v2110.dts b/target/linux/brcm63xx/dts/v2110.dts
index 26053398b7..13230a05ba 100644
--- a/target/linux/brcm63xx/dts/v2110.dts
+++ b/target/linux/brcm63xx/dts/v2110.dts
@@ -8,6 +8,10 @@
model = "BT Voyager 2110";
compatible = "bt,v2110", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/v2500v-bb.dts b/target/linux/brcm63xx/dts/v2500v-bb.dts
index 5a9223f684..bc1a717e06 100644
--- a/target/linux/brcm63xx/dts/v2500v-bb.dts
+++ b/target/linux/brcm63xx/dts/v2500v-bb.dts
@@ -8,6 +8,10 @@
model = "BT Voyager V2500V";
compatible = "bt,v2500v-bb", "brcm,bcm6348";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/vg50.dts b/target/linux/brcm63xx/dts/vg50.dts
index f95fa9558f..1bf79fba59 100644
--- a/target/linux/brcm63xx/dts/vg50.dts
+++ b/target/linux/brcm63xx/dts/vg50.dts
@@ -8,6 +8,10 @@
model = "Inteno VG50";
compatible = "inteno,vg50", "brcm,bcm63268";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/vr-3025u.dts b/target/linux/brcm63xx/dts/vr-3025u.dts
index b24b590dc3..7b37fadcd3 100644
--- a/target/linux/brcm63xx/dts/vr-3025u.dts
+++ b/target/linux/brcm63xx/dts/vr-3025u.dts
@@ -8,6 +8,10 @@
model = "Comtrend VR-3025u";
compatible = "comtrend,vr-3025u", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/vr-3025un.dts b/target/linux/brcm63xx/dts/vr-3025un.dts
index 124045f4f5..9c7e0dc2fe 100644
--- a/target/linux/brcm63xx/dts/vr-3025un.dts
+++ b/target/linux/brcm63xx/dts/vr-3025un.dts
@@ -8,6 +8,10 @@
model = "Comtrend VR-3025un";
compatible = "comtrend,vr-3025un", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/vr-3026e.dts b/target/linux/brcm63xx/dts/vr-3026e.dts
index 49790e224d..5ecfdfd44e 100644
--- a/target/linux/brcm63xx/dts/vr-3026e.dts
+++ b/target/linux/brcm63xx/dts/vr-3026e.dts
@@ -8,6 +8,10 @@
model = "Comtrend VR-3026e";
compatible = "comtrend,vr-3026e", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/dts/wap-5813n.dts b/target/linux/brcm63xx/dts/wap-5813n.dts
index 1c31c5713a..9312bedb47 100644
--- a/target/linux/brcm63xx/dts/wap-5813n.dts
+++ b/target/linux/brcm63xx/dts/wap-5813n.dts
@@ -8,6 +8,10 @@
model = "Comtrend WAP-5813n";
compatible = "comtrend,wap-5813n", "brcm,bcm6368";
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index e00b6fb948..d2a381431d 100644
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -1,5 +1,6 @@
#
# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2016 LEDE project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -128,7 +129,7 @@ define Build/cfe-spw303v-bin
--output $@ --boardid $(CFE_BOARD_ID) --chipid $(CFE_CHIP_ID) \
--entry $(LOADER_ENTRY) --load-addr $(LOADER_ENTRY) \
$(call rootfspad/$(call Image/FileSystemStrip,$(word 2,$^))) \
- $(CFE_EXTRAS)
+ $(CFE_EXTRAS) $(1)
endef
define Build/spw303v-bin
@@ -165,477 +166,23 @@ define Build/redboot-bin
> "$@"
endef
-# Shared device definition: applies to every defined device
define Device/Default
- PROFILES = Default $$(DEVICE_PROFILE)
+ PROFILES = Default $$(DEVICE_NAME)
KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts)
- KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX).elf
- DEVICE_PROFILE :=
+ KERNEL_INITRAMFS_SUFFIX := .elf
DEVICE_DTS :=
endef
-DEVICE_VARS += DEVICE_PROFILE DEVICE_DTS
-
-# BCM33xx HCS devices: only generates ramdisks (unsupported bin images)
-define Device/bcm33xxHcsRamdisk
- KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma bin | hcs-initramfs
- IMAGES :=
- HCS_MAGIC_BYTES :=
- HCS_REV_MIN :=
- HCS_REV_MAJ :=
-endef
-DEVICE_VARS += HCS_MAGIC_BYTES HCS_REV_MIN HCS_REV_MAJ
-
-# Shared BCM63xx CFE device definitios
-define Device/bcm63xxCfeCommon
- FILESYSTEMS := squashfs jffs2-64k jffs2-128k
- KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | lzma-cfe
- KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf
-endef
-
-# BCM63xx CFE devices: only generates ramdisks (unsupported bin images)
-define Device/bcm63xxCfeRamdisk
- $(Device/bcm63xxCfeCommon)
- IMAGES :=
-endef
-
-# BCM63xx CFE devices: both ramdisks and parallel/spi bin images
-# New versions of CFE bootloader compatible with imagetag
-define Device/bcm63xxCfe
- $(Device/bcm63xxCfeCommon)
- IMAGES := cfe.bin
- IMAGE/cfe.bin := cfe-bin
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
-endef
-DEVICE_VARS += CFE_BOARD_ID CFE_CHIP_ID CFE_EXTRAS
-
-# BCM63xx CFE BC221 devices: both ramdisks and parallel/spi bin images
-# Generates a generic image and a layout version 5 image
-define Device/bcm63xxCfeBc221
- $(Device/bcm63xxCfeCommon)
- IMAGES := cfe.bin cfe-bc221.bin
- IMAGE/cfe.bin := cfe-bin
- IMAGE/cfe-bc221.bin := cfe-bin --layoutver 5
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
-endef
-
-# BCM63xx CFE MultiFlash devices: both ramdisks and parallel/spi bin images
-# Generates generic images padded for 4M/8M/16M flashes
-define Device/bcm63xxCfeMultiFlash
- $(Device/bcm63xxCfeCommon)
- IMAGES := cfe-4M.bin cfe-8M.bin cfe-16M.bin
- IMAGE/cfe-4M.bin := cfe-bin --pad 2
- IMAGE/cfe-8M.bin := cfe-bin --pad 4
- IMAGE/cfe-16M.bin := cfe-bin --pad 8
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
-endef
-
-# BCM63xx CFE NETGEAR devices: both ramdisks and parallel/spi bin images
-# factory.chk: netgear images for bootloader/original firmware upgrades
-# sysupgrade.bin: openwrt images for sysupgrades
-define Device/bcm63xxCfeNetgear
- $(Device/bcm63xxCfeCommon)
- IMAGES := factory.chk sysupgrade.bin
- IMAGE/factory.chk := cfe-bin | netgear-chk
- IMAGE/sysupgrade.bin := cfe-bin
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
- NETGEAR_BOARD_ID :=
- NETGEAR_REGION :=
-endef
-DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
-
-# BCM63xx Old CFE devices: both ramdisks and parallel/spi bin images
-# Old versions of CFE bootloader not compatible with imagetag
-define Device/bcm63xxCfeOld
- $(Device/bcm63xxCfeCommon)
- IMAGES := cfe-old.bin
- IMAGE/cfe-old.bin := cfe-old-bin
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
-endef
-
-# BCM63xx CFE SPW303V devices: both ramdisks and parallel/spi bin images
-# factory.bin: SPW303V images for bootloader/original firmware upgrades
-# sysupgrade.bin: openwrt images for sysupgrades
-define Device/bcm63xxCfeSpw303v
- $(Device/bcm63xxCfeCommon)
- IMAGES := factory.bin sysupgrade.bin
- IMAGE/factory.bin := cfe-spw303v-bin | spw303v-bin | xor-image
- IMAGE/sysupgrade.bin := cfe-spw303v-bin | spw303v-bin
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
-endef
-
-# BCM63xx CFE ZyXEL devices: both ramdisks and parallel/spi bin images
-# factory.bin: ZyXEL specific CFE images (sysupgrade compatible)
-define Device/bcm63xxCfeZyxel
- $(Device/bcm63xxCfeCommon)
- IMAGES := factory.bin
- IMAGE/factory.bin := cfe-bin | zyxel-bin
- CFE_BOARD_ID :=
- CFE_CHIP_ID :=
- CFE_EXTRAS :=
-endef
-
-# BCM63xx RedBoot devices: both ramdisks and parallel/spi bin images
-# Generates images compatible with RedBoot bootloader
-define Device/bcm63xxRedBoot
- FILESYSTEMS := squashfs
- KERNEL := kernel-bin | append-dtb | gzip
- IMAGES := redboot.bin
- IMAGE/redboot.bin := redboot-bin
- REDBOOT_PREFIX := $$(IMAGE_PREFIX)
-endef
-DEVICE_VARS += REDBOOT_PREFIX
-
-### Device macros ###
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = hcs magic bytes
-# $(5) = hcs rev min
-# $(6) = hcs rev major
-define bcm33xxHcsRamdisk
- define Device/$(2)
- $$(Device/bcm33xxHcsRamdisk)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- HCS_MAGIC_BYTES := $(4)
- HCS_REV_MIN := $(5)
- HCS_REV_MAJ := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-define bcm63xxCfeRamdisk
- define Device/$(2)
- $$(Device/bcm63xxCfeRamdisk)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-define bcm63xxCfe
- define Device/$(2)
- $$(Device/bcm63xxCfe)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-define bcm63xxCfeMultiFlash
- define Device/$(2)
- $$(Device/bcm63xxCfeMultiFlash)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-define bcm63xxCfeBc221
- define Device/$(2)
- $$(Device/bcm63xxCfeBc221)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-# $(7) = netgear id
-# $(8) = netgear region
-define bcm63xxCfeNetgear
- define Device/$(2)
- $$(Device/bcm63xxCfeNetgear)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- NETGEAR_BOARD_ID := $(7)
- NETGEAR_REGION := $(8)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-define bcm63xxCfeOld
- define Device/$(2)
- $$(Device/bcm63xxCfeOld)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-define bcm63xxCfeSpw303v
- define Device/$(2)
- $$(Device/bcm63xxCfeSpw303v)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-# $(4) = cfe board name
-# $(5) = cfe chip id
-# $(6) = cfe additional options
-define bcm63xxCfeZyxel
- define Device/$(2)
- $$(Device/bcm63xxCfeZyxel)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- CFE_BOARD_ID := $(4)
- CFE_CHIP_ID := $(5)
- CFE_EXTRAS := $(6)
- endef
- TARGET_DEVICES += $(2)
-endef
-
-# $(1) = profile
-# $(2) = image name
-# $(3) = dts
-define bcm63xxRedBoot
- define Device/$(2)
- $$(Device/bcm63xxRedBoot)
- DEVICE_PROFILE := $(1)
- DEVICE_DTS := $(3)
- endef
- TARGET_DEVICES += $(2)
-endef
+DEVICE_VARS += DEVICE_DTS
-### Devices ###
-# Generic 963281TAN
-$(eval $(call bcm63xxCfeMultiFlash,963281TAN,963281TAN-generic,bcm963281TAN,963281TAN,6328))
-# Generic 96328avng
-$(eval $(call bcm63xxCfeMultiFlash,96328avng,96328avng-generic,bcm96328avng,96328avng,6328))
-# Generic 96338GW
-$(eval $(call bcm63xxCfe,96338GW,96338GW-generic,bcm96338GW,6338GW,6338))
-# Generic 96338W
-$(eval $(call bcm63xxCfe,96338W,96338W-generic,bcm96338W,6338W,6338))
-# Generic 96345GW2
-$(eval $(call bcm63xxCfeBc221,96345GW2,96345GW2-generic,bcm96345GW2,96345GW2,6345))
-# Generic 96348GW
-$(eval $(call bcm63xxCfeBc221,96348GW,96348GW-generic,bcm96348GW,96348GW,6348))
-# Generic 96348GW-10
-$(eval $(call bcm63xxCfe,96348GW_10,96348GW-10-generic,bcm96348GW-10,96348GW-10,6348))
-# Generic 96348GW-11
-$(eval $(call bcm63xxCfe,96348GW_11,96348GW-11-generic,bcm96348GW-11,96348GW-11,6348))
-# Generic 96348R
-$(eval $(call bcm63xxCfe,96348R,96348R-generic,bcm96348R,96348R,6348))
-# Generic 96358VW
-$(eval $(call bcm63xxCfe,96358VW,96358VW-generic,bcm96358VW,96358VW,6358))
-# Generic 96358VW2
-$(eval $(call bcm63xxCfe,96358VW2,96358VW2-generic,bcm96358VW2,96358VW2,6358))
-# Generic 96368MVNgr
-$(eval $(call bcm63xxCfe,96368MVNgr,96368MVNgr-generic,bcm96368MVNgr,96368MVNgr,6368))
-# Generic 96368MVWG
-$(eval $(call bcm63xxCfe,96368MVWG,96368MVWG-generic,bcm96368MVWG,96368MVWG,6368))
+ATH5K_PACKAGES := kmod-ath5k wpad-mini
+ATH9K_PACKAGES := kmod-ath9k wpad-mini
+B43_PACKAGES := kmod-b43 wpad-mini
+BRCMWL_PACKAGES := kmod-brcm-wl nas wlc
+RT28_PACKAGES := kmod-rt2800-pci wpad-mini
+RT61_PACKAGES := kmod-rt61-pci wpad-mini
+USB1_PACKAGES := kmod-usb-ohci kmod-ledtrig-usbdev
+USB2_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-# ADB P.DG A4001N
-$(eval $(call bcm63xxCfe,A4001N,A4001N,a4001n,96328dg2x2,6328,--pad 4))
-# ADB P.DG A4001N1
-$(eval $(call bcm63xxCfe,A4001N1,A4001N1,a4001n1,963281T_TEF,6328,--pad 8))
-# Alcatel RG100A
-$(eval $(call bcm63xxCfe,RG100A,RG100A,rg100a,96358VW2,6358,--block-size 0x20000 --image-offset 0x20000))
-# Asmax AR 1004g
-$(eval $(call bcm63xxCfe,AR1004G,AR1004G,ar1004g,96348GW-10,6348))
-# Belkin F5D7633
-$(eval $(call bcm63xxCfe,F5D7633,F5D7633,f5d7633,96348GW-10,6348,--block-size 0x20000 --image-offset 0x20000))
-# Broadcom BCM96318REF
-$(eval $(call bcm63xxCfeRamdisk,BCM96318REF,BCM96318REF,bcm96318ref,96318REF,6318))
-# Broadcom BCM96318REF_P300
-$(eval $(call bcm63xxCfeRamdisk,BCM96318REF_P300,BCM96318ref_P300,bcm96318ref_p300,96318REF_P300,6318))
-# Broadcom BCM963268BU_P300
-$(eval $(call bcm63xxCfeRamdisk,BCM963268BU_P300,BCM963268BU_P300,bcm963268bu_p300,963268BU_P300,63268))
-# Broadcom BCM963269BHR
-$(eval $(call bcm63xxCfeRamdisk,BCM963269BHR,BCM963269BHR,bcm963269bhr,963269BHR,63268))
-# BT Home Hub 2.0 A
-$(eval $(call bcm63xxCfe,BTHOMEHUB2A,HomeHub2A,homehub2a,HOMEHUB2A,6358,--image-offset 0x20000 --block-size 0x20000))
-# BT Voyager V2110, V2110_AA, V2110_ROI
-$(eval $(call bcm63xxCfe,BTV2110,BTV2110,v2110,V2110,6348,--layoutver 5))
-# BT Voyager V2500V, V2500V_SIP_CLUB, V2500V_AA
-$(eval $(call bcm63xxCfe,BTV2500V,BTV2500V,v2500v-bb,V2500V_BB,6348,--layoutver 5))
-# Comtrend AR-5381u
-$(eval $(call bcm63xxCfe,AR5381u,AR-5381u,ar-5381u,96328A-1241N,6328,--pad 8))
-# Comtrend AR-5387un
-$(eval $(call bcm63xxCfe,AR5387un,AR-5387un,ar-5387un,96328A-1441N1,6328,--pad 8))
-# Comtrend 536, 5621
-$(eval $(call bcm63xxCfe,CT536_CT5621,CT536_CT5621,ct536plus,96348GW-11,6348))
-# Comtrend CT-5365
-$(eval $(call bcm63xxCfe,CT5365,CT-5365,ct-5365,96348A-122,6348))
-# Comtrend CT-6373
-$(eval $(call bcm63xxCfe,CT6373,CT-6373,ct-6373,CT6373-1,6358))
-# Comtrend VR-3025u
-$(eval $(call bcm63xxCfe,VR3025u,VR-3025u,vr-3025u,96368M-1541N,6368,--pad 16 --image-offset 0x20000 --block-size 0x20000))
-# Comtrend VR-3025un
-$(eval $(call bcm63xxCfe,VR3025un,VR-3025un,vr-3025un,96368M-1341N,6368,--pad 4))
-# Comtrend VR-3026e
-$(eval $(call bcm63xxCfe,VR3026e,VR-3026e,vr-3026e,96368MT-1341N1,6368,--pad 4))
-# Comtrend WAP-5813n
-$(eval $(call bcm63xxCfe,WAP5813n,WAP-5813n,wap-5813n,96369R-1231N,6368,--pad 4))
-# D-Link DSL-2640B, rev B2
-$(eval $(call bcm63xxCfe,DSL2640B-B2,DSL2640B_B,dsl-2640b-b,D-4P-W,6348))
-# D-Link DSL-2640U, rev C1
-$(eval $(call bcm63xxCfe,DSL2640U,DSL2640U,dsl-2640u,96338W2_E7T,6338))
-# D-Link DSL-2650U
-$(eval $(call bcm63xxCfe,DSL2650U,DSL2650U,dsl-2650u,96358VW2,6358))
-# D-Link DSL-2740B/DSL-2741B, rev C2
-$(eval $(call bcm63xxCfe,DSL274XB_C,DSL274XB-C2,dsl-274xb-c,96358GW,6358))
-# D-Link DSL-2740B/DSL-2741B, rev C3
-$(eval $(call bcm63xxCfe,DSL274XB_C,DSL274XB-C3,dsl-274xb-c,AW4139,6358))
-# D-Link DSL-2740B/DSL-2741B, rev F1
-$(eval $(call bcm63xxCfe,DSL274XB_F,DSL274XB-F1-EU,dsl-274xb-f,AW4339U,6328,--signature2 "4.06.01.EUF1" --pad 4))
-$(eval $(call bcm63xxCfe,DSL274XB_F,DSL274XB-F1-AU,dsl-274xb-f,AW4339U,6328,--signature2 "4.06.01.AUF1" --pad 4))
-# D-Link DSL-2750B/DSL-2751, rev D1
-$(eval $(call bcm63xxCfe,DSL275XB_D,DSL275XB-D1,dsl-275xb-d,AW5200B,6318,--pad 4))
-# D-Link DVA-G3810BN/TL
-$(eval $(call bcm63xxCfe,DVAG3810BN,DVAG3810BN,dva-g3810bn_tl,96358VW,6358))
-# Davolink DV-201AMR
-$(eval $(call bcm63xxCfeOld,DV201AMR,DV-201AMR,dv-201amr,DV201AMR,6348))
-# Dynalink RTA770BW (Siemens SE515)
-$(eval $(call bcm63xxCfeRamdisk,RTA770BW,RTA770BW,rta770bw,RTA770BW,6345,--layoutver 5))
-# Dynalink RTA770W
-$(eval $(call bcm63xxCfeRamdisk,RTA770W,RTA770W,rta770w,RTA770W,6345,--layoutver 5))
-# Dynalink RTA1025W (numerous routers)
-$(eval $(call bcm63xxCfe,RTA1025W,RTA1025W_16,rta1025w,RTA1025W_16,6348,--layoutver 5))
-# Dynalink RTA1320 (numerous routers)
-$(eval $(call bcm63xxCfe,RTA1320,RTA1320_16M,rta1320,RTA1320_16M,6338,--layoutver 5))
-# Huawei HG520v
-$(eval $(call bcm63xxCfe,HG520v,HG520v,hg520v,HW6358GW_B,6358,--rsa-signature "EchoLife_HG520v"))
-# Huawei HG553
-$(eval $(call bcm63xxCfe,HG553,HG553,hg553,HW553,6358,--rsa-signature "EchoLife_HG553" --image-offset 0x20000 --block-size 0x20000 --tag-version 7))
-# Huawei HG556a
-$(eval $(call bcm63xxCfe,HG556a_AB,HG556a_A,hg556a-a,HW556,6358,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x10000 --tag-version 8))
-$(eval $(call bcm63xxCfe,HG556a_AB,HG556a_B,hg556a-b,HW556,6358,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x20000 --tag-version 8))
-$(eval $(call bcm63xxCfe,HG556a_C,HG556a_C,hg556a-c,HW556,6358,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x20000 --tag-version 8))
-# Huawei HG622
-$(eval $(call bcm63xxCfe,HG622,HG622,hg622,96368MVWG_hg622,6368,--image-offset 0x20000 --block-size 0x20000 --tag-version 7 --pad 8))
-# Huawei HG655b
-$(eval $(call bcm63xxCfe,HG655b,HG655b,hg655b,HW65x,6368,--image-offset 0x20000 --tag-version 7 --pad 4))
-# Inteno VG50
-$(eval $(call bcm63xxCfeRamdisk,VG50,vg50,vg50,VW6339GU,63268))
-# Inventel Livebox 1
-$(eval $(call bcm63xxRedBoot,Livebox,livebox,livebox-blue-5g))
-# Netgear CVG834G
-$(eval $(call bcm33xxHcsRamdisk,CVG834G,cvg834g,cvg834g,0xa020,0001,0022))
-# Netgear DG834GT/PN
-$(eval $(call bcm63xxCfe,DG834GTPN,DG834GT_PN,dg834gtpn,96348GW-10,6348))
-# Netgear DG834G v4
-$(eval $(call bcm63xxCfeRamdisk,DG834GV4,DG834GTv4,dg834g_v4,96348W3,6348))
-# Netgear DGND3700 v1
-$(eval $(call bcm63xxCfeNetgear,DGND3700v1_3800B,DGND3700v1,dgnd3700v1,96368MVWG,6368,--image-offset 0x20000 --block-size 0x20000,U12L144T01_NETGEAR_NEWLED,1))
-# Netgear DGND3800B
-$(eval $(call bcm63xxCfeNetgear,DGND3700v1_3800B,DGND3800B,dgnd3700v1,96368MVWG,6368,--image-offset 0x20000 --block-size 0x20000,U12L144T11_NETGEAR_NEWLED,1))
-# NuCom R5010UNv2
-$(eval $(call bcm63xxCfe,R5010UNV2,R5010UNv2,r5010unv2,96328ang,6328,--pad 8))
-# Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0
-$(eval $(call bcm63xxCfe,AGPF_S0,AGV2+W,agpf-s0,AGPF-S0,6358,--block-size 0x20000 --image-offset 0x20000 --signature2 IMAGE --tag-version 8))
-# Pirelli A226G
-$(eval $(call bcm63xxCfe,A226G,A226G,a226g,DWV-S0,6358,--signature2 IMAGE --tag-version 8))
-# Pirelli A226M/A226M-FWB
-$(eval $(call bcm63xxCfe,A226M,A226M,a226m,DWV-S0,6358,--signature2 IMAGE --tag-version 8))
-$(eval $(call bcm63xxCfe,A226M,A226M-FWB,a226m-fwb,DWV-S0,6358,--block-size 0x20000 --image-offset 0x20000 --signature2 IMAGE --tag-version 8))
-# Sagem F@ST2404
-$(eval $(call bcm63xxCfe,FAST2404,F@ST2404,fast2404,F@ST2404,6348))
-# Sagem F@ST2504n
-$(eval $(call bcm63xxCfe,FAST2504n,F@ST2504n,fast2504n,F@ST2504n,6362))
-# Sagem F@ST2604
-$(eval $(call bcm63xxCfe,FAST2604,F@ST2604,fast2604,F@ST2604,6348))
-# Sagem F@ST2704N V1 / Plusnet F@ST2704N V1
-$(eval $(call bcm63xxCfe,FAST2704N,FAST2704N,fast2704n,F@ST2704N,6318,--pad 4))
-# Sagem F@ST2704V2
-$(eval $(call bcm63xxCfe,FAST2704V2,F@ST2704V2,fast2704v2,F@ST2704V2,6328))
-# SFR Neufbox 4
-$(eval $(call bcm63xxCfe,Neufbox4,NEUFBOX4-SER,nb4-ser-r0,96358VW,6358,--rsa-signature "OpenWRT-$(REVISION)"))
-$(eval $(call bcm63xxCfe,Neufbox4,NEUFBOX4-FXC,nb4-fxc-r1,96358VW,6358,--rsa-signature "OpenWRT-$(REVISION)"))
-# SFR Neufbox 6
-$(eval $(call bcm63xxCfe,Neufbox6,NEUFBOX6,nb6-ser-r0,NB6-SER-r0,6362,--rsa-signature "OpenWRT-$(REVISION)"))
-# T-Com Speedport W 303V Typ B
-$(eval $(call bcm63xxCfeSpw303v,SPW303V,SPW303V,spw303v,96358-502V,6358,--pad 4))
-# T-Com Speedport W 500V
-$(eval $(call bcm63xxCfe,SPW500V,SPW500V,spw500v,96348GW,6348))
-# Tecom GW6000
-$(eval $(call bcm63xxCfe,GW6000,GW6000,gw6000,96348GW,6348))
-# Tecom GW6200
-$(eval $(call bcm63xxCfe,GW6200,GW6200,gw6200,96348GW,6348,--rsa-signature "$(shell printf '\x99')"))
-# Telsey CPVA502+
-$(eval $(call bcm63xxCfeRamdisk,CPVA502PLUS,CVPA502PLUS,cpva502plus,CPVA502+,6348,--signature "Telsey Tlc" --signature2 "99.99.999" --second-image-flag "0"))
-# Telsey CPVA642-type (e.g. CPA-ZNTE60T)
-$(eval $(call bcm63xxCfe,CPVA642,CPA-ZNTE60T,cpva642,CPVA642,6358,--signature "Telsey Tlc" --signature2 "99.99.999" --second-image-flag "0" --pad 4))
-# Telsey MAGIC (Alice W-Gate)
-$(eval $(call bcm63xxCfeRamdisk,MAGIC,MAGIC,magic,MAGIC,6348))
-# TP-Link TD-W8900GB
-$(eval $(call bcm63xxCfe,TDW8900GB,TD-W8900GB,td-w8900gb,96348GW-11,6348,--rsa-signature "$(shell printf 'PRID\x89\x10\x00\x02')" --image-offset 0x20000))
-# USRobotics 9108
-$(eval $(call bcm63xxCfe,USR9108,USR9108,usr9108,96348GW-A,6348))
-# ZyXEL P870HW-51a v2
-$(eval $(call bcm63xxCfeZyxel,P870HW_51a_v2,P870HW-51a_v2,p870hw-51a-v2,96368VVW,6368,--rsa-signature "ZyXEL" --signature "ZyXEL_0001"))
+include bcm63xx.mk
$(eval $(call BuildImage))
diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk
new file mode 100644
index 0000000000..e42c233a64
--- /dev/null
+++ b/target/linux/brcm63xx/image/bcm63xx.mk
@@ -0,0 +1,1083 @@
+#
+# BCM33XX/BCM63XX Profiles
+#
+
+define Device/bcm33xx
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma bin | hcs-initramfs
+ IMAGES :=
+ HCS_MAGIC_BYTES :=
+ HCS_REV_MIN :=
+ HCS_REV_MAJ :=
+endef
+DEVICE_VARS += HCS_MAGIC_BYTES HCS_REV_MIN HCS_REV_MAJ
+
+define Device/bcm63xx
+ FILESYSTEMS := squashfs jffs2-64k jffs2-128k
+ KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | lzma-cfe
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf
+ IMAGES := cfe.bin
+ IMAGE/cfe.bin := cfe-bin --pad $$$$(shell expr $$$$(FLASH_MB) / 2)
+ IMAGE/cfe-4M.bin := cfe-bin --pad 2
+ IMAGE/cfe-8M.bin := cfe-bin --pad 4
+ IMAGE/cfe-16M.bin := cfe-bin --pad 8
+ IMAGE/cfe-bc221.bin := cfe-bin --layoutver 5
+ IMAGE/cfe-old.bin := cfe-old-bin
+ IMAGE/sysupgrade.bin := cfe-bin
+ BLOCK_SIZE := 0x10000
+ IMAGE_OFFSET :=
+ FLASH_MB := 4
+ CFE_BOARD_ID :=
+ CFE_CHIP_ID :=
+ CFE_EXTRAS := --block-size $$(BLOCK_SIZE) --image-offset $$(if $$(IMAGE_OFFSET),$$(IMAGE_OFFSET),$$(BLOCK_SIZE))
+endef
+DEVICE_VARS += BLOCK_SIZE FLASH_MB IMAGE_SIZE
+DEVICE_VARS += CFE_BOARD_ID CFE_CHIP_ID CFE_EXTRAS
+
+define Device/bcm63xx_netgear
+ $(Device/bcm63xx)
+ IMAGES := factory.chk sysupgrade.bin
+ IMAGE/factory.chk := cfe-bin | netgear-chk
+ NETGEAR_BOARD_ID :=
+ NETGEAR_REGION :=
+endef
+DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
+
+define Device/bcm63xx_redboot
+ FILESYSTEMS := squashfs
+ KERNEL := kernel-bin | append-dtb | gzip
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf
+ IMAGES := redboot.bin
+ IMAGE/redboot.bin := redboot-bin
+ REDBOOT_PREFIX := $$(IMAGE_PREFIX)
+endef
+DEVICE_VARS += REDBOOT_PREFIX
+
+### Generic ###
+define Device/963281TAN-generic
+ $(Device/bcm63xx)
+ IMAGES := cfe-4M.bin cfe-8M.bin cfe-16M.bin
+ DEVICE_TITLE := Generic 963281TAN
+ DEVICE_DTS := bcm963281TAN
+ CFE_BOARD_ID := 963281TAN
+ CFE_CHIP_ID := 6328
+endef
+TARGET_DEVICES += 963281TAN-generic
+
+define Device/96328avng-generic
+ $(Device/bcm63xx)
+ IMAGES := cfe-4M.bin cfe-8M.bin cfe-16M.bin
+ DEVICE_TITLE := Generic 96328avng
+ DEVICE_DTS := bcm96328avng
+ CFE_BOARD_ID := 96328avng
+ CFE_CHIP_ID := 6328
+endef
+TARGET_DEVICES += 96328avng-generic
+
+define Device/96338GW-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96338GW
+ DEVICE_DTS := bcm96338GW
+ CFE_BOARD_ID := 6338GW
+ CFE_CHIP_ID := 6338
+endef
+TARGET_DEVICES += 96338GW-generic
+
+define Device/96338W-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96338W
+ DEVICE_DTS := bcm96338W
+ CFE_BOARD_ID := 6338W
+ CFE_CHIP_ID := 6338
+endef
+TARGET_DEVICES += 96338W-generic
+
+define Device/96345GW2-generic
+ $(Device/bcm63xx)
+ IMAGES += cfe-bc221.bin
+ DEVICE_TITLE := Generic 96345GW2
+ DEVICE_DTS := bcm96345GW2
+ CFE_BOARD_ID := 96345GW2
+ CFE_CHIP_ID := 6345
+endef
+TARGET_DEVICES += 96345GW2-generic
+
+define Device/96348GW-generic
+ $(Device/bcm63xx)
+ IMAGES += cfe-bc221.bin
+ DEVICE_TITLE := Generic 96348GW
+ DEVICE_DTS := bcm96348GW
+ CFE_BOARD_ID := 96348GW
+ CFE_CHIP_ID := 6348
+endef
+TARGET_DEVICES += 96348GW-generic
+
+define Device/96348GW-10-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96348GW-10
+ DEVICE_DTS := bcm96348GW-10
+ CFE_BOARD_ID := 96348GW-10
+ CFE_CHIP_ID := 6348
+endef
+TARGET_DEVICES += 96348GW-10-generic
+
+define Device/96348GW-11-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96348GW-11
+ DEVICE_DTS := bcm96348GW-11
+ CFE_BOARD_ID := 96348GW-11
+ CFE_CHIP_ID := 6348
+endef
+TARGET_DEVICES += 96348GW-11-generic
+
+define Device/96348R-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96348R
+ DEVICE_DTS := bcm96348R
+ CFE_BOARD_ID := 96348R
+ CFE_CHIP_ID := 6348
+endef
+TARGET_DEVICES += 96348R-generic
+
+define Device/96358VW-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96358VW
+ DEVICE_DTS := bcm96358VW
+ CFE_BOARD_ID := 96358VW
+ CFE_CHIP_ID := 6358
+endef
+TARGET_DEVICES += 96358VW-generic
+
+define Device/96358VW2-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96358VW2
+ DEVICE_DTS := bcm96358VW2
+ CFE_BOARD_ID := 96358VW2
+ CFE_CHIP_ID := 6358
+endef
+TARGET_DEVICES += 96358VW2-generic
+
+define Device/96368MVNgr-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96368MVNgr
+ DEVICE_DTS := bcm96368MVNgr
+ CFE_BOARD_ID := 96368MVNgr
+ CFE_CHIP_ID := 6368
+endef
+TARGET_DEVICES += 96368MVNgr-generic
+
+define Device/96368MVWG-generic
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Generic 96368MVWG
+ DEVICE_DTS := bcm96368MVWG
+ CFE_BOARD_ID := 96368MVWG
+ CFE_CHIP_ID := 6368
+endef
+TARGET_DEVICES += 96368MVWG-generic
+
+### ADB ###
+define Device/A4001N
+ $(Device/bcm63xx)
+ DEVICE_TITLE := ADB P.DG A4001N
+ DEVICE_DTS := a4001n
+ CFE_BOARD_ID := 96328dg2x2
+ CFE_CHIP_ID := 6328
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES) $(B43_PACKAGES)
+endef
+TARGET_DEVICES += A4001N
+
+define Device/A4001N1
+ $(Device/bcm63xx)
+ IMAGES += sysupgrade.bin
+ DEVICE_TITLE := ADB P.DG A4001N1
+ DEVICE_DTS := a4001n1
+ CFE_BOARD_ID := 963281T_TEF
+ CFE_CHIP_ID := 6328
+ FLASH_MB := 16
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES) $(B43_PACKAGES)
+endef
+TARGET_DEVICES += A4001N1
+
+### Alcatel ###
+define Device/RG100A
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Alcatel RG100A
+ DEVICE_DTS := rg100a
+ CFE_BOARD_ID := 96358VW2
+ CFE_CHIP_ID := 6358
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES) $(B43_PACKAGES)
+endef
+TARGET_DEVICES += RG100A
+
+### Asmax ###
+define Device/AR1004G
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Asmax AR 1004g
+ DEVICE_DTS := rg100a
+ CFE_BOARD_ID := 96348GW-10
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += AR1004G
+
+### Belkin ###
+define Device/F5D7633
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Belkin F5D7633
+ DEVICE_DTS := f5d7633
+ CFE_BOARD_ID := 96348GW-10
+ CFE_CHIP_ID := 6348
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += F5D7633
+
+### Broadcom ###
+define Device/BCM96318REF
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Broadcom BCM96318REF reference board
+ DEVICE_DTS := bcm96318ref
+ CFE_BOARD_ID := 96318REF
+ CFE_CHIP_ID := 6318
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES) \
+ kmod-bcm63xx-udc
+endef
+TARGET_DEVICES += BCM96318REF
+
+define Device/BCM96318REF_P300
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Broadcom BCM96318REF_P300 reference board
+ DEVICE_DTS := bcm96318ref_p300
+ CFE_BOARD_ID := 96318REF_P300
+ CFE_CHIP_ID := 6318
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES) \
+ kmod-bcm63xx-udc
+endef
+TARGET_DEVICES += BCM96318REF_P300
+
+define Device/BCM963268BU_P300
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Broadcom BCM963268BU_P300 reference board
+ DEVICE_DTS := bcm963268bu_p300
+ CFE_BOARD_ID := 963268BU_P300
+ CFE_CHIP_ID := 63268
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES) \
+ kmod-bcm63xx-udc
+endef
+TARGET_DEVICES += BCM963268BU_P300
+
+define Device/BCM963269BHR
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Broadcom BCM963269BHR reference board
+ DEVICE_DTS := bcm963269bhr
+ CFE_BOARD_ID := 963269BHR
+ CFE_CHIP_ID := 63268
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES) \
+ kmod-bcm63xx-udc
+endef
+TARGET_DEVICES += BCM963269BHR
+
+### BT ###
+define Device/HomeHub2A
+ $(Device/bcm63xx)
+ DEVICE_TITLE := BT Home Hub 2.0 A
+ DEVICE_DTS := homehub2a
+ CFE_BOARD_ID := HOMEHUB2A
+ CFE_CHIP_ID := 6358
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HomeHub2A
+
+define Device/BTV2110
+ $(Device/bcm63xx)
+ DEVICE_TITLE := BT Voyager V2110
+ DEVICE_DTS := v2110
+ CFE_BOARD_ID := V2110
+ CFE_CHIP_ID := 6348
+ CFE_EXTRAS += --layoutver 5
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += BTV2110
+
+define Device/BTV2500V
+ $(Device/bcm63xx)
+ DEVICE_TITLE := BT Voyager V2500V
+ DEVICE_DTS := v2500v-bb
+ CFE_BOARD_ID := V2500V_BB
+ CFE_CHIP_ID := 6348
+ CFE_EXTRAS += --layoutver 5
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += BTV2500V
+
+### Comtrend ###
+define Device/AR5381u
+ $(Device/bcm63xx)
+ IMAGES += sysupgrade.bin
+ DEVICE_TITLE := Comtrend AR-5381u
+ DEVICE_DTS := ar-5381u
+ CFE_BOARD_ID := 96328A-1241N
+ CFE_CHIP_ID := 6328
+ FLASH_MB := 16
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += AR5381u
+
+define Device/AR5387un
+ $(Device/bcm63xx)
+ IMAGES += sysupgrade.bin
+ DEVICE_TITLE := Comtrend AR-5387un
+ DEVICE_DTS := ar-5387un
+ CFE_BOARD_ID := 96328A-1441N1
+ CFE_CHIP_ID := 6328
+ FLASH_MB := 16
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += AR5387un
+
+define Device/CT-536_CT-5621
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Comtrend CT-536+/CT-5621
+ DEVICE_DTS := ct536plus
+ CFE_BOARD_ID := 96348GW-11
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += CT-536_CT-5621
+
+define Device/CT-5365
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Comtrend CT-5365
+ DEVICE_DTS := ct-5365
+ CFE_BOARD_ID := 96348A-122
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += CT-5365
+
+define Device/CT-6373
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Comtrend CT-6373
+ DEVICE_DTS := ct-6373
+ CFE_BOARD_ID := CT6373-1
+ CFE_CHIP_ID := 6358
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += CT-6373
+
+define Device/VR-3025u
+ $(Device/bcm63xx)
+ IMAGES += sysupgrade.bin
+ DEVICE_TITLE := Comtrend VR-3025u
+ DEVICE_DTS := vr-3025u
+ CFE_BOARD_ID := 96368M-1541N
+ CFE_CHIP_ID := 6368
+ BLOCK_SIZE := 0x20000
+ FLASH_MB := 32
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += VR-3025u
+
+define Device/VR-3025un
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Comtrend VR-3025un
+ DEVICE_DTS := vr-3025un
+ CFE_BOARD_ID := 96368M-1341N
+ CFE_CHIP_ID := 6368
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += VR-3025un
+
+define Device/VR-3026e
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Comtrend VR-3026e
+ DEVICE_DTS := vr-3026e
+ CFE_BOARD_ID := 96368MT-1341N1
+ CFE_CHIP_ID := 6368
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += VR-3026e
+
+define Device/WAP-5813n
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Comtrend WAP-5813n
+ DEVICE_DTS := wap-5813n
+ CFE_BOARD_ID := 96369R-1231N
+ CFE_CHIP_ID := 6368
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += WAP-5813n
+
+### D-Link ###
+define Device/DSL2640B-B
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2640B rev B2
+ DEVICE_DTS := dsl-2640b-b
+ CFE_BOARD_ID := D-4P-W
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += DSL2640B-B
+
+define Device/DSL2640U
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2640U/BRU/C
+ DEVICE_DTS := dsl-2640u
+ CFE_BOARD_ID := 96338W2_E7T
+ CFE_CHIP_ID := 6338
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += DSL2640U
+
+define Device/DSL2650U
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2650U
+ DEVICE_DTS := dsl-2650u
+ CFE_BOARD_ID := 96358VW2
+ CFE_CHIP_ID := 6358
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += DSL2650U
+
+define Device/DSL274XB-C2
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2740B/DSL-2741B rev C2
+ DEVICE_DTS := dsl-274xb-c
+ CFE_BOARD_ID := 96358GW
+ CFE_CHIP_ID := 6358
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += DSL274XB-C2
+
+define Device/DSL274XB-C3
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2740B/DSL-2741B rev C3
+ DEVICE_DTS := dsl-274xb-c
+ CFE_BOARD_ID := AW4139
+ CFE_CHIP_ID := 6358
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += DSL274XB-C3
+
+define Device/DSL274XB-F1
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2740B/DSL-2741B rev F1
+ DEVICE_DTS := dsl-274xb-f
+ CFE_BOARD_ID := AW4339U
+ CFE_CHIP_ID := 6328
+ IMAGES := cfe-EU.bin cfe-AU.bin
+ IMAGE/cfe-AU.bin := cfe-bin --signature2 "4.06.01.AUF1" --pad 4
+ IMAGE/cfe-EU.bin := cfe-bin --signature2 "4.06.01.EUF1" --pad 4
+ DEVICE_PACKAGES := \
+ $(ATH9K_PACKAGES)
+endef
+TARGET_DEVICES += DSL274XB-F1
+
+define Device/DSL275XB-D1
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DSL-2750B/DSL-2751 rev D1
+ DEVICE_DTS := dsl-275xb-d
+ CFE_BOARD_ID := AW5200B
+ CFE_CHIP_ID := 6318
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += DSL275XB-D1
+
+define Device/DVAG3810BN
+ $(Device/bcm63xx)
+ DEVICE_TITLE := D-Link DVA-G3810BN/TL
+ DEVICE_DTS := dva-g3810bn_tl
+ CFE_BOARD_ID := 96358VW
+ CFE_CHIP_ID := 6358
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += DVAG3810BN
+
+### Davolink ###
+define Device/DV-201AMR
+ $(Device/bcm63xx)
+ IMAGES := cfe-old.bin
+ DEVICE_TITLE := Davolink DV-201AMR
+ DEVICE_DTS := dv-201amr
+ CFE_BOARD_ID := DV201AMR
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += DV-201AMR
+
+### Dynalink ###
+define Device/RTA770BW
+ $(Device/bcm63xx)
+ IMAGES =
+ DEVICE_TITLE := Dynalink RTA770BW (Siemens SE 515)
+ DEVICE_DTS := rta770bw
+ CFE_BOARD_ID := RTA770BW
+ CFE_CHIP_ID := 6345
+ CFE_EXTRAS += --layoutver 5
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += RTA770BW
+
+define Device/RTA770W
+ $(Device/bcm63xx)
+ IMAGES =
+ DEVICE_TITLE := Dynalink RTA770W
+ DEVICE_DTS := rta770w
+ CFE_BOARD_ID := RTA770W
+ CFE_CHIP_ID := 6345
+ CFE_EXTRAS += --layoutver 5
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += RTA770W
+
+define Device/RTA1025W_16
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Dynalink RTA1025W
+ DEVICE_DTS := rta1025w
+ CFE_BOARD_ID := RTA1025W_16
+ CFE_CHIP_ID := 6348
+ CFE_EXTRAS += --layoutver 5
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += RTA1025W_16
+
+define Device/RTA1320_16M
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Dynalink RTA1320
+ DEVICE_DTS := rta1320
+ CFE_BOARD_ID := RTA1320_16M
+ CFE_CHIP_ID := 6338
+ CFE_EXTRAS += --layoutver 5
+endef
+TARGET_DEVICES += RTA1320_16M
+
+### Huawei ###
+define Device/HG520v
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Huawei EchoLife HG520v
+ DEVICE_DTS := hg520v
+ CFE_BOARD_ID := HW6358GW_B
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "EchoLife_HG520v"
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += HG520v
+
+define Device/HG553
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Huawei EchoLife HG553
+ DEVICE_DTS := hg553
+ CFE_BOARD_ID := HW553
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "EchoLife_HG553" --tag-version 7
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HG553
+
+define Device/HG556a-A
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Huawei EchoLife HG556a rev A
+ DEVICE_DESCRIPTION = Build firmware images for Huawei HG556a version A (Atheros)
+ DEVICE_DTS := hg556a-a
+ CFE_BOARD_ID := HW556
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8
+ IMAGE_OFFSET := 0x20000
+ DEVICE_PACKAGES := \
+ $(ATH9K_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HG556a-A
+
+define Device/HG556a-B
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Huawei EchoLife HG556a rev B
+ DEVICE_DESCRIPTION = Build firmware images for Huawei HG556a version B (Atheros)
+ DEVICE_DTS := hg556a-b
+ CFE_BOARD_ID := HW556
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(ATH9K_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HG556a-B
+
+define Device/HG556a-C
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Huawei EchoLife HG556a rev C
+ DEVICE_DESCRIPTION = Build firmware images for Huawei HG556a version C (Ralink)
+ DEVICE_DTS := hg556a-c
+ CFE_BOARD_ID := HW556
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(RT28_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HG556a-C
+
+define Device/HG622
+ $(Device/bcm63xx)
+ IMAGES += sysupgrade.bin
+ DEVICE_TITLE := Huawei EchoLife HG622
+ DEVICE_DTS := hg622
+ CFE_BOARD_ID := 96368MVWG_hg622
+ CFE_CHIP_ID := 6368
+ CFE_EXTRAS += --tag-version 7
+ BLOCK_SIZE := 0x20000
+ FLASH_MB := 16
+ DEVICE_PACKAGES := \
+ $(RT28_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HG622
+
+define Device/HG655b
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Huawei EchoLife HG655b
+ DEVICE_DTS := hg655b
+ CFE_BOARD_ID := HW65x
+ CFE_CHIP_ID := 6368
+ CFE_EXTRAS += --tag-version 7
+ IMAGE_OFFSET := 0x20000
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(RT28_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += HG655b
+
+### Inteno ###
+define Device/VG50
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Inteno VG50 Multi-WAN CPE
+ DEVICE_DTS := vg50
+ CFE_BOARD_ID := VW6339GU
+ CFE_CHIP_ID := 63268
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += VG50
+
+### Inventel ###
+define Device/livebox
+ $(Device/bcm63xx_redboot)
+ DEVICE_TITLE := Inventel Livebox 1
+ DEVICE_DTS := livebox-blue-5g
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB1_PACKAGES)
+endef
+TARGET_DEVICES += livebox
+
+### Netgear ###
+define Device/CVG834G
+ $(Device/bcm33xx)
+ DEVICE_TITLE := Netgear CVG834G
+ DEVICE_DTS := cvg834g
+ HCS_MAGIC_BYTES := 0xa020
+ HCS_REV_MIN := 0001
+ HCS_REV_MAJ := 0022
+endef
+TARGET_DEVICES += CVG834G
+
+define Device/DG834GT_PN
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Netgear DG834GT/PN
+ DEVICE_DTS := dg834gtpn
+ CFE_BOARD_ID := 96348GW-10
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(ATH5K_PACKAGES)
+endef
+TARGET_DEVICES += DG834GT_PN
+
+define Device/DG834GTv4
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Netgear DG834G v4
+ DEVICE_DTS := dg834g_v4
+ CFE_BOARD_ID := 96348W3
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += DG834GTv4
+
+define Device/DGND3700v1
+ $(Device/bcm63xx_netgear)
+ IMAGES := factory.chk sysupgrade.bin
+ DEVICE_TITLE := Netgear DGND3700 v1
+ DEVICE_DTS := dgnd3700v1
+ CFE_BOARD_ID := 96368MVWG
+ CFE_CHIP_ID := 6368
+ BLOCK_SIZE := 0x20000
+ NETGEAR_BOARD_ID := U12L144T01_NETGEAR_NEWLED
+ NETGEAR_REGION := 1
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += DGND3700v1
+
+define Device/DGND3800B
+ $(Device/bcm63xx_netgear)
+ IMAGES := factory.chk sysupgrade.bin
+ DEVICE_TITLE := Netgear DGND3800B
+ DEVICE_DTS := dgnd3700v1
+ CFE_BOARD_ID := 96368MVWG
+ CFE_CHIP_ID := 6368
+ BLOCK_SIZE := 0x20000
+ NETGEAR_BOARD_ID := U12L144T11_NETGEAR_NEWLED
+ NETGEAR_REGION := 1
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += DGND3800B
+
+define Device/EVG2000
+ $(Device/bcm63xx_netgear)
+ IMAGES := factory.chk sysupgrade.bin
+ DEVICE_TITLE := Netgear EVG2000
+ DEVICE_DTS := evg2000
+ CFE_BOARD_ID := 96369PVG
+ CFE_CHIP_ID := 6368
+ BLOCK_SIZE := 0x20000
+ NETGEAR_BOARD_ID := U12H154T90_NETGEAR
+ NETGEAR_REGION := 1
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += EVG2000
+
+### NuCom ###
+define Device/R5010UNv2
+ $(Device/bcm63xx)
+ IMAGES += sysupgrade.bin
+ DEVICE_TITLE := NuCom R5010UN v2
+ DEVICE_DTS := r5010unv2
+ CFE_BOARD_ID := 96328ang
+ CFE_CHIP_ID := 6328
+ FLASH_MB := 16
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += R5010UNv2
+
+### Pirelli ###
+define Device/A226G
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Pirelli A226G
+ DEVICE_DTS := a226g
+ CFE_BOARD_ID := DWV-S0
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --signature2 IMAGE --tag-version 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += A226G
+
+define Device/A226M
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Pirelli A226M
+ DEVICE_DTS := a226m
+ CFE_BOARD_ID := DWV-S0
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --signature2 IMAGE --tag-version 8
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += A226M
+
+define Device/A226M-FWB
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Pirelli A226M-FWB
+ DEVICE_DTS := a226m-fwb
+ CFE_BOARD_ID := DWV-S0
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --signature2 IMAGE --tag-version 8
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += A226M-FWB
+
+define Device/AGPF-S0
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0
+ DEVICE_DTS := agpf-s0
+ CFE_BOARD_ID := AGPF-S0
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --signature2 IMAGE --tag-version 8
+ BLOCK_SIZE := 0x20000
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += AGPF-S0
+
+### Sagem ###
+define Device/FAST2404
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Sagem F@ST2404
+ DEVICE_DTS := fast2404
+ CFE_BOARD_ID := F@ST2404
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += FAST2404
+
+define Device/FAST2504n
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Sagem F@ST2504n
+ DEVICE_DTS := fast2504n
+ CFE_BOARD_ID := F@ST2504n
+ CFE_CHIP_ID := 6362
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += FAST2504n
+
+define Device/FAST2604
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Sagem F@ST2604
+ DEVICE_DTS := fast2604
+ CFE_BOARD_ID := F@ST2604
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += FAST2604
+
+define Device/FAST2704N
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Sagem F@ST2704N
+ DEVICE_DTS := fast2704n
+ CFE_BOARD_ID := F@ST2704N
+ CFE_CHIP_ID := 6318
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += FAST2704N
+
+define Device/FAST2704V2
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Sagem F@ST2704V2
+ DEVICE_DTS := fast2704v2
+ CFE_BOARD_ID := F@ST2704V2
+ CFE_CHIP_ID := 6328
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += FAST2704V2
+
+### SFR ###
+define Device/NEUFBOX4-SER
+ $(Device/bcm63xx)
+ DEVICE_TITLE := SFR Neufbox4 (Sercomm)
+ DEVICE_DTS := nb4-ser-r0
+ CFE_BOARD_ID := 96358VW
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "LEDE-$(REVISION)"
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += NEUFBOX4-SER
+
+define Device/NEUFBOX4-FXC
+ $(Device/bcm63xx)
+ DEVICE_TITLE := SFR Neufbox4 (Foxconn)
+ DEVICE_DTS := nb4-fxc-r1
+ CFE_BOARD_ID := 96358VW
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --rsa-signature "LEDE-$(REVISION)"
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += NEUFBOX4-FXC
+
+define Device/NEUFBOX6
+ $(Device/bcm63xx)
+ DEVICE_TITLE := SFR Neufbox6
+ DEVICE_DTS := nb6-ser-r0
+ CFE_BOARD_ID := NB6-SER-r0
+ CFE_CHIP_ID := 6362
+ CFE_EXTRAS += --rsa-signature "LEDE-$(REVISION)"
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += NEUFBOX6
+
+### T-Com ###
+define Device/SPW303V
+ $(Device/bcm63xx)
+ IMAGES := factory.bin sysupgrade.bin
+ IMAGE/factory.bin := cfe-spw303v-bin --pad 4 | spw303v-bin | xor-image
+ IMAGE/sysupgrade.bin := cfe-spw303v-bin | spw303v-bin
+ DEVICE_TITLE := T-Com Speedport W 303V
+ DEVICE_DTS := spw303v
+ CFE_BOARD_ID := 96358-502V
+ CFE_CHIP_ID := 6358
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += SPW303V
+
+define Device/SPW500V
+ $(Device/bcm63xx)
+ DEVICE_TITLE := T-Com Speedport W 500V
+ DEVICE_DTS := spw500v
+ CFE_BOARD_ID := 96348GW
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += SPW500V
+
+### Tecom ###
+define Device/GW6000
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Tecom GW6000
+ DEVICE_DTS := gw6000
+ CFE_BOARD_ID := 96348GW
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(BRCMWL_PACKAGES) $(USB1_PACKAGES)
+endef
+TARGET_DEVICES += GW6000
+
+define Device/GW6200
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Tecom GW6200
+ DEVICE_DTS := gw6200
+ CFE_BOARD_ID := 96348GW
+ CFE_CHIP_ID := 6348
+ CFE_EXTRAS += --rsa-signature "$(shell printf '\x99')"
+ DEVICE_PACKAGES := \
+ $(BRCMWL_PACKAGES) $(USB1_PACKAGES)
+endef
+TARGET_DEVICES += GW6200
+
+### Telsey ###
+define Device/CVPA502PLUS
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Telsey CPVA502+
+ DEVICE_DTS := cpva502plus
+ CFE_BOARD_ID := CPVA502+
+ CFE_CHIP_ID := 6348
+ CFE_EXTRAS += --signature "Telsey Tlc" --signature2 "99.99.999" --second-image-flag "0"
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += CVPA502PLUS
+
+define Device/CPA-ZNTE60T
+ $(Device/bcm63xx)
+ DEVICE_TITLE := Telsey CPVA642-type (CPA-ZNTE60T)
+ DEVICE_DTS := cpva642
+ CFE_BOARD_ID := CPVA642
+ CFE_CHIP_ID := 6358
+ CFE_EXTRAS += --signature "Telsey Tlc" --signature2 "99.99.999" --second-image-flag "0"
+ FLASH_MB := 8
+ DEVICE_PACKAGES := \
+ $(RT63_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += CPA-ZNTE60T
+
+define Device/MAGIC
+ $(Device/bcm63xx)
+ IMAGES :=
+ DEVICE_TITLE := Telsey MAGIC (Alice W-Gate)
+ DEVICE_DTS := magic
+ CFE_BOARD_ID := MAGIC
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(RT63_PACKAGES)
+endef
+TARGET_DEVICES += MAGIC
+
+### TP-Link ###
+define Device/TD-W8900GB
+ $(Device/bcm63xx)
+ DEVICE_TITLE := TP-Link TD-W8900GB
+ DEVICE_DTS := td-w8900gb
+ CFE_BOARD_ID := 96348GW-11
+ CFE_CHIP_ID := 6348
+ CFE_EXTRAS += --rsa-signature "$(shell printf 'PRID\x89\x10\x00\x02')"
+ IMAGE_OFFSET := 0x20000
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += TD-W8900GB
+
+### USRobotics ###
+define Device/USR9108
+ $(Device/bcm63xx)
+ DEVICE_TITLE := USRobotics 9108
+ DEVICE_DTS := usr9108
+ CFE_BOARD_ID := 96348GW-A
+ CFE_CHIP_ID := 6348
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES) $(USB1_PACKAGES)
+endef
+TARGET_DEVICES += USR9108
+
+### ZyXEL ###
+define Device/P870HW-51a_v2
+ $(Device/bcm63xx)
+ IMAGES := factory.bin
+ IMAGE/factory.bin := cfe-bin | zyxel-bin
+ DEVICE_TITLE := ZyXEL P870HW-51a v2
+ DEVICE_DTS := p870hw-51a-v2
+ CFE_BOARD_ID := 96368VVW
+ CFE_CHIP_ID := 6368
+ CFE_EXTRAS += --rsa-signature "ZyXEL" --signature "ZyXEL_0001"
+ DEVICE_PACKAGES := \
+ $(B43_PACKAGES)
+endef
+TARGET_DEVICES += P870HW-51a_v2
diff --git a/target/linux/brcm63xx/patches-4.4/202-MTD-DEVICES-m25p80-use-parsers-if-provided-in-flash-.patch b/target/linux/brcm63xx/patches-4.4/202-MTD-DEVICES-m25p80-use-parsers-if-provided-in-flash-.patch
index be62e6789c..4793836945 100644
--- a/target/linux/brcm63xx/patches-4.4/202-MTD-DEVICES-m25p80-use-parsers-if-provided-in-flash-.patch
+++ b/target/linux/brcm63xx/patches-4.4/202-MTD-DEVICES-m25p80-use-parsers-if-provided-in-flash-.patch
@@ -11,7 +11,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -229,7 +229,8 @@ static int m25p_probe(struct spi_device
+@@ -251,7 +251,8 @@ static int m25p_probe(struct spi_device
ppdata.of_node = spi->dev.of_node;
diff --git a/target/linux/brcm63xx/patches-4.4/203-MTD-DEVICES-m25p80-add-support-for-limiting-reads.patch b/target/linux/brcm63xx/patches-4.4/203-MTD-DEVICES-m25p80-add-support-for-limiting-reads.patch
index 3877442d21..75a874d4d2 100644
--- a/target/linux/brcm63xx/patches-4.4/203-MTD-DEVICES-m25p80-add-support-for-limiting-reads.patch
+++ b/target/linux/brcm63xx/patches-4.4/203-MTD-DEVICES-m25p80-add-support-for-limiting-reads.patch
@@ -28,7 +28,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
size_t *retlen, u_char *buf)
{
struct m25p *flash = nor->priv;
-@@ -152,6 +153,29 @@ static int m25p80_read(struct spi_nor *n
+@@ -174,6 +175,29 @@ static int m25p80_read(struct spi_nor *n
return 0;
}
@@ -58,7 +58,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
static int m25p80_erase(struct spi_nor *nor, loff_t offset)
{
struct m25p *flash = nor->priv;
-@@ -223,6 +247,9 @@ static int m25p_probe(struct spi_device
+@@ -245,6 +269,9 @@ static int m25p_probe(struct spi_device
else
flash_name = spi->modalias;
diff --git a/target/linux/brcm63xx/patches-4.4/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch b/target/linux/brcm63xx/patches-4.4/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
index 3ed857090a..11a815a20e 100644
--- a/target/linux/brcm63xx/patches-4.4/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
+++ b/target/linux/brcm63xx/patches-4.4/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
@@ -431,7 +431,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ return ret;
+}
+
-+IRQCHIP_DECLARE(bcm6345_periph_intc, "brcm,bcm6345-periph-intc",
++IRQCHIP_DECLARE(bcm6345_periph_intc, "brcm,bcm6345-l1-intc",
+ bcm6345_periph_of_init);
+#endif
--- /dev/null
diff --git a/target/linux/brcm63xx/patches-4.4/321-irqchip-add-support-for-bcm6345-style-external-inter.patch b/target/linux/brcm63xx/patches-4.4/321-irqchip-add-support-for-bcm6345-style-external-inter.patch
index 4f4d7bd2ea..252645695f 100644
--- a/target/linux/brcm63xx/patches-4.4/321-irqchip-add-support-for-bcm6345-style-external-inter.patch
+++ b/target/linux/brcm63xx/patches-4.4/321-irqchip-add-support-for-bcm6345-style-external-inter.patch
@@ -148,7 +148,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+ raw_spin_lock(&priv->lock);
+ reg = __raw_readl(priv->reg);
-+ reg |= hwirq << (EXTIRQ_CFG_CLEAR * priv->shift);
++ reg |= 1 << (hwirq + EXTIRQ_CFG_CLEAR * priv->shift);
+ __raw_writel(reg, priv->reg);
+ raw_spin_unlock(&priv->lock);
+}
@@ -161,7 +161,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+ raw_spin_lock(&priv->lock);
+ reg = __raw_readl(priv->reg);
-+ reg &= ~(hwirq << (EXTIRQ_CFG_MASK * priv->shift));
++ reg &= ~(1 << (hwirq + EXTIRQ_CFG_MASK * priv->shift));
+ __raw_writel(reg, priv->reg);
+ raw_spin_unlock(&priv->lock);
+}
@@ -174,7 +174,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+ raw_spin_lock(&priv->lock);
+ reg = __raw_readl(priv->reg);
-+ reg |= hwirq << (EXTIRQ_CFG_MASK * priv->shift);
++ reg |= 1 << (hwirq + EXTIRQ_CFG_MASK * priv->shift);
+ __raw_writel(reg, priv->reg);
+ raw_spin_unlock(&priv->lock);
+}
@@ -222,17 +222,17 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ reg = __raw_readl(priv->reg);
+
+ if (levelsense)
-+ reg |= hwirq << (EXTIRQ_CFG_LEVELSENSE * priv->shift);
++ reg |= 1 << (hwirq + EXTIRQ_CFG_LEVELSENSE * priv->shift);
+ else
-+ reg &= ~(hwirq << (EXTIRQ_CFG_LEVELSENSE * priv->shift));
++ reg &= ~(1 << (hwirq + EXTIRQ_CFG_LEVELSENSE * priv->shift));
+ if (sense)
-+ reg |= hwirq << (EXTIRQ_CFG_SENSE * priv->shift);
++ reg |= 1 << (hwirq + EXTIRQ_CFG_SENSE * priv->shift);
+ else
-+ reg &= ~(hwirq << (EXTIRQ_CFG_SENSE * priv->shift));
++ reg &= ~(1 << (hwirq + EXTIRQ_CFG_SENSE * priv->shift));
+ if (bothedge)
-+ reg |= hwirq << (EXTIRQ_CFG_BOTHEDGE * priv->shift);
++ reg |= 1 << (hwirq + EXTIRQ_CFG_BOTHEDGE * priv->shift);
+ else
-+ reg &= ~(hwirq << (EXTIRQ_CFG_BOTHEDGE * priv->shift));
++ reg &= ~(1 << (hwirq + EXTIRQ_CFG_BOTHEDGE * priv->shift));
+
+ __raw_writel(reg, priv->reg);
+ raw_spin_unlock(&priv->lock);
diff --git a/target/linux/brcm63xx/patches-4.4/414-MTD-m25p80-allow-passing-pp_data.patch b/target/linux/brcm63xx/patches-4.4/414-MTD-m25p80-allow-passing-pp_data.patch
index e421e9adbe..bbb565e9db 100644
--- a/target/linux/brcm63xx/patches-4.4/414-MTD-m25p80-allow-passing-pp_data.patch
+++ b/target/linux/brcm63xx/patches-4.4/414-MTD-m25p80-allow-passing-pp_data.patch
@@ -10,7 +10,7 @@ Subject: [PATCH 64/79] MTD: m25p80: allow passing pp_data
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -250,6 +250,9 @@ static int m25p_probe(struct spi_device
+@@ -272,6 +272,9 @@ static int m25p_probe(struct spi_device
if (data)
flash->max_transfer_len = data->max_transfer_len;
diff --git a/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch b/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
index 07e5e21fd0..c18d8db048 100644
--- a/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
+++ b/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
@@ -5,18 +5,18 @@
for (i = 0; i < board.has_caldata; i++)
pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
- board.caldata[i].endian_check);
-+ board.caldata[i].endian_check, board.caldata[i].led_pin);
++ board.caldata[i].endian_check, board.caldata[i].led_pin, board.caldata[i].led_active_high);
return 0;
}
--- a/arch/mips/bcm63xx/pci-ath9k-fixup.c
+++ b/arch/mips/bcm63xx/pci-ath9k-fixup.c
-@@ -182,13 +182,14 @@ static void ath9k_pci_fixup(struct pci_d
+@@ -182,13 +182,15 @@ static void ath9k_pci_fixup(struct pci_d
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID, ath9k_pci_fixup);
void __init pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check)
-+ unsigned endian_check, int led_pin)
++ unsigned endian_check, int led_pin, bool led_active_high)
{
if (ath9k_num_fixups >= ARRAY_SIZE(ath9k_fixups))
return;
@@ -24,16 +24,18 @@
ath9k_fixups[ath9k_num_fixups].slot = slot;
ath9k_fixups[ath9k_num_fixups].pdata.endian_check = endian_check;
+ ath9k_fixups[ath9k_num_fixups].pdata.led_pin = led_pin;
++ ath9k_fixups[ath9k_num_fixups].pdata.led_active_high = led_active_high;
if (!bcm63xx_read_eeprom(ath9k_fixups[ath9k_num_fixups].pdata.eeprom_data, offset))
return;
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -21,6 +21,7 @@ struct ath9k_caldata {
+@@ -21,6 +21,8 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
+ int led_pin;
++ bool led_active_high;
};
/*
@@ -44,6 +46,6 @@
void pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check) __init;
-+ unsigned endian_check, int led_pin) __init;
++ unsigned endian_check, int led_pin, bool led_active_high) __init;
#endif /* _PCI_ATH9K_FIXUP */
diff --git a/target/linux/brcm63xx/patches-4.4/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-4.4/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
index 1638c5e722..cdbecfd0eb 100644
--- a/target/linux/brcm63xx/patches-4.4/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
+++ b/target/linux/brcm63xx/patches-4.4/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
@@ -42,13 +42,13 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
/* register any fixups */
- for (i = 0; i < board.has_caldata; i++)
- pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
-- board.caldata[i].endian_check, board.caldata[i].led_pin);
+- board.caldata[i].endian_check, board.caldata[i].led_pin, board.caldata[i].led_active_high);
+ for (i = 0; i < board.has_caldata; i++) {
+ switch (board.caldata[i].vendor) {
+ case PCI_VENDOR_ID_ATHEROS:
+ pci_enable_ath9k_fixup(board.caldata[i].slot,
+ board.caldata[i].caldata_offset, board.caldata[i].endian_check,
-+ board.caldata[i].led_pin);
++ board.caldata[i].led_pin, board.caldata[i].led_active_high);
+ break;
+ case PCI_VENDOR_ID_RALINK:
+ pci_enable_rt2x00_fixup(board.caldata[i].slot,
@@ -166,7 +166,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
/*
* flash mapping
-@@ -17,11 +18,15 @@
+@@ -17,12 +18,16 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
@@ -178,12 +178,13 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
+ /* Atheros */
unsigned int endian_check:1;
int led_pin;
+ bool led_active_high;
+ /* Ralink */
+ char* eeprom;
};
/*
-@@ -47,7 +52,7 @@ struct board_info {
+@@ -48,7 +53,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
diff --git a/target/linux/brcm63xx/patches-4.4/524-board_dsl_274xb_rev_f.patch b/target/linux/brcm63xx/patches-4.4/524-board_dsl_274xb_rev_f.patch
index d4754afe9a..a3e3995a20 100644
--- a/target/linux/brcm63xx/patches-4.4/524-board_dsl_274xb_rev_f.patch
+++ b/target/linux/brcm63xx/patches-4.4/524-board_dsl_274xb_rev_f.patch
@@ -10,7 +10,7 @@ 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
-@@ -168,6 +168,51 @@ static struct board_info __initdata boar
+@@ -168,6 +168,52 @@ static struct board_info __initdata boar
},
},
};
@@ -29,6 +29,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ .caldata_offset = 0x7d1000,
+ .slot = 0,
+ .led_pin = -1,
++ .led_active_high = 1,
+ },
+ },
+
@@ -62,7 +63,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1298,6 +1343,7 @@ static const struct board_info __initcon
+@@ -1298,6 +1344,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -70,7 +71,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1356,6 +1402,7 @@ static struct of_device_id const bcm963x
+@@ -1356,6 +1403,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-4.4/525-board_96348w3.patch b/target/linux/brcm63xx/patches-4.4/525-board_96348w3.patch
index bdfb57c96f..c2de926c2f 100644
--- a/target/linux/brcm63xx/patches-4.4/525-board_96348w3.patch
+++ b/target/linux/brcm63xx/patches-4.4/525-board_96348w3.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -829,6 +829,25 @@ static struct board_info __initdata boar
+@@ -830,6 +830,25 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@@ -26,7 +26,7 @@
static struct board_info __initdata board_96348_D4PW = {
.name = "D-4P-W",
.expected_cpu_id = 0x6348,
-@@ -1373,6 +1392,7 @@ static const struct board_info __initcon
+@@ -1374,6 +1393,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
@@ -34,7 +34,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1428,6 +1448,7 @@ static struct of_device_id const bcm963x
+@@ -1429,6 +1449,7 @@ static struct of_device_id const bcm963x
{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
diff --git a/target/linux/brcm63xx/patches-4.4/526-board_CT6373-1.patch b/target/linux/brcm63xx/patches-4.4/526-board_CT6373-1.patch
index bb844cd063..f710b2a83a 100644
--- a/target/linux/brcm63xx/patches-4.4/526-board_CT6373-1.patch
+++ b/target/linux/brcm63xx/patches-4.4/526-board_CT6373-1.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1215,6 +1215,31 @@ static struct board_info __initdata boar
+@@ -1216,6 +1216,31 @@ static struct board_info __initdata boar
.num_usbh_ports = 2,
};
@@ -32,7 +32,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -1404,6 +1429,7 @@ static const struct board_info __initcon
+@@ -1405,6 +1430,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
@@ -40,7 +40,7 @@
&board_HW553,
&board_spw303v,
#endif
-@@ -1462,6 +1488,7 @@ static struct of_device_id const bcm963x
+@@ -1463,6 +1489,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-4.4/527-board_dva-g3810bn-tl-1.patch b/target/linux/brcm63xx/patches-4.4/527-board_dva-g3810bn-tl-1.patch
index 9d0d9205d3..dd8a5dee5c 100644
--- a/target/linux/brcm63xx/patches-4.4/527-board_dva-g3810bn-tl-1.patch
+++ b/target/linux/brcm63xx/patches-4.4/527-board_dva-g3810bn-tl-1.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1282,6 +1282,36 @@ static struct board_info __initdata boar
+@@ -1283,6 +1283,36 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
};
@@ -37,7 +37,7 @@
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1432,6 +1462,7 @@ static const struct board_info __initcon
+@@ -1433,6 +1463,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
@@ -45,7 +45,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1491,6 +1522,7 @@ static struct of_device_id const bcm963x
+@@ -1492,6 +1523,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-4.4/528-board_nb6.patch b/target/linux/brcm63xx/patches-4.4/528-board_nb6.patch
index 967c4bec16..0f235093c3 100644
--- a/target/linux/brcm63xx/patches-4.4/528-board_nb6.patch
+++ b/target/linux/brcm63xx/patches-4.4/528-board_nb6.patch
@@ -19,7 +19,7 @@
/*
* known 3368 boards
*/
-@@ -1314,6 +1319,69 @@ static struct board_info __initdata boar
+@@ -1315,6 +1320,69 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
@@ -89,7 +89,7 @@
/*
* known 6368 boards
*/
-@@ -1465,6 +1533,10 @@ static const struct board_info __initcon
+@@ -1466,6 +1534,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
@@ -100,7 +100,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -1533,6 +1605,9 @@ static struct of_device_id const bcm963x
+@@ -1534,6 +1606,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-4.4/529-board_fast2604.patch b/target/linux/brcm63xx/patches-4.4/529-board_fast2604.patch
index 310b988688..480929c642 100644
--- a/target/linux/brcm63xx/patches-4.4/529-board_fast2604.patch
+++ b/target/linux/brcm63xx/patches-4.4/529-board_fast2604.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -764,6 +764,23 @@ static struct board_info __initdata boar
+@@ -765,6 +765,23 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -24,7 +24,7 @@
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -1504,6 +1521,7 @@ static const struct board_info __initcon
+@@ -1505,6 +1522,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
@@ -32,7 +32,7 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -1579,6 +1597,7 @@ static struct of_device_id const bcm963x
+@@ -1580,6 +1598,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
diff --git a/target/linux/brcm63xx/patches-4.4/530-board_A4001N1.patch b/target/linux/brcm63xx/patches-4.4/530-board_A4001N1.patch
index 77dedc49e3..44962b212a 100644
--- a/target/linux/brcm63xx/patches-4.4/530-board_A4001N1.patch
+++ b/target/linux/brcm63xx/patches-4.4/530-board_A4001N1.patch
@@ -51,7 +51,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -1502,6 +1546,7 @@ static const struct board_info __initcon
+@@ -1503,6 +1547,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -59,7 +59,7 @@
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
-@@ -1567,6 +1612,7 @@ static struct of_device_id const bcm963x
+@@ -1568,6 +1613,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-4.4/531-board_AR-5387un.patch b/target/linux/brcm63xx/patches-4.4/531-board_AR-5387un.patch
index 00ef4ffdd5..fb69b6b197 100644
--- a/target/linux/brcm63xx/patches-4.4/531-board_AR-5387un.patch
+++ b/target/linux/brcm63xx/patches-4.4/531-board_AR-5387un.patch
@@ -80,7 +80,7 @@
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -1545,6 +1618,7 @@ static const struct board_info __initcon
+@@ -1546,6 +1619,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -88,7 +88,7 @@
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
-@@ -1615,6 +1689,7 @@ static struct of_device_id const bcm963x
+@@ -1616,6 +1690,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-4.4/532-board_AR-5381u.patch b/target/linux/brcm63xx/patches-4.4/532-board_AR-5381u.patch
index cc7f790142..1bd8521719 100644
--- a/target/linux/brcm63xx/patches-4.4/532-board_AR-5381u.patch
+++ b/target/linux/brcm63xx/patches-4.4/532-board_AR-5381u.patch
@@ -62,7 +62,7 @@
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -1618,6 +1673,7 @@ static const struct board_info __initcon
+@@ -1619,6 +1674,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -70,7 +70,7 @@
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
-@@ -1689,6 +1745,7 @@ static struct of_device_id const bcm963x
+@@ -1690,6 +1746,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-4.4/533-board_rta770bw.patch b/target/linux/brcm63xx/patches-4.4/533-board_rta770bw.patch
index b26217f4e6..0b8dbb7bb1 100644
--- a/target/linux/brcm63xx/patches-4.4/533-board_rta770bw.patch
+++ b/target/linux/brcm63xx/patches-4.4/533-board_rta770bw.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -524,6 +524,22 @@ static struct board_info __initdata boar
+@@ -525,6 +525,22 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
@@ -23,7 +23,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1687,6 +1703,7 @@ static const struct board_info __initcon
+@@ -1688,6 +1704,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
@@ -31,7 +31,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1757,6 +1774,7 @@ static struct of_device_id const bcm963x
+@@ -1758,6 +1775,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
diff --git a/target/linux/brcm63xx/patches-4.4/534-board_hw556.patch b/target/linux/brcm63xx/patches-4.4/534-board_hw556.patch
index 666343c4c5..01d99d84b6 100644
--- a/target/linux/brcm63xx/patches-4.4/534-board_hw556.patch
+++ b/target/linux/brcm63xx/patches-4.4/534-board_hw556.patch
@@ -8,7 +8,7 @@
#include <linux/platform_device.h>
#include <linux/rtl8367.h>
#include <asm/addrspace.h>
-@@ -1478,6 +1479,93 @@ static struct board_info __initdata boar
+@@ -1479,6 +1480,95 @@ static struct board_info __initdata boar
},
};
@@ -58,6 +58,7 @@
+ .slot = 1,
+ .endian_check = 1,
+ .led_pin = 2,
++ .led_active_high = 1,
+ },
+ },
+
@@ -87,6 +88,7 @@
+ .slot = 1,
+ .endian_check = 1,
+ .led_pin = 2,
++ .led_active_high = 1,
+ },
+ },
+
@@ -102,7 +104,7 @@
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -1739,6 +1827,9 @@ static const struct board_info __initcon
+@@ -1740,6 +1830,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
@@ -112,7 +114,7 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -1811,6 +1902,9 @@ static struct of_device_id const bcm963x
+@@ -1812,6 +1905,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-4.4/535-board_rta770w.patch b/target/linux/brcm63xx/patches-4.4/535-board_rta770w.patch
index 6d03c84944..724c496aca 100644
--- a/target/linux/brcm63xx/patches-4.4/535-board_rta770w.patch
+++ b/target/linux/brcm63xx/patches-4.4/535-board_rta770w.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -541,6 +541,27 @@ static struct board_info __initdata boar
+@@ -542,6 +542,27 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
@@ -28,7 +28,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1792,6 +1813,7 @@ static const struct board_info __initcon
+@@ -1795,6 +1816,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
@@ -36,7 +36,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1866,6 +1888,7 @@ static struct of_device_id const bcm963x
+@@ -1869,6 +1891,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
{ .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },
diff --git a/target/linux/brcm63xx/patches-4.4/536-board_fast2704.patch b/target/linux/brcm63xx/patches-4.4/536-board_fast2704.patch
index 323c0ffbba..a6631afb16 100644
--- a/target/linux/brcm63xx/patches-4.4/536-board_fast2704.patch
+++ b/target/linux/brcm63xx/patches-4.4/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
-@@ -391,6 +391,44 @@ static struct board_info __initdata boar
+@@ -392,6 +392,44 @@ static struct board_info __initdata boar
},
},
};
@@ -57,7 +57,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1803,6 +1841,7 @@ static const struct board_info __initcon
+@@ -1806,6 +1844,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
@@ -65,7 +65,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1878,6 +1917,7 @@ static struct of_device_id const bcm963x
+@@ -1881,6 +1920,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-4.4/537-board_fast2504n.patch b/target/linux/brcm63xx/patches-4.4/537-board_fast2504n.patch
index d576620b05..f3cf9ed33b 100644
--- a/target/linux/brcm63xx/patches-4.4/537-board_fast2504n.patch
+++ b/target/linux/brcm63xx/patches-4.4/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
-@@ -1732,6 +1732,43 @@ static struct board_info __initdata boar
+@@ -1735,6 +1735,43 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
@@ -50,7 +50,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -1897,6 +1934,7 @@ static const struct board_info __initcon
+@@ -1900,6 +1937,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
@@ -58,7 +58,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1978,6 +2016,7 @@ static struct of_device_id const bcm963x
+@@ -1981,6 +2019,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-4.4/550-MIPS-BCM63XX-remove-leds-and-buttons.patch b/target/linux/brcm63xx/patches-4.4/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
index aafafa1090..35083af653 100644
--- a/target/linux/brcm63xx/patches-4.4/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
+++ b/target/linux/brcm63xx/patches-4.4/550-MIPS-BCM63XX-remove-leds-and-buttons.patch
@@ -60,7 +60,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
.has_enetsw = 1,
.enetsw = {
-@@ -449,35 +412,6 @@ static struct board_info __initdata boar
+@@ -450,35 +413,6 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
@@ -96,7 +96,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96338w = {
-@@ -492,35 +426,6 @@ static struct board_info __initdata boar
+@@ -493,35 +427,6 @@ static struct board_info __initdata boar
.force_speed_100 = 1,
.force_duplex_full = 1,
},
@@ -132,7 +132,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96338w2_e7t = {
-@@ -619,36 +524,6 @@ static struct board_info __initdata boar
+@@ -620,36 +525,6 @@ static struct board_info __initdata boar
.has_phy = 1,
.use_internal_phy = 1,
},
@@ -169,7 +169,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96348gw_10 = {
-@@ -683,35 +558,6 @@ static struct board_info __initdata boar
+@@ -684,35 +559,6 @@ static struct board_info __initdata boar
.cs = 2,
.ext_irq = 2,
},
@@ -205,7 +205,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96348gw_11 = {
-@@ -740,35 +586,6 @@ static struct board_info __initdata boar
+@@ -741,35 +587,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
@@ -241,7 +241,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
-@@ -894,35 +711,6 @@ static struct board_info __initdata boar
+@@ -895,35 +712,6 @@ static struct board_info __initdata boar
.ext_irq = 2,
.cs = 2,
},
@@ -277,7 +277,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_gw6200 = {
-@@ -1259,33 +1047,6 @@ static struct board_info __initdata boar
+@@ -1260,33 +1048,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
@@ -311,7 +311,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96358vw2 = {
-@@ -1315,29 +1076,6 @@ static struct board_info __initdata boar
+@@ -1316,29 +1077,6 @@ static struct board_info __initdata boar
.has_pccard = 1,
.has_ehci0 = 1,
.num_usbh_ports = 2,
diff --git a/target/linux/brcm63xx/patches-4.4/555-board_96318ref.patch b/target/linux/brcm63xx/patches-4.4/555-board_96318ref.patch
index 163fa0b1db..64617733d0 100644
--- a/target/linux/brcm63xx/patches-4.4/555-board_96318ref.patch
+++ b/target/linux/brcm63xx/patches-4.4/555-board_96318ref.patch
@@ -57,7 +57,7 @@
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -1609,6 +1659,9 @@ static const struct board_info __initcon
+@@ -1612,6 +1662,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
@@ -67,7 +67,7 @@
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
-@@ -1686,6 +1739,9 @@ static struct of_device_id const bcm963x
+@@ -1689,6 +1742,9 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_3368
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
diff --git a/target/linux/brcm63xx/patches-4.4/556-board_96318ref_p300.patch b/target/linux/brcm63xx/patches-4.4/556-board_96318ref_p300.patch
index 6023653818..de3ec0504b 100644
--- a/target/linux/brcm63xx/patches-4.4/556-board_96318ref_p300.patch
+++ b/target/linux/brcm63xx/patches-4.4/556-board_96318ref_p300.patch
@@ -52,7 +52,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -1661,6 +1706,7 @@ static const struct board_info __initcon
+@@ -1664,6 +1709,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
@@ -60,7 +60,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -1741,6 +1787,7 @@ static struct of_device_id const bcm963x
+@@ -1744,6 +1790,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
diff --git a/target/linux/brcm63xx/patches-4.4/557-board_bcm963269bhr.patch b/target/linux/brcm63xx/patches-4.4/557-board_bcm963269bhr.patch
index 4a9f3b8be5..c82fb86d8b 100644
--- a/target/linux/brcm63xx/patches-4.4/557-board_bcm963269bhr.patch
+++ b/target/linux/brcm63xx/patches-4.4/557-board_bcm963269bhr.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1698,6 +1698,52 @@ static struct board_info __initdata boar
+@@ -1701,6 +1701,52 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
@@ -53,7 +53,7 @@
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1778,6 +1824,9 @@ static const struct board_info __initcon
+@@ -1781,6 +1827,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
@@ -63,7 +63,7 @@
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -1865,6 +1914,7 @@ static struct of_device_id const bcm963x
+@@ -1868,6 +1917,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/patches-4.4/558-board_AR1004G.patch b/target/linux/brcm63xx/patches-4.4/558-board_AR1004G.patch
index 041e2ee6a7..6eb7087462 100644
--- a/target/linux/brcm63xx/patches-4.4/558-board_AR1004G.patch
+++ b/target/linux/brcm63xx/patches-4.4/558-board_AR1004G.patch
@@ -8,7 +8,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -683,6 +683,22 @@ static struct board_info __initdata boar
+@@ -684,6 +684,22 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -31,7 +31,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -1795,6 +1811,7 @@ static const struct board_info __initcon
+@@ -1798,6 +1814,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
@@ -39,7 +39,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1859,6 +1876,7 @@ static struct of_device_id const bcm963x
+@@ -1862,6 +1879,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta770w", .data = &board_rta770w, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
diff --git a/target/linux/brcm63xx/patches-4.4/559-board_vw6339gu.patch b/target/linux/brcm63xx/patches-4.4/559-board_vw6339gu.patch
index 18623a0c53..fc6e96854a 100644
--- a/target/linux/brcm63xx/patches-4.4/559-board_vw6339gu.patch
+++ b/target/linux/brcm63xx/patches-4.4/559-board_vw6339gu.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1757,6 +1757,53 @@ static struct board_info __initdata boar
+@@ -1760,6 +1760,53 @@ static struct board_info __initdata boar
},
},
};
@@ -54,7 +54,7 @@
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -1843,6 +1890,7 @@ static const struct board_info __initcon
+@@ -1846,6 +1893,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
@@ -62,7 +62,7 @@
#endif
};
-@@ -1933,6 +1981,7 @@ static struct of_device_id const bcm963x
+@@ -1936,6 +1984,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
{ .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
diff --git a/target/linux/brcm63xx/patches-4.4/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-4.4/560-board_963268gu_p300.patch
index 2af0ad0378..cbe1197da0 100644
--- a/target/linux/brcm63xx/patches-4.4/560-board_963268gu_p300.patch
+++ b/target/linux/brcm63xx/patches-4.4/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
-@@ -1717,6 +1717,66 @@ static struct board_info __initdata boar
+@@ -1720,6 +1720,66 @@ static struct board_info __initdata boar
* known 63268/63269 boards
*/
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -67,7 +67,7 @@
static struct board_info __initdata board_963269bhr = {
.name = "963269BHR",
.expected_cpu_id = 0x63268,
-@@ -1889,6 +1949,7 @@ static const struct board_info __initcon
+@@ -1892,6 +1952,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -75,7 +75,7 @@
&board_963269bhr,
&board_vw6339gu,
#endif
-@@ -1980,6 +2041,7 @@ static struct of_device_id const bcm963x
+@@ -1983,6 +2044,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/patches-4.4/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-4.4/561-board_WAP-5813n.patch
index 514a3c78ce..637f878b26 100644
--- a/target/linux/brcm63xx/patches-4.4/561-board_WAP-5813n.patch
+++ b/target/linux/brcm63xx/patches-4.4/561-board_WAP-5813n.patch
@@ -10,7 +10,7 @@
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -1711,6 +1713,65 @@ static struct board_info __initdata boar
+@@ -1714,6 +1716,65 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
@@ -76,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -1947,6 +2008,7 @@ static const struct board_info __initcon
+@@ -1950,6 +2011,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -84,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
-@@ -2039,6 +2101,7 @@ static struct of_device_id const bcm963x
+@@ -2042,6 +2104,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-4.4/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-4.4/562-board_VR-3025u.patch
index 56ad1b9977..b19f8da7cf 100644
--- a/target/linux/brcm63xx/patches-4.4/562-board_VR-3025u.patch
+++ b/target/linux/brcm63xx/patches-4.4/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
-@@ -1714,6 +1714,60 @@ static struct board_info __initdata boar
+@@ -1717,6 +1717,60 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -61,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -2008,6 +2062,7 @@ static const struct board_info __initcon
+@@ -2011,6 +2065,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2101,6 +2156,7 @@ static struct of_device_id const bcm963x
+@@ -2104,6 +2159,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-4.4/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-4.4/563-board_VR-3025un.patch
index 2b79f998bb..48270d907d 100644
--- a/target/linux/brcm63xx/patches-4.4/563-board_VR-3025un.patch
+++ b/target/linux/brcm63xx/patches-4.4/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
-@@ -1768,6 +1768,60 @@ static struct board_info __initdata boar
+@@ -1771,6 +1771,60 @@ static struct board_info __initdata boar
},
};
@@ -61,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -2063,6 +2117,7 @@ static const struct board_info __initcon
+@@ -2066,6 +2120,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2157,6 +2212,7 @@ static struct of_device_id const bcm963x
+@@ -2160,6 +2215,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-4.4/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-4.4/564-board_P870HW-51a_v2.patch
index 2e46f53396..08fcde608a 100644
--- a/target/linux/brcm63xx/patches-4.4/564-board_P870HW-51a_v2.patch
+++ b/target/linux/brcm63xx/patches-4.4/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
-@@ -1723,6 +1723,49 @@ static struct sprom_fixup __initdata vr3
+@@ -1726,6 +1726,49 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
@@ -50,7 +50,7 @@
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -2116,6 +2159,7 @@ static const struct board_info __initcon
+@@ -2119,6 +2162,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -58,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -2214,6 +2258,7 @@ static struct of_device_id const bcm963x
+@@ -2217,6 +2261,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-4.4/565-board_hw520.patch b/target/linux/brcm63xx/patches-4.4/565-board_hw520.patch
index a59f9ddf9e..a613276549 100644
--- a/target/linux/brcm63xx/patches-4.4/565-board_hw520.patch
+++ b/target/linux/brcm63xx/patches-4.4/565-board_hw520.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1361,6 +1361,37 @@ static struct board_info __initdata boar
+@@ -1362,6 +1362,37 @@ static struct board_info __initdata boar
},
};
@@ -38,7 +38,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2143,6 +2174,7 @@ static const struct board_info __initcon
+@@ -2146,6 +2177,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@@ -46,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
-@@ -2235,6 +2267,7 @@ static struct of_device_id const bcm963x
+@@ -2238,6 +2270,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-4.4/566-board_A4001N.patch b/target/linux/brcm63xx/patches-4.4/566-board_A4001N.patch
index 3703c8420a..3cd2e08634 100644
--- a/target/linux/brcm63xx/patches-4.4/566-board_A4001N.patch
+++ b/target/linux/brcm63xx/patches-4.4/566-board_A4001N.patch
@@ -51,7 +51,7 @@
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -2125,6 +2169,7 @@ static const struct board_info __initcon
+@@ -2128,6 +2172,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
@@ -59,7 +59,7 @@
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
-@@ -2213,6 +2258,7 @@ static struct of_device_id const bcm963x
+@@ -2216,6 +2261,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
diff --git a/target/linux/brcm63xx/patches-4.4/567-board_dsl-2751b_e1.patch b/target/linux/brcm63xx/patches-4.4/567-board_dsl-2751b_e1.patch
index 15563b4496..989ffae377 100644
--- a/target/linux/brcm63xx/patches-4.4/567-board_dsl-2751b_e1.patch
+++ b/target/linux/brcm63xx/patches-4.4/567-board_dsl-2751b_e1.patch
@@ -76,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2163,6 +2232,7 @@ static const struct board_info __initcon
+@@ -2166,6 +2235,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
@@ -84,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2256,6 +2326,7 @@ static struct of_device_id const bcm963x
+@@ -2259,6 +2329,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6318
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
diff --git a/target/linux/brcm63xx/patches-4.4/568-board_DGND3700v1_3800B.patch b/target/linux/brcm63xx/patches-4.4/568-board_DGND3700v1_3800B.patch
index ee766a5b6e..157d15f3e6 100644
--- a/target/linux/brcm63xx/patches-4.4/568-board_DGND3700v1_3800B.patch
+++ b/target/linux/brcm63xx/patches-4.4/568-board_DGND3700v1_3800B.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1858,6 +1858,48 @@ static struct board_info __initdata boar
+@@ -1861,6 +1861,48 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -49,7 +49,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2306,6 +2348,7 @@ static const struct board_info __initcon
+@@ -2309,6 +2351,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -57,7 +57,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2408,6 +2451,7 @@ static struct of_device_id const bcm963x
+@@ -2411,6 +2454,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-4.4/569-board_homehub2a.patch b/target/linux/brcm63xx/patches-4.4/569-board_homehub2a.patch
index 593dddbe45..98f2e13695 100644
--- a/target/linux/brcm63xx/patches-4.4/569-board_homehub2a.patch
+++ b/target/linux/brcm63xx/patches-4.4/569-board_homehub2a.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1474,6 +1474,32 @@ static struct board_info __initdata boar
+@@ -1475,6 +1475,32 @@ static struct board_info __initdata boar
},
};
@@ -33,7 +33,7 @@
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
-@@ -2331,6 +2357,7 @@ static const struct board_info __initcon
+@@ -2334,6 +2360,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@@ -41,7 +41,7 @@
&board_HW520,
&board_HW553,
&board_HW556_A,
-@@ -2440,6 +2467,7 @@ static struct of_device_id const bcm963x
+@@ -2443,6 +2470,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
diff --git a/target/linux/brcm63xx/patches-4.4/570-board_HG655b.patch b/target/linux/brcm63xx/patches-4.4/570-board_HG655b.patch
index 085ee2ac67..2e3ef419f0 100644
--- a/target/linux/brcm63xx/patches-4.4/570-board_HG655b.patch
+++ b/target/linux/brcm63xx/patches-4.4/570-board_HG655b.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1926,6 +1926,53 @@ static struct board_info __initdata boar
+@@ -1929,6 +1929,53 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
};
@@ -54,7 +54,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2376,6 +2423,7 @@ static const struct board_info __initcon
+@@ -2379,6 +2426,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@@ -62,7 +62,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2479,6 +2527,7 @@ static struct of_device_id const bcm963x
+@@ -2482,6 +2530,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-4.4/571-board_fast2704n.patch b/target/linux/brcm63xx/patches-4.4/571-board_fast2704n.patch
index 475d39eed0..5b398c9a0c 100644
--- a/target/linux/brcm63xx/patches-4.4/571-board_fast2704n.patch
+++ b/target/linux/brcm63xx/patches-4.4/571-board_fast2704n.patch
@@ -47,7 +47,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2348,6 +2388,7 @@ static const struct board_info __initcon
+@@ -2351,6 +2391,7 @@ static const struct board_info __initcon
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
@@ -55,7 +55,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2445,6 +2486,7 @@ static struct of_device_id const bcm963x
+@@ -2448,6 +2489,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
{ .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
diff --git a/target/linux/brcm63xx/patches-4.4/572-board_VR-3026e.patch b/target/linux/brcm63xx/patches-4.4/572-board_VR-3026e.patch
index 394b1b8dfe..a51768c152 100644
--- a/target/linux/brcm63xx/patches-4.4/572-board_VR-3026e.patch
+++ b/target/linux/brcm63xx/patches-4.4/572-board_VR-3026e.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2164,6 +2164,60 @@ static struct board_info __initdata boar
+@@ -2167,6 +2167,60 @@ static struct board_info __initdata boar
},
};
@@ -61,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -2468,6 +2522,7 @@ static const struct board_info __initcon
+@@ -2471,6 +2525,7 @@ static const struct board_info __initcon
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2568,6 +2623,7 @@ static struct of_device_id const bcm963x
+@@ -2571,6 +2626,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
diff --git a/target/linux/brcm63xx/patches-4.4/573-board_R5010UNv2.patch b/target/linux/brcm63xx/patches-4.4/573-board_R5010UNv2.patch
index 4b947d8346..58fec6580c 100644
--- a/target/linux/brcm63xx/patches-4.4/573-board_R5010UNv2.patch
+++ b/target/linux/brcm63xx/patches-4.4/573-board_R5010UNv2.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -642,6 +642,51 @@ static struct board_info __initdata boar
+@@ -643,6 +643,51 @@ static struct board_info __initdata boar
},
},
};
@@ -52,7 +52,7 @@
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2453,6 +2498,7 @@ static const struct board_info __initcon
+@@ -2456,6 +2501,7 @@ static const struct board_info __initcon
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
@@ -60,7 +60,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2551,6 +2597,7 @@ static struct of_device_id const bcm963x
+@@ -2554,6 +2600,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-4.4/574-board_HG622.patch b/target/linux/brcm63xx/patches-4.4/574-board_HG622.patch
index 1f2e3d2f79..badbe7fc21 100644
--- a/target/linux/brcm63xx/patches-4.4/574-board_HG622.patch
+++ b/target/linux/brcm63xx/patches-4.4/574-board_HG622.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2058,6 +2058,53 @@ static struct board_info __initdata boar
+@@ -2061,6 +2061,53 @@ static struct board_info __initdata boar
},
};
@@ -54,7 +54,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2564,6 +2611,7 @@ static const struct board_info __initcon
+@@ -2567,6 +2614,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@@ -62,7 +62,7 @@
&board_HG655b,
&board_P870HW51A_V2,
&board_VR3025u,
-@@ -2672,6 +2720,7 @@ static struct of_device_id const bcm963x
+@@ -2675,6 +2723,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-4.4/575-board_EVG2000.patch b/target/linux/brcm63xx/patches-4.4/575-board_EVG2000.patch
new file mode 100644
index 0000000000..361bd04d43
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.4/575-board_EVG2000.patch
@@ -0,0 +1,62 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2014,6 +2014,43 @@ static struct board_info __initdata boar
+ .num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
+ };
+
++static struct sprom_fixup __initdata EVG2000_fixups[] = {
++ { .offset = 219, .value = 0xec08 },
++};
++
++static struct board_info __initdata board_EVG2000 = {
++ .name = "96369PVG",
++ .expected_cpu_id = 0x6368,
++
++ .has_uart0 = 1,
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [5] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++ .use_fallback_sprom = 1,
++ .fallback_sprom = {
++ .type = SPROM_BCM4322,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = EVG2000_fixups,
++ .num_board_fixups = ARRAY_SIZE(EVG2000_fixups),
++ },
++};
++
+ static struct board_info __initdata board_HG655b = {
+ .name = "HW65x",
+ .expected_cpu_id = 0x6368,
+@@ -2614,6 +2651,7 @@ static const struct board_info __initcon
+ &board_96368mvwg,
+ &board_96368mvngr,
+ &board_DGND3700v1_3800B,
++ &board_EVG2000,
+ &board_HG622,
+ &board_HG655b,
+ &board_P870HW51A_V2,
+@@ -2726,6 +2764,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "huawei,hg622", .data = &board_HG622, },
+ { .compatible = "huawei,hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
++ { .compatible = "netgear,evg2000", .data = &board_EVG2000, },
+ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/profiles/01-generic.mk b/target/linux/brcm63xx/profiles/01-generic.mk
deleted file mode 100644
index 2a9eb15e00..0000000000
--- a/target/linux/brcm63xx/profiles/01-generic.mk
+++ /dev/null
@@ -1,123 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/963281TAN
- NAME:=Generic 963281TAN
- PACKAGES:=
-endef
-define Profile/963281TAN/Description
- Package set optimized for 963281TAN.
-endef
-$(eval $(call Profile,963281TAN))
-
-define Profile/96328avng
- NAME:=Generic 96328avng
- PACKAGES:=
-endef
-define Profile/96328avng/Description
- Package set optimized for 96328avng.
-endef
-$(eval $(call Profile,96328avng))
-
-define Profile/96338GW
- NAME:=Generic 96338GW
- PACKAGES:=
-endef
-define Profile/96338GW/Description
- Package set optimized for 96338GW.
-endef
-$(eval $(call Profile,96338GW))
-
-define Profile/96338W
- NAME:=Generic 96338W
- PACKAGES:=
-endef
-define Profile/96338W/Description
- Package set optimized for 96338W.
-endef
-$(eval $(call Profile,96338W))
-
-define Profile/96345GW2
- NAME:=Generic 96345GW2
- PACKAGES:=
-endef
-define Profile/96345GW2/Description
- Package set optimized for 96345GW2.
-endef
-$(eval $(call Profile,96345GW2))
-
-define Profile/96348GW
- NAME:=Generic 96348GW
- PACKAGES:=
-endef
-define Profile/96348GW/Description
- Package set optimized for 96348GW.
-endef
-$(eval $(call Profile,96348GW))
-
-define Profile/96348GW_10
- NAME:=Generic 96348GW-10
- PACKAGES:=
-endef
-define Profile/96348GW_10/Description
- Package set optimized for 96348GW-10.
-endef
-$(eval $(call Profile,96348GW_10))
-
-define Profile/96348GW_11
- NAME:=Generic 96348GW-11
- PACKAGES:=
-endef
-define Profile/96348GW_11/Description
- Package set optimized for 96348GW-11.
-endef
-$(eval $(call Profile,96348GW_11))
-
-define Profile/96348R
- NAME:=Generic 96348R
- PACKAGES:=
-endef
-define Profile/96348R/Description
- Package set optimized for 96348R.
-endef
-$(eval $(call Profile,96348R))
-
-define Profile/96358VW
- NAME:=Generic 96358VW
- PACKAGES:=
-endef
-define Profile/96358VW/Description
- Package set optimized for 96358VW.
-endef
-$(eval $(call Profile,96358VW))
-
-define Profile/96358VW2
- NAME:=Generic 96358VW2
- PACKAGES:=
-endef
-define Profile/96358VW2/Description
- Package set optimized for 96358VW2.
-endef
-$(eval $(call Profile,96358VW2))
-
-define Profile/96368MVNgr
- NAME:=Generic 96368MVNgr
- PACKAGES:=
-endef
-define Profile/96368MVNgr/Description
- Package set optimized for 96368MVNgr.
-endef
-$(eval $(call Profile,96368MVNgr))
-
-define Profile/96368MVWG
- NAME:=Generic 96368MVWG
- PACKAGES:=
-endef
-define Profile/96368MVWG/Description
- Package set optimized for 96368MVWG.
-endef
-$(eval $(call Profile,96368MVWG))
diff --git a/target/linux/brcm63xx/profiles/adb.mk b/target/linux/brcm63xx/profiles/adb.mk
deleted file mode 100644
index 13c75246ad..0000000000
--- a/target/linux/brcm63xx/profiles/adb.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/A4001N
- NAME:=ADB P.DG A4001N
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/A4001N/Description
- Package set optimized for A4001N.
-endef
-$(eval $(call Profile,A4001N))
-
-define Profile/A4001N1
- NAME:=ADB P.DG A4001N1
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/A4001N1/Description
- Package set optimized for A4001N1.
-endef
-$(eval $(call Profile,A4001N1))
diff --git a/target/linux/brcm63xx/profiles/alcatel.mk b/target/linux/brcm63xx/profiles/alcatel.mk
deleted file mode 100644
index ec93a19739..0000000000
--- a/target/linux/brcm63xx/profiles/alcatel.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/RG100A
- NAME:=Alcatel RG100A
- PACKAGES:=kmod-b43 wpad-mini\
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/RG100A/Description
- Package set optimized for RG100A.
-endef
-$(eval $(call Profile,RG100A))
diff --git a/target/linux/brcm63xx/profiles/asmax.mk b/target/linux/brcm63xx/profiles/asmax.mk
deleted file mode 100644
index c8f0072748..0000000000
--- a/target/linux/brcm63xx/profiles/asmax.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/AR1004G
- NAME:=Asmax AR 1004G
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/AR1004G/Description
- Package set optimized for AR 1004G.
-endef
-$(eval $(call Profile,AR1004G))
diff --git a/target/linux/brcm63xx/profiles/belkin.mk b/target/linux/brcm63xx/profiles/belkin.mk
deleted file mode 100644
index 4bd50b0c68..0000000000
--- a/target/linux/brcm63xx/profiles/belkin.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/F5D7633
- NAME:=Belkin F5D7633
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/F5D7633/Description
- Package set optimized for F5D7633.
-endef
-$(eval $(call Profile,F5D7633))
diff --git a/target/linux/brcm63xx/profiles/broadcom.mk b/target/linux/brcm63xx/profiles/broadcom.mk
deleted file mode 100644
index 520a676184..0000000000
--- a/target/linux/brcm63xx/profiles/broadcom.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/BCM96318REF
- NAME:=Broadcom BCM9618REF reference board
- PACKAGES:= kmod-b43 wpad-mini kmod-usb-ohci kmod-usb2 kmod-bcm63xx-udc
-endef
-define Profile/BCM96318REF/Description
- Package set optimized for the Broadcom BCM96318REF reference board.
-endef
-$(eval $(call Profile,BCM96318REF))
-
-define Profile/BCM96318REF_P300
- NAME:=Broadcom BCM96318REF_P300 reference board
- PACKAGES:= kmod-b43 wpad-mini kmod-usb-ohci kmod-usb2 kmod-bcm63xx-udc
-endef
-define Profile/BCM96318REF_P300/Description
- Package set optimized for the Broadcom BCM96318REF_P300 reference board.
-endef
-$(eval $(call Profile,BCM96318REF_P300))
-
-define Profile/BCM963268BU_P300
- NAME:=Broadcom BCM963268BU_P300 reference board
- PACKAGES:= kmod-usb-ohci kmod-usb2 kmod-bcm63xx-udc
-endef
-define Profile/BCM963268BU_P300/Description
- Package set optimized for the Broadcom BCM963268BU_P300 reference board.
-endef
-$(eval $(call Profile,BCM963268BU_P300))
-
-define Profile/BCM963269BHR
- NAME:=Broadcom BCM963269BHR reference board
- PACKAGES:= kmod-usb-ohci kmod-usb2 kmod-bcm63xx-udc
-endef
-define Profile/BCM963269BHR/Description
- Package set optimized for the Broadcom BCM963269BHR reference board.
-endef
-$(eval $(call Profile,BCM963269BHR))
diff --git a/target/linux/brcm63xx/profiles/bt.mk b/target/linux/brcm63xx/profiles/bt.mk
deleted file mode 100644
index f76ac5c361..0000000000
--- a/target/linux/brcm63xx/profiles/bt.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/BTHOMEHUB2A
- NAME:=BT Home Hub 2A
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/BTHOMEHUB2A/Description
- Package set optimized for BTHOMEHUB2A.
-endef
-$(eval $(call Profile,BTHOMEHUB2A))
-
-define Profile/BTV2110
- NAME:=BT Voyager V2110
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/BTV2500V/Description
- Package set optimized for BTV2110.
-endef
-$(eval $(call Profile,BTV2110))
-
-define Profile/BTV2500V
- NAME:=BT Voyager V2500V
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/BTV2500V/Description
- Package set optimized for BTV2500V.
-endef
-$(eval $(call Profile,BTV2500V))
diff --git a/target/linux/brcm63xx/profiles/comtrend.mk b/target/linux/brcm63xx/profiles/comtrend.mk
deleted file mode 100644
index 99fec4a6b8..0000000000
--- a/target/linux/brcm63xx/profiles/comtrend.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/AR5381u
- NAME:=Comtrend AR-5381u
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/AR5381u/Description
- Package set optimized for AR-5381u.
-endef
-$(eval $(call Profile,AR5381u))
-
-define Profile/AR5387un
- NAME:=Comtrend AR-5387un
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/AR5387un/Description
- Package set optimized for AR-5387un.
-endef
-$(eval $(call Profile,AR5387un))
-
-define Profile/CT536_CT5621
- NAME:=Comtrend CT-536+/CT-5621
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/CT536_CT5621/Description
- Package set optimized for CT-536+/CT-5621.
-endef
-$(eval $(call Profile,CT536_CT5621))
-
-define Profile/CT5365
- NAME:=Comtrend CT-5365
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/CT5365/Description
- Package set optimized for CT-5365.
-endef
-$(eval $(call Profile,CT5365))
-
-define Profile/CT6373
- NAME:=Comtrend CT-6373
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/CT6373/Description
- Package set optimized for CT-6373.
-endef
-$(eval $(call Profile,CT6373))
-
-define Profile/VR3025u
- NAME:=Comtrend VR-3025u
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/VR3025u/Description
- Package set optimized for VR-3025u.
-endef
-$(eval $(call Profile,VR3025u))
-
-define Profile/VR3025un
- NAME:=Comtrend VR-3025un
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/VR3025un/Description
- Package set optimized for VR-3025un.
-endef
-$(eval $(call Profile,VR3025un))
-
-define Profile/VR3026e
- NAME:=Comtrend VR-3026e
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/VR3026e/Description
- Package set optimized for VR-3026e.
-endef
-$(eval $(call Profile,VR3026e))
-
-define Profile/WAP5813n
- NAME:=Comtrend WAP-5813n
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/WAP5813n/Description
- Package set optimized for WAP-5813n.
-endef
-$(eval $(call Profile,WAP5813n))
diff --git a/target/linux/brcm63xx/profiles/d-link.mk b/target/linux/brcm63xx/profiles/d-link.mk
deleted file mode 100644
index 1bd5fc8070..0000000000
--- a/target/linux/brcm63xx/profiles/d-link.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/DSL2640B_B
- NAME:=D-Link DSL-2640B rev B2
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/DSL2640B_B/Description
- Package set optimized for DSL-2640B rev B2.
-endef
-$(eval $(call Profile,DSL2640B_B))
-
-define Profile/DSL2640U
- NAME:=D-Link DSL-2640U/BRU/C
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/DSL2640U/Description
- Package set optimized for DSL-2640U
-endef
-$(eval $(call Profile,DSL2640U))
-
-define Profile/DSL2650U
- NAME:=D-Link DSL-2650U
- PACKAGES:=kmod-b43 wpad-mini\
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/DSL2650U/Description
- Package set optimized for DSL-2650U.
-endef
-$(eval $(call Profile,DSL2650U))
-
-define Profile/DSL274XB_C
- NAME:=D-Link DSL-2740B/DSL-2741B rev C2/C3
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/DSL274XB_C/Description
- Package set optimized for DSL-2740B/DSL-2741B rev C2/C3.
-endef
-$(eval $(call Profile,DSL274XB_C))
-
-define Profile/DSL274XB_F
- NAME:=D-Link DSL-2740B/DSL-2741B rev F1
- PACKAGES:=kmod-ath9k wpad-mini
-endef
-define Profile/DSL274XB_F/Description
- Package set optimized for DSL-2740B/DSL-2741B rev F1.
-endef
-$(eval $(call Profile,DSL274XB_F))
-
-define Profile/DSL275XB_D
- NAME:=D-Link DSL-2750B/DSL-2751 rev D1
- PACKAGES:=kmod-b43 wpad-mini kmod-usb-ohci kmod-usb2
-endef
-define Profile/DSL275XB_D/Description
- Package set optimized for DSL-2750B/DSL-2751 rev D1.
-endef
-$(eval $(call Profile,DSL275XB_D))
-
-define Profile/DVAG3810BN
- NAME:=D-Link DVA-G3810BN/TL
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/DVAG3810BN/Description
- Package set optimized for DVA-G3810BN/TL.
-endef
-$(eval $(call Profile,DVAG3810BN))
diff --git a/target/linux/brcm63xx/profiles/davolink.mk b/target/linux/brcm63xx/profiles/davolink.mk
deleted file mode 100644
index 0097a80aaa..0000000000
--- a/target/linux/brcm63xx/profiles/davolink.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/DV201AMR
- NAME:=Davolink DV-201AMR
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/DV201AMR/Description
- Package set optimized for DV-201AMR.
-endef
-$(eval $(call Profile,DV201AMR))
diff --git a/target/linux/brcm63xx/profiles/00-default.mk b/target/linux/brcm63xx/profiles/default.mk
index a25be923e9..3300929462 100644
--- a/target/linux/brcm63xx/profiles/00-default.mk
+++ b/target/linux/brcm63xx/profiles/default.mk
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2014 OpenWrt.org
+# Copyright (C) 2016 LEDE project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,8 +8,11 @@
define Profile/Default
NAME:=Default Profile
PACKAGES:=kmod-b43 wpad-mini
+ PRIORITY:=1
endef
+
define Profile/Default/description
Package set compatible with most boards.
endef
+
$(eval $(call Profile,Default))
diff --git a/target/linux/brcm63xx/profiles/dynalink.mk b/target/linux/brcm63xx/profiles/dynalink.mk
deleted file mode 100644
index f15699fd41..0000000000
--- a/target/linux/brcm63xx/profiles/dynalink.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/RTA770BW
- NAME:=Dynalink RTA770BW (Siemens SE 515)
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/RTA770BW/Description
- Package set optimized for RTA770BW.
-endef
-$(eval $(call Profile,RTA770BW))
-
-define Profile/RTA770W
- NAME:=Dynalink RTA770W
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/RTA770W/Description
- Package set optimized for RTA770W.
-endef
-$(eval $(call Profile,RTA770W))
-
-define Profile/RTA1025W
- NAME:=Dynalink RTA1025W
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/RTA1025W/Description
- Package set optimized for RTA1025W.
-endef
-$(eval $(call Profile,RTA1025W))
-
-define Profile/RTA1320
- NAME:=Dynalink RTA1320
- PACKAGES:=
-endef
-define Profile/RTA1320/Description
- Package set optimized for RTA1320.
-endef
-$(eval $(call Profile,RTA1320))
diff --git a/target/linux/brcm63xx/profiles/huawei.mk b/target/linux/brcm63xx/profiles/huawei.mk
deleted file mode 100644
index 36f4be10bf..0000000000
--- a/target/linux/brcm63xx/profiles/huawei.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/HG520v
- NAME:=Huawei EchoLife HG520v
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/HG520v/Description
- Package set optimized for Huawei HG520v.
-endef
-$(eval $(call Profile,HG520v))
-
-define Profile/HG553
- NAME:=Huawei EchoLife HG553
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/HG553/Description
- Package set optimized for Huawei HG553.
-endef
-$(eval $(call Profile,HG553))
-
-define Profile/HG556a_AB
- NAME:=Huawei EchoLife HG556a (version A/B - Atheros)
- PACKAGES:=kmod-ath9k wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/HG556a_AB/Description
- Package set optimized for Huawei HG556a version A/B (Atheros).
-endef
-$(eval $(call Profile,HG556a_AB))
-
-define Profile/HG556a_C
- NAME:=Huawei EchoLife HG556a (version C - Ralink)
- PACKAGES:=kmod-rt2800-pci wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/HG556a_C/Description
- Package set optimized for Huawei HG556a version C (Ralink).
-endef
-$(eval $(call Profile,HG556a_C))
-
-define Profile/HG622
- NAME:=Huawei HG622
- PACKAGES:=kmod-rt2800-pci wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/HG622/Description
- Package set optimized for Huawei HG622.
-endef
-$(eval $(call Profile,HG622))
-
-define Profile/HG655b
- NAME:=Huawei HG655b
- PACKAGES:=kmod-rt2800-pci wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/HG655b/Description
- Package set optimized for Huawei HG655b, HG655d.
-endef
-$(eval $(call Profile,HG655b))
diff --git a/target/linux/brcm63xx/profiles/inteno.mk b/target/linux/brcm63xx/profiles/inteno.mk
deleted file mode 100644
index a8043c9d6a..0000000000
--- a/target/linux/brcm63xx/profiles/inteno.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/VG50
- NAME:=Inteno VG50 Multi-WAN CPE
- PACKAGES:= kmod-usb-ohci kmod-usb2
-endef
-define Profile/VG50/Description
- Package set optimized for the Inteno VG50 Multi-WAN CPE.
-endef
-$(eval $(call Profile,VG50))
diff --git a/target/linux/brcm63xx/profiles/inventel.mk b/target/linux/brcm63xx/profiles/inventel.mk
deleted file mode 100644
index a6733fc447..0000000000
--- a/target/linux/brcm63xx/profiles/inventel.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Livebox
- NAME:=Inventel Livebox 1
- PACKAGES:=kmod-b43 wpad-mini kmod-usb-ohci
-endef
-define Profile/Livebox/Description
- Package set optimized for Inventel Livebox 1.
-endef
-$(eval $(call Profile,Livebox))
diff --git a/target/linux/brcm63xx/profiles/netgear.mk b/target/linux/brcm63xx/profiles/netgear.mk
deleted file mode 100644
index bc345bb347..0000000000
--- a/target/linux/brcm63xx/profiles/netgear.mk
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/CVG834G
- NAME:=Netgear CVG834G
- PACKAGES:=
-endef
-define Profile/CVG834G/Description
- Package set optimized for CVG834G.
-endef
-$(eval $(call Profile,CVG834G))
-
-define Profile/DG834GTPN
- NAME:=Netgear DG834GT/PN
- PACKAGES:=kmod-ath5k wpad-mini
-endef
-define Profile/DG834GTPN/Description
- Package set optimized for DG834GT/PN.
-endef
-$(eval $(call Profile,DG834GTPN))
-
-define Profile/DG834GV4
- NAME:=Netgear DG834G v4
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/DG834GTPN/Description
- Package set optimized for DG834G v4.
-endef
-$(eval $(call Profile,DG834GV4))
-
-define Profile/DGND3700v1_3800B
- NAME:=Netgear DGND3700 v1 / DGND3800B
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/DGND3700v1_3800B/Description
- Package set optimized for DGND3700 v1 / DGND3800B.
-endef
-$(eval $(call Profile,DGND3700v1_3800B))
diff --git a/target/linux/brcm63xx/profiles/nucom.mk b/target/linux/brcm63xx/profiles/nucom.mk
deleted file mode 100644
index 2cd8801879..0000000000
--- a/target/linux/brcm63xx/profiles/nucom.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/R5010UNV2
- NAME:=NuCom R5010UN v2
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
-endef
-define Profile/R5010UNV2/Description
- Package set optimized for R5010UNV2.
-endef
-$(eval $(call Profile,R5010UNV2))
diff --git a/target/linux/brcm63xx/profiles/pirelli.mk b/target/linux/brcm63xx/profiles/pirelli.mk
deleted file mode 100644
index 58617199d0..0000000000
--- a/target/linux/brcm63xx/profiles/pirelli.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/A226G
- NAME:=Pirelli A226G
- PACKAGES:=kmod-b43 wpad-mini\
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/A226G/Description
- Package set optimized for A226G.
-endef
-$(eval $(call Profile,A226G))
-
-define Profile/A226M
- NAME:=Pirelli A226M/A226M-FWB
- PACKAGES:=kmod-usb2 kmod-usb-ohci
-endef
-define Profile/A226M/Description
- Package set optimized for A226M/A226M-FWB.
-endef
-$(eval $(call Profile,A226M))
-
-define Profile/AGPF_S0
- NAME:=Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0
- PACKAGES:=kmod-b43 wpad-mini\
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/AGPF_S0/Description
- Package set optimized for AGPF-S0.
-endef
-$(eval $(call Profile,AGPF_S0))
diff --git a/target/linux/brcm63xx/profiles/sagem.mk b/target/linux/brcm63xx/profiles/sagem.mk
deleted file mode 100644
index 7d9a160ede..0000000000
--- a/target/linux/brcm63xx/profiles/sagem.mk
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/FAST2404
- NAME:=Sagem F@ST2404
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/FAST2404/Description
- Package set optimized for F@ST2404.
-endef
-$(eval $(call Profile,FAST2404))
-
-define Profile/FAST2504n
- NAME:=Sagem F@ST2504n
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/FAST2504n/Description
- Package set optimized for F@ST2504n.
-endef
-$(eval $(call Profile,FAST2504n))
-
-define Profile/FAST2604
- NAME:=Sagem F@ST2604
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/FAST2604/Description
- Package set optimized for F@ST2604.
-endef
-$(eval $(call Profile,FAST2604))
-
-define Profile/FAST2704N
- NAME:=Sagem F@ST2704N
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/FAST2704N/Description
- Package set optimized for F@ST2704N.
-endef
-$(eval $(call Profile,FAST2704N))
-
-define Profile/FAST2704V2
- NAME:=Sagem F@ST2704V2
- PACKAGES:=kmod-b43 wpad-mini\
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/FAST2704V2/Description
- Package set optimized for F@ST2704V2.
-endef
-$(eval $(call Profile,FAST2704V2))
diff --git a/target/linux/brcm63xx/profiles/sfr.mk b/target/linux/brcm63xx/profiles/sfr.mk
deleted file mode 100644
index 8b0dd44550..0000000000
--- a/target/linux/brcm63xx/profiles/sfr.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Neufbox4
- NAME:=SFR Neufbox4
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/Neufbox4/Description
- Package set optimized for Neufbox4.
-endef
-$(eval $(call Profile,Neufbox4))
-
-define Profile/Neufbox6
- NAME:=SFR Neufbox6
- PACKAGES:=kmod-b43 wpad-mini \
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/Neufbox6/Description
- Package set optimized for Neufbox6.
-endef
-$(eval $(call Profile,Neufbox6))
diff --git a/target/linux/brcm63xx/profiles/t-com.mk b/target/linux/brcm63xx/profiles/t-com.mk
deleted file mode 100644
index f1eaf0abdb..0000000000
--- a/target/linux/brcm63xx/profiles/t-com.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/SPW303V
- NAME:=T-Com Speedport W 303V
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/SPW303V/Description
- Package set optimized for SPW303V.
-endef
-$(eval $(call Profile,SPW303V))
-
-
-define Profile/SPW500V
- NAME:=T-Com Speedport W 500V
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/SPW500V/Description
- Package set optimized for SPW500V.
-endef
-$(eval $(call Profile,SPW500V))
diff --git a/target/linux/brcm63xx/profiles/tecom.mk b/target/linux/brcm63xx/profiles/tecom.mk
deleted file mode 100644
index 038ef5e62e..0000000000
--- a/target/linux/brcm63xx/profiles/tecom.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/GW6000
- NAME:=Tecom GW6000
- PACKAGES:=kmod-brcm-wl kmod-usb-ohci kmod-usb-storage \
- kmod-fs-ext4 kmod-nls-cp437 kmod-nls-iso8859-1 e2fsprogs \
- kmod-ipt-nathelper-extra wlc
-endef
-define Profile/GW6000/Description
- Package set optimized for GW6000.
-endef
-$(eval $(call Profile,GW6000))
-
-define Profile/GW6200
- NAME:=Tecom GW6200
- PACKAGES:=kmod-brcm-wl kmod-usb-ohci kmod-usb-storage \
- kmod-fs-ext4 kmod-nls-cp437 kmod-nls-iso8859-1 e2fsprogs \
- kmod-ipt-nathelper-extra wlc
-endef
-define Profile/GW6200/Description
- Package set optimized for GW6200.
-endef
-$(eval $(call Profile,GW6200))
diff --git a/target/linux/brcm63xx/profiles/telsey.mk b/target/linux/brcm63xx/profiles/telsey.mk
deleted file mode 100644
index 759a273d57..0000000000
--- a/target/linux/brcm63xx/profiles/telsey.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/CPVA502PLUS
- NAME:=Telsey CPVA502+
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/CPVA502PLUS/Description
- Package set optimized for CPVA502+.
-endef
-$(eval $(call Profile,CPVA502PLUS))
-
-define Profile/CPVA642
- NAME:=Telsey CPVA642-type (CPA-ZNTE60T)
- PACKAGES:=kmod-rt61-pci wpad-mini\
- kmod-usb2 kmod-usb-ohci
-endef
-define Profile/CPVA642/Description
- Package set optimized for CPVA642-type.
-endef
-$(eval $(call Profile,CPVA642))
-
-define Profile/MAGIC
- NAME:=Telsey MAGIC (Alice W-Gate)
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/MAGIC/Description
- Package set optimized for Telsey MAGIC (Alice W-Gate)
-endef
-$(eval $(call Profile,CPVA502PLUS))
diff --git a/target/linux/brcm63xx/profiles/tp-link.mk b/target/linux/brcm63xx/profiles/tp-link.mk
deleted file mode 100644
index a7e7f26e20..0000000000
--- a/target/linux/brcm63xx/profiles/tp-link.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/TDW8900GB
- NAME:=TP-Link TD-W8900GB
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/TDW8900GB/Description
- Package set optimized for TD-W8900GB.
-endef
-$(eval $(call Profile,TDW8900GB))
diff --git a/target/linux/brcm63xx/profiles/usrobotics.mk b/target/linux/brcm63xx/profiles/usrobotics.mk
deleted file mode 100644
index 76b5e1241e..0000000000
--- a/target/linux/brcm63xx/profiles/usrobotics.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/USR9108
- NAME:=USRobotics 9108
- PACKAGES:=kmod-b43 wpad-mini\
- kmod-usb-ohci
-endef
-define Profile/USR9108/Description
- Package set optimized for USR9108.
-endef
-$(eval $(call Profile,USR9108))
diff --git a/target/linux/brcm63xx/profiles/zyxel.mk b/target/linux/brcm63xx/profiles/zyxel.mk
deleted file mode 100644
index 3aca09475a..0000000000
--- a/target/linux/brcm63xx/profiles/zyxel.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/P870HW_51a_v2
- NAME:=ZyXEL P870HW-51a v2
- PACKAGES:=kmod-b43 wpad-mini
-endef
-define Profile/P870HW_51a_v2/Description
- Package set optimized for P870HW-51a v2.
-endef
-$(eval $(call Profile,P870HW_51a_v2))
diff --git a/target/linux/cns3xxx/files/drivers/net/ethernet/cavium/cns3xxx_eth.c b/target/linux/cns3xxx/files/drivers/net/ethernet/cavium/cns3xxx_eth.c
index 2f232c1d29..51b01876ef 100644
--- a/target/linux/cns3xxx/files/drivers/net/ethernet/cavium/cns3xxx_eth.c
+++ b/target/linux/cns3xxx/files/drivers/net/ethernet/cavium/cns3xxx_eth.c
@@ -717,8 +717,8 @@ static int eth_poll(struct napi_struct *napi, int budget)
enable_irq(sw->rx_irq);
budget = 0;
- /* if rx descriptors are full schedule another poll */
- if (rx_ring->desc[(i-1) & (RX_DESCS-1)].cown)
+ /* If 1 or more frames came in during IRQ enable, re-schedule */
+ if (rx_ring->desc[i].cown)
eth_schedule_poll(sw);
}
diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
index ee0444a43e..9fe1311018 100644
--- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
+++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
@@ -79,8 +79,8 @@ static int mtdsplit_parse_seama(struct mtd_info *master,
return -ENOMEM;
parts[0].name = KERNEL_PART_NAME;
- parts[0].offset = 0;
- parts[0].size = rootfs_offset;
+ parts[0].offset = sizeof hdr + be16_to_cpu(hdr.metasize);
+ parts[0].size = rootfs_offset - parts[0].offset;
if (type == MTDSPLIT_PART_TYPE_UBI)
parts[1].name = UBI_PART_NAME;
diff --git a/target/linux/octeon/image/Makefile b/target/linux/octeon/image/Makefile
index e74b06dd4b..89cbba592c 100644
--- a/target/linux/octeon/image/Makefile
+++ b/target/linux/octeon/image/Makefile
@@ -7,59 +7,50 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
-define Image/Prepare
- # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section
- $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux.elf -o $(KDIR)/vmlinux.elf.stripped
+DEVICE_VARS += KERNEL_PREFIX FILESYSTEMS
+
+define Device/Default
+ PROFILES = Default $$(DEVICE_NAME)
+ KERNEL_NAME := vmlinux.elf
+ KERNEL_INITRAMFS_NAME := vmlinux-initramfs.elf
+ KERNEL := kernel-bin | strip-kernel | patch-cmdline
+ IMAGES := sysupgrade.tar
+ FILESYSTEMS := squashfs
+ IMAGE/sysupgrade.tar := tar-file $$$$(FILESYSTEMS)
+endef
+
+define Build/tar-file
+ mkdir -p $(KDIR)/sysupgrade-$(DEVICE_NAME)/
+ echo "BOARD=$(BOARD)" > $(KDIR)/sysupgrade-$(DEVICE_NAME)/CONTROL
+ $(CP) $(KDIR)/$(KERNEL_IMAGE) $(KDIR)/sysupgrade-$(DEVICE_NAME)/kernel
+ $(CP) $(KDIR)/root.$(1) $(KDIR)/sysupgrade-$(DEVICE_NAME)/root
+ (cd $(KDIR); $(TAR) cvf \
+ $@ sysupgrade-$(DEVICE_NAME))
endef
-define Image/BuildKernel/Template
- $(CP) $(KDIR)/vmlinux.elf.stripped $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64
- $(STAGING_DIR_HOST)/bin/patch-cmdline $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 '$(strip $(2))'
- md5sum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 | cut -d " " -f 1 | tee $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64.md5
+define Build/strip-kernel
+ # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section
+ $(TARGET_CROSS)strip -R .notes $@ -o $@.stripped && mv $@.stripped $@
endef
-define Image/BuildKernel/Initramfs/Template
- $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux-initramfs.elf -o $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs.elf
- $(STAGING_DIR_HOST)/bin/patch-cmdline $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs.elf '$(strip $(2))'
+define Device/generic
+ FILESYSTEMS := ext4
+ DEVICE_TITLE := Generic
endef
+TARGET_DEVICES += generic
ER_CMDLINE:=-mtdparts=phys_mapped_flash:640k(boot0)ro,640k(boot1)ro,64k(eeprom)ro block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait
-ERLITE_CMDLINE:=-mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom) block2mtd.block2mtd=/dev/sda2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait
-
-define Image/BuildKernel
- $(call Image/BuildKernel/Template,generic,)
- $(call Image/BuildKernel/Template,er,$(ER_CMDLINE))
- $(call Image/BuildKernel/Template,erlite,$(ERLITE_CMDLINE))
-endef
-
-define Image/BuildKernel/Initramfs
- $(call Image/BuildKernel/Initramfs/Template,generic,)
- $(call Image/BuildKernel/Initramfs/Template,er,$(ER_CMDLINE))
- $(call Image/BuildKernel/Initramfs/Template,erlite,$(ERLITE_CMDLINE))
+define Device/er
+ CMDLINE := $(ER_CMDLINE)
+ DEVICE_TITLE := Ubiquiti EdgeRouter
endef
+TARGET_DEVICES += er
-define Image/Build/sysupgrade
- mkdir -p $(KDIR)/sysupgrade-$(1)/
- echo "BOARD=$(1)" > $(KDIR)/sysupgrade-$(1)/CONTROL
- $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(2)-vmlinux.64 $(KDIR)/sysupgrade-$(1)/kernel
- $(CP) $(KDIR)/root.$(3) $(KDIR)/sysupgrade-$(1)/root
- (cd $(KDIR); $(TAR) cvf \
- $(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(3)-sysupgrade.tar sysupgrade-$(1))
-endef
-
-define Image/Build/ext4
- $(call Image/Build/sysupgrade,erlite,generic,ext4)
-endef
-
-define Image/Build/squashfs
- $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
- $(call Image/Build/sysupgrade,er,er,squashfs)
- $(call Image/Build/sysupgrade,erlite,erlite,squashfs)
-endef
-
-define Image/Build
- $(call Image/Build/$(1))
- dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
+ERLITE_CMDLINE:=-mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom) block2mtd.block2mtd=/dev/sda2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait
+define Device/erlite
+ CMDLINE := $(ERLITE_CMDLINE)
+ DEVICE_TITLE := Ubiquiti EdgeRouter Lite
endef
+TARGET_DEVICES += erlite
$(eval $(call BuildImage))
diff --git a/target/linux/octeon/patches-4.4/170-cisco-hack.patch b/target/linux/octeon/patches-4.4/170-cisco-hack.patch
new file mode 100644
index 0000000000..2311e351eb
--- /dev/null
+++ b/target/linux/octeon/patches-4.4/170-cisco-hack.patch
@@ -0,0 +1,31 @@
+From patchwork Wed Jun 8 13:49:26 2016
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+Subject: [LEDE-DEV] cavium: Ignore MEM boot param when too small
+From: =?utf-8?q?Micha=C5=82_Osowiecki?= <michal.osowiecki@gmail.com>
+X-Patchwork-Id: 632273
+Message-Id: <57582266.8020105@gmail.com>
+To: lede-dev@lists.infradead.org
+Date: Wed, 8 Jun 2016 15:49:26 +0200
+
+Cisco RV0XX u-boot sets MEM=2048 as boot param. We assume that at least
+4MB (mem_alloc_size) of ram is needed to run linux on cavium boards, so
+if mem < 4M - ignore it and set default value
+
+
+Signed-off-by: Michał Osowiecki <michal.osowiecki@gmail.com>
+
+--- a/arch/mips/cavium-octeon/setup.c
++++ b/arch/mips/cavium-octeon/setup.c
+@@ -944,6 +944,10 @@
+ if (mem_alloc_size > MAX_MEMORY)
+ mem_alloc_size = MAX_MEMORY;
+
++ /* Ignore bootarg MEM <= 4MB - cisco uses a b0rked uboot env on their products */
++ if (MAX_MEMORY <= mem_alloc_size)
++ MAX_MEMORY = 512ull << 20;
++
+ /* Crashkernel ignores bootmem list. It relies on mem=X@Y option */
+ #ifdef CONFIG_CRASH_DUMP
+ add_memory_region(RESERVE_LOW_MEM, MAX_MEMORY, BOOT_MEM_RAM);
diff --git a/target/linux/octeon/profiles/000-Generic.mk b/target/linux/octeon/profiles/000-Generic.mk
index cf9a0137ba..d4c5767577 100644
--- a/target/linux/octeon/profiles/000-Generic.mk
+++ b/target/linux/octeon/profiles/000-Generic.mk
@@ -5,13 +5,13 @@
# See /LICENSE for more information.
#
-define Profile/generic
- NAME:=Generic Octeon board
- PACKAGES:=
+define Profile/Default
+ NAME:=Default Profile
+ PRIORITY:=1
endef
-define Profile/generic/Description
- Base packages for Octeon boards.
+define Profile/Default/Description
+ Base packages for Octeon boards.
endef
-$(eval $(call Profile,generic))
+$(eval $(call Profile,Default))
diff --git a/tools/firmware-utils/src/oseama.c b/tools/firmware-utils/src/oseama.c
index 37a2171574..4434b11162 100644
--- a/tools/firmware-utils/src/oseama.c
+++ b/tools/firmware-utils/src/oseama.c
@@ -57,6 +57,7 @@ struct seama_entity_header {
char *seama_path;
int entity_idx = -1;
+char *out_path;
static inline size_t oseama_min(size_t x, size_t y) {
return x < y ? x : y;
@@ -392,6 +393,132 @@ out:
}
/**************************************************
+ * Extract
+ **************************************************/
+
+static void oseama_extract_parse_options(int argc, char **argv) {
+ int c;
+
+ while ((c = getopt(argc, argv, "e:o:")) != -1) {
+ switch (c) {
+ case 'e':
+ entity_idx = atoi(optarg);
+ break;
+ case 'o':
+ out_path = optarg;
+ break;
+ }
+ }
+}
+
+static int oseama_extract_entity(FILE *seama, FILE *out) {
+ struct seama_entity_header hdr;
+ size_t bytes, metasize, imagesize, length;
+ uint8_t buf[1024];
+ int i = 0;
+ int err = 0;
+
+ while ((bytes = fread(&hdr, 1, sizeof(hdr), seama)) == sizeof(hdr)) {
+ if (be32_to_cpu(hdr.magic) != SEAMA_MAGIC) {
+ fprintf(stderr, "Invalid Seama magic: 0x%08x\n", be32_to_cpu(hdr.magic));
+ err = -EINVAL;
+ break;
+ }
+ metasize = be16_to_cpu(hdr.metasize);
+ imagesize = be32_to_cpu(hdr.imagesize);
+
+ if (i != entity_idx) {
+ fseek(seama, metasize + imagesize, SEEK_CUR);
+ i++;
+ continue;
+ }
+
+ fseek(seama, -sizeof(hdr), SEEK_CUR);
+
+ length = sizeof(hdr) + metasize + imagesize;
+ while ((bytes = fread(buf, 1, oseama_min(sizeof(buf), length), seama)) > 0) {
+ if (fwrite(buf, 1, bytes, out) != bytes) {
+ fprintf(stderr, "Couldn't write %zu B to %s\n", bytes, out_path);
+ err = -EIO;
+ break;
+ }
+ length -= bytes;
+ }
+
+ if (length) {
+ fprintf(stderr, "Couldn't extract whole entity %d from %s (%zu B left)\n", entity_idx, seama_path, length);
+ err = -EIO;
+ break;
+ }
+
+ break;
+ }
+
+ return err;
+}
+
+static int oseama_extract(int argc, char **argv) {
+ FILE *seama;
+ FILE *out;
+ struct seama_seal_header hdr;
+ size_t bytes;
+ uint16_t metasize;
+ int err = 0;
+
+ if (argc < 3) {
+ fprintf(stderr, "No Seama file passed\n");
+ err = -EINVAL;
+ goto out;
+ }
+ seama_path = argv[2];
+
+ optind = 3;
+ oseama_extract_parse_options(argc, argv);
+ if (entity_idx < 0) {
+ fprintf(stderr, "No entity specified\n");
+ err = -EINVAL;
+ goto out;
+ } else if (!out_path) {
+ fprintf(stderr, "No output file specified\n");
+ err = -EINVAL;
+ goto out;
+ }
+
+ seama = fopen(seama_path, "r");
+ if (!seama) {
+ fprintf(stderr, "Couldn't open %s\n", seama_path);
+ err = -EACCES;
+ goto out;
+ }
+
+ out = fopen(out_path, "w");
+ if (!out) {
+ fprintf(stderr, "Couldn't open %s\n", out_path);
+ err = -EACCES;
+ goto err_close_seama;
+ }
+
+ bytes = fread(&hdr, 1, sizeof(hdr), seama);
+ if (bytes != sizeof(hdr)) {
+ fprintf(stderr, "Couldn't read %s header\n", seama_path);
+ err = -EIO;
+ goto err_close_out;
+ }
+ metasize = be16_to_cpu(hdr.metasize);
+
+ fseek(seama, metasize, SEEK_CUR);
+
+ oseama_extract_entity(seama, out);
+
+err_close_out:
+ fclose(out);
+err_close_seama:
+ fclose(seama);
+out:
+ return err;
+}
+
+/**************************************************
* Start
**************************************************/
@@ -407,6 +534,11 @@ static void usage() {
printf("\t-m meta\t\t\t\tmeta into to put in header\n");
printf("\t-f file\t\t\t\tappend content from file\n");
printf("\t-b offset\t\t\tappend zeros till reaching absolute offset\n");
+ printf("\n");
+ printf("Extract from Seama seal (container):\n");
+ printf("\toseama extract <file> [options]\n");
+ printf("\t-e\t\t\t\tindex of entity to extract\n");
+ printf("\t-o file\t\t\t\toutput file\n");
}
int main(int argc, char **argv) {
@@ -415,6 +547,8 @@ int main(int argc, char **argv) {
return oseama_info(argc, argv);
else if (!strcmp(argv[1], "entity"))
return oseama_entity(argc, argv);
+ else if (!strcmp(argv[1], "extract"))
+ return oseama_extract(argc, argv);
}
usage();