[openwrt/openwrt] ipq40xx/meraki: refactor common device tree
LEDE Commits
lede-commits at lists.infradead.org
Mon Dec 29 10:41:27 PST 2025
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/593e399568a9834576f03e9414c1a232d82078b6
commit 593e399568a9834576f03e9414c1a232d82078b6
Author: Hal Martin <hal.martin at gmail.com>
AuthorDate: Mon Dec 22 10:48:46 2025 +0100
ipq40xx/meraki: refactor common device tree
qcom-ipq4029-insect-common.dtsi was common to the MR33 and MR74, but was no
longer common with the other supported Meraki devices. I have refactored
insect-common and wired-qca-common into qcom-ipq4029-meraki-common.dtsi
which contains the actual common components (e.g. NAND partitions, ART nvmem).
Individual devices reference qcom-ipq4029-meraki-insect.dtsi
plus their own individual configuration.
Signed-off-by: Hal Martin <hal.martin at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20646
Signed-off-by: Robert Marko <robimarko at gmail.com>
---
.../arch/arm/boot/dts/qcom/qcom-ipq4029-gx20.dts | 66 +++++-
...common.dtsi => qcom-ipq4029-meraki-common.dtsi} | 233 +++------------------
.../boot/dts/qcom/qcom-ipq4029-meraki-insect.dtsi | 122 +++++++++++
.../arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts | 36 +---
.../arch/arm/boot/dts/qcom/qcom-ipq4029-mr33.dts | 69 +++++-
.../arch/arm/boot/dts/qcom/qcom-ipq4029-mr74.dts | 69 +++++-
.../arch/arm/boot/dts/qcom/qcom-ipq4029-z3.dts | 65 +++++-
7 files changed, 421 insertions(+), 239 deletions(-)
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-gx20.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-gx20.dts
index 0c951e56da..d3dd6edd8e 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-gx20.dts
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-gx20.dts
@@ -1,12 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-only
// Device Tree Source for Meraki Go GX20 (Fairyfly)
-#include "qcom-ipq4029-wired-qca-common.dtsi"
+#include "qcom-ipq4029-meraki-insect.dtsi"
/ {
model = "Meraki Go GX20 Router";
compatible = "meraki,gx20";
+ soc {
+ ess_tcsr at 1953000 {
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+ };
+
+ tcsr at 194b000 {
+ /* select hostmode */
+ compatible = "qcom,tcsr";
+ reg = <0x194b000 0x100>;
+ qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
+ status = "okay";
+ };
+ };
+
leds {
compatible = "gpio-leds";
@@ -99,11 +113,51 @@
};
};
-/* GX20 does not have WiFi radios */
-&wifi0 {
- status = "disabled";
+&tricolor {
+ enable-gpio = <&tlmm 48 GPIO_ACTIVE_HIGH>;
+};
+
+&usb2_hs_phy {
+ status = "okay";
+};
+
+&usb2 {
+ status = "okay";
+};
+
+&usb3_hs_phy {
+ status = "okay";
+};
+
+&usb3_ss_phy {
+ status = "okay";
+};
+
+&usb3 {
+ status = "okay";
+};
+
+&swport1 {
+ label = "wan";
+ status = "okay";
+};
+
+&swport2 {
+ label = "lan2";
+ status = "okay";
+};
+
+&swport3 {
+ label = "lan3";
+ status = "okay";
+};
+
+&swport4 {
+ label = "lan4";
+ status = "okay";
};
-&wifi1 {
- status = "disabled";
+&swport5 {
+ label = "lan5";
+ status = "okay";
};
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-insect-common.dtsi b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-common.dtsi
similarity index 61%
rename from target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-insect-common.dtsi
rename to target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-common.dtsi
index 46cc68435f..2e5d961eae 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-insect-common.dtsi
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-common.dtsi
@@ -1,9 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Device Tree Source for Meraki "Insect" series
+ * Device Tree Source for Meraki devices
*
* Copyright (C) 2017 Chris Blake <chrisrblake93 at gmail.com>
* Copyright (C) 2017 Christian Lamparter <chunkeey at googlemail.com>
+ * Copyright (C) 2025 Hal Martin <halmartin at googlemail.com>
*
* Based on Cisco Meraki DTS from GPL release r25-linux-3.14-20170427
*
@@ -19,21 +20,6 @@
#include <dt-bindings/leds/common.h>
/ {
- aliases {
- // TODO: Verify if the ethernet0 alias is needed
- ethernet0 = &gmac;
- led-boot = &status_green;
- led-failsafe = &status_red;
- led-running = &status_green;
- led-upgrade = &power_orange;
- };
-
- /* Do we really need this defined? */
- memory {
- device_type = "memory";
- reg = <0x80000000 0x10000000>;
- };
-
soc {
/* It is a 56-bit counter that supplies the count to the ARM arch
timers and without upstream driver */
@@ -45,7 +31,6 @@
ess_tcsr at 1953000 {
compatible = "qcom,tcsr";
reg = <0x1953000 0x1000>;
- qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
};
tcsr at 1949000 {
@@ -70,17 +55,6 @@
linux,code = <KEY_RESTART>;
};
};
-
- leds {
- compatible = "gpio-leds";
-
- power_orange: power {
- function = LED_FUNCTION_POWER;
- color = <LED_COLOR_ID_ORANGE>;
- gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
- panic-indicator;
- };
- };
};
&watchdog {
@@ -105,17 +79,6 @@
status = "okay";
};
-&blsp1_uart2 {
- pinctrl-0 = <&serial_1_pins>;
- pinctrl-names = "default";
- status = "okay";
-
- bluetooth {
- compatible = "ti,cc2650";
- enable-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
- };
-};
-
&cryptobam {
status = "okay";
};
@@ -124,72 +87,6 @@
pinctrl-0 = <&i2c_0_pins>;
pinctrl-names = "default";
status = "okay";
-
- eeprom at 50 {
- compatible = "atmel,24c64";
- pagesize = <32>;
- reg = <0x50>;
- read-only; /* This holds our MAC & Meraki board-data */
-
- nvmem-layout {
- compatible = "fixed-layout";
- #address-cells = <1>;
- #size-cells = <1>;
-
- mac_address: mac-address at 66 {
- compatible = "mac-base";
- reg = <0x66 0x6>;
- #nvmem-cell-cells = <1>;
- };
- };
- };
-};
-
-&blsp1_i2c4 {
- pinctrl-0 = <&i2c_1_pins>;
- pinctrl-names = "default";
- status = "okay";
-
- tricolor: led-controller at 30 {
- compatible = "ti,lp5562";
- reg = <0x30>;
- clock-mode = /bits/8 <2>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- /* RGB led */
- status_red: chan at 0 {
- chan-name = "red:status";
- led-cur = /bits/ 8 <0x20>;
- max-cur = /bits/ 8 <0x60>;
- reg = <0>;
- color = <LED_COLOR_ID_RED>;
- };
-
- status_green: chan at 1 {
- chan-name = "green:status";
- led-cur = /bits/ 8 <0x20>;
- max-cur = /bits/ 8 <0x60>;
- reg = <1>;
- color = <LED_COLOR_ID_GREEN>;
- };
-
- chan at 2 {
- chan-name = "blue:status";
- led-cur = /bits/ 8 <0x20>;
- max-cur = /bits/ 8 <0x60>;
- reg = <2>;
- color = <LED_COLOR_ID_BLUE>;
- };
-
- chan at 3 {
- chan-name = "white:status";
- led-cur = /bits/ 8 <0x20>;
- max-cur = /bits/ 8 <0x60>;
- reg = <3>;
- color = <LED_COLOR_ID_WHITE>;
- };
- };
};
&nand {
@@ -277,6 +174,12 @@
};
};
+&pcie0 {
+ status = "disabled";
+ perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
+};
+
&ubi_art {
nvmem-layout {
compatible = "fixed-layout";
@@ -297,33 +200,11 @@
};
};
-&pcie0 {
- status = "okay";
- perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
-};
-
-&pcie_bridge0 {
- wifi at 0,0 {
- compatible = "qcom,ath10k";
- reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&mac_address 1>, <&cal_factory_9000>;
- nvmem-cell-names = "mac-address", "calibration";
- };
-};
-
&qpic_bam {
status = "okay";
};
&tlmm {
- /*
- * GPIO43 should be 0/1 whenever the unit is
- * powered through PoE or AC-Adapter.
- * That said, playing with this seems to
- * reset the AP.
- */
-
mdio_pins: mdio_pinmux {
mux_1 {
pins = "gpio6";
@@ -355,27 +236,17 @@
};
i2c_0_pins: i2c_0_pinmux {
- pinmux {
- function = "blsp_i2c0";
- pins = "gpio20", "gpio21";
- };
- pinconf {
- pins = "gpio20", "gpio21";
- drive-strength = <16>;
- bias-disable;
- };
+ function = "blsp_i2c0";
+ pins = "gpio20", "gpio21";
+ drive-strength = <16>;
+ bias-disable;
};
i2c_1_pins: i2c_1_pinmux {
- pinmux {
- function = "blsp_i2c1";
- pins = "gpio34", "gpio35";
- };
- pinconf {
- pins = "gpio34", "gpio35";
- drive-strength = <16>;
- bias-disable;
- };
+ function = "blsp_i2c1";
+ pins = "gpio34", "gpio35";
+ drive-strength = <16>;
+ bias-disable;
};
nand_pins: nand_pins {
@@ -390,90 +261,46 @@
*/
pullups {
- pins = "gpio52", "gpio53", "gpio58",
- "gpio59";
+ pins = "gpio53", "gpio58", "gpio59";
function = "qpic";
bias-pull-up;
};
pulldowns {
- pins = "gpio54", "gpio55", "gpio56",
- "gpio57", "gpio60", "gpio61",
- "gpio62", "gpio63", "gpio64",
- "gpio65", "gpio66", "gpio67",
- "gpio68", "gpio69";
+ pins = "gpio55", "gpio56", "gpio57",
+ "gpio60", "gpio62", "gpio63",
+ "gpio64", "gpio65", "gpio66",
+ "gpio67", "gpio68", "gpio69";
function = "qpic";
bias-pull-down;
};
};
};
-&wifi0 {
- status = "okay";
- nvmem-cells = <&mac_address 2>, <&precal_factory_1000>;
- nvmem-cell-names = "mac-address", "pre-calibration";
-};
-
-&wifi1 {
- status = "okay";
- nvmem-cells = <&mac_address 3>, <&precal_factory_5000>;
- nvmem-cell-names = "mac-address", "pre-calibration";
-};
-
&mdio {
status = "okay";
pinctrl-0 = <&mdio_pins>;
pinctrl-names = "default";
-
- ar8035: ethernet-phy at 1 {
- reg = <1>;
- };
-
- ethernet-phy-package at 0 {
- status = "disabled";
- };
-};
-
-&gmac {
- status = "okay";
- nvmem-cells = <&mac_address 0>;
- nvmem-cell-names = "mac-address";
};
&switch {
status = "okay";
-
- /delete-property/ psgmii-ethphy;
};
-&swport5 {
+&gmac {
status = "okay";
-
- label = "lan";
- phy-handle = <&ar8035>;
- phy-mode = "rgmii-rxid";
-};
-
-ðphy0 {
- status = "disabled";
-};
-
-ðphy1 {
- status = "disabled";
-};
-
-ðphy2 {
- status = "disabled";
-};
-
-ðphy3 {
- status = "disabled";
+ nvmem-cells = <&mac_address 0>;
+ nvmem-cell-names = "mac-address";
};
-ðphy4 {
+&wifi0 {
status = "disabled";
+ nvmem-cells = <&mac_address 2>, <&precal_factory_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
-&psgmiiphy {
+&wifi1 {
status = "disabled";
+ nvmem-cells = <&mac_address 3>, <&precal_factory_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-insect.dtsi b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-insect.dtsi
new file mode 100644
index 0000000000..9c9f307219
--- /dev/null
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-insect.dtsi
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Device Tree Source for Meraki devices
+ *
+ * Copyright (C) 2017 Chris Blake <chrisrblake93 at gmail.com>
+ * Copyright (C) 2017 Christian Lamparter <chunkeey at googlemail.com>
+ * Copyright (C) 2025 Hal Martin <halmartin at googlemail.com>
+ *
+ * Based on Cisco Meraki DTS from GPL release r25-linux-3.14-20170427
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without
+ * any warranty of any kind, whether express or implied.
+ */
+
+#include "qcom-ipq4029-meraki-common.dtsi"
+
+/ {
+ aliases {
+ led-boot = &status_green;
+ led-failsafe = &status_red;
+ led-running = &status_green;
+ led-upgrade = &power_orange;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_orange: power {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_ORANGE>;
+ gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
+ panic-indicator;
+ };
+ };
+};
+
+&blsp1_i2c3 {
+ eeprom at 50 {
+ compatible = "atmel,24c64";
+ pagesize = <32>;
+ reg = <0x50>;
+ read-only; /* This holds our MAC & Meraki board-data */
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ mac_address: mac-address at 66 {
+ compatible = "mac-base";
+ reg = <0x66 0x6>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
+ };
+};
+
+&blsp1_i2c4 {
+ pinctrl-0 = <&i2c_1_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ tricolor: led-controller at 30 {
+ compatible = "ti,lp5562";
+ reg = <0x30>;
+ clock-mode = /bits/8 <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* RGB led */
+ status_red: chan at 0 {
+ chan-name = "red:status";
+ led-cur = /bits/ 8 <0x20>;
+ max-cur = /bits/ 8 <0x60>;
+ reg = <0>;
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ status_green: chan at 1 {
+ chan-name = "green:status";
+ led-cur = /bits/ 8 <0x20>;
+ max-cur = /bits/ 8 <0x60>;
+ reg = <1>;
+ color = <LED_COLOR_ID_GREEN>;
+ };
+
+ chan at 2 {
+ chan-name = "blue:status";
+ led-cur = /bits/ 8 <0x20>;
+ max-cur = /bits/ 8 <0x60>;
+ reg = <2>;
+ color = <LED_COLOR_ID_BLUE>;
+ };
+
+ chan at 3 {
+ chan-name = "white:status";
+ led-cur = /bits/ 8 <0x20>;
+ max-cur = /bits/ 8 <0x60>;
+ reg = <3>;
+ color = <LED_COLOR_ID_WHITE>;
+ };
+ };
+};
+
+&gmac {
+ status = "okay";
+ nvmem-cells = <&mac_address 0>;
+ nvmem-cell-names = "mac-address";
+};
+
+&wifi0 {
+ status = "disabled";
+ nvmem-cells = <&mac_address 2>, <&precal_factory_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
+};
+
+&wifi1 {
+ status = "disabled";
+ nvmem-cells = <&mac_address 3>, <&precal_factory_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
+};
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts
index 4edc1bf120..8b21736d00 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts
@@ -1,19 +1,12 @@
// SPDX-License-Identifier: GPL-2.0-only
// Device Tree Source for Meraki MR30H (Noisy Cricket)
-#include "qcom-ipq4029-wired-qca-common.dtsi"
+#include "qcom-ipq4029-meraki-insect.dtsi"
/ {
model = "Meraki MR30H";
compatible = "meraki,mr30h";
- soc {
- /* for USB PHY, device has no USB port */
- tcsr at 194b000 {
- status = "disabled";
- };
- };
-
leds {
compatible = "gpio-leds";
@@ -80,26 +73,16 @@
gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
};
};
-};
-
-&usb2_hs_phy {
- status = "disabled";
-};
-&usb2 {
- status = "disabled";
-};
-
-&usb3_hs_phy {
- status = "disabled";
-};
-
-&usb3_ss_phy {
- status = "disabled";
+ soc {
+ ess_tcsr at 1953000 {
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+ };
+ };
};
-&usb3 {
- status = "disabled";
+&tricolor {
+ enable-gpio = <&tlmm 48 GPIO_ACTIVE_HIGH>;
};
&pcie0 {
@@ -109,7 +92,7 @@
};
&pcie_bridge0 {
- wifi2: wifi at 1,0 {
+ wifi2: wifi at 0,0 {
compatible = "qcom,ath10k";
reg = <0x00010000 0 0 0 0>;
nvmem-cells = <&cal_factory_9000>;
@@ -127,7 +110,6 @@
qcom,ath10k-calibration-variant = "Meraki-MR30H";
};
-
&swport1 {
label = "lan4";
status = "okay";
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr33.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr33.dts
index a1fad08559..62a793cedb 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr33.dts
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr33.dts
@@ -1,21 +1,88 @@
// SPDX-License-Identifier: GPL-2.0-only
// Device Tree Source for Meraki MR33 (Stinkbug)
-#include "qcom-ipq4029-insect-common.dtsi"
+#include "qcom-ipq4029-meraki-insect.dtsi"
/ {
model = "Meraki MR33 Access Point";
compatible = "meraki,mr33";
+
+ soc {
+ ess_tcsr at 1953000 {
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
+ };
+ };
};
&tricolor {
enable-gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
};
+&pcie0 {
+ status = "okay";
+};
+
+&pcie_bridge0 {
+ wifi at 0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x00010000 0 0 0 0>;
+ nvmem-cells = <&mac_address 1>, <&cal_factory_9000>;
+ nvmem-cell-names = "mac-address", "calibration";
+ };
+};
+
&wifi0 {
+ status = "okay";
qcom,ath10k-calibration-variant = "Meraki-MR33";
};
&wifi1 {
+ status = "okay";
qcom,ath10k-calibration-variant = "Meraki-MR33";
};
+
+&mdio {
+ ar8035: ethernet-phy at 1 {
+ reg = <1>;
+ };
+
+ ethernet-phy-package at 0 {
+ status = "disabled";
+ };
+};
+
+&switch {
+ /delete-property/ psgmii-ethphy;
+};
+
+&swport5 {
+ status = "okay";
+
+ label = "lan";
+ phy-handle = <&ar8035>;
+ phy-mode = "rgmii-rxid";
+};
+
+ðphy0 {
+ status = "disabled";
+};
+
+ðphy1 {
+ status = "disabled";
+};
+
+ðphy2 {
+ status = "disabled";
+};
+
+ðphy3 {
+ status = "disabled";
+};
+
+ðphy4 {
+ status = "disabled";
+};
+
+&psgmiiphy {
+ status = "disabled";
+};
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr74.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr74.dts
index 2df9e912a2..09e71a65a8 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr74.dts
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr74.dts
@@ -1,21 +1,88 @@
// SPDX-License-Identifier: GPL-2.0-only
// Device Tree Source for Meraki MR74 (Ladybug)
-#include "qcom-ipq4029-insect-common.dtsi"
+#include "qcom-ipq4029-meraki-insect.dtsi"
/ {
model = "Meraki MR74 Access Point";
compatible = "meraki,mr74";
+
+ soc {
+ ess_tcsr at 1953000 {
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
+ };
+ };
};
&tricolor {
enable-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>;
};
+&pcie0 {
+ status = "okay";
+};
+
+&pcie_bridge0 {
+ wifi at 0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x00010000 0 0 0 0>;
+ nvmem-cells = <&mac_address 1>, <&cal_factory_9000>;
+ nvmem-cell-names = "mac-address", "calibration";
+ };
+};
+
&wifi0 {
+ status = "okay";
qcom,ath10k-calibration-variant = "Meraki-MR33";
};
&wifi1 {
+ status = "okay";
qcom,ath10k-calibration-variant = "Meraki-MR33";
};
+
+&mdio {
+ ar8035: ethernet-phy at 1 {
+ reg = <1>;
+ };
+
+ ethernet-phy-package at 0 {
+ status = "disabled";
+ };
+};
+
+&switch {
+ /delete-property/ psgmii-ethphy;
+};
+
+&swport5 {
+ status = "okay";
+
+ label = "lan";
+ phy-handle = <&ar8035>;
+ phy-mode = "rgmii-rxid";
+};
+
+ðphy0 {
+ status = "disabled";
+};
+
+ðphy1 {
+ status = "disabled";
+};
+
+ðphy2 {
+ status = "disabled";
+};
+
+ðphy3 {
+ status = "disabled";
+};
+
+ðphy4 {
+ status = "disabled";
+};
+
+&psgmiiphy {
+ status = "disabled";
+};
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-z3.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-z3.dts
index 6ed70dc0a2..ea3b3ee759 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-z3.dts
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-z3.dts
@@ -1,12 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-only
// Device Tree Source for Meraki Z3 (Fuzzy Cricket)
-#include "qcom-ipq4029-wired-qca-common.dtsi"
+#include "qcom-ipq4029-meraki-insect.dtsi"
/ {
model = "Meraki Z3 Router";
compatible = "meraki,z3";
+ soc {
+ ess_tcsr at 1953000 {
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+ };
+
+ tcsr at 194b000 {
+ /* select hostmode */
+ compatible = "qcom,tcsr";
+ reg = <0x194b000 0x100>;
+ qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
+ status = "okay";
+ };
+ };
+
leds {
compatible = "gpio-leds";
@@ -99,6 +113,55 @@
};
};
+&tricolor {
+ enable-gpio = <&tlmm 48 GPIO_ACTIVE_HIGH>;
+};
+
+&usb2_hs_phy {
+ status = "okay";
+};
+
+&usb2 {
+ status = "okay";
+};
+
+&usb3_hs_phy {
+ status = "okay";
+};
+
+&usb3_ss_phy {
+ status = "okay";
+};
+
+&usb3 {
+ status = "okay";
+};
+
+&swport1 {
+ label = "wan";
+ status = "okay";
+};
+
+&swport2 {
+ label = "lan2";
+ status = "okay";
+};
+
+&swport3 {
+ label = "lan3";
+ status = "okay";
+};
+
+&swport4 {
+ label = "lan4";
+ status = "okay";
+};
+
+&swport5 {
+ label = "lan5";
+ status = "okay";
+};
+
&wifi0 {
status = "okay";
qcom,ath10k-calibration-variant = "Meraki-Z3";
More information about the lede-commits
mailing list