brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · f364fca Raw
63 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/* NXP C45 PHY driver header file3 * Copyright 2023 NXP4 * Author: Radu Pirea <radu-nicolae.pirea@oss.nxp.com>5 */6 7#include <linux/ptp_clock_kernel.h>8 9#define VEND1_PORT_FUNC_ENABLES		0x804810 11struct nxp_c45_macsec;12 13struct nxp_c45_phy {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;23	int hwts_tx;24	int hwts_rx;25	u32 tx_delay;26	u32 rx_delay;27	struct timespec64 extts_ts;28	int extts_index;29	bool extts;30	struct nxp_c45_macsec *macsec;31};32 33#if IS_ENABLED(CONFIG_MACSEC)34int nxp_c45_macsec_config_init(struct phy_device *phydev);35int nxp_c45_macsec_probe(struct phy_device *phydev);36void nxp_c45_macsec_remove(struct phy_device *phydev);37void nxp_c45_handle_macsec_interrupt(struct phy_device *phydev,38				     irqreturn_t *ret);39#else40static inline41int nxp_c45_macsec_config_init(struct phy_device *phydev)42{43	return 0;44}45 46static inline47int nxp_c45_macsec_probe(struct phy_device *phydev)48{49	return 0;50}51 52static inline53void nxp_c45_macsec_remove(struct phy_device *phydev)54{55}56 57static inline58void nxp_c45_handle_macsec_interrupt(struct phy_device *phydev,59				     irqreturn_t *ret)60{61}62#endif63