linux/drivers/net/phy/bcm-phy-lib.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2015 Broadcom Corporation
   3 *
   4 * This program is free software; you can redistribute it and/or
   5 * modify it under the terms of the GNU General Public License as
   6 * published by the Free Software Foundation version 2.
   7 *
   8 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
   9 * kind, whether express or implied; without even the implied warranty
  10 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11 * GNU General Public License for more details.
  12 */
  13
  14#ifndef _LINUX_BCM_PHY_LIB_H
  15#define _LINUX_BCM_PHY_LIB_H
  16
  17#include <linux/phy.h>
  18
  19int bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val);
  20int bcm_phy_read_exp(struct phy_device *phydev, u16 reg);
  21
  22int bcm54xx_auxctl_write(struct phy_device *phydev, u16 regnum, u16 val);
  23int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum);
  24
  25int bcm_phy_write_misc(struct phy_device *phydev,
  26                       u16 reg, u16 chl, u16 value);
  27int bcm_phy_read_misc(struct phy_device *phydev,
  28                      u16 reg, u16 chl);
  29
  30int bcm_phy_write_shadow(struct phy_device *phydev, u16 shadow,
  31                         u16 val);
  32int bcm_phy_read_shadow(struct phy_device *phydev, u16 shadow);
  33
  34int bcm_phy_ack_intr(struct phy_device *phydev);
  35int bcm_phy_config_intr(struct phy_device *phydev);
  36
  37int bcm_phy_enable_apd(struct phy_device *phydev, bool dll_pwr_down);
  38
  39int bcm_phy_set_eee(struct phy_device *phydev, bool enable);
  40
  41int bcm_phy_downshift_get(struct phy_device *phydev, u8 *count);
  42
  43int bcm_phy_downshift_set(struct phy_device *phydev, u8 count);
  44
  45int bcm_phy_get_sset_count(struct phy_device *phydev);
  46void bcm_phy_get_strings(struct phy_device *phydev, u8 *data);
  47void bcm_phy_get_stats(struct phy_device *phydev, u64 *shadow,
  48                       struct ethtool_stats *stats, u64 *data);
  49
  50#endif /* _LINUX_BCM_PHY_LIB_H */
  51