[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <91e91f5e-93af-466b-92f7-b2e88dc8d73f@oss.qualcomm.com>
Date: Tue, 3 Feb 2026 10:21:36 +0100
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Sushrut Shree Trivedi <sushrut.trivedi@....qualcomm.com>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom:
qcs6490-rb3gen2-industrial-mezzanine: Add second TC9563 PCIe switch node for
PCIe1
On 2/3/26 5:31 AM, Sushrut Shree Trivedi wrote:
> Add a node for the second TC9563 PCIe switch on PCIe1, which is connected
> in cascade to the first TC9563 switch via the former's downstream port.
>
> Two embedded Ethernet devices are present on one of the downstream
> ports of this second switch as well. All the ports present in the
> node represent the downstream ports and embedded endpoints.
>
> The second TC9563 is powered up via the same LDO regulators as the first
> one, and these can be controlled via two GPIOs, which are already present
> as fixed regulators. This TC9563 can also be configured through I2C.
>
> Signed-off-by: Sushrut Shree Trivedi <sushrut.trivedi@....qualcomm.com>
> ---
> .../qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso | 96 ++++++++++++++++++++++
> arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 12 +--
> 2 files changed, 102 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
> index 89bbcab0908d..1744c9c8bd50 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
> @@ -146,6 +146,91 @@ pcie0_switch0_eth1: pci@0,1 {
> };
> };
>
> +&pcie1 {
> + iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
> + <0x100 &apps_smmu 0x1c81 0x1>,
Please set your tab width to 8 and align the '<'s
[...]
> +&pcie1_switch0_dsp1 {
> + pcie1_switch1_usp: pcie@0,0 {
This label is unused
[...]
> + pcie1_switch1_dsp1: pcie@1,0 {
> + reg = <0x40800 0x0 0x0 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> +
> + device_type = "pci";
> + ranges;
> + };
> +
> + pcie1_switch1_dsp2: pcie@2,0 {
> + reg = <0x41000 0x0 0x0 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> +
> + device_type = "pci";
> + ranges;
> + };
> +
> + pcie1_switch1_dsp3: pcie@3,0 {
And so are all three of these
> + reg = <0x41800 0x0 0x0 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> + ranges;
> +
> + pcie1_switch1_eth0: pci@0,0 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> + ranges;
> + };
> +
> + pcie1_switch1_eth1: pci@0,1 {
These two are unused as well
[...]
> + pcie1_switch0_dsp1: pcie@1,0 {
This one is in use
> reg = <0x20800 0x0 0x0 0x0 0x0>;
> #address-cells = <3>;
> #size-cells = <2>;
> @@ -862,7 +862,7 @@ pcie@1,0 {
> bus-range = <0x3 0xff>;
> };
>
> - pcie@2,0 {
> + pcie1_switch0_dsp2: pcie@2,0 {
> reg = <0x21000 0x0 0x0 0x0 0x0>;
> #address-cells = <3>;
> #size-cells = <2>;
> @@ -872,7 +872,7 @@ pcie@2,0 {
> bus-range = <0x4 0xff>;
> };
>
> - pcie@3,0 {
> + pcie1_switch0_dsp3: pcie@3,0 {
But these two aren't. Plus the DSP3 seems to be hardwired to eth
so it seems like that won't ever change. DSP2 will understandably
be useful, since any derivative of this mezz could attach more
devices
> reg = <0x21800 0x0 0x0 0x0 0x0>;
> #address-cells = <3>;
> #size-cells = <2>;
> @@ -880,7 +880,7 @@ pcie@3,0 {
> ranges;
> bus-range = <0x5 0xff>;
>
> - pci@0,0 {
> + pcie1_switch0_eth0: pci@0,0 {
> reg = <0x50000 0x0 0x0 0x0 0x0>;
> #address-cells = <3>;
> #size-cells = <2>;
> @@ -888,7 +888,7 @@ pci@0,0 {
> ranges;
> };
>
> - pci@0,1 {
> + pcie1_switch0_eth1: pci@0,1 {
These two are again unused
Konrad
Powered by blists - more mailing lists