Linux Documentation
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] net: ethernet: qualcomm: ppe: Add IPQ5332 support
@ 2026-10-16 15:24 Til Kaiser
  2026-10-16 15:24 ` [PATCH net-next v2 1/3] net: ethernet: qualcomm: ppe: Select hardware configuration by SoC Til Kaiser
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Til Kaiser @ 2026-10-16 15:24 UTC (permalink / raw)
  To: netdev
  Cc: jie.luo, andrew+netdev, davem, edumazet, kuba, pabeni,
	linux-kernel, robh, krzk+dt, conor+dt, quic_leiwei, quic_suruchia,
	quic_pavir, linux-arm-msm, devicetree, horms, corbet, skhan,
	rdunlap, linux-doc

IPQ5332 uses the same PPE architecture as IPQ9574, but has two front
panel ports, a 200 MHz PPE clock, and different interconnect, buffer
and scheduler settings. This series adds support for it.

Patch 1 moves the IPQ9574 settings into per-SoC match data and a hardware
configuration structure, renames the shared regmap configuration, and
makes the reserved scheduler resource lookup independent of the port
count. Patch 2 adds the IPQ5332 binding with per-SoC interconnect, clock,
EDMA reset, interrupt and port-count constraints. Patch 3 adds the driver
configuration and documents the port and UNIPHY counts.

The multicast admission control and port validation fixes for the shared
PPE code are submitted separately to net. This three-patch series is
based directly on net-next and can be applied independently.

The IPQ5332 values come from the PPE initialization in Qualcomm's
QSDK 14.0.1595.1665, qca-ssdk revision
48484d531927b070b996685f1570aff3bccb9c32 (src/init/ssdk_hppe.c,
src/init/ssdk_appe.c and src/adpt/hppe/adpt_hppe_qm.c).

IPQ5332 requires the GCC IM sleep clock in addition to the four PPE
clocks, two EDMA resets instead of one, and 49 EDMA interrupts instead
of 65. These differences are constrained without changing the existing
IPQ9574 layouts.

Tested on the Ubiquiti UniFi 7 Pro XGS access point, using the EDMA
driver from OpenWrt, which is not yet upstream. The device has a
single Ethernet port, connected to PPE port 1. The second front
panel port and its configuration are untested from my side.

Changes since v1:
- Split the two fixes for existing IPQ9574 support into a net series.
- Apply the IPQ5332 port-count limit to both container and port naming
  forms, using reg to constrain the port IDs.
- Drop the clock-provider provenance paragraph and links from the binding
  commit message and add Krzysztof Kozlowski's Reviewed-by.
- Clarify that the shared parent and rate apply to the NSSCC PPE clocks;
  the GCC sleep clock has a separate parent.

Previous posting:
  https://lore.kernel.org/netdev/20261005152915.101780-1-mail@tk154.de/

Thanks,
Til

Til Kaiser (3):
  net: ethernet: qualcomm: ppe: Select hardware configuration by SoC
  dt-bindings: net: qcom,ipq9574-ppe: Add IPQ5332 support
  net: ethernet: qualcomm: ppe: Add IPQ5332 support

 .../bindings/net/qcom,ipq9574-ppe.yaml        |  92 ++++++++-
 .../ethernet/qualcomm/ppe/ppe.rst             |   9 +-
 drivers/net/ethernet/qualcomm/ppe/ppe.c       |  87 ++++++--
 .../net/ethernet/qualcomm/ppe/ppe_config.c    | 185 ++++++++++++++++--
 .../net/ethernet/qualcomm/ppe/ppe_config.h    |  35 +++-
 5 files changed, 362 insertions(+), 46 deletions(-)


base-commit: 6b3e73774815910a39d8ca75b9ad7df963f61d50
-- 
2.56.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-16 15:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 15:24 [PATCH net-next v2 0/3] net: ethernet: qualcomm: ppe: Add IPQ5332 support Til Kaiser
2026-10-16 15:24 ` [PATCH net-next v2 1/3] net: ethernet: qualcomm: ppe: Select hardware configuration by SoC Til Kaiser
2026-10-16 15:24 ` [PATCH net-next v2 2/3] dt-bindings: net: qcom,ipq9574-ppe: Add IPQ5332 support Til Kaiser
2026-10-16 15:24 ` [PATCH net-next v2 3/3] net: ethernet: qualcomm: ppe: " Til Kaiser

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox