From: Daniel Thompson The QCS6490 RB3Gen2 includes a Toshiba TC9564 (a.k.a. Qualcomm QPS615). TC9564 is an twin Ethernet-AVB/TSN bridge with an integrated PCIe switch. There are multiple builds of RB3Gen2 with components included/excluded. That means whether or not there is a phy attached to eMAC0 depends on the exact board. However all versions include a TC9564 combined with a single QCS8081 attached to eMAC1. Add properties to the existing PCI nodes to describe how the TC9564 and QCS8081 are connected to each other (and to the host SoC). (Note: "pci1179,0220" is documented in the "net/toshiba,tc956x-dwmac.yaml" binding, but checkpatch.pl doesn't recognize that.) Co-developed-by: Alex Elder Signed-off-by: Alex Elder Signed-off-by: Daniel Thompson --- arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 45 +++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts index e393ccf1884af..72c89aa7a2e43 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts @@ -308,6 +308,16 @@ vdd_ntn_1p8: regulator-vdd-ntn-1p8 { regulator-enable-ramp-delay = <10000>; }; + qep_1p8: regulator-qep-1p8 { + compatible = "regulator-fixed"; + regulator-name = "qep_1p8"; + gpio = <&pm7325_gpios 8 GPIO_ACTIVE_HIGH>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + enable-active-high; + regulator-always-on; + }; + wcn6750-pmu { compatible = "qcom,wcn6750-pmu"; pinctrl-0 = <&bt_en>; @@ -937,20 +947,46 @@ pcie@3,0 { ranges; bus-range = <0x5 0xff>; - pci@0,0 { + tc956x_emac0: pci@0,0 { + compatible = "pci1179,0220"; reg = <0x50000 0x0 0x0 0x0 0x0>; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; ranges; + + gpio-controller; + #gpio-cells = <2>; }; pci@0,1 { + compatible = "pci1179,0220"; reg = <0x50100 0x0 0x0 0x0 0x0>; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; ranges; + + phy-mode = "sgmii"; + phy-handle = <&tc956x_emac1_phy>; + + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + tc956x_emac1_phy: ethernet-phy@1c { + compatible = "ethernet-phy-id004d.d101"; + reg = <0x1c>; + reset-gpios = <&tc956x_emac0 1 GPIO_ACTIVE_LOW>; + reset-assert-us = <20>; + reset-deassert-us = <20>; + + pinctrl-names = "default"; + pinctrl-0 = <&qep_irq_pin>; + interrupts-extended = <&tlmm 101 IRQ_TYPE_EDGE_FALLING>; + }; + }; }; }; }; @@ -1524,6 +1560,13 @@ usb_hub_reset_state: usb-hub-reset-state { drive-strength = <2>; bias-disable; }; + + qep_irq_pin: qep-irq-state { + pins = "gpio101"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; }; &lpass_audiocc { -- 2.51.0