mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 12:16:41 +00:00
6d8d89873a
For TJA11xx PHYs, they have the capability to output 50MHz reference clock on REF_CLK pin in RMII mode, which is called "revRMII" mode in the PHY data sheet. Signed-off-by: Wei Fang <wei.fang@nxp.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* NXP C45 PHY driver header file
|
|
* Copyright 2023 NXP
|
|
* Author: Radu Pirea <radu-nicolae.pirea@oss.nxp.com>
|
|
*/
|
|
|
|
#include <linux/ptp_clock_kernel.h>
|
|
|
|
#define VEND1_PORT_FUNC_ENABLES 0x8048
|
|
|
|
struct nxp_c45_macsec;
|
|
|
|
struct nxp_c45_phy {
|
|
const struct nxp_c45_phy_data *phy_data;
|
|
struct phy_device *phydev;
|
|
struct mii_timestamper mii_ts;
|
|
struct ptp_clock *ptp_clock;
|
|
struct ptp_clock_info caps;
|
|
struct sk_buff_head tx_queue;
|
|
struct sk_buff_head rx_queue;
|
|
/* used to access the PTP registers atomic */
|
|
struct mutex ptp_lock;
|
|
int hwts_tx;
|
|
int hwts_rx;
|
|
u32 tx_delay;
|
|
u32 rx_delay;
|
|
struct timespec64 extts_ts;
|
|
int extts_index;
|
|
bool extts;
|
|
struct nxp_c45_macsec *macsec;
|
|
u32 flags;
|
|
};
|
|
|
|
#if IS_ENABLED(CONFIG_MACSEC)
|
|
int nxp_c45_macsec_config_init(struct phy_device *phydev);
|
|
int nxp_c45_macsec_probe(struct phy_device *phydev);
|
|
void nxp_c45_macsec_remove(struct phy_device *phydev);
|
|
void nxp_c45_handle_macsec_interrupt(struct phy_device *phydev,
|
|
irqreturn_t *ret);
|
|
#else
|
|
static inline
|
|
int nxp_c45_macsec_config_init(struct phy_device *phydev)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline
|
|
int nxp_c45_macsec_probe(struct phy_device *phydev)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline
|
|
void nxp_c45_macsec_remove(struct phy_device *phydev)
|
|
{
|
|
}
|
|
|
|
static inline
|
|
void nxp_c45_handle_macsec_interrupt(struct phy_device *phydev,
|
|
irqreturn_t *ret)
|
|
{
|
|
}
|
|
#endif
|