cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pcs-xpcs.h (1144B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright (c) 2020 Synopsys, Inc. and/or its affiliates.
      4 * Synopsys DesignWare XPCS helpers
      5 */
      6
      7#ifndef __LINUX_PCS_XPCS_H
      8#define __LINUX_PCS_XPCS_H
      9
     10#include <linux/phy.h>
     11#include <linux/phylink.h>
     12
     13#define NXP_SJA1105_XPCS_ID		0x00000010
     14#define NXP_SJA1110_XPCS_ID		0x00000020
     15
     16/* AN mode */
     17#define DW_AN_C73			1
     18#define DW_AN_C37_SGMII			2
     19#define DW_2500BASEX			3
     20
     21struct xpcs_id;
     22
     23struct dw_xpcs {
     24	struct mdio_device *mdiodev;
     25	const struct xpcs_id *id;
     26	struct phylink_pcs pcs;
     27};
     28
     29int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface);
     30void xpcs_link_up(struct phylink_pcs *pcs, unsigned int mode,
     31		  phy_interface_t interface, int speed, int duplex);
     32int xpcs_do_config(struct dw_xpcs *xpcs, phy_interface_t interface,
     33		   unsigned int mode);
     34void xpcs_get_interfaces(struct dw_xpcs *xpcs, unsigned long *interfaces);
     35int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns,
     36		    int enable);
     37struct dw_xpcs *xpcs_create(struct mdio_device *mdiodev,
     38			    phy_interface_t interface);
     39void xpcs_destroy(struct dw_xpcs *xpcs);
     40
     41#endif /* __LINUX_PCS_XPCS_H */