1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* NXP C45 PHY driver header file
4 * Author: Radu Pirea <radu-nicolae.pirea@oss.nxp.com>
7 #include <linux/ptp_clock_kernel.h>
9 #define VEND1_PORT_FUNC_ENABLES 0x8048
11 struct nxp_c45_macsec;
14 const struct nxp_c45_phy_data *phy_data;
15 struct phy_device *phydev;
16 struct mii_timestamper mii_ts;
17 struct ptp_clock *ptp_clock;
18 struct ptp_clock_info caps;
19 struct sk_buff_head tx_queue;
20 struct sk_buff_head rx_queue;
21 /* used to access the PTP registers atomic */
22 struct mutex ptp_lock;
27 struct timespec64 extts_ts;
30 struct nxp_c45_macsec *macsec;
33 #if IS_ENABLED(CONFIG_MACSEC)
34 int nxp_c45_macsec_config_init(struct phy_device *phydev);
35 int nxp_c45_macsec_probe(struct phy_device *phydev);
36 void nxp_c45_macsec_remove(struct phy_device *phydev);
37 void nxp_c45_handle_macsec_interrupt(struct phy_device *phydev,
41 int nxp_c45_macsec_config_init(struct phy_device *phydev)
47 int nxp_c45_macsec_probe(struct phy_device *phydev)
53 void nxp_c45_macsec_remove(struct phy_device *phydev)
58 void nxp_c45_handle_macsec_interrupt(struct phy_device *phydev,