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
;
34 #if IS_ENABLED(CONFIG_MACSEC)
35 int nxp_c45_macsec_config_init(struct phy_device
*phydev
);
36 int nxp_c45_macsec_probe(struct phy_device
*phydev
);
37 void nxp_c45_macsec_remove(struct phy_device
*phydev
);
38 void nxp_c45_handle_macsec_interrupt(struct phy_device
*phydev
,
42 int nxp_c45_macsec_config_init(struct phy_device
*phydev
)
48 int nxp_c45_macsec_probe(struct phy_device
*phydev
)
54 void nxp_c45_macsec_remove(struct phy_device
*phydev
)
59 void nxp_c45_handle_macsec_interrupt(struct phy_device
*phydev
,