@@ -19,6 +19,9 @@ compex,wpq864)
ucidef_set_led_usbport "usb" "USB" "wpq864:green:usb" "usb1-port1" "usb2-port1"
ucidef_set_led_usbport "pcie-usb" "PCIe USB" "wpq864:green:usb-pcie" "usb3-port1"
;;
+linksys,e8350-v1)
+ ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wifi" "phy0tpt"
+ ;;
nec,wg2600hp)
ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:green:wlan2g" "phy1tpt"
ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:green:wlan5g" "phy0tpt"
@@ -14,6 +14,7 @@ board=$(board_name)
case "$board" in
buffalo,wxr-2533dhp |\
compex,wpq864 |\
+linksys,e8350-v1 |\
netgear,d7800 |\
netgear,r7500 |\
netgear,r7500v2 |\
@@ -27,6 +27,11 @@ platform_do_upgrade() {
zyxel,nbg6817)
zyxel_do_upgrade "$1"
;;
+ linksys,e8350-v1)
+ # KERNEL_IN_UBI first remove metadata trailer from the UBI volume
+ /tmp/fwtool -q -t -i /dev/null "$1"
+ nand_do_upgrade "$1"
+ ;;
linksys,ea7500-v1 |\
linksys,ea8500)
platform_do_upgrade_linksys "$1"
new file mode 100644
@@ -0,0 +1,246 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+#include "qcom-ipq8064-v2.0.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/soc/qcom,tcsr.h>
+
+/ {
+ model = "Linksys EA8350 V1 WiFi Router";
+ compatible = "linksys,e8350-v1", "qcom,ipq8064";
+
+ memory@0 {
+ reg = <0x42000000 0x1e000000>;
+ device_type = "memory";
+ };
+
+ aliases {
+ serial0 = &gsbi4_serial;
+
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&button_pins>;
+ pinctrl-names = "default";
+
+ reset {
+ label = "reset";
+ gpios = <&qcom_pinmux 68 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&qcom_pinmux 67 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ };
+
+ nand-controller@1ac00000 {
+ compatible = "qcom,ipq806x-nand";
+ reg = <0x1ac00000 0x800>;
+ clocks = <&gcc EBI2_CLK>,
+ <&gcc EBI2_AON_CLK>;
+ clock-names = "core", "aon";
+ dmas = <&adm_dma 3>;
+ dma-names = "rxtx";
+ qcom,cmd-crci = <15>;
+ qcom,data-crci = <3>;
+
+ nand@0 {
+ reg = <0>;
+
+ nand-ecc-strength = <4>;
+ nand-bus-width = <8>;
+
+ partitions {
+ compatible = "fixed-partitions";
+
+ partition@0 {
+ label = "ubi";
+ reg = <0 0x4000000>;
+ };
+
+ partition@4000000 {
+ label = "extra";
+ reg = <0x4000000 0x4000000>;
+ };
+ };
+ };
+ };
+
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = <&led_pins>;
+ pinctrl-names = "default";
+
+ led_power: power {
+ label = "e8350-v1:green:power";
+ gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+
+ wps {
+ label = "e8350-v1:green:wps";
+ gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
+ };
+
+ wifi {
+ label = "e8350-v1:green:wifi";
+ gpios = <&qcom_pinmux 54 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&qcom_pinmux {
+ button_pins: button_pins {
+ mux {
+ pins = "gpio68","gpio65", "gpio67";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ led_pins: led_pins {
+ mux {
+ pins = "gpio26","gpio53", "gpio54";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+};
+
+&gsbi4 {
+ qcom,mode = <GSBI_PROT_I2C_UART>;
+ status = "okay";
+ serial@16340000 {
+ status = "okay";
+ };
+ /*
+ * The i2c device on gsbi4 should not be enabled.
+ * On ipq806x designs gsbi4 i2c is meant for exclusive
+ * RPM usage. Turning this on in kernel manifests as
+ * i2c failure for the RPM.
+ */
+};
+&gsbi5 {
+ qcom,mode = <GSBI_PROT_SPI>;
+ status = "okay";
+
+ spi5: spi@1a280000 {
+ status = "okay";
+
+ pinctrl-0 = <&spi_pins>;
+ pinctrl-names = "default";
+
+ cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+
+ m25p80@0 {
+ compatible = "jedec,spi-nor";
+ spi-max-frequency = <51200000>;
+ reg = <0>;
+
+ partitions {
+ compatible = "qcom,smem";
+ };
+ };
+ };
+};
+
+&sata_phy {
+ status = "okay";
+};
+
+&sata {
+ status = "okay";
+};
+
+&usb3_0 {
+ clocks = <&gcc USB30_1_MASTER_CLK>;
+ status = "okay";
+};
+
+&usb3_1 {
+ clocks = <&gcc USB30_0_MASTER_CLK>;
+ status = "okay";
+};
+
+&pcie0 {
+ status = "okay";
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&pcie2 {
+ status = "okay";
+};
+
+&mdio0 {
+ status = "okay";
+
+ pinctrl-0 = <&mdio0_pins>;
+ pinctrl-names = "default";
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ qca,ar8327-initvals = <
+ 0x00004 0x7600000 /* PAD0_MODE */
+ 0x00008 0x1000000 /* PAD5_MODE */
+ 0x0000c 0x80 /* PAD6_MODE */
+ 0x00010 0x2613a0 /* PWS_REG */
+ 0x000e4 0x6a545 /* MAC_POWER_SEL */
+ 0x000e0 0xc74164de /* SGMII_CTRL */
+ 0x0007c 0x4e /* PORT0_STATUS */
+ 0x00094 0x4e /* PORT6_STATUS */
+ >;
+ };
+};
+
+&gmac1 {
+ status = "okay";
+ phy-mode = "rgmii";
+ qcom,id = <1>;
+
+ pinctrl-0 = <&rgmii2_pins>;
+ pinctrl-names = "default";
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+};
+
+&gmac2 {
+ status = "okay";
+ phy-mode = "sgmii";
+ qcom,id = <2>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+};
+
+&tcsr {
+ qcom,usb-ctrl-select = <TCSR_USB_SELECT_USB3_DUAL>;
+ compatible = "qcom,tcsr";
+};
+
+&adm_dma {
+ status = "okay";
+};
@@ -13,6 +13,17 @@ define Build/buffalo-rootfs-cksum
) >> $@
endef
+# tune addpattern for Linksys E8350-V1 fw pattern generation
+define Build/linksys-bin
+ $(STAGING_DIR_HOST)/bin/addpattern -p $(FW_DEVICE_ID) -v $(FW_VERSION) $(if $(SERIAL),-s $(SERIAL)) -i $@ -o $@.new
+ mv $@.new $@
+endef
+# Use Linksys fw header generator to upgrade openwrt factory image over the native Linksys WEB interface
+define Build/linksys-addfwhdr
+ -$(STAGING_DIR_HOST)/bin/linksys/addfwhdr -i $@ -o $@.new \
+ ;mv "$@.new" "$@"
+endef
+
define Device/Default
PROFILES := Default
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
@@ -109,6 +120,24 @@ define Device/compex_wpq864
endef
TARGET_DEVICES += compex_wpq864
+define Device/linksys_e8350-v1
+ $(call Device/LegacyImage)
+ DEVICE_VENDOR := Linksys
+ DEVICE_MODEL := E8350
+ DEVICE_VARIANT := v1
+ SOC := qcom-ipq8064
+ FW_VERSION := v1.0.03.003
+ FW_DEVICE_ID := 8350
+ PAGESIZE := 2048
+ BLOCKSIZE := 128k
+ KERNEL_IN_UBI := 1
+ IMAGES = factory.bin sysupgrade.ubi
+ IMAGE/sysupgrade.ubi := append-ubi | check-size 0x04000000 | append-metadata
+ IMAGE/factory.bin := append-ubi | check-size 0x04000000 | linksys-addfwhdr | linksys-bin
+ DEVICE_PACKAGES := ath10k-firmware-qca988x-ct
+endef
+TARGET_DEVICES += linksys_e8350-v1
+
define Device/linksys_ea7500-v1
$(call Device/LegacyImage)
DEVICE_VENDOR := Linksys
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -843,6 +843,19 @@ dtb-$(CONFIG_ARCH_QCOM) += \
+@@ -843,6 +843,20 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-ipq4019-ap.dk07.1-c1.dtb \
qcom-ipq4019-ap.dk07.1-c2.dtb \
qcom-ipq8064-ap148.dtb \
@@ -18,6 +18,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
+ qcom-ipq8064-d7800.dtb \
+ qcom-ipq8064-db149.dtb \
+ qcom-ipq8064-ap161.dtb \
++ qcom-ipq8064-e8350-v1.dtb \
+ qcom-ipq8064-ea7500-v1.dtb \
+ qcom-ipq8064-ea8500.dtb \
+ qcom-ipq8064-r7500.dtb \
--
2.27.0
------------------------------
Message: 3
Date: Wed, 22 Jul 2020 11:32:00 -1000
From: Paul Spooren <mail@aparcar.org>
To: openwrt-devel@lists.openwrt.org
Cc: Paul Spooren <mail@aparcar.org>
Subject: [PATCH] tools: Add PKG_VERSION to flock
Message-ID: <20200722213200.784784-1-mail@aparcar.org>
The stored source code of flock contains the version string of version
2.18, reflect that in the Makefile.
Motivation is the tracking of changes in the buildsystem, which requires
versioning of packages.
Signed-off-by: Paul Spooren <mail@aparcar.org>
---
tools/flock/Makefile | 1 +
1 file changed, 1 insertion(+)
@@ -7,6 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME := flock
+PKG_VERSION := 2.18
include $(INCLUDE_DIR)/host-build.mk
--
2.25.1
------------------------------
Message: 4
Date: Wed, 22 Jul 2020 12:15:23 -1000
From: Paul Spooren <mail@aparcar.org>
To: openwrt-devel@lists.openwrt.org
Cc: Paul Spooren <mail@aparcar.org>
Subject: [PATCH] tools: Add PKG_VERSION to sstrip
Message-ID: <20200722221523.1253708-1-mail@aparcar.org>
Comparing the in tree stored source file of sstrip suggests it's version
2.0[0], reflect that in the Makefile.
Motivation is the tracking of changes in the buildsystem, which requires
versioning of packages.
[0]: https://github.com/BR903/ELFkickers/commit/df4426a0f0ada861064d75c08cbebaac7c16b3ae#diff-d3ba694d91432a068d5d3b36abf8cd0f
Signed-off-by: Paul Spooren <mail@aparcar.org>
---
tools/sstrip/Makefile | 1 +
1 file changed, 1 insertion(+)
@@ -7,6 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sstrip
+PKG_VERSION:=2.0
include $(INCLUDE_DIR)/host-build.mk
--
2.25.1
------------------------------
Message: 5
Date: Wed, 22 Jul 2020 12:21:03 -1000
From: Paul Spooren <mail@aparcar.org>
To: openwrt-devel@lists.openwrt.org
Cc: Paul Spooren <mail@aparcar.org>
Subject: [PATCH] tools: add PKG_VERSION to patch-image
Message-ID: <20200722222103.1254388-1-mail@aparcar.org>
Based on no modifications for 5 years I'm assuming it's safe to call it
a version 1.0.0, reflect that in the Makefile.
Motivation is the tracking of changes in the buildsystem, which requires
versioning of packages.
Also update copyright.
Signed-off-by: Paul Spooren <mail@aparcar.org>
---
tools/patch-image/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2007-2012 OpenWrt.org
+# Copyright (C) 2007-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,6 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=patch-image
+PKG_VERSION:=1.0.0
include $(INCLUDE_DIR)/host-build.mk
--
2.25.1
------------------------------
Message: 6
Date: Wed, 22 Jul 2020 12:24:14 -1000
From: Paul Spooren <mail@aparcar.org>
To: openwrt-devel@lists.openwrt.org
Cc: Paul Spooren <mail@aparcar.org>
Subject: [PATCH] tools: add PKG_VERSION to firmware-utils
Message-ID: <20200722222414.1255001-1-mail@aparcar.org>
There is no versioning information in the firmware-utils code nor the
Makefile. Due to the infrequent changes to the file I'm assuming a
version 1.0.0, reflected in the Makefile.
Motivation is the tracking of changes in the buildsystem, which requires
versioning of packages.
Also update copyright.
Signed-off-by: Paul Spooren <mail@aparcar.org>
---
tools/firmware-utils/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,6 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME := firmware-utils
+PKG_VERSION := 1.0.0
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/kernel.mk