openwrt-cghmn-mt300n/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8068-cryptid-common.dtsi
Robert Marko e61f06c51d ipq806x: mr42/mr52: fix PCIe ports
All three PCIe ports are reported non working on Meraki MR42/MR52 boards
since kernel 6.1 with the issue of PCIe PHY link never coming up thus
no WLAN cards are available on the boards.

After debugging it seems that PCIe worked on 5.15 and older purely by
accident as device DTS was using /delete-property/ perst-gpios; in each
of the 3 PCIe nodes but there was no "perst-gpios" property in the SoC DTSI
as it was still using the older "perst-gpio" property so it was not getting
removed from the device DTS.

However, in kernel 6.1 commit ("ARM: dts: qcom-*: replace deprecated
perst-gpio with perst-gpios") updated all Qualcomm DTS-es to use the newer
"perst-gpios" and thus once ipq806x moved to 6.1 PCIe stopped working as
now that property was being dropped from the device DTS.

So, since the removal of PERST pins seems to have been wrong from the start
lets drop the property removal from MR42/MR52.

Fixes: #15408
Link: https://github.com/openwrt/openwrt/pull/15509
Link: https://github.com/openwrt/openwrt/pull/15512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-05-17 11:51:14 +02:00

225 lines
3.3 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0 OR MIT
#include "qcom-ipq8064-v2.0-smb208.dtsi"
/ {
memory {
device_type = "memory";
linux,usable-memory = <0x41500000 0x1ea00000>;
reg = <0x40000000 0x20000000>;
};
cpus {
idle-states {
CPU_SPC: spc {
status = "disabled";
};
};
};
chosen {
bootargs-append = " console=ttyMSM0,115200n8 ubi.mtd=ubi ubi.mtd=art";
};
};
&qcom_pinmux {
mdio0_pins_active: mdio0_pins_active {
mux {
pins = "gpio0", "gpio1";
function = "mdio";
drive-strength = <2>;
bias-pull-down;
output-low;
};
clk {
pins = "gpio1";
input-disable;
};
};
phy_active: phy_active {
phy {
pins = "gpio6", "gpio7";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
output-high;
};
};
uart1_pins: uart1_pins {
mux {
pins = "gpio51", "gpio52";
function = "gsbi1";
drive-strength = <4>;
bias-disable;
};
};
};
&gsbi1 {
status = "okay";
qcom,mode = <GSBI_PROT_UART_W_FC>;
serial@12450000 {
status = "okay";
pinctrl-0 = <&uart1_pins>;
pinctrl-names = "default";
};
};
&pcie0 {
status = "okay";
bridge@0,0 {
reg = <0x0 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi0: wifi@1,0 {
compatible = "qcom,ath10k";
status = "okay";
reg = <0x10000 0 0 0 0>;
};
};
};
&pcie1 {
status = "okay";
bridge@0,0 {
reg = <0x0 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi1: wifi@1,0 {
compatible = "qcom,ath10k";
status = "okay";
reg = <0x10000 0 0 0 0>;
};
};
};
&pcie2 {
status = "okay";
bridge@0,0 {
reg = <0x0 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi2: wifi@1,0 {
compatible = "qcom,ath10k";
status = "okay";
reg = <0x10000 0 0 0 0>;
};
};
};
&adm_dma {
status = "okay";
};
&nand {
status = "okay";
nand@0 {
compatible = "qcom,nandcs";
reg = <0>;
nand-ecc-strength = <4>;
nand-bus-width = <8>;
nand-ecc-step-size = <512>;
nand-is-boot-medium;
qcom,boot-partitions = <0x0 0x2140000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "sbl1";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "mibib";
reg = <0x40000 0x140000>;
read-only;
};
partition@180000 {
label = "sbl2";
reg = <0x180000 0x140000>;
read-only;
};
partition@2c0000 {
label = "sbl3";
reg = <0x2c0000 0x280000>;
read-only;
};
partition@540000 {
label = "ddrconfig";
reg = <0x540000 0x120000>;
read-only;
};
partition@660000 {
label = "ssd";
reg = <0x660000 0x120000>;
read-only;
};
partition@780000 {
label = "tz";
reg = <0x780000 0x280000>;
read-only;
};
partition@a00000 {
label = "rpm";
reg = <0xa00000 0x280000>;
read-only;
};
partition@1fc0000 {
label = "u-boot";
reg = <0x1fc0000 0x180000>;
read-only;
};
partition@21c0000 {
label = "bootkernel1";
reg = <0x21c0000 0xa80000>;
};
partition@2c40000 {
label = "bootkernel2";
reg = <0x2c40000 0xa80000>;
};
partition@36c0000 {
label = "ubi";
reg = <0x36c0000 0x46c0000>;
};
partition@7d80000 {
label = "art";
reg = <0x7d80000 0x200000>;
read-only;
};
};
};
};