| /* |
| * Copyright (c) 2017 Erwin Rol <erwin@erwinrol.com> |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef _ETH_STM32_HAL_PRIV_H_ |
| #define _ETH_STM32_HAL_PRIV_H_ |
| |
| #include <kernel.h> |
| #include <zephyr/types.h> |
| |
| #define ETH_STM32_HAL_MTU 1500 |
| #define ETH_STM32_HAL_FRAME_SIZE_MAX (ETH_STM32_HAL_MTU + 18) |
| |
| /* Definition of the Ethernet driver buffers size and count */ |
| #define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ |
| #define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ |
| |
| /* Device constant configuration parameters */ |
| struct eth_stm32_hal_dev_cfg { |
| void (*config_func)(void); |
| struct stm32_pclken pclken; |
| struct stm32_pclken pclken_rx; |
| struct stm32_pclken pclken_tx; |
| struct stm32_pclken pclken_ptp; |
| }; |
| |
| /* Device run time data */ |
| struct eth_stm32_hal_dev_data { |
| struct net_if *iface; |
| u8_t mac_addr[6]; |
| ETH_HandleTypeDef heth; |
| /* clock device */ |
| struct device *clock; |
| struct k_mutex tx_mutex; |
| struct k_sem rx_int_sem; |
| K_THREAD_STACK_MEMBER(rx_thread_stack, |
| CONFIG_ETH_STM32_HAL_RX_THREAD_STACK_SIZE); |
| struct k_thread rx_thread; |
| }; |
| |
| #define DEV_CFG(dev) \ |
| ((struct eth_stm32_hal_dev_cfg *)(dev)->config->config_info) |
| #define DEV_DATA(dev) \ |
| ((struct eth_stm32_hal_dev_data *)(dev)->driver_data) |
| |
| #endif /* _ETH_STM32_HAL_PRIV_H_ */ |
| |