zephyr/drivers/ethernet
Chamira Perera 0d4b46f51c drivers: ethernet: stm32: Enabling HW checksum offloading for STM32H7.
This change adds support for enabling ethernet MAC hardware checksum
offloading for STM32H7 based devices.

In Section 58.5.9 of the STM32H7 reference manual it mentions that
the STM32H7 ethernet MAC supports a Checksum Offload Module (COE).

I have tested the changes on my end where I enabled
CONFIG_ETH_STM32_HW_CHECKSUM and ensured that an application that
runs Zephyr on the STM32H7 can interoperate with a device with a
completely different implementation. Also, I deliberately made
the software not populate the IPv4 and UDP header checksum fields
in their respective headers and the COE was able to populate the
IPv4 and UDP header checksums.

Given that CONFIG_ETH_STM32_HW_CHECKSUM is not enabled by default
application developers have the option to either enable it or
disable it.

Signed-off-by: Chamira Perera <chamira.perera@audinate.com>
2024-01-08 12:33:17 +01:00
..
phy drivers: ksz8081: Some bug fixes & 25MHz RMII 2023-12-11 09:50:58 +01:00
CMakeLists.txt drivers: ethernet: Add NXP ENET Driver 2023-11-28 14:34:02 -06:00
dsa_ksz8xxx.c drivers: spi: update drivers that were using spi cpol and cpha 2023-10-25 18:30:28 -07:00
dsa_ksz8794.h net: dsa: ksz8794: Fix the port numbering for this ETH switch IC 2021-12-01 13:58:08 -06:00
dsa_ksz8863.h dts: ksz8974: add support for ksz8863 2021-07-26 19:37:22 -04:00
eth.h random: Rename random header 2023-10-10 14:23:50 +03:00
eth_adin2111.c drivers: ethernet: fix adin set_config lock 2023-11-07 16:22:58 -06:00
eth_adin2111_priv.h drivers: ethernet: adin2111: add adin1110 support 2023-08-16 20:45:03 +02:00
eth_cyclonev.c driver: ethernet: cvsx remove ugly whitespace 2023-01-24 17:46:17 -06:00
eth_cyclonev_priv.h drivers: ethernet: bugfix for Cyclone V Ethernet 2023-01-24 17:46:17 -06:00
eth_dwmac.c drivers: move to timepoint API 2023-07-25 09:12:26 +02:00
eth_dwmac_mmu.c kernel: mm: move kernel mm functions under kernel includes 2023-11-20 09:19:14 +01:00
eth_dwmac_priv.h ethernet: Synopsys DesignWare MAC driver 2021-10-27 10:43:05 -04:00
eth_dwmac_stm32h7x.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
eth_e1000.c drivers: eth_e1000: Enable the correct IRQ for multi-instance 2023-08-18 10:13:12 +02:00
eth_e1000_priv.h drivers: eth_e1000: Allow several instances 2022-11-28 13:19:51 +01:00
eth_enc28j60.c drivers: ethernet: fix thread function signatures 2023-10-30 12:24:34 +01:00
eth_enc28j60_priv.h drivers: ethernet: enc28j60: Added carrier status update functionality 2022-10-31 17:03:18 +01:00
eth_enc424j600.c drivers: ethernet: fix thread function signatures 2023-10-30 12:24:34 +01:00
eth_enc424j600_priv.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
eth_esp32.c drivers: eth_esp32: allow selecting ref clk source 2023-11-30 10:02:31 +01:00
eth_gecko.c drivers: eth: gecko: fix GPIO configuration 2022-12-21 23:32:57 +09:00
eth_gecko_priv.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
eth_ivshmem.c drivers: ethernet: Fix eth_ivshmem shared memory mapping 2023-11-27 12:15:43 +00:00
eth_ivshmem_priv.h drivers: ethernet: Fix eth_ivshmem shared memory mapping 2023-11-27 12:15:43 +00:00
eth_ivshmem_queue.c drivers: ethernet: Fix eth_ivshmem shared memory mapping 2023-11-27 12:15:43 +00:00
eth_lan865x.c drivers: ethernet: lan865x: Trigger IRQ routine when rca>0 read from TX ftr 2023-12-19 08:51:27 +01:00
eth_lan865x_priv.h drivers: net: lan865x: Move PLCA configuration to dedicated structure 2023-11-29 10:06:30 +01:00
eth_liteeth.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
eth_mcux.c drivers: eth_mcus: Conditionally wrap IPV4/6 code 2023-11-21 21:36:22 -06:00
eth_native_posix.c drivers: ethernet: fix thread function signatures 2023-10-30 12:24:34 +01:00
eth_native_posix_adapt.c drivers: eth: native: Add native-sim support to posix Ethernet driver 2023-10-20 15:00:41 +02:00
eth_native_posix_priv.h drivers: eth: native: Add native-sim support to posix Ethernet driver 2023-10-20 15:00:41 +02:00
eth_numaker.c drivers: ethernet: support for Nuvoton numaker series 2023-11-03 12:11:33 +00:00
eth_numaker_priv.h drivers: ethernet: support for Nuvoton numaker series 2023-11-03 12:11:33 +00:00
eth_nxp_enet.c drivers: nxp_enet: Improve code readability 2023-12-14 09:30:05 +01:00
eth_nxp_s32_gmac.c soc: nxp_s32: consolidate part number options 2023-11-15 10:25:43 -06:00
eth_nxp_s32_netc.c drivers: ethernet: nxp_s32: include soc.h 2023-11-16 17:53:43 +01:00
eth_nxp_s32_netc_priv.h drivers: eth_nxp_s32_netc: use instance-based DT macros 2023-12-11 09:50:08 +01:00
eth_nxp_s32_netc_psi.c drivers: nxp_s32_netc: configure to grant SI permissions 2023-12-11 12:50:42 +01:00
eth_nxp_s32_netc_vsi.c drivers: eth_nxp_s32_netc: use instance-based DT macros 2023-12-11 09:50:08 +01:00
eth_sam0_gmac.h drivers: ethernet: eth_sam_gmac: Add SAM0 family support 2020-04-17 04:56:28 -05:00
eth_sam_gmac.c drivers: eth: sam: Fix regression from 62833 2023-12-05 10:22:13 +00:00
eth_sam_gmac_priv.h drivers: ethernet: sam0: Increase RX buffer count by one 2023-04-27 09:50:39 +02:00
eth_slip_tap.c drivers: net: initialize logging for the slip module 2023-02-20 16:44:23 +01:00
eth_smsc91x.c include: always use <> for Zephyr includes 2023-09-14 13:49:58 +02:00
eth_smsc91x_priv.h drivers: eth_smsc91x: Implement promiscuous mode 2023-07-10 15:14:33 +02:00
eth_smsc911x.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
eth_smsc911x_priv.h drivers: eth_smsc911x_priv: Remove obsolete macros 2022-03-16 10:22:55 +01:00
eth_stellaris.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
eth_stellaris_priv.h drivers: ethernet: drop DEV_DATA/DEV_CFG usage 2022-01-19 18:16:02 +01:00
eth_stm32_hal.c drivers: ethernet: remove sections.ld for SOC_SERIES_STM32H5X 2023-12-14 09:32:35 +01:00
eth_stm32_hal_priv.h drivers : ethernet: add SOC_SERIES_STM32H5X 2023-07-07 10:06:54 +00:00
eth_w5500.c drivers: ethernet: fix thread function signatures 2023-10-30 12:24:34 +01:00
eth_w5500_priv.h kernel: deprecate K_THREAD_STACK_MEMBER 2023-10-12 11:07:00 +01:00
eth_xlnx_gem.c net: ethernet: Align Ethernet drivers/L2 with iface state upgrade 2022-10-20 10:00:31 +02:00
eth_xlnx_gem_priv.h include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
Kconfig drivers: ethernet: Add NXP ENET Driver 2023-11-28 14:34:02 -06:00
Kconfig.adin2111 drivers: ethernet: Remove CONFIG_ETH_ADIN2111_INIT_PRIORITY 2023-10-03 15:10:12 +01:00
Kconfig.cyclonev drivers: ethernet: adding support for Cyclone V SoC DK ethernet 2022-10-06 20:19:43 -07:00
Kconfig.dsa drivers: eth: eth_stm32_hal: Add DSA support 2023-10-25 09:55:42 -05:00
Kconfig.dwmac drivers: select nocache only when supported 2023-09-26 15:09:51 +02:00
Kconfig.e1000 drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.enc28j60 drivers: ethernet: enc28j60: Prevent infinate loop on driver init 2023-05-10 11:56:59 +02:00
Kconfig.enc424j600 drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.esp32 drivers: ethernet: esp32: fix Kconfig 2023-11-27 12:22:02 +00:00
Kconfig.gecko drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.ivshmem drivers: ethernet: Add Jailhouse IVSHMEM Ethernet support 2023-05-14 18:17:33 -04:00
Kconfig.lan865x drivers: ethernet: Update ETH_LAN865X_TIMEOUT Kconfig description 2023-12-19 08:51:27 +01:00
Kconfig.liteeth drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.mcux drivers: eth_mcux: cache must be dcache 2023-10-13 10:06:33 +01:00
Kconfig.native_posix drivers: eth: native: Add native-sim support to posix Ethernet driver 2023-10-20 15:00:41 +02:00
Kconfig.numaker drivers: ethernet: support for Nuvoton numaker series 2023-11-03 12:11:33 +00:00
Kconfig.nxp_enet drivers: ethernet: Add NXP ENET Driver 2023-11-28 14:34:02 -06:00
Kconfig.nxp_s32_gmac drivers: select nocache only when supported 2023-09-26 15:09:51 +02:00
Kconfig.nxp_s32_netc drivers: nxp_s32_netc: remove dependency to NET_TEST 2023-11-08 10:10:50 +01:00
Kconfig.sam_gmac net: pkt: Introduce minimum length requirement to net_pkt_get_frag() 2022-11-19 07:39:32 -05:00
Kconfig.smsc91x ethernet: smsc91x: select MDIO 2023-08-16 14:52:31 +02:00
Kconfig.smsc911x drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.stellaris drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.stm32_hal drivers: ethernet: stm32: Enabling HW checksum offloading for STM32H7. 2024-01-08 12:33:17 +01:00
Kconfig.w5500 drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
Kconfig.xlnx_gem drivers: ethernet: Update Kconfig 2022-08-15 14:32:45 +02:00
oa_tc6.c drivers: ethernet: tc6: Check footer parity before updating struct oa_tc6 2023-12-19 08:51:27 +01:00
oa_tc6.h drivers: net: lan865x: Always read at least one chunk on IRQ received 2023-12-01 10:54:27 +00:00
phy_cyclonev.c drivers: ethernet: cvsx change bit label 2023-01-24 17:46:17 -06:00
phy_gecko.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
phy_gecko.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
phy_xlnx_gem.c includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
phy_xlnx_gem.h drivers: ethernet: xlnx_gem: fix PHY_MRVL_MODE_CONFIG_MASK 2023-04-28 14:48:52 +02:00