[PATCH v5 0/5] Introduce ICSSG Ethernet driver
MD Danish Anwar
danishanwar at ti.com
Thu Apr 4 09:07:58 CEST 2024
Introduce ICSSG PRUETH support in uboot. The ICSSG driver is used in TI
AM654 SR2.0.
The ICSSG PRU Sub-system runs on EMAC firmware. This series Introduces
support for ICSSG driver in uboot.
This series has been tested on AM65x SR2.0, and the ICSSG interface is
able to ping / dhcp and boot kernel using tftp in uboot.
To use ICSSG2 ethernet, the ICSSG firmware needs to be loaded to PRU RPROC
cores and RPROC cores need to be booted with the firmware. This step is
done inside driver similar to kernel.
The remoteproc driver uses request_fw_into_buf() API from fs-loader driver
to load and start rproc with the required firmwares.
This series only introduces driver files. The device tree and config
changes to enable ICSSG driver will be introduced later.
This is v5 of the series [1].
Changes from v4 [4] to v5:
*) Fixed URL(s/http/https) in all the patches as asked by
Ravi Gunasekaran <r-gunasekaran at ti.com>
*) Collected RB tags of Ravi Gunasekaran <r-gunasekaran at ti.com> for patch
1/5, 3/5 and 5/5.
*) Used PKTSIZE macro instead of hardcoding 1522 in the definition of
UDMA_RX_BUF_SIZE in patch 4/5
Changes from v3 [3] to v4:
*) Dropped the dependncy patches and posted them seprately.
*) Dropped the DTS and config patches, will post them seprately.
*) Modified patch 4/5 to have multi port independent MAC mode support.
*) Rebased the series on latest u-boot/next.
Changes from v2 [2] to v3:
*) No functional changes.
*) Rebased the series on latest u-boot/next.
*) Dropped the RFC tag.
Changes from v1 [1] to v2:
*) Modified the driver to load the firmware inside the driver only instead
of loading the firmware using commands at u-boot prompt. Added patch
3/16 for this.
*) Rebased the series on the latest u-boot/next.
*) Modified conf-0 configuration in k3-am65x-binman.dtsi as suggested by
Roger.
*) Dropped patch [5] as the patch is no longer needed.
*) Added patch 2/15 to modify fs-loader driver to use fw_storage_interface
env instead of storage_interface and keep the env storage_interface as
fallback as suggested by Roger.
*) Added patch 15/15 to set default values to env fw_storage_interface and
fw_dev_part.
[1] https://lore.kernel.org/all/20231219103418.3445886-1-danishanwar@ti.com/
[2] https://lore.kernel.org/all/20240111070611.342701-1-danishanwar@ti.com/
[3] https://lore.kernel.org/all/20240124064930.1787929-1-danishanwar@ti.com/
[4] https://lore.kernel.org/all/20240327052841.1692469-1-danishanwar@ti.com/
[5] https://lore.kernel.org/all/20231219103418.3445886-16-danishanwar@ti.com/
Thanks and Regards,
MD Danish Anwar
MD Danish Anwar (5):
net: ti: icssg: Add Firmware Interface for ICSSG Ethernet driver.
net: ti: icssg: Add Firmware config and classification APIs.
net: ti: icssg: Add icssg queues APIs and macros
net: ti: icssg: Add ICSSG ethernet driver
net: ti: icssg: Add support sending FDB command to update rx_flow_id
arch/arm/mach-k3/common.c | 11 +
drivers/net/ti/Kconfig | 13 +
drivers/net/ti/Makefile | 1 +
drivers/net/ti/icss_mii_rt.h | 192 +++++++++
drivers/net/ti/icssg_classifier.c | 376 ++++++++++++++++
drivers/net/ti/icssg_config.c | 474 ++++++++++++++++++++
drivers/net/ti/icssg_config.h | 195 +++++++++
drivers/net/ti/icssg_prueth.c | 691 ++++++++++++++++++++++++++++++
drivers/net/ti/icssg_prueth.h | 97 +++++
drivers/net/ti/icssg_queues.c | 51 +++
drivers/net/ti/icssg_switch_map.h | 209 +++++++++
11 files changed, 2310 insertions(+)
create mode 100644 drivers/net/ti/icss_mii_rt.h
create mode 100644 drivers/net/ti/icssg_classifier.c
create mode 100644 drivers/net/ti/icssg_config.c
create mode 100644 drivers/net/ti/icssg_config.h
create mode 100644 drivers/net/ti/icssg_prueth.c
create mode 100644 drivers/net/ti/icssg_prueth.h
create mode 100644 drivers/net/ti/icssg_queues.c
create mode 100644 drivers/net/ti/icssg_switch_map.h
base-commit: bc39e06778168a34bb4e0a34fbee4edbde4414d8
--
2.34.1
More information about the U-Boot
mailing list