Skip to content

WORKAROUND: arm64: dts: qcom: enable ethernet on the QPS615 switch for RB3Gen2, Lemans EVK, and Monaco EVK#335

Open
ayaan-anwar wants to merge 3 commits intoqualcomm-linux:qcom-6.18.yfrom
ayaan-anwar:qps615_dt
Open

WORKAROUND: arm64: dts: qcom: enable ethernet on the QPS615 switch for RB3Gen2, Lemans EVK, and Monaco EVK#335
ayaan-anwar wants to merge 3 commits intoqualcomm-linux:qcom-6.18.yfrom
ayaan-anwar:qps615_dt

Conversation

@ayaan-anwar
Copy link
Contributor

@ayaan-anwar ayaan-anwar commented Mar 6, 2026

This PR enables the 10GbE (AQR113C) and 2.5GbE (QCA8081) Ethernet ports of the QPS615 PCIe switch on three Qualcomm platforms: RB3Gen2, IQ 9075 EVK, and IQ 8275 EVK.

Each platform follows the same pattern:

  • Add eth0_pci: and eth1_pci: DT node labels to the existing pci@0,0 and pci@0,1 nodes inside pcie@3,0 in the board's base DTS/DTSO
  • Create a new per-board *-qps615.dtsi file containing all QPS615-specific configuration (regulators, PHY reset GPIOs, WoL interrupt pinctrl, and IOMMU groups)
  • Include the DTSI at the end of the board file so it can override the labeled PCI nodes

Exception details: Until the QPS615 driver is upstreamed (third party ETA: end of 2026), an exception has been approved to include the driver and its devicetree entries as an out of tree DLKM only for QLI 2.0. (QLIJIRA-99, QLIJIRA-104).

bus-range = <0x5 0xff>;

pci@0,0 {
eth0_pci: pci@0,0 {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why you need to add label ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, will remove the label and reference pcieport* in the new .dtsi files.

};

pci@0,1 {
eth1_pci: pci@0,1 {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack


#include <dt-bindings/interrupt-controller/irq.h>

&eth0_pci {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you use node name directly and avoid adding labelling

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated

};
};

&eth1_pci {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack


#include <dt-bindings/interrupt-controller/irq.h>

&eth0_pci {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

};

pci@0,1 {
eth1_pci: pci@0,1 {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this also can be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

};
};

&eth0_pci {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

label

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

};
};

&eth1_pci {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

label

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

bus-range = <0x5 0xff>;

pci@0,0 {
eth0_pci: pci@0,0 {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

};

pci@0,1 {
eth1_pci: pci@0,1 {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

@ayaan-anwar ayaan-anwar force-pushed the qps615_dt branch 2 times, most recently from aadfd71 to 302a456 Compare March 9, 2026 19:49
@ayaan-anwar ayaan-anwar requested a review from shashim-quic March 9, 2026 19:51
@ayaan-anwar
Copy link
Contributor Author

Changes since the last review:

  • Rebase to 6.18.y tip due to mezz ifp DT name change
  • Update name of the new DTSI's to match the mezz ifp DT name change
  • Define QPS615 layout of EEPROM for mac address retrieval

…switch

Enable the 10GbE and 2.5GbE ethernet ports of the QPS615 PCIE switch.

Signed-off-by: Mohd Ayaan Anwar <[email protected]>
…15 switch

Enable the 10GbE and 2.5GbE ethernet ports of the QPS615 PCIE switch.

Signed-off-by: Mohd Ayaan Anwar <[email protected]>
…15 switch

Enable the 10GbE and 2.5GbE ethernet ports of the QPS615 PCIE switch.

Signed-off-by: Mohd Ayaan Anwar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants