ec_port.h 952 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright (c) 2025, sakumisu
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #ifndef EC_PORT_H
  7. #define EC_PORT_H
  8. #include "ec_netdev.h"
  9. typedef void (*ec_htimer_cb)(void *arg);
  10. ec_netdev_t *ec_netdev_low_level_init(uint8_t netdev_index);
  11. #ifndef CONFIG_EC_PHY_CUSTOM
  12. void ec_netdev_low_level_link_up(ec_netdev_t *netdev, struct chry_phy_status *status);
  13. #else
  14. void ec_netdev_low_level_poll_link_state(ec_netdev_t *netdev);
  15. #endif
  16. uint8_t *ec_netdev_low_level_get_txbuf(ec_netdev_t *netdev);
  17. int ec_netdev_low_level_output(ec_netdev_t *netdev, uint32_t size);
  18. void ec_mdio_low_level_write(struct chry_phy_device *phydev, uint16_t phy_addr, uint16_t regnum, uint16_t val);
  19. uint16_t ec_mdio_low_level_read(struct chry_phy_device *phydev, uint16_t phy_addr, uint16_t regnum);
  20. void ec_htimer_start(uint32_t us, ec_htimer_cb cb, void *arg);
  21. void ec_htimer_stop(void);
  22. void ec_htimer_update(uint32_t us);
  23. uint32_t ec_get_cpu_frequency(void);
  24. #endif