]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: qcs6490-rb3gen2: Add TC9563 PCIe switch node
authorKrishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Mon, 5 Jan 2026 10:25:24 +0000 (15:55 +0530)
committerBjorn Andersson <andersson@kernel.org>
Mon, 5 Jan 2026 15:08:38 +0000 (09:08 -0600)
Add a node for the TC9563 PCIe switch, which has three downstream ports.
Two embedded Ethernet devices are present on one of the downstream ports.
As all these ports are present in the node represent the downstream
ports and embedded endpoints.

Power to the TC9563 is supplied through two LDO regulators, controlled by
two GPIOs, which are added as fixed regulators. Configure the TC9563
through I2C.

Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-tc9563-v1-1-642fd1fe7893@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/kodiak.dtsi
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts

index c2ccbb67f800cb9927627f991e3d97174cc73c64..076069f14495632fe881090819adb7c6a4e6cbbc 100644 (file)
 
                        status = "disabled";
 
-                       pcie@0 {
+                       pcie1_port0: pcie@0 {
                                device_type = "pci";
                                reg = <0x0 0x0 0x0 0x0 0x0>;
                                bus-range = <0x01 0xff>;
index f29a352b0288e9ef554ecfff59820ba39bf2cdb1..e3d2f01881ae05f17796f9c97f10b53cea50daff 100644 (file)
                };
        };
 
+       vdd_ntn_0p9: regulator-vdd-ntn-0p9 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_NTN_0P9";
+               gpio = <&pm8350c_gpios 2 GPIO_ACTIVE_HIGH>;
+               regulator-min-microvolt = <899400>;
+               regulator-max-microvolt = <899400>;
+               enable-active-high;
+               pinctrl-0 = <&ntn_0p9_en>;
+               pinctrl-names = "default";
+               regulator-enable-ramp-delay = <4300>;
+       };
+
+       vdd_ntn_1p8: regulator-vdd-ntn-1p8 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_NTN_1P8";
+               gpio = <&pm8350c_gpios 3 GPIO_ACTIVE_HIGH>;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               enable-active-high;
+               pinctrl-0 = <&ntn_1p8_en>;
+               pinctrl-names = "default";
+               regulator-enable-ramp-delay = <10000>;
+       };
+
        wcn6750-pmu {
                compatible = "qcom,wcn6750-pmu";
                pinctrl-0 = <&bt_en>;
        status = "okay";
 };
 
+&pcie1_port0 {
+       pcie@0,0 {
+               compatible = "pci1179,0623";
+               reg = <0x10000 0x0 0x0 0x0 0x0>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+
+               device_type = "pci";
+               ranges;
+               bus-range = <0x2 0xff>;
+
+               vddc-supply = <&vdd_ntn_0p9>;
+               vdd18-supply = <&vdd_ntn_1p8>;
+               vdd09-supply = <&vdd_ntn_0p9>;
+               vddio1-supply = <&vdd_ntn_1p8>;
+               vddio2-supply = <&vdd_ntn_1p8>;
+               vddio18-supply = <&vdd_ntn_1p8>;
+
+               i2c-parent = <&i2c0 0x77>;
+
+               resx-gpios = <&pm8350c_gpios 1 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&tc9563_resx_n>;
+               pinctrl-names = "default";
+
+               pcie@1,0 {
+                       reg = <0x20800 0x0 0x0 0x0 0x0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+
+                       device_type = "pci";
+                       ranges;
+                       bus-range = <0x3 0xff>;
+               };
+
+               pcie@2,0 {
+                       reg = <0x21000 0x0 0x0 0x0 0x0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+
+                       device_type = "pci";
+                       ranges;
+                       bus-range = <0x4 0xff>;
+               };
+
+               pcie@3,0 {
+                       reg = <0x21800 0x0 0x0 0x0 0x0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       device_type = "pci";
+                       ranges;
+                       bus-range = <0x5 0xff>;
+
+                       pci@0,0 {
+                               reg = <0x50000 0x0 0x0 0x0 0x0>;
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               device_type = "pci";
+                               ranges;
+                       };
+
+                       pci@0,1 {
+                               reg = <0x50100 0x0 0x0 0x0 0x0>;
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               device_type = "pci";
+                               ranges;
+                       };
+               };
+       };
+};
+
 &pm7325_gpios {
        kypd_vol_up_n: kypd-vol-up-n-state {
                pins = "gpio6";
        };
 };
 
+&pm8350c_gpios {
+       ntn_0p9_en: ntn-0p9-en-state {
+               pins = "gpio2";
+               function = "normal";
+
+               bias-disable;
+               input-disable;
+               output-enable;
+               power-source = <0>;
+       };
+
+       ntn_1p8_en: ntn-1p8-en-state {
+               pins = "gpio3";
+               function = "normal";
+
+               bias-disable;
+               input-disable;
+               output-enable;
+               power-source = <0>;
+       };
+
+       tc9563_resx_n: tc9563-resx-state {
+               pins = "gpio1";
+               function = "normal";
+
+               bias-disable;
+               input-disable;
+               output-enable;
+               power-source = <0>;
+       };
+};
+
 &tlmm {
        gpio-reserved-ranges = <32 2>, /* ADSP */
                               <48 4>; /* NFC */