diff options
| author | Hal Martin | 2025-12-22 09:48:46 +0000 |
|---|---|---|
| committer | Robert Marko | 2025-12-29 18:41:24 +0000 |
| commit | 593e399568a9834576f03e9414c1a232d82078b6 (patch) | |
| tree | 812a3d023d85711ad56fee111d69731e3789ba62 | |
| parent | a0805af66c6aa6106ff04ffdd6b190623fd80a7e (diff) | |
| download | openwrt-593e399568a9834576f03e9414c1a232d82078b6.tar.gz | |
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@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20646
Signed-off-by: Robert Marko <robimarko@gmail.com>
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-gx20.dts | 66 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-common.dtsi (renamed from target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-insect-common.dtsi) | 233 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-meraki-insect.dtsi | 122 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts | 36 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr33.dts | 69 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr74.dts | 69 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/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@1953000 { + qcom,ess-interface-select = <TCSR_ESS_PSGMII>; + }; + + tcsr@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 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@gmail.com> * Copyright (C) 2017 Christian Lamparter <chunkeey@googlemail.com> + * Copyright (C) 2025 Hal Martin <halmartin@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@1953000 { compatible = "qcom,tcsr"; reg = <0x1953000 0x1000>; - qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>; }; tcsr@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@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@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@30 { - compatible = "ti,lp5562"; - reg = <0x30>; - clock-mode = /bits/8 <2>; - #address-cells = <1>; - #size-cells = <0>; - - /* RGB led */ - status_red: chan@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@1 { - chan-name = "green:status"; - led-cur = /bits/ 8 <0x20>; - max-cur = /bits/ 8 <0x60>; - reg = <1>; - color = <LED_COLOR_ID_GREEN>; - }; - - chan@2 { - chan-name = "blue:status"; - led-cur = /bits/ 8 <0x20>; - max-cur = /bits/ 8 <0x60>; - reg = <2>; - color = <LED_COLOR_ID_BLUE>; - }; - - chan@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@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@1 { - reg = <1>; - }; - - ethernet-phy-package@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@gmail.com> + * Copyright (C) 2017 Christian Lamparter <chunkeey@googlemail.com> + * Copyright (C) 2025 Hal Martin <halmartin@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@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@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@30 { + compatible = "ti,lp5562"; + reg = <0x30>; + clock-mode = /bits/8 <2>; + #address-cells = <1>; + #size-cells = <0>; + + /* RGB led */ + status_red: chan@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@1 { + chan-name = "green:status"; + led-cur = /bits/ 8 <0x20>; + max-cur = /bits/ 8 <0x60>; + reg = <1>; + color = <LED_COLOR_ID_GREEN>; + }; + + chan@2 { + chan-name = "blue:status"; + led-cur = /bits/ 8 <0x20>; + max-cur = /bits/ 8 <0x60>; + reg = <2>; + color = <LED_COLOR_ID_BLUE>; + }; + + chan@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@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@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@1,0 { + wifi2: wifi@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@1953000 { + qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>; + }; + }; }; &tricolor { enable-gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>; }; +&pcie0 { + status = "okay"; +}; + +&pcie_bridge0 { + wifi@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@1 { + reg = <1>; + }; + + ethernet-phy-package@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@1953000 { + qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>; + }; + }; }; &tricolor { enable-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>; }; +&pcie0 { + status = "okay"; +}; + +&pcie_bridge0 { + wifi@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@1 { + reg = <1>; + }; + + ethernet-phy-package@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@1953000 { + qcom,ess-interface-select = <TCSR_ESS_PSGMII>; + }; + + tcsr@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"; |