diff options
author | Zoltan Herpai <wigyori@uid0.hu> | 2016-06-28 10:08:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-28 10:08:04 +0200 |
commit | eaeb4e48938014039899b0312e8e87da1073e348 (patch) | |
tree | 58519cde29158a1611b398c0e75b576125e5aa61 | |
parent | debeac0f833c2de3f15fe14135e365b6d8f54908 (diff) | |
parent | 3b0bfeac5cbb3df53755859299e9188981175b66 (diff) | |
download | master-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
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(); |