Skip to content

AM62L: Enable PKTDMA and CPSW3G for Ethernet Functionality - #110

Merged
soumya-TI merged 18 commits into
TexasInstruments:v4.4.0-ti-nextfrom
Siddharth-Vadapalli-at-TI:ti-zephyr-am62l-cpsw-pktdma-v4.4.0-next
Oct 21, 2026
Merged

soumya-TI merged 18 commits into
TexasInstruments:v4.4.0-ti-nextfrom
Siddharth-Vadapalli-at-TI:ti-zephyr-am62l-cpsw-pktdma-v4.4.0-next

Conversation

@Siddharth-Vadapalli-at-TI

Copy link
Copy Markdown

This PR enables Ethernet functionality on the AM62L EVM by adding driver support for PKTDMA and CPSW3G.

This PR contains:

  1. Commits backported from upstream Zephyr (prefixed with UPSTREAM tag and Upstream SHA included in commit message)
  2. Backport of the following PR (yet to be merged upstream) for PKTDMA:
    Am62l pktdma zephyrproject-rtos/zephyr#122457
  3. Backport of the following PR (yet to be merged upstream) for CPSW3G and MDIO:
    Am62l cpsw zephyrproject-rtos/zephyr#122461
    For both '2' and '3' above, the 'UPSTREAM-PEND' tag has been prefixed in the commit message subject and the respective PR numbers have also been mentioned in the commit message.

Both MAC Ports of CPSW3G brought out on the AM62L EVM are enabled in Dual-EMAC mode (no L2 Switching) and enable basic Ethernet functionality. The zperf sample has also been included for measuring TCP and UDP throughput.

TCP Upload (Transmit) Throughput with a single MAC Port (1 Gbps line-rate):
~ 285 Mbps
UDP Upload (Transmit) Throughput with a single MAC Port (1 Gbps line-rate):
~ 490 Mbps

Command used to build the zperf sample:
west build -p always -b am62l_evm/am62l3/a53 samples/net/zperf -- -DEXTRA_CONF_FILE=boards/am62l_evm.conf

Test Logs:
https://gist.github.com/Siddharth-Vadapalli-at-TI/41506140d8abf9f8560650264c3b9060

@Siddharth-Vadapalli-at-TI
Siddharth-Vadapalli-at-TI force-pushed the ti-zephyr-am62l-cpsw-pktdma-v4.4.0-next branch from a49eb3c to d55b883 Compare October 19, 2026 11:08
@soumya-TI

Copy link
Copy Markdown
Collaborator

Failing compliance check. Please revisit.

@Siddharth-Vadapalli-at-TI
Siddharth-Vadapalli-at-TI force-pushed the ti-zephyr-am62l-cpsw-pktdma-v4.4.0-next branch from d55b883 to a44ff75 Compare October 21, 2026 05:33
@Siddharth-Vadapalli-at-TI

Copy link
Copy Markdown
Author

@soumya-TI,

Failing compliance check. Please revisit.

I have addressed the warnings associated with Line-Length exceeding 100 columns and the usage of tabs instead of spaces.

The following are the remaining compliance issues for which I am not sure how I could address them:

  1. Commit's subject length exceeding 75 characters
    => Since we use custom prefixes in the commit subject, it increases the total length despite the UN-prefixed commit subject length being under 75 characters
  2. Presence of BSD-3-Clause in scripts/dts/python-devicetree/src/devicetree/edtlib.py
    => This wasn't introduced by my PR and has existed in upstream Zephyr since 7 years:
image

Kindly let me know how to proceed regarding the above.

@soumya-TI

Copy link
Copy Markdown
Collaborator
  1. => Since we use custom prefixes in the commit subject, it increases the total length despite the UN-prefixed commit subject length being under 75 characters

We just need to truncate the subject with ..., any way the commit sha or PR is mentioned in next line, it need not put full commit message.

@Siddharth-Vadapalli-at-TI
Siddharth-Vadapalli-at-TI force-pushed the ti-zephyr-am62l-cpsw-pktdma-v4.4.0-next branch from a44ff75 to f07e4ae Compare October 21, 2026 06:49
tacdom and others added 18 commits October 21, 2026 12:24
commit aa46f97 upstream.

Updated the REUSE.toml to annotate documentation according
to the zephyr charter with the CC-BY-4.0 license

Signed-off-by: Dominik Tacke <dominik.tacke@siemens.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit c9dc69b upstream.

Zephyr is Apache-2.0 as a whole but reuses a few components under other
licenses. Introduce the exceptions section in REUSE.toml and document the
Zephyr-Description/-Origin/-Kconfig-Condition keys the licensing page is
generated from. Per-component entries follow.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:opus-4.8
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit ecbec62 upstream.

Bootstrap ships the dashboard's CSS and JavaScript under MIT.

Add a REUSE.toml exception so the component appears on the licensing page
and is accepted by the compliance guard.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:opus-4.8
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit 1ec3a57 upstream.

The BMI08x sensor configuration blob is imported from the Bosch Sensortec
BMI08x API under BSD-3-Clause.

Add a REUSE.toml exception so the component appears on the licensing page
and is accepted by the compliance guard.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:opus-4.8
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit e29a7d2 upstream.

add dependency-mode prop key, so it can be
changed what dependency a phandle
in the dt introduces. With this it can be set
in the dt binding that a phandle is f.e. ignored
when the dt ordinal is calculated.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit 8434550 upstream.

Add all predefined values for phy-connection-type
from the devicetree specification (Table 4.13).

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit 8d3f746 upstream.

Move `phy-handle` to use the dependency-mode prop
key instead of the hardcoded code.

Because all ethernet drivers only need to use the
phy-handle in the iface init, we can ignore the
phy-handle dependency completly instead of only
ignoring it if the phy-handle pointing to a child
node of the ethernet node.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit 9907556 upstream.

Add a macro to iterate over all fragments in a network packet.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit db984ee upstream.

add struct net_if to arguments

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
commit bb2ac26 upstream.

add helper macros to add more than one iface
to a device.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122457

The Texas Instruments AM62L SoC [0] includes the Packet DMA Controller
which is a packet-oriented DMA Engine. PKTDMA can perform data movement
operations between memory and PSI-L (Packet Streaming Interface Link)
peripherals. Add the bindings for PKTDMA.

[0]: https://www.ti.com/product/AM62L

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
…iver

PR: 122457

The Texas Instruments AM62L SoC [0] includes the Packet DMA Controller
which is a packet-oriented DMA Engine. PKTDMA can perform data movement
operations between memory and PSI-L (Packet Streaming Interface Link)
peripherals. Since the PKTDMA Hardware supports additional vendor-specific
features, an SoC-specific driver is required.

Add the PKTDMA driver to enable DMA functionality on the AM62L SoC.

[0]: https://www.ti.com/product/AM62L

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122461

The CPSW3G instance of CPSW in the Texas Instruments AM62L SoC [0] has an
integrated MDIO module. The MDIO module allows managing the Ethernet PHYs
associated with the CPSW MAC Ports. Add the bindings for CPSW MDIO.

[0]: https://www.ti.com/product/AM62L

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122461

The Texas Instruments AM62L SoC [0] includes an integrated Ethernet Switch
named CPSW3G with one Host Port (CPU facing port) and two MAC Ports. The
MAC Ports support "rmii" and "rgmii" interfaces and speeds of 10, 100 and
1000 Mbps depending on the selected interface. Host Software can send
packets to and receive packets from CPSW3G via dedicated PKTDMA Channels.
Add the bindings for CPSW.

[0]: https://www.ti.com/product/AM62L

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122461

The CPSW3G instance of CPSW in the Texas Instruments AM62L SoC [0] has an
integrated MDIO module. The MDIO module allows managing the Ethernet PHYs
associated with the CPSW MAC Ports.

Add the CPSW MDIO driver to enable functionality.

[0]: https://www.ti.com/product/AM62L

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122461

The Texas Instruments AM62L SoC [0] includes an integrated Ethernet Switch
named CPSW3G with one Host Port (CPU facing port) and two MAC Ports. The
MAC Ports support "rmii" and "rgmii" interfaces and speeds of 10, 100 and
1000 Mbps depending on the selected interface. Host Software can send
packets to and receive packets from CPSW3G via dedicated PKTDMA Channels.

Add the driver to enable functionality.

[0]: https://www.ti.com/product/AM62L

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122461

The CPSW3G instance of CPSW (Common Platform Switch) on the AM62L SoC
enables Ethernet functionality. CPSW3G has two MAC Ports that are brought
out on the AM62L EVM [0] and interface with the DP83867 Ethernet PHY and
support RGMII-ID mode of operation at link speeds of up to 1 Gbps each.
The integrated MDIO module within CPSW3G allows communicating with the
Ethernet PHYs connected to CPSW3G's MAC Ports.

Software exchanges network traffic with CPSW3G via dedicated PKTDMA (Packet
DMA) Channels that move data between CPSW3G and system memory (DDR).

Hence, add the necessary device-tree and configs to enable Ethernet
functionality on the AM62L EVM.

[0]: https://www.ti.com/tool/TMDS62LEVM

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
PR: 122461

Add config fragment for the AM62L EVM to run Zperf with CPSW3G (Common
Platform Switch) Ethernet Switch.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
@Siddharth-Vadapalli-at-TI
Siddharth-Vadapalli-at-TI force-pushed the ti-zephyr-am62l-cpsw-pktdma-v4.4.0-next branch from f07e4ae to 39ff1c7 Compare October 21, 2026 06:59
@Siddharth-Vadapalli-at-TI

Copy link
Copy Markdown
Author

@soumya-TI, thank you for clarifying about the changes needed to address the pending Compliance Checks. I have updated the PR addressing them.

@soumya-TI
soumya-TI merged commit e0ebafe into TexasInstruments:v4.4.0-ti-next Oct 21, 2026
7 of 9 checks passed
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.

6 participants