LCOV - code coverage report
Current view: top level - zephyr/drivers/ethernet - eth_nxp_enet.h Hit Total Coverage
Test: new.info Lines: 0 6 0.0 %
Date: 2024-12-21 18:13:37

          Line data    Source code
       1           0 : /*
       2             :  * Copyright 2023 NXP
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef ZEPHYR_INCLUDE_DRIVERS_ETH_NXP_ENET_H__
       8             : #define ZEPHYR_INCLUDE_DRIVERS_ETH_NXP_ENET_H__
       9             : 
      10             : /*
      11             :  * This header is for NXP ENET driver development
      12             :  * and has definitions for internal implementations
      13             :  * not to be used by application
      14             :  */
      15             : 
      16             : #include <zephyr/device.h>
      17             : #include <zephyr/kernel.h>
      18             : 
      19             : #ifdef __cplusplus
      20             : extern "C" {
      21             : #endif
      22             : 
      23             : /*
      24             :  * Reasons for callback to a driver:
      25             :  *
      26             :  * Module reset: The ENET module was reset, perhaps because of power management
      27             :  * actions, and subdriver should reinitialize part of the module.
      28             :  * Interrupt: An interrupt of a type relevant to the subdriver occurred.
      29             :  * Interrupt enable: The driver's relevant interrupt was enabled in NVIC
      30             :  */
      31           0 : enum nxp_enet_callback_reason {
      32             :         NXP_ENET_MODULE_RESET,
      33             :         NXP_ENET_INTERRUPT,
      34             :         NXP_ENET_INTERRUPT_ENABLED,
      35             : };
      36             : 
      37           0 : enum nxp_enet_driver {
      38             :         NXP_ENET_MAC,
      39             :         NXP_ENET_MDIO,
      40             :         NXP_ENET_PTP_CLOCK,
      41             : };
      42             : 
      43           0 : extern void nxp_enet_mdio_callback(const struct device *mdio_dev,
      44             :                 enum nxp_enet_callback_reason event,
      45             :                 void *data);
      46             : 
      47             : #ifdef CONFIG_PTP_CLOCK_NXP_ENET
      48             : extern void nxp_enet_ptp_clock_callback(const struct device *dev,
      49             :                 enum nxp_enet_callback_reason event,
      50             :                 void *data);
      51             : #else
      52           0 : #define nxp_enet_ptp_clock_callback(...)
      53             : #endif
      54             : 
      55             : /*
      56             :  * Internal implementation, inter-driver communication function
      57             :  *
      58             :  * dev: target device to call back
      59             :  * dev_type: which driver to call back
      60             :  * event: reason/cause of callback
      61             :  * data: opaque data, will be interpreted based on reason and target driver
      62             :  */
      63           0 : extern void nxp_enet_driver_cb(const struct device *dev,
      64             :                                 enum nxp_enet_driver dev_type,
      65             :                                 enum nxp_enet_callback_reason event,
      66             :                                 void *data);
      67             : 
      68             : #ifdef __cplusplus
      69             : }
      70             : #endif
      71             : 
      72             : 
      73             : #endif /* ZEPHYR_INCLUDE_DRIVERS_ETH_NXP_ENET_H__ */

Generated by: LCOV version 1.14