From 41d7a14ead50e391a7e94386911ab2e80616c72c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 7 Jun 2020 21:15:54 +0200 Subject: [PATCH 01/16] hostapd: add config symbol for allowing drivers to enable 802.11ax support Also expose a build feature for it Signed-off-by: Felix Fietkau --- package/network/services/hostapd/Config.in | 4 ++++ package/network/services/hostapd/Makefile | 6 ++++++ .../network/services/hostapd/src/src/utils/build_features.h | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/package/network/services/hostapd/Config.in b/package/network/services/hostapd/Config.in index 2cdd1ed970..81a374c652 100644 --- a/package/network/services/hostapd/Config.in +++ b/package/network/services/hostapd/Config.in @@ -70,6 +70,10 @@ config DRIVER_11AC_SUPPORT bool default n +config DRIVER_11AX_SUPPORT + bool + default n + config DRIVER_11W_SUPPORT bool default n diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index ea90e01c1d..d754f19857 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -32,6 +32,7 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_DRIVER_WEXT_SUPPORT \ CONFIG_DRIVER_11N_SUPPORT \ CONFIG_DRIVER_11AC_SUPPORT \ + CONFIG_DRIVER_11AX_SUPPORT \ CONFIG_WPA_ENABLE_WEP EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl @@ -81,11 +82,16 @@ ifneq ($(CONFIG_DRIVER_11AC_SUPPORT),) HOSTAPD_IEEE80211AC:=y endif +ifneq ($(CONFIG_DRIVER_11AX_SUPPORT),) + HOSTAPD_IEEE80211AX:=y +endif + DRIVER_MAKEOPTS= \ CONFIG_ACS=$(CONFIG_PACKAGE_kmod-cfg80211) \ CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-cfg80211) \ CONFIG_IEEE80211N=$(HOSTAPD_IEEE80211N) \ CONFIG_IEEE80211AC=$(HOSTAPD_IEEE80211AC) \ + CONFIG_IEEE80211AX=$(HOSTAPD_IEEE80211AX) \ CONFIG_DRIVER_WEXT=$(CONFIG_DRIVER_WEXT_SUPPORT) \ ifneq ($(LOCAL_VARIANT),mini) diff --git a/package/network/services/hostapd/src/src/utils/build_features.h b/package/network/services/hostapd/src/src/utils/build_features.h index b28ff6fa9f..35356b2323 100644 --- a/package/network/services/hostapd/src/src/utils/build_features.h +++ b/package/network/services/hostapd/src/src/utils/build_features.h @@ -15,6 +15,10 @@ static inline int has_feature(const char *feat) if (!strcmp(feat, "11ac")) return 1; #endif +#ifdef CONFIG_IEEE80211AX + if (!strcmp(feat, "11ax")) + return 1; +#endif #ifdef CONFIG_IEEE80211R if (!strcmp(feat, "11r")) return 1; From bf3f06f1ba9667bc81b247ce8d1ec6f18b926ea8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 7 Jun 2020 21:18:01 +0200 Subject: [PATCH 02/16] mt76: enable hostapd 802.11ax support if kmod-mt7915e is selected Signed-off-by: Felix Fietkau --- package/kernel/mt76/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index 31a4a922db..27b6ed8797 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -181,7 +181,7 @@ endef define KernelPackage/mt7915e $(KernelPackage/mt76-default) TITLE:=MediaTek MT7915e wireless driver - DEPENDS+=@PCI_SUPPORT +kmod-mt7615-common + DEPENDS+=@PCI_SUPPORT +kmod-mt7615-common +@DRIVER_11AX_SUPPORT FILES:= $(PKG_BUILD_DIR)/mt7915/mt7915e.ko AUTOLOAD:=$(call AutoProbe,mt7915e) endef From 4baf90de8d65fbecac3eede535bdd7e7c2fceda8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 8 Jun 2020 16:30:47 +0200 Subject: [PATCH 03/16] netifd: disable receive packet steering for DSA slave devices It is already handled on the master device. Doing it twice reduces performance Signed-off-by: Felix Fietkau --- .../files/etc/hotplug.d/net/20-smp-packet-steering | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering b/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering index ce5e76096a..8a86bf75f6 100644 --- a/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering +++ b/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering @@ -52,11 +52,16 @@ for dev in /sys/class/net/*; do irq_cpu="$(find_irq_cpu "$device")" irq_cpu_mask="$((1 << $irq_cpu))" - for q in ${dev}/queues/rx-*; do - set_hex_val "$q/rps_cpus" "$PROC_MASK" - done - for q in ${dev}/queues/tx-*; do set_hex_val "$q/xps_cpus" "$PROC_MASK" done + + # ignore dsa slave ports for RPS + subsys="$(readlink "${dev}/device/subsystem")" + subsys="$(basename "$subsys")" + [ "$subsys" = "mdio_bus" ] && continue + + for q in ${dev}/queues/rx-*; do + set_hex_val "$q/rps_cpus" "$PROC_MASK" + done done From dfd62e575c6c39a188a2dbf4aa0c5d1ecf92c57d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 7 Jun 2020 21:19:49 +0200 Subject: [PATCH 04/16] ramips: enable packet steering by default on mt7621 It provides a significant performance boost, especially with flow offloading enabled Signed-off-by: Felix Fietkau --- .../base-files/etc/uci-defaults/01_enable_packet_steering | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering diff --git a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering new file mode 100644 index 0000000000..4883fd662d --- /dev/null +++ b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering @@ -0,0 +1,4 @@ +uci -q get network.globals.packet_steering > /dev/null || { + uci set network.globals.packet_steering=1 + uci commit +} From 2c828620689650fefb478bac8a283d1ef30eff66 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 8 Jun 2020 16:57:43 +0200 Subject: [PATCH 05/16] kernel: backport upstream DSA GRO support Should improve performance Signed-off-by: Felix Fietkau --- ...et-dsa-add-GRO-support-via-gro_cells.patch | 143 ++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch diff --git a/target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch b/target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch new file mode 100644 index 0000000000..6d50a40d61 --- /dev/null +++ b/target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch @@ -0,0 +1,143 @@ +From: Alexander Lobakin +Date: Tue, 21 Apr 2020 16:41:08 +0300 +Subject: [PATCH] net: dsa: add GRO support via gro_cells + +gro_cells lib is used by different encapsulating netdevices, such as +geneve, macsec, vxlan etc. to speed up decapsulated traffic processing. +CPU tag is a sort of "encapsulation", and we can use the same mechs to +greatly improve overall DSA performance. +skbs are passed to the GRO layer after removing CPU tags, so we don't +need any new packet offload types as it was firstly proposed by me in +the first GRO-over-DSA variant [1]. + +The size of struct gro_cells is sizeof(void *), so hot struct +dsa_slave_priv becomes only 4/8 bytes bigger, and all critical fields +remain in one 32-byte cacheline. +The other positive side effect is that drivers for network devices +that can be shipped as CPU ports of DSA-driven switches can now use +napi_gro_frags() to pass skbs to kernel. Packets built that way are +completely non-linear and are likely being dropped without GRO. + +This was tested on to-be-mainlined-soon Ethernet driver that uses +napi_gro_frags(), and the overall performance was on par with the +variant from [1], sometimes even better due to minimal overhead. +net.core.gro_normal_batch tuning may help to push it to the limit +on particular setups and platforms. + +iperf3 IPoE VLAN NAT TCP forwarding (port1.218 -> port0) setup +on 1.2 GHz MIPS board: + +5.7-rc2 baseline: + +[ID] Interval Transfer Bitrate Retr +[ 5] 0.00-120.01 sec 9.00 GBytes 644 Mbits/sec 413 sender +[ 5] 0.00-120.00 sec 8.99 GBytes 644 Mbits/sec receiver + +Iface RX packets TX packets +eth0 7097731 7097702 +port0 426050 6671829 +port1 6671681 425862 +port1.218 6671677 425851 + +With this patch: + +[ID] Interval Transfer Bitrate Retr +[ 5] 0.00-120.01 sec 12.2 GBytes 870 Mbits/sec 122 sender +[ 5] 0.00-120.00 sec 12.2 GBytes 870 Mbits/sec receiver + +Iface RX packets TX packets +eth0 9474792 9474777 +port0 455200 353288 +port1 9019592 455035 +port1.218 353144 455024 + +v2: + - Add some performance examples in the commit message; + - No functional changes. + +[1] https://lore.kernel.org/netdev/20191230143028.27313-1-alobakin@dlink.ru/ + +Signed-off-by: Alexander Lobakin +Signed-off-by: David S. Miller +--- + +--- a/net/dsa/Kconfig ++++ b/net/dsa/Kconfig +@@ -9,6 +9,7 @@ menuconfig NET_DSA + tristate "Distributed Switch Architecture" + depends on HAVE_NET_DSA + depends on BRIDGE || BRIDGE=n ++ select GRO_CELLS + select NET_SWITCHDEV + select PHYLINK + select NET_DEVLINK +--- a/net/dsa/dsa.c ++++ b/net/dsa/dsa.c +@@ -238,7 +238,7 @@ static int dsa_switch_rcv(struct sk_buff + if (dsa_skb_defer_rx_timestamp(p, skb)) + return 0; + +- netif_receive_skb(skb); ++ gro_cells_receive(&p->gcells, skb); + + return 0; + } +--- a/net/dsa/dsa_priv.h ++++ b/net/dsa/dsa_priv.h +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + enum { + DSA_NOTIFIER_AGEING_TIME, +@@ -68,6 +69,8 @@ struct dsa_slave_priv { + + struct pcpu_sw_netstats *stats64; + ++ struct gro_cells gcells; ++ + /* DSA port data, such as switch, port index, etc. */ + struct dsa_port *dp; + +--- a/net/dsa/slave.c ++++ b/net/dsa/slave.c +@@ -1431,6 +1431,11 @@ int dsa_slave_create(struct dsa_port *po + free_netdev(slave_dev); + return -ENOMEM; + } ++ ++ ret = gro_cells_init(&p->gcells, slave_dev); ++ if (ret) ++ goto out_free; ++ + p->dp = port; + INIT_LIST_HEAD(&p->mall_tc_list); + INIT_WORK(&port->xmit_work, dsa_port_xmit_work); +@@ -1443,7 +1448,7 @@ int dsa_slave_create(struct dsa_port *po + ret = dsa_slave_phy_setup(slave_dev); + if (ret) { + netdev_err(master, "error %d setting up slave phy\n", ret); +- goto out_free; ++ goto out_gcells; + } + + dsa_slave_notify(slave_dev, DSA_PORT_REGISTER); +@@ -1462,6 +1467,8 @@ out_phy: + phylink_disconnect_phy(p->dp->pl); + rtnl_unlock(); + phylink_destroy(p->dp->pl); ++out_gcells: ++ gro_cells_destroy(&p->gcells); + out_free: + free_percpu(p->stats64); + free_netdev(slave_dev); +@@ -1482,6 +1489,7 @@ void dsa_slave_destroy(struct net_device + dsa_slave_notify(slave_dev, DSA_PORT_UNREGISTER); + unregister_netdev(slave_dev); + phylink_destroy(dp->pl); ++ gro_cells_destroy(&p->gcells); + free_percpu(p->stats64); + free_netdev(slave_dev); + } From 69f6fc7b15875e7657cd56ef69731cde41f677a0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 8 Jun 2020 19:00:02 +0200 Subject: [PATCH 06/16] ramips: add mt7621 ethernet driver improvements - Speed up MDIO bus access - Improve performance on tx completion Signed-off-by: Felix Fietkau --- ...hernet-mediatek-use-napi_consume_skb.patch | 72 +++++++++++++++++++ ...iatek-significantly-reduce-mdio-bus-.patch | 26 +++++++ 2 files changed, 98 insertions(+) create mode 100644 target/linux/ramips/patches-5.4/0400-net-ethernet-mediatek-use-napi_consume_skb.patch create mode 100644 target/linux/ramips/patches-5.4/0401-net-ethernet-mediatek-significantly-reduce-mdio-bus-.patch diff --git a/target/linux/ramips/patches-5.4/0400-net-ethernet-mediatek-use-napi_consume_skb.patch b/target/linux/ramips/patches-5.4/0400-net-ethernet-mediatek-use-napi_consume_skb.patch new file mode 100644 index 0000000000..1ccb85d4b4 --- /dev/null +++ b/target/linux/ramips/patches-5.4/0400-net-ethernet-mediatek-use-napi_consume_skb.patch @@ -0,0 +1,72 @@ +From: Felix Fietkau +Date: Mon, 8 Jun 2020 17:01:12 +0200 +Subject: [PATCH] net: ethernet: mediatek: use napi_consume_skb + +Should improve performance, since it can use bulk free + +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +@@ -844,7 +844,8 @@ static int txd_to_idx(struct mtk_tx_ring + return ((void *)dma - (void *)ring->dma) / sizeof(*dma); + } + +-static void mtk_tx_unmap(struct mtk_eth *eth, struct mtk_tx_buf *tx_buf) ++static void mtk_tx_unmap(struct mtk_eth *eth, struct mtk_tx_buf *tx_buf, ++ bool napi) + { + if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { + if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) { +@@ -876,8 +877,12 @@ static void mtk_tx_unmap(struct mtk_eth + + tx_buf->flags = 0; + if (tx_buf->skb && +- (tx_buf->skb != (struct sk_buff *)MTK_DMA_DUMMY_DESC)) +- dev_kfree_skb_any(tx_buf->skb); ++ (tx_buf->skb != (struct sk_buff *)MTK_DMA_DUMMY_DESC)) { ++ if (napi) ++ napi_consume_skb(tx_buf->skb, napi); ++ else ++ dev_kfree_skb_any(tx_buf->skb); ++ } + tx_buf->skb = NULL; + } + +@@ -1055,7 +1060,7 @@ err_dma: + tx_buf = mtk_desc_to_tx_buf(ring, itxd); + + /* unmap dma */ +- mtk_tx_unmap(eth, tx_buf); ++ mtk_tx_unmap(eth, tx_buf, false); + + itxd->txd3 = TX_DMA_LS0 | TX_DMA_OWNER_CPU; + if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) +@@ -1373,7 +1378,7 @@ static int mtk_poll_tx_qdma(struct mtk_e + done[mac]++; + budget--; + } +- mtk_tx_unmap(eth, tx_buf); ++ mtk_tx_unmap(eth, tx_buf, true); + + ring->last_free = desc; + atomic_inc(&ring->free_count); +@@ -1410,7 +1415,7 @@ static int mtk_poll_tx_pdma(struct mtk_e + budget--; + } + +- mtk_tx_unmap(eth, tx_buf); ++ mtk_tx_unmap(eth, tx_buf, true); + + desc = &ring->dma[cpu]; + ring->last_free = desc; +@@ -1612,7 +1617,7 @@ static void mtk_tx_clean(struct mtk_eth + + if (ring->buf) { + for (i = 0; i < MTK_DMA_SIZE; i++) +- mtk_tx_unmap(eth, &ring->buf[i]); ++ mtk_tx_unmap(eth, &ring->buf[i], false); + kfree(ring->buf); + ring->buf = NULL; + } diff --git a/target/linux/ramips/patches-5.4/0401-net-ethernet-mediatek-significantly-reduce-mdio-bus-.patch b/target/linux/ramips/patches-5.4/0401-net-ethernet-mediatek-significantly-reduce-mdio-bus-.patch new file mode 100644 index 0000000000..c2ba9964e9 --- /dev/null +++ b/target/linux/ramips/patches-5.4/0401-net-ethernet-mediatek-significantly-reduce-mdio-bus-.patch @@ -0,0 +1,26 @@ +From: Felix Fietkau +Date: Mon, 8 Jun 2020 17:02:39 +0200 +Subject: [PATCH] net: ethernet: mediatek: significantly reduce mdio bus + access latency + +usleep_range often ends up sleeping much longer than the 10-20us provided +as a range here. This causes significant latency in mdio bus acceses, +which easily adds multiple seconds to the boot time on MT7621 when polling +DSA slave ports. +Use cond_resched instead of usleep_range, since the MDIO access does not +take much time + +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +@@ -85,7 +85,7 @@ static int mtk_mdio_busy_wait(struct mtk + return 0; + if (time_after(jiffies, t_start + PHY_IAC_TIMEOUT)) + break; +- usleep_range(10, 20); ++ cond_resched(); + } + + dev_err(eth->dev, "mdio: MDIO timeout\n"); From fbb46b7bcc24e5ef2581930e2a9b3996e4381f97 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Tue, 9 Jun 2020 12:31:57 +0200 Subject: [PATCH 07/16] ramips: add support for Netgear EX6120 Specifications: * SoC: MT7620A * CPU: 580 MHz * RAM: 64 MB DDR * Flash: 8MB NOR SPI flash * WiFi: MT7612E (5GHz) and builtin MT7620A (2.4GHz) * LAN: 1x100M The device is identical to the EX6130 except for the mains socket and the hardware ID. Installation: The -factory images can be flashed from the device's web interface or via nmrpflash. Notes: MAC addresses were set up based on the EX6130 setup. This is based on prior work of Adam Serbinski and Mathias Buchwald. Tested by Mathias Buchwald. Signed-off-by: Adrian Schmutzler --- .../ramips/dts/mt7620a_netgear_ex3700.dts | 2 +- ...tsi => mt7620a_netgear_ex3x00_ex61xx.dtsi} | 0 .../ramips/dts/mt7620a_netgear_ex6120.dts | 56 +++++++++++++++++++ .../ramips/dts/mt7620a_netgear_ex6130.dts | 2 +- target/linux/ramips/image/mt7620.mk | 13 +++++ .../mt7620/base-files/etc/board.d/02_network | 1 + 6 files changed, 72 insertions(+), 2 deletions(-) rename target/linux/ramips/dts/{mt7620a_netgear_ex3700_ex6130.dtsi => mt7620a_netgear_ex3x00_ex61xx.dtsi} (100%) create mode 100644 target/linux/ramips/dts/mt7620a_netgear_ex6120.dts diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts b/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts index f657e926cb..15b0f2764a 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts +++ b/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts @@ -2,7 +2,7 @@ /dts-v1/; -#include "mt7620a_netgear_ex3700_ex6130.dtsi" +#include "mt7620a_netgear_ex3x00_ex61xx.dtsi" / { compatible = "netgear,ex3700", "ralink,mt7620a-soc"; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3700_ex6130.dtsi b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi similarity index 100% rename from target/linux/ramips/dts/mt7620a_netgear_ex3700_ex6130.dtsi rename to target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex6120.dts b/target/linux/ramips/dts/mt7620a_netgear_ex6120.dts new file mode 100644 index 0000000000..1f8cc1ae47 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_netgear_ex6120.dts @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7620a_netgear_ex3x00_ex61xx.dtsi" + +/ { + compatible = "netgear,ex6120", "ralink,mt7620a-soc"; + model = "Netgear EX6120"; + + aliases { + led-boot = &led_power_amber; + led-failsafe = &led_power_amber; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + leds { + compatible = "gpio-leds"; + + led_power_green: power_green { + label = "ex6120:green:power"; + gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + led_power_amber: power_amber { + label = "ex6120:amber:power"; + gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; + }; + + router_green { + label = "ex6120:green:router"; + gpios = <&gpio2 25 GPIO_ACTIVE_LOW>; + }; + + router_red { + label = "ex6120:red:router"; + gpios = <&gpio2 24 GPIO_ACTIVE_LOW>; + }; + + device_green { + label = "ex6120:green:device"; + gpios = <&gpio2 20 GPIO_ACTIVE_LOW>; + }; + + device_red { + label = "ex6120:red:device"; + gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "ex6120:green:wps"; + gpios = <&gpio2 27 GPIO_ACTIVE_LOW>; + }; + }; +}; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts b/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts index f0e0861f31..47dceea809 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts +++ b/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts @@ -2,7 +2,7 @@ /dts-v1/; -#include "mt7620a_netgear_ex3700_ex6130.dtsi" +#include "mt7620a_netgear_ex3x00_ex61xx.dtsi" / { compatible = "netgear,ex6130", "ralink,mt7620a-soc"; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index 386809e40f..df3f050048 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -670,6 +670,19 @@ define Device/netgear_ex3700 endef TARGET_DEVICES += netgear_ex3700 +define Device/netgear_ex6120 + SOC := mt7620a + NETGEAR_BOARD_ID := U12H319T30_NETGEAR + BLOCKSIZE := 4k + IMAGE_SIZE := 7744k + IMAGES += factory.chk + IMAGE/factory.chk := $$(sysupgrade_bin) | check-size | netgear-chk + DEVICE_PACKAGES := kmod-mt76x2 + DEVICE_VENDOR := NETGEAR + DEVICE_MODEL := EX6120 +endef +TARGET_DEVICES += netgear_ex6120 + define Device/netgear_ex6130 SOC := mt7620a NETGEAR_BOARD_ID := U12H319T50_NETGEAR diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index 2a54fa12e9..46ed857cdc 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -55,6 +55,7 @@ ramips_setup_interfaces() microduino,microwrt|\ netgear,ex2700|\ netgear,ex3700|\ + netgear,ex6120|\ netgear,ex6130|\ netgear,wn3000rp-v3|\ planex,cs-qr10|\ From 338c64937fb87a8e5b03c213076ef369e5291c89 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Tue, 9 Jun 2020 12:51:32 +0200 Subject: [PATCH 08/16] ramips: use amber LED for boot/failsafe on Netgear EX3700/EX6130 According to the manual, the amber power LED is used to indicate boot, while the green LED is meant to indicate a running system. While at it, also adjust the DT node names for all LEDs. Signed-off-by: Adrian Schmutzler --- .../linux/ramips/dts/mt7620a_netgear_ex3700.dts | 16 ++++++++-------- .../linux/ramips/dts/mt7620a_netgear_ex6130.dts | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts b/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts index 15b0f2764a..bcfa696977 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts +++ b/target/linux/ramips/dts/mt7620a_netgear_ex3700.dts @@ -9,8 +9,8 @@ model = "Netgear EX3700/EX3800"; aliases { - led-boot = &led_power_green; - led-failsafe = &led_power_green; + led-boot = &led_power_amber; + led-failsafe = &led_power_amber; led-running = &led_power_green; led-upgrade = &led_power_green; }; @@ -18,33 +18,33 @@ leds { compatible = "gpio-leds"; - led_power_green: power_g { + led_power_green: power_green { label = "ex3700:green:power"; gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; default-state = "on"; }; - power_a { + led_power_amber: power_amber { label = "ex3700:amber:power"; gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; }; - router_g { + router_green { label = "ex3700:green:router"; gpios = <&gpio2 25 GPIO_ACTIVE_LOW>; }; - router_r { + router_red { label = "ex3700:red:router"; gpios = <&gpio2 24 GPIO_ACTIVE_LOW>; }; - device_g { + device_green { label = "ex3700:green:device"; gpios = <&gpio2 20 GPIO_ACTIVE_LOW>; }; - device_r { + device_red { label = "ex3700:red:device"; gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; }; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts b/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts index 47dceea809..c9e6b1763f 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts +++ b/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts @@ -9,8 +9,8 @@ model = "Netgear EX6130"; aliases { - led-boot = &led_power_green; - led-failsafe = &led_power_green; + led-boot = &led_power_amber; + led-failsafe = &led_power_amber; led-running = &led_power_green; led-upgrade = &led_power_green; label-mac-device = ðernet; @@ -19,33 +19,33 @@ leds { compatible = "gpio-leds"; - led_power_green: power_g { + led_power_green: power_green { label = "ex6130:green:power"; gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; default-state = "on"; }; - power_a { + led_power_amber: power_amber { label = "ex6130:amber:power"; gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; }; - router_g { + router_green { label = "ex6130:green:router"; gpios = <&gpio2 25 GPIO_ACTIVE_LOW>; }; - router_r { + router_red { label = "ex6130:red:router"; gpios = <&gpio2 24 GPIO_ACTIVE_LOW>; }; - device_g { + device_green { label = "ex6130:green:device"; gpios = <&gpio2 20 GPIO_ACTIVE_LOW>; }; - device_r { + device_red { label = "ex6130:red:device"; gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; }; From 2c198ea162e900ad909f81cf6dabdf510d30fbe8 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 10 Jun 2020 16:43:17 +0200 Subject: [PATCH 09/16] ramips: limit uci commit to the changed config file Since 01_enable_packet_steering only touches the network config, limit the uci commit to this as well. Signed-off-by: Adrian Schmutzler --- .../base-files/etc/uci-defaults/01_enable_packet_steering | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering index 4883fd662d..6a77229f29 100644 --- a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering +++ b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering @@ -1,4 +1,4 @@ uci -q get network.globals.packet_steering > /dev/null || { uci set network.globals.packet_steering=1 - uci commit + uci commit network } From bc75954ccab1ef078d424131fc3dd6ddf9d0453f Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 10 Jun 2020 16:58:46 +0200 Subject: [PATCH 10/16] ath79: rename DTSI for Netgear WNDR devices based on ar7161 This renames the DTSI for Netgear WNDR devices based on ar7161 to indicate that the file is not limited to WNDR3700 models. Signed-off-by: Adrian Schmutzler --- .../{ar7161_netgear_wndr3700.dtsi => ar7161_netgear_wndr.dtsi} | 0 target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts | 2 +- target/linux/ath79/dts/ar7161_netgear_wndr3700.dts | 2 +- target/linux/ath79/dts/ar7161_netgear_wndr3800.dts | 2 +- target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename target/linux/ath79/dts/{ar7161_netgear_wndr3700.dtsi => ar7161_netgear_wndr.dtsi} (100%) diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi b/target/linux/ath79/dts/ar7161_netgear_wndr.dtsi similarity index 100% rename from target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi rename to target/linux/ath79/dts/ar7161_netgear_wndr.dtsi diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts index 96573bdf14..202b443a0c 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7161_netgear_wndr3700.dtsi" +#include "ar7161_netgear_wndr.dtsi" / { compatible = "netgear,wndr3700-v2", "qca,ar7161"; diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts index 38a1140968..3ca92837e5 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7161_netgear_wndr3700.dtsi" +#include "ar7161_netgear_wndr.dtsi" / { compatible = "netgear,wndr3700", "qca,ar7161"; diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3800.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3800.dts index 0959bf4d97..d55d430150 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3800.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3800.dts @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7161_netgear_wndr3700.dtsi" +#include "ar7161_netgear_wndr.dtsi" / { compatible = "netgear,wndr3800", "qca,ar7161"; diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts index 84a859b8ca..8eca5b9601 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7161_netgear_wndr3700.dtsi" +#include "ar7161_netgear_wndr.dtsi" / { compatible = "netgear,wndr3800ch", "qca,ar7161"; From 7f297e740bc288d29fab1f7490ed0e2e49e9e6f9 Mon Sep 17 00:00:00 2001 From: Renaud Lepage Date: Sun, 10 May 2020 16:05:20 -0700 Subject: [PATCH 11/16] ath79: add support for the Netgear WNDRMAC v2 The Netgear WNDRMAC v2 is a hardware variant of the Netgear WNDR3800 Specifications ============== * SoC: Atheros AR7161 * RAM: 128mb * Flash on board: 16mb * WiFi: Atheros AR9220 (a/n), Atheros AR9223 (b/g/n) * Ethernet: RealTek RTL8366SR (1xWAN, 4xLAN, Gigabit) * Serial console: Yes, 115200 / 8N1 (JTAG) * USB: 1x2.0 * Power: 12 VDC, 2.5 A * Full specs on [openwrt.org](https://openwrt.org/toh/hwdata/netgear/netgear_wndrmac_v2) Flash Instructions ================== It is possible to use the OEM Upgrade page to install the `factory` variant of the firmware. After the initial upgrade, you will need to telnet into the router (default IP 192.168.1.1) to install anything. You may install LuCI this way. At this point, you will have a web interface to configure OpenWRT on the WNDRMAC v2. Please use the `sysupgrade` variant for subsequent flashes. Recovery Instructions ===================== A TFTP-based recovery flash is possible if the need arises. Please refer to the WNDR3800 page on openwrt.org for details. https://openwrt.org/toh/netgear/wndr3800#recovery_flash_in_failsafe_mode Signed-off-by: Renaud Lepage [do not add device to uboot-envtools, update DTSI name] Signed-off-by: Adrian Schmutzler --- .../ath79/dts/ar7161_netgear_wndrmac-v2.dts | 35 +++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 6 ++-- .../etc/hotplug.d/firmware/10-ath9k-eeprom | 6 ++-- target/linux/ath79/image/generic.mk | 12 +++++++ 4 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndrmac-v2.dts diff --git a/target/linux/ath79/dts/ar7161_netgear_wndrmac-v2.dts b/target/linux/ath79/dts/ar7161_netgear_wndrmac-v2.dts new file mode 100644 index 0000000000..872eecca3a --- /dev/null +++ b/target/linux/ath79/dts/ar7161_netgear_wndrmac-v2.dts @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7161_netgear_wndr.dtsi" + +/ { + compatible = "netgear,wndrmac-v2", "qca,ar7161"; + model = "Netgear WNDRMAC v2"; +}; + +&partitions { + partition@0 { + label = "u-boot"; + reg = <0x000000 0x050000>; + read-only; + }; + + partition@50000 { + label = "u-boot-env"; + reg = <0x050000 0x020000>; + read-only; + }; + + partition@70000 { + label = "firmware"; + reg = <0x070000 0xf80000>; + compatible = "netgear,uimage"; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 1672f093a7..d7adf7e184 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -204,7 +204,8 @@ ath79_setup_interfaces() netgear,wndr3700|\ netgear,wndr3700-v2|\ netgear,wndr3800|\ - netgear,wndr3800ch) + netgear,wndr3800ch|\ + netgear,wndrmac-v2) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0" @@ -430,7 +431,8 @@ ath79_setup_macs() ;; netgear,wndr3700|\ netgear,wndr3700-v2|\ - netgear,wndr3800) + netgear,wndr3800|\ + netgear,wndrmac-v2) lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)") ;; phicomm,k2t) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index e0fa5ff354..c5fc02519e 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -127,7 +127,8 @@ case "$FIRMWARE" in netgear,wndr3700|\ netgear,wndr3700-v2|\ netgear,wndr3800|\ - netgear,wndr3800ch) + netgear,wndr3800ch|\ + netgear,wndrmac-v2) caldata_extract "art" 0x1000 0xeb8 ;; dlink,dir-825-b1) @@ -145,7 +146,8 @@ case "$FIRMWARE" in netgear,wndr3700|\ netgear,wndr3700-v2|\ netgear,wndr3800|\ - netgear,wndr3800ch) + netgear,wndr3800ch|\ + netgear,wndrmac-v2) caldata_extract "art" 0x5000 0xeb8 ;; dlink,dir-825-b1) diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 45dfc6bdad..c66f0beae1 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -932,6 +932,18 @@ define Device/netgear_wndr3800ch endef TARGET_DEVICES += netgear_wndr3800ch +define Device/netgear_wndrmac-v2 + $(Device/netgear_wndr3x00) + DEVICE_MODEL := WNDRMAC + DEVICE_VARIANT := v2 + NETGEAR_KERNEL_MAGIC := 0x33373031 + NETGEAR_BOARD_ID := WNDRMACv2 + NETGEAR_HW_ID := 29763654+16+128 + IMAGE_SIZE := 15872k + SUPPORTED_DEVICES += wndr3700 +endef +TARGET_DEVICES += netgear_wndrmac-v2 + define Device/netgear_wnr2200_common SOC := ar7241 DEVICE_MODEL := WNR2200 From 108df3eabbb4dd93ff3c616c9455d69daaa98b49 Mon Sep 17 00:00:00 2001 From: Renaud Lepage Date: Sun, 10 May 2020 15:10:20 -0700 Subject: [PATCH 12/16] ath79: add support for the Netgear WNDRMAC v1 The Netgear WNDRMAC v1 is a hardware variant of the Netgear WNDR3700 v2 Specifications ============== * SoC: Atheros AR7161 * RAM: 64mb * Flash on board: 16mb * WiFi: Atheros AR9220 (a/n), Atheros AR9223 (b/g/n) * Ethernet: RealTek RTL8366SR (1xWAN, 4xLAN, Gigabit) * Power: 12 VDC, 2.5 A * Full specs on [openwrt.org](https://openwrt.org/toh/hwdata/netgear/netgear_wndrmac_v1) Flash Instructions ================== It is possible to use the OEM Upgrade page to install the `factory` variant of the firmware. After the initial upgrade, you will need to telnet into the router (default IP 192.168.1.1) to install anything. You may install LuCI this way. At this point, you will have a web interface to configure OpenWRT on the WNDRMAC v1. Please use the `sysupgrade` variant for subsequent flashes. Recovery Instructions ===================== A TFTP-based recovery flash is possible if the need arises. Please refer to the WNDR3700 page on openwrt.org for details. https://openwrt.org/toh/netgear/wndr3700#troubleshooting_and_recovery Signed-off-by: Renaud Lepage [update DTSI include name] Signed-off-by: Adrian Schmutzler --- package/boot/uboot-envtools/files/ath79 | 3 +- .../ath79/dts/ar7161_netgear_wndrmac-v1.dts | 34 +++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 2 ++ .../etc/hotplug.d/firmware/10-ath9k-eeprom | 2 ++ target/linux/ath79/image/generic.mk | 12 +++++++ 5 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndrmac-v1.dts diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79 index 928a46ca8e..3754b521a4 100644 --- a/package/boot/uboot-envtools/files/ath79 +++ b/package/boot/uboot-envtools/files/ath79 @@ -52,7 +52,8 @@ glinet,gl-ar150) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000" ;; netgear,wndr3700|\ -netgear,wndr3700-v2) +netgear,wndr3700-v2|\ +netgear,wndrmac-v1) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x10000" ;; netgear,wndr3700-v4|\ diff --git a/target/linux/ath79/dts/ar7161_netgear_wndrmac-v1.dts b/target/linux/ath79/dts/ar7161_netgear_wndrmac-v1.dts new file mode 100644 index 0000000000..d2dbcaacd0 --- /dev/null +++ b/target/linux/ath79/dts/ar7161_netgear_wndrmac-v1.dts @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7161_netgear_wndr.dtsi" + +/ { + compatible = "netgear,wndrmac-v1", "qca,ar7161"; + model = "Netgear WNDRMAC v1"; +}; + +&partitions { + partition@0 { + label = "u-boot"; + reg = <0x000000 0x050000>; + read-only; + }; + + partition@50000 { + label = "u-boot-env"; + reg = <0x050000 0x020000>; + }; + + partition@70000 { + label = "firmware"; + reg = <0x070000 0xf80000>; + compatible = "netgear,uimage"; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index d7adf7e184..23a945aadc 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -205,6 +205,7 @@ ath79_setup_interfaces() netgear,wndr3700-v2|\ netgear,wndr3800|\ netgear,wndr3800ch|\ + netgear,wndrmac-v1|\ netgear,wndrmac-v2) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ @@ -432,6 +433,7 @@ ath79_setup_macs() netgear,wndr3700|\ netgear,wndr3700-v2|\ netgear,wndr3800|\ + netgear,wndrmac-v1|\ netgear,wndrmac-v2) lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)") ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index c5fc02519e..fa36aab4fe 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -128,6 +128,7 @@ case "$FIRMWARE" in netgear,wndr3700-v2|\ netgear,wndr3800|\ netgear,wndr3800ch|\ + netgear,wndrmac-v1|\ netgear,wndrmac-v2) caldata_extract "art" 0x1000 0xeb8 ;; @@ -147,6 +148,7 @@ case "$FIRMWARE" in netgear,wndr3700-v2|\ netgear,wndr3800|\ netgear,wndr3800ch|\ + netgear,wndrmac-v1|\ netgear,wndrmac-v2) caldata_extract "art" 0x5000 0xeb8 ;; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index c66f0beae1..05b769b9c3 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -932,6 +932,18 @@ define Device/netgear_wndr3800ch endef TARGET_DEVICES += netgear_wndr3800ch +define Device/netgear_wndrmac-v1 + $(Device/netgear_wndr3x00) + DEVICE_MODEL := WNDRMAC + DEVICE_VARIANT := v1 + NETGEAR_KERNEL_MAGIC := 0x33373031 + NETGEAR_BOARD_ID := WNDRMAC + NETGEAR_HW_ID := 29763654+16+64 + IMAGE_SIZE := 15872k + SUPPORTED_DEVICES += wndr3700 +endef +TARGET_DEVICES += netgear_wndrmac-v1 + define Device/netgear_wndrmac-v2 $(Device/netgear_wndr3x00) DEVICE_MODEL := WNDRMAC From bb39fea11aae2888e6a0129055de21995da92073 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 7 Jun 2020 13:11:15 +0200 Subject: [PATCH 13/16] treewide: simplify inclusion of subtarget image files Many target use a repetitive if-include scheme for their subtarget image files, though their names are consistent with the subtarget names. This patch removes these redundant conditions and just uses the variable for the include where the target setup allows it. For sunxi, this includes a trivial rename of the subtarget image Makefiles. Signed-off-by: Adrian Schmutzler --- target/linux/at91/image/Makefile | 7 +------ target/linux/ath79/image/Makefile | 20 ++++++++----------- target/linux/layerscape/image/Makefile | 8 +------- target/linux/mvebu/image/Makefile | 12 +---------- target/linux/oxnas/image/Makefile | 8 +------- target/linux/rockchip/image/Makefile | 4 +--- target/linux/sunxi/image/Makefile | 12 +---------- .../image/{cortex-a53.mk => cortexa53.mk} | 0 .../sunxi/image/{cortex-a7.mk => cortexa7.mk} | 0 .../sunxi/image/{cortex-a8.mk => cortexa8.mk} | 0 target/linux/x86/image/Makefile | 16 +-------------- 11 files changed, 15 insertions(+), 72 deletions(-) rename target/linux/sunxi/image/{cortex-a53.mk => cortexa53.mk} (100%) rename target/linux/sunxi/image/{cortex-a7.mk => cortexa7.mk} (100%) rename target/linux/sunxi/image/{cortex-a8.mk => cortexa8.mk} (100%) diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index adb7c6d0ba..ff801dae86 100644 --- a/target/linux/at91/image/Makefile +++ b/target/linux/at91/image/Makefile @@ -13,12 +13,7 @@ define Build/at91-install-zImage $(CP) $(KDIR)/zImage $@ endef -ifeq ($(SUBTARGET),sam9x) -include ./sam9x.mk -endif -ifeq ($(SUBTARGET),sama5) -include ./sama5.mk -endif +include $(SUBTARGET).mk AT91_SD_BOOT_PARTSIZE:=64 FAT32_BLOCK_SIZE:=1024 diff --git a/target/linux/ath79/image/Makefile b/target/linux/ath79/image/Makefile index 529baf8f57..a555cfc6d5 100644 --- a/target/linux/ath79/image/Makefile +++ b/target/linux/ath79/image/Makefile @@ -68,20 +68,16 @@ define Device/Default append-rootfs | pad-rootfs | append-metadata | check-size endef +include $(SUBTARGET).mk + ifeq ($(SUBTARGET),generic) -include ./generic.mk -include ./generic-tp-link.mk -include ./generic-ubnt.mk -endif -ifeq ($(SUBTARGET),mikrotik) -include ./mikrotik.mk -endif -ifeq ($(SUBTARGET),nand) -include ./nand.mk +include generic-tp-link.mk +include generic-ubnt.mk endif + ifeq ($(SUBTARGET),tiny) -include ./tiny.mk -include ./tiny-netgear.mk -include ./tiny-tp-link.mk +include tiny-netgear.mk +include tiny-tp-link.mk endif + $(eval $(call BuildImage)) diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile index bc65748853..f5a5ad9980 100644 --- a/target/linux/layerscape/image/Makefile +++ b/target/linux/layerscape/image/Makefile @@ -43,12 +43,6 @@ define Build/traverse-fit @mv -f $@.new $@ endef -ifeq ($(SUBTARGET),armv8_64b) -include armv8_64b.mk -endif - -ifeq ($(SUBTARGET),armv7) -include armv7.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile index 3a47878069..cbf34c1bc8 100644 --- a/target/linux/mvebu/image/Makefile +++ b/target/linux/mvebu/image/Makefile @@ -138,16 +138,6 @@ define Device/NAND-512K PAGESIZE := 4096 endef -ifeq ($(SUBTARGET),cortexa9) -include cortexa9.mk -endif - -ifeq ($(SUBTARGET),cortexa53) -include cortexa53.mk -endif - -ifeq ($(SUBTARGET),cortexa72) -include cortexa72.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/oxnas/image/Makefile b/target/linux/oxnas/image/Makefile index 644c2b8795..abf83caa1a 100644 --- a/target/linux/oxnas/image/Makefile +++ b/target/linux/oxnas/image/Makefile @@ -4,12 +4,6 @@ include $(INCLUDE_DIR)/image.mk VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage -ifeq ($(SUBTARGET),ox810se) -include ox810se.mk -endif - -ifeq ($(SUBTARGET),ox820) -include ox820.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/rockchip/image/Makefile b/target/linux/rockchip/image/Makefile index 5f605ebfe5..22854d9d02 100644 --- a/target/linux/rockchip/image/Makefile +++ b/target/linux/rockchip/image/Makefile @@ -56,8 +56,6 @@ define Device/Default DEVICE_DTS = rockchip/$$(SOC)-$(lastword $(subst _, ,$(1))) endef -ifeq ($(SUBTARGET),armv8) - include armv8.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index 1b98849a50..01e9742b46 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -42,16 +42,6 @@ define Device/Default SUNXI_DTS = $$(SUNXI_DTS_DIR)$$(SOC)-$(lastword $(subst _, ,$(1))) endef -ifeq ($(SUBTARGET),cortexa7) -include cortex-a7.mk -endif - -ifeq ($(SUBTARGET),cortexa8) -include cortex-a8.mk -endif - -ifeq ($(SUBTARGET),cortexa53) -include cortex-a53.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortexa53.mk similarity index 100% rename from target/linux/sunxi/image/cortex-a53.mk rename to target/linux/sunxi/image/cortexa53.mk diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortexa7.mk similarity index 100% rename from target/linux/sunxi/image/cortex-a7.mk rename to target/linux/sunxi/image/cortexa7.mk diff --git a/target/linux/sunxi/image/cortex-a8.mk b/target/linux/sunxi/image/cortexa8.mk similarity index 100% rename from target/linux/sunxi/image/cortex-a8.mk rename to target/linux/sunxi/image/cortexa8.mk diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 174c272a51..85c850c128 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -146,21 +146,7 @@ define Device/Default ARTIFACTS := $$(ARTIFACTS-y) endef -ifeq ($(SUBTARGET),64) - include 64.mk -endif - -ifeq ($(SUBTARGET),generic) - include generic.mk -endif - -ifeq ($(SUBTARGET),geode) - include geode.mk -endif - -ifeq ($(SUBTARGET),legacy) - include legacy.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) From 11db48f89a70315c06562f1ba6ea7feaaab7185d Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 7 Jun 2020 13:13:46 +0200 Subject: [PATCH 14/16] apm821xx: move device definitions to subfiles With several subtargets, the image/Makefile becomes crowded after a while. Many targets have moved their device definitions to $subtarget.mk files to have them more organized, let's do this here as well. While at it, also move subtarget-specific build recipes. Cc: Christian Lamparter Signed-off-by: Adrian Schmutzler Acked-by: Christian Lamparter --- target/linux/apm821xx/image/Makefile | 159 +-------------------------- target/linux/apm821xx/image/nand.mk | 126 +++++++++++++++++++++ target/linux/apm821xx/image/sata.mk | 25 +++++ 3 files changed, 152 insertions(+), 158 deletions(-) create mode 100644 target/linux/apm821xx/image/nand.mk create mode 100644 target/linux/apm821xx/image/sata.mk diff --git a/target/linux/apm821xx/image/Makefile b/target/linux/apm821xx/image/Makefile index c26c015751..1b7c466a44 100644 --- a/target/linux/apm821xx/image/Makefile +++ b/target/linux/apm821xx/image/Makefile @@ -34,14 +34,6 @@ define Build/copy-file cat "$(1)" > "$@" endef -define Build/create-uImage-dtb - # flat_dt target expect FIT image - which WNDR4700's uboot doesn't support - -$(STAGING_DIR_HOST)/bin/mkimage -A $(LINUX_KARCH) \ - -O linux -T kernel -C none \ - -n '$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)' \ - -d "$@.dtb" "$@.dtb.uimage" -endef - define Build/dtb $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb,,--space $(DTB_SIZE)) endef @@ -50,27 +42,6 @@ define Build/export-dtb cp $(IMAGE_KERNEL).dtb $@ endef -define Build/hdd-img - ./mbl_gen_hdd_img.sh $@ $@.boot $(IMAGE_ROOTFS) $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) -endef - -define Build/MerakiAdd-dtb - $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) - ( \ - dd if=$@.dtb bs=$(DTB_SIZE) conv=sync; \ - cat $@ ; \ - ) > $@.new - @mv $@.new $@ -endef - -define Build/MerakiNAND - -$(STAGING_DIR_HOST)/bin/mkmerakifw \ - -B $(BOARD_NAME) -s \ - -i $@ \ - -o $@.new - @cp $@.new $@ -endef - define Build/MuImage-initramfs rm -rf $@.fakerd $@.new @@ -119,134 +90,6 @@ define Device/Default SUPPORTED_DEVICES = $(subst _,$(comma),$(1)) endef -ifeq ($(SUBTARGET),nand) - -define Device/meraki_mr24 - DEVICE_VENDOR := Cisco Meraki - DEVICE_MODEL := MR24 - DEVICE_PACKAGES := kmod-spi-gpio -swconfig - BOARD_NAME := mr24 - DEVICE_DTS := meraki-mr24 - IMAGES := sysupgrade.bin - DTB_SIZE := 64512 - IMAGE_SIZE := 8191k - KERNEL := kernel-bin | lzma | uImage lzma | MerakiAdd-dtb | MerakiNAND - KERNEL_INITRAMFS := kernel-bin | lzma | dtb | MuImage-initramfs lzma - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - UBINIZE_OPTS := -E 5 - SUPPORTED_DEVICES += mr24 -endef -TARGET_DEVICES += meraki_mr24 - -define Device/meraki_mx60 - DEVICE_VENDOR := Cisco Meraki - DEVICE_MODEL := MX60/MX60W - DEVICE_PACKAGES := kmod-spi-gpio kmod-usb-ledtrig-usbport kmod-usb-dwc2 \ - kmod-usb-storage block-mount - BOARD_NAME := mx60 - DEVICE_DTS := meraki-mx60 - BLOCKSIZE := 63k - IMAGES := sysupgrade.bin - DTB_SIZE := 64512 - IMAGE_SIZE := 1021m - KERNEL_SIZE := 4031k - KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND - KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - UBINIZE_OPTS := -E 5 - SUPPORTED_DEVICES += mx60 -endef -TARGET_DEVICES += meraki_mx60 - -define Device/netgear_wndap6x0 - DEVICE_VENDOR := NETGEAR - DEVICE_PACKAGES := kmod-eeprom-at24 - SUBPAGESIZE := 256 - PAGESIZE := 512 - BLOCKSIZE := 16k - DTB_SIZE := 32768 - IMAGE_SIZE := 27392k - IMAGES := sysupgrade.bin factory.img - KERNEL_SIZE := 4032k - KERNEL := dtb | kernel-bin | gzip | MuImage-initramfs gzip - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi - UBINIZE_OPTS := -E 5 -endef - -define Device/netgear_wndap620 - $(Device/netgear_wndap6x0) - DEVICE_MODEL := WNDAP620 (Premium Wireless-N) - DEVICE_DTS := netgear-wndap620 -endef -TARGET_DEVICES += netgear_wndap620 - -define Device/netgear_wndap660 - $(Device/netgear_wndap6x0) - DEVICE_MODEL := WNDAP660 (Dual Radio Dual Band Wireless-N) - DEVICE_DTS := netgear-wndap660 -endef -TARGET_DEVICES += netgear_wndap660 - -define Device/netgear_wndr4700 - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := Centria N900 WNDR4700/WNDR4720 - DEVICE_PACKAGES := badblocks block-mount e2fsprogs kmod-hwmon-drivetemp \ - kmod-dm kmod-fs-ext4 kmod-fs-vfat kmod-usb-ledtrig-usbport \ - kmod-md-mod kmod-nls-cp437 kmod-nls-iso8859-1 kmod-nls-iso8859-15 \ - kmod-nls-utf8 kmod-usb3 kmod-usb-dwc2 kmod-usb-storage \ - partx-utils - BOARD_NAME := wndr4700 - DEVICE_DTS := netgear-wndr4700 - PAGESIZE := 2048 - SUBPAGESIZE := 512 - BLOCKSIZE := 128k - DTB_SIZE := 131008 - IMAGE_SIZE := 24960k - IMAGES := factory.img sysupgrade.bin - ARTIFACTS := device-tree.dtb - KERNEL_SIZE := 3584k - # append a fake/empty rootfs to fool netgear's uboot - # CHECK_DNI_FIRMWARE_ROOTFS_INTEGRITY in do_chk_dniimg() - KERNEL := kernel-bin | lzma | uImage lzma | pad-offset $$(BLOCKSIZE) 64 | \ - append-uImage-fakehdr filesystem | dtb | create-uImage-dtb | prepend-dtb - KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \ - netgear-dni | check-size - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - ARTIFACT/device-tree.dtb := export-dtb | uImage none - NETGEAR_BOARD_ID := WNDR4700 - NETGEAR_HW_ID := 29763875+128+256 - UBINIZE_OPTS := -E 5 - SUPPORTED_DEVICES += wndr4700 -endef -TARGET_DEVICES += netgear_wndr4700 - -endif - -ifeq ($(SUBTARGET),sata) - -define Device/wd_mybooklive - DEVICE_VENDOR := Western Digital - DEVICE_MODEL := My Book Live Series (Single + Duo) - DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-basic - DEVICE_DTS := wd-mybooklive - SUPPORTED_DEVICES += mbl wd,mybooklive-duo - BLOCKSIZE := 1k - DTB_SIZE := 16384 - KERNEL := kernel-bin | dtb | gzip | uImage gzip - KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip - IMAGES := factory.img.gz sysupgrade.img.gz - ARTIFACTS := apollo3g.dtb - DEVICE_DTB := apollo3g.dtb - FILESYSTEMS := ext4 squashfs - IMAGE/factory.img.gz := boot-script | boot-img | hdd-img | gzip - IMAGE/sysupgrade.img.gz := boot-script | boot-img | hdd-img | gzip | append-metadata - ARTIFACT/apollo3g.dtb := export-dtb -endef - -TARGET_DEVICES += wd_mybooklive - -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/apm821xx/image/nand.mk b/target/linux/apm821xx/image/nand.mk new file mode 100644 index 0000000000..a7338e79a0 --- /dev/null +++ b/target/linux/apm821xx/image/nand.mk @@ -0,0 +1,126 @@ +define Build/create-uImage-dtb + # flat_dt target expect FIT image - which WNDR4700's uboot doesn't support + -$(STAGING_DIR_HOST)/bin/mkimage -A $(LINUX_KARCH) \ + -O linux -T kernel -C none \ + -n '$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)' \ + -d "$@.dtb" "$@.dtb.uimage" +endef + +define Build/MerakiAdd-dtb + $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) + ( \ + dd if=$@.dtb bs=$(DTB_SIZE) conv=sync; \ + cat $@ ; \ + ) > $@.new + @mv $@.new $@ +endef + +define Build/MerakiNAND + -$(STAGING_DIR_HOST)/bin/mkmerakifw \ + -B $(BOARD_NAME) -s \ + -i $@ \ + -o $@.new + @cp $@.new $@ +endef + + +define Device/meraki_mr24 + DEVICE_VENDOR := Cisco Meraki + DEVICE_MODEL := MR24 + DEVICE_PACKAGES := kmod-spi-gpio -swconfig + BOARD_NAME := mr24 + DEVICE_DTS := meraki-mr24 + IMAGES := sysupgrade.bin + DTB_SIZE := 64512 + IMAGE_SIZE := 8191k + KERNEL := kernel-bin | lzma | uImage lzma | MerakiAdd-dtb | MerakiNAND + KERNEL_INITRAMFS := kernel-bin | lzma | dtb | MuImage-initramfs lzma + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += mr24 +endef +TARGET_DEVICES += meraki_mr24 + +define Device/meraki_mx60 + DEVICE_VENDOR := Cisco Meraki + DEVICE_MODEL := MX60/MX60W + DEVICE_PACKAGES := kmod-spi-gpio kmod-usb-ledtrig-usbport kmod-usb-dwc2 \ + kmod-usb-storage block-mount + BOARD_NAME := mx60 + DEVICE_DTS := meraki-mx60 + BLOCKSIZE := 63k + IMAGES := sysupgrade.bin + DTB_SIZE := 64512 + IMAGE_SIZE := 1021m + KERNEL_SIZE := 4031k + KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND + KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += mx60 +endef +TARGET_DEVICES += meraki_mx60 + +define Device/netgear_wndap6x0 + DEVICE_VENDOR := NETGEAR + DEVICE_PACKAGES := kmod-eeprom-at24 + SUBPAGESIZE := 256 + PAGESIZE := 512 + BLOCKSIZE := 16k + DTB_SIZE := 32768 + IMAGE_SIZE := 27392k + IMAGES := sysupgrade.bin factory.img + KERNEL_SIZE := 4032k + KERNEL := dtb | kernel-bin | gzip | MuImage-initramfs gzip + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi + UBINIZE_OPTS := -E 5 +endef + +define Device/netgear_wndap620 + $(Device/netgear_wndap6x0) + DEVICE_MODEL := WNDAP620 (Premium Wireless-N) + DEVICE_DTS := netgear-wndap620 +endef +TARGET_DEVICES += netgear_wndap620 + +define Device/netgear_wndap660 + $(Device/netgear_wndap6x0) + DEVICE_MODEL := WNDAP660 (Dual Radio Dual Band Wireless-N) + DEVICE_DTS := netgear-wndap660 +endef +TARGET_DEVICES += netgear_wndap660 + +define Device/netgear_wndr4700 + DEVICE_VENDOR := NETGEAR + DEVICE_MODEL := Centria N900 WNDR4700/WNDR4720 + DEVICE_PACKAGES := badblocks block-mount e2fsprogs kmod-hwmon-drivetemp \ + kmod-dm kmod-fs-ext4 kmod-fs-vfat kmod-usb-ledtrig-usbport \ + kmod-md-mod kmod-nls-cp437 kmod-nls-iso8859-1 kmod-nls-iso8859-15 \ + kmod-nls-utf8 kmod-usb3 kmod-usb-dwc2 kmod-usb-storage \ + partx-utils + BOARD_NAME := wndr4700 + DEVICE_DTS := netgear-wndr4700 + PAGESIZE := 2048 + SUBPAGESIZE := 512 + BLOCKSIZE := 128k + DTB_SIZE := 131008 + IMAGE_SIZE := 24960k + IMAGES := factory.img sysupgrade.bin + ARTIFACTS := device-tree.dtb + KERNEL_SIZE := 3584k + # append a fake/empty rootfs to fool netgear's uboot + # CHECK_DNI_FIRMWARE_ROOTFS_INTEGRITY in do_chk_dniimg() + KERNEL := kernel-bin | lzma | uImage lzma | pad-offset $$(BLOCKSIZE) 64 | \ + append-uImage-fakehdr filesystem | dtb | create-uImage-dtb | prepend-dtb + KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \ + netgear-dni | check-size + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + ARTIFACT/device-tree.dtb := export-dtb | uImage none + NETGEAR_BOARD_ID := WNDR4700 + NETGEAR_HW_ID := 29763875+128+256 + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += wndr4700 +endef +TARGET_DEVICES += netgear_wndr4700 diff --git a/target/linux/apm821xx/image/sata.mk b/target/linux/apm821xx/image/sata.mk new file mode 100644 index 0000000000..444b2441f0 --- /dev/null +++ b/target/linux/apm821xx/image/sata.mk @@ -0,0 +1,25 @@ +define Build/hdd-img + ./mbl_gen_hdd_img.sh $@ $@.boot $(IMAGE_ROOTFS) $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) +endef + + +define Device/wd_mybooklive + DEVICE_VENDOR := Western Digital + DEVICE_MODEL := My Book Live Series (Single + Duo) + DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-basic + DEVICE_DTS := wd-mybooklive + SUPPORTED_DEVICES += mbl wd,mybooklive-duo + BLOCKSIZE := 1k + DTB_SIZE := 16384 + KERNEL := kernel-bin | dtb | gzip | uImage gzip + KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip + IMAGES := factory.img.gz sysupgrade.img.gz + ARTIFACTS := apollo3g.dtb + DEVICE_DTB := apollo3g.dtb + FILESYSTEMS := ext4 squashfs + IMAGE/factory.img.gz := boot-script | boot-img | hdd-img | gzip + IMAGE/sysupgrade.img.gz := boot-script | boot-img | hdd-img | gzip | append-metadata + ARTIFACT/apollo3g.dtb := export-dtb +endef + +TARGET_DEVICES += wd_mybooklive From 78e8360878d716c75fc98d6f93bdd61f156caa28 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sat, 6 Jun 2020 23:09:59 +0200 Subject: [PATCH 15/16] soloscli: fix uci-defaults file The folder for the uci-defaults file of this package is wrong, so the file most probably has not been executed at all for several years at least. Fix the folder and remove the useless shebang for the file. Signed-off-by: Adrian Schmutzler --- package/network/config/soloscli/Makefile | 2 +- .../soloscli/files/etc/{uci-default => uci-defaults}/solos | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) rename package/network/config/soloscli/files/etc/{uci-default => uci-defaults}/solos (97%) diff --git a/package/network/config/soloscli/Makefile b/package/network/config/soloscli/Makefile index 877a0f275b..52a53dc0fa 100644 --- a/package/network/config/soloscli/Makefile +++ b/package/network/config/soloscli/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=soloscli PKG_VERSION:=1.04 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=solos-pci-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/openadsl diff --git a/package/network/config/soloscli/files/etc/uci-default/solos b/package/network/config/soloscli/files/etc/uci-defaults/solos similarity index 97% rename from package/network/config/soloscli/files/etc/uci-default/solos rename to package/network/config/soloscli/files/etc/uci-defaults/solos index 7f69da62c6..6645fc370a 100644 --- a/package/network/config/soloscli/files/etc/uci-default/solos +++ b/package/network/config/soloscli/files/etc/uci-defaults/solos @@ -1,5 +1,3 @@ -#!/bin/sh - uci batch <<__EOF__ delete network.wan.solos0 From e6d4744f9ad0f76ddf1cded75355e240e81be41e Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Tue, 9 Jun 2020 11:52:26 +0200 Subject: [PATCH 16/16] ramips: fix WAN LED for D-Link DIR-810L/TRENDnet TEW-810DR The WAN LED on DIR-810L was actually blinking on LAN1 port activity. This has already been improved for the TEW-810DR, where the GPIO has been set up explicitly rather than having it controlled by the switch. This patch also applies this setup to the DIR-810L. In addition, the trigger in 01_leds is set up with ucidef_set_led_switch for both devices now, so state changes should be displayed correctly as well. Reported-by: Roger Pueyo Centelles Signed-off-by: Adrian Schmutzler Tested-by: Roger Pueyo Centelles [DIR-810L] Tested-by: J. Scott Heppler [TEW-810DR] --- target/linux/ramips/dts/mt7620a_cameo_810.dtsi | 8 ++++++++ .../linux/ramips/dts/mt7620a_dlink_dir-810l.dts | 16 +++++++--------- .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 8 -------- .../ramips/mt7620/base-files/etc/board.d/01_leds | 7 ++++--- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi index 8ab166d283..adbb4cf65c 100644 --- a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi +++ b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi @@ -93,6 +93,14 @@ mediatek,portmap = "llllw"; }; +&gsw { + mediatek,port4 = "ephy"; +}; + +&gpio2 { + status = "okay"; +}; + &wmac { pinctrl-names = "default"; pinctrl-0 = <&pa_pins>; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts index 63952d3e64..9dd9825433 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts @@ -22,11 +22,16 @@ gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; }; - wan { + wan_orange { label = "dir-810l:orange:wan"; gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; }; + wan_green { + label = "dir-810l:green:wan"; + gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; + }; + power_orange { label = "dir-810l:orange:power"; gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; @@ -36,14 +41,7 @@ &state_default { gpio { - groups = "i2c", "uartf"; + groups = "i2c", "uartf", "ephy"; function = "gpio"; }; }; - -&gsw { - pinctrl-names = "default"; - pinctrl-0 = <&ephy_pins>; - - mediatek,port4 = "ephy"; -}; diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts index 679b429b6d..7437cde073 100644 --- a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts +++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts @@ -46,11 +46,3 @@ function = "gpio"; }; }; - -&gsw { - mediatek,port4 = "ephy"; -}; - -&gpio2 { - status = "okay"; -}; diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds index e7b9413a48..2b2ac6b46b 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds @@ -54,6 +54,10 @@ comfast,cf-wr800n) ucidef_set_led_netdev "lan" "lan" "$boardname:white:ethernet" eth0.1 set_wifi_led "$boardname:white:wifi" ;; +dlink,dir-810l|\ +trendnet,tew-810dr) + ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10" + ;; dlink,dwr-116-a1|\ head-weblink,hdrm200|\ ohyeah,oy-0001|\ @@ -191,9 +195,6 @@ tplink,archer-mr200) tplink,re200-v1) ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0" ;; -trendnet,tew-810dr) - ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" "eth0.2" - ;; youku,yk1) set_wifi_led "$boardname:blue:air" ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"