From a3da858ab03088088dca9aabf0c8b379385ad671 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Sat, 22 Oct 2022 13:00:38 -0700 Subject: [PATCH] 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@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 Cc: Robert Marko Signed-off-by: Brian Norris --- .../ipq40xx/base-files/etc/board.d/02_network | 5 +++ .../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@c080000 { + /* + * Factory bootloader (depthcharge) will fail to boot + * if this exact path (soc/edma@c080000/gmac0) doesn't + * exist. + */ + gmac0: gmac0 { + }; + + /* + * Factory bootloader (depthcharge) will fail to boot + * if this exact path (soc/edma@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 -- 2.30.2