zephyr/drivers
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
..
adc modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
audio drivers: audio: Codec shell fix compiler warnings 2023-11-21 15:50:17 +01:00
auxdisplay auxdisplay: Enhance SerLCD auxdisplay driver 2023-11-24 22:04:22 +00:00
bbram drivers: bbram: stm32-bbram: port to stm32wl 2023-11-21 08:40:51 +00:00
bluetooth drivers: bluetooth: hci: Fix uninitialized array index, issue #66806 2024-01-04 09:42:50 +01:00
cache syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
can drivers: can: native_linux: leave room for null termination of string 2023-12-22 09:49:39 +01:00
charger charger: add a driver for bq25180 2024-01-05 09:00:21 +01:00
clock_control drivers: clock_control: clock_stm32_ll_h7.c 2024-01-08 11:49:04 +01:00
console console: uart: remove pm_device_runtime_is_enabled check 2023-12-06 18:00:21 -05:00
coredump drivers: kconfig: unify menuconfig title strings 2023-03-28 15:06:06 +02:00
counter drivers: counter: rpi_pico: Turn on clock and reset device on init 2023-12-20 11:14:24 +01:00
crypto driver: crypto: SHA: npcx: fix SHA driver for npcx4 QS chip 2023-12-12 09:52:04 +00:00
dac drivers: dac: sam: Add max value check 2023-12-28 12:08:27 +00:00
dai drivers: dai: Add driver for NXP's SAI 2023-12-20 11:15:13 +01:00
disk drivers/nvme: Return an error in case of non dword-aligned data buffer 2023-09-22 09:23:18 +02:00
display modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
dma drivers: dma: intel_lpss: enable reload API for 32bit DMA address 2023-12-22 09:52:59 +01:00
edac shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
eeprom drivers: drop few redundant guard around pm_policy_state_lock_* 2023-11-22 18:34:36 +00:00
entropy soc: stm32wba: hci_if: Implement HW_RNG_EnableClock API 2023-12-21 09:18:53 +01:00
espi drivers: espi: npcx: introduce espi taf driver 2023-12-18 09:30:01 +01:00
ethernet drivers: ethernet: stm32: Enabling HW checksum offloading for STM32H7. 2024-01-08 12:33:17 +01:00
flash drivers: flash : stm32: STM32L4P5xx fix page calculation from offset 2024-01-04 15:33:42 +01:00
fpga drivers: fpga: move to POST_KERNEL 2023-09-15 16:04:19 +02:00
fuel_gauge syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
gnss drivers: gnss: move gnss_publish.h in include/ 2023-11-29 14:30:40 +00:00
gpio drivers: gpio: stm32: fix init power state 2024-01-08 11:48:58 +01:00
hwinfo drivers: hwinfo: implemented hardware info support for Smartbond 2023-12-27 15:56:44 +00:00
hwspinlock syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
i2c driver: mucx_lpi2c: enable runtime mmio configuration 2024-01-05 09:01:55 +01:00
i2s i2s: stm32h7: add i2s support for stm32h7 mcu family 2024-01-04 13:48:28 +01:00
i3c drivers: i3c: cdns: run clang-format 2023-12-15 14:39:38 +01:00
ieee802154 drivers: ieee802154: set 'ieee802154_radio_api' as 'static const' 2024-01-05 09:04:28 +01:00
input input: tweak actual-key-mask description 2024-01-08 10:23:53 +01:00
interrupt_controller drivers: interrupt_controller: ra_icu: minor cleanups 2024-01-02 19:12:46 +00:00
ipm drivers: ipm: Remove CONFIG_IPM_IMX_REV2 2023-11-06 10:09:59 +01:00
kscan drivers: drop few redundant guard around pm_policy_state_lock_* 2023-11-22 18:34:36 +00:00
led syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
led_strip drivers: led_strip: ws2812: Remove scratch selection for non-GPIO 2023-11-24 09:22:24 +01:00
lora shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
mbox drivers: mbox: Add nxp mbox multi-channel support 2024-01-04 09:42:04 +01:00
mdio drivers: mdio_nxp_enet: Support MDC freq prop 2023-12-19 08:51:05 +01:00
memc drivers: memc_nxp_flexram: Use nodelabel for GPR 2023-11-15 15:04:39 -06:00
mfd drivers: mfd: npm1300: Add separate initialization priority 2023-11-08 15:09:06 +00:00
mipi_dsi drivers: mipi_dsi: add support for mipi_dsi_detach to dsi_mcux_2l 2023-11-14 09:22:59 +01:00
misc drivers: misc: pio_rpi_pico: Turn on clock and reset device on init 2023-12-20 11:14:24 +01:00
mm mm: rename struct mem_drv_bank to sys_mm_drv_bank 2023-11-21 08:42:01 +00:00
modem modem: modem_cellular.c: Remove non standard QCCID handler 2024-01-03 10:21:18 +01:00
net drivers: net: ppp: improve CONFIG_NET_PPP_ASYNC_UART_TX_TIMEOUT 2023-12-18 09:29:07 +01:00
pcie drivers: pcie: Read register before actual usage 2023-12-28 12:07:30 +00:00
peci syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
pinctrl drivers: pinctrl: Add R-Car Gen4 support 2023-11-25 08:50:47 -05:00
pm_cpu_ops shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
power_domain power_domain_intel_adsp.c: revert recent INIT_PRIORITY change 2023-11-02 08:33:40 +00:00
ps2 drivers: drop few redundant guard around pm_policy_state_lock_* 2023-11-22 18:34:36 +00:00
ptp_clock drivers: nxp_enet: simplify driver header 2023-12-04 14:29:15 +01:00
pwm modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
regulator drivers: regulator: add regulator-init-microamp property 2024-01-05 09:07:10 +01:00
reset drivers: reset: Add reset controller for Intel Agilex5 platform 2023-07-25 16:58:01 +00:00
retained_mem drivers: retained_mem: Add generic retained register driver 2024-01-02 15:49:34 +00:00
rtc drivers: rtc: stm32: Updated scope of hsem 2024-01-04 15:32:47 +01:00
sdhc drivers: sdhc: intel_emmc_host: Fix return value 2023-12-19 08:52:00 +01:00
sensor drivers/sensor: add support to LIS2DU12 accelerometer 2023-12-14 09:28:52 +01:00
serial drivers: serial: ra: minor cleanups 2024-01-02 19:12:46 +00:00
sip_svc kernel: move syscall_handler.h to internal include directory 2023-11-03 11:46:52 +01:00
smbus drivers: smbus: implement SMBus driver for STM32 2023-12-12 10:57:41 +01:00
spi modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
syscon drivers: kconfig: unify menuconfig title strings 2023-03-28 15:06:06 +02:00
timer timer: ambiq_stimer: Correct set_timeout's delta clock calculation 2024-01-08 10:07:46 +01:00
usb drivers: usb: stm32U5 usb device controller 2024-01-08 10:58:42 +01:00
usb_c usbc: improve error handling in the ucpd_stm32 and vbus_adc 2023-10-20 14:57:32 +02:00
video drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
virtualization drivers: virtualization: Map ivshmem-v2 sections individually 2023-11-27 12:15:43 +00:00
w1 shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
watchdog modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
wifi drivers: wifi: esp_at: fix last rx data loss in Passive Receive mode 2024-01-03 10:21:09 +01:00
xen xen: add helper functions for Xen domain memory management 2023-09-15 11:15:00 +01:00
CMakeLists.txt drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00
Kconfig drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00