[openwrt/openwrt] ipq40xx: Convert Google Wifi to DSA, reenable

LEDE Commits lede-commits at lists.infradead.org
Sat Oct 22 23:27:59 PDT 2022


ynezz pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/a3da858ab03088088dca9aabf0c8b379385ad671

commit a3da858ab03088088dca9aabf0c8b379385ad671
Author: Brian Norris <computersforpeace at gmail.com>
AuthorDate: Sat Oct 22 13:00:38 2022 -0700

    ipq40xx: Convert Google Wifi to DSA, reenable
    
    Undo parts of these:
    
    116feb4a1cad ipq40xx: remove non-converted network configs
    db19efee9512 ipq40xx: disable boards not converted to DSA
    
    Reintroduce the DT paths /soc/edma at c080000/gmac{0,1}, because the stock
    bootloader has memorized them (instead of following aliases); then plug
    the MAC address back in via 05_set_iface_mac_ipq40xx.sh, since the
    'local-mac-address' property is no longer in the correct node.
    
    Cc: David Bauer <mail at david-bauer.net>
    Cc: Robert Marko <robert.marko at sartura.hr>
    Signed-off-by: Brian Norris <computersforpeace at gmail.com>
---
 .../ipq40xx/base-files/etc/board.d/02_network      |  5 +++
 .../files/arch/arm/boot/dts/qcom-ipq4019-wifi.dts  | 42 ++++++++++++++++++++++
 target/linux/ipq40xx/image/chromium.mk             |  3 +-
 3 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network
index fc9751eb13..57c228e123 100644
--- a/target/linux/ipq40xx/base-files/etc/board.d/02_network
+++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network
@@ -32,6 +32,7 @@ ipq40xx_setup_interfaces()
 	cilab,meshpoint-one|\
 	edgecore,ecw5211|\
 	glinet,gl-b2200|\
+	google,wifi|\
 	luma,wrtq-329acn|\
 	mikrotik,cap-ac|\
 	netgear,wac510|\
@@ -119,6 +120,10 @@ ipq40xx_setup_macs()
 	ezviz,cs-w3-wd1200g-eup)
 		label_mac=$(mtd_get_mac_binary "ART" 0x6)
 		;;
+	google,wifi)
+		wan_mac=$(get_mac_label)
+		lan_mac=$(macaddr_add "$wan_mac" 1)
+		;;
 	linksys,ea6350v3|\
 	linksys,ea8300  |\
 	linksys,mr8300)
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wifi.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wifi.dts
index 643449f8e4..65f5933305 100644
--- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wifi.dts
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wifi.dts
@@ -13,6 +13,10 @@
 	model = "Google WiFi (Gale)";
 	compatible = "google,wifi", "google,gale-v2", "qcom,ipq4019";
 
+	aliases {
+		label-mac-device = &gmac0;
+	};
+
 	chosen {
 		/*
 		 * rootwait: in case we're booting from slow/async USB storage.
@@ -25,6 +29,26 @@
 		device_type = "memory";
 		reg = <0x80000000 0x20000000>; /* 512MB */
 	};
+
+	soc {
+		edma at c080000 {
+			/*
+			 * Factory bootloader (depthcharge) will fail to boot
+			 * if this exact path (soc/edma at c080000/gmac0) doesn't
+			 * exist.
+			 */
+			gmac0: gmac0 {
+			};
+
+			/*
+			 * Factory bootloader (depthcharge) will fail to boot
+			 * if this exact path (soc/edma at c080000/gmac1) doesn't
+			 * exist.
+			 */
+			gmac1 {
+			};
+		};
+	};
 };
 
 &tlmm {
@@ -325,6 +349,10 @@
 	status = "okay";
 };
 
+&gmac {
+	status = "okay";
+};
+
 &mdio {
 	status = "okay";
 	pinctrl-0 = <&mdio_pins>;
@@ -344,6 +372,20 @@
 	non-removable;
 };
 
+&switch {
+	status = "okay";
+};
+
+&swport4 {
+	status = "okay";
+
+	label = "lan";
+};
+
+&swport5 {
+	status = "okay";
+};
+
 &usb2 {
 	status = "okay";
 };
diff --git a/target/linux/ipq40xx/image/chromium.mk b/target/linux/ipq40xx/image/chromium.mk
index 7410794fb4..2abd2df02a 100644
--- a/target/linux/ipq40xx/image/chromium.mk
+++ b/target/linux/ipq40xx/image/chromium.mk
@@ -33,5 +33,4 @@ define Device/google_wifi
 	DEVICE_PACKAGES := partx-utils mkf2fs e2fsprogs \
 			   kmod-fs-ext4 kmod-fs-f2fs kmod-google-firmware
 endef
-# Missing DSA Setup
-#TARGET_DEVICES += google_wifi
+TARGET_DEVICES += google_wifi




More information about the lede-commits mailing list