Home
last modified time | relevance | path

Searched full:phydev (Results 1 – 25 of 352) sorted by relevance

12345678910>>...15

/OK3568_Linux_fs/kernel/drivers/net/phy/
H A Dphy.c59 static void phy_link_up(struct phy_device *phydev) in phy_link_up() argument
61 phydev->phy_link_change(phydev, true); in phy_link_up()
62 phy_led_trigger_change_speed(phydev); in phy_link_up()
65 static void phy_link_down(struct phy_device *phydev) in phy_link_down() argument
67 phydev->phy_link_change(phydev, false); in phy_link_down()
68 phy_led_trigger_change_speed(phydev); in phy_link_down()
71 static const char *phy_pause_str(struct phy_device *phydev) in phy_pause_str() argument
75 if (phydev->autoneg == AUTONEG_DISABLE) in phy_pause_str()
79 phydev->advertising); in phy_pause_str()
81 phydev->advertising); in phy_pause_str()
[all …]
H A Dbcm-phy-lib.c19 int __bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val) in __bcm_phy_write_exp() argument
23 rc = __phy_write(phydev, MII_BCM54XX_EXP_SEL, reg); in __bcm_phy_write_exp()
27 return __phy_write(phydev, MII_BCM54XX_EXP_DATA, val); in __bcm_phy_write_exp()
31 int bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val) in bcm_phy_write_exp() argument
35 phy_lock_mdio_bus(phydev); in bcm_phy_write_exp()
36 rc = __bcm_phy_write_exp(phydev, reg, val); in bcm_phy_write_exp()
37 phy_unlock_mdio_bus(phydev); in bcm_phy_write_exp()
43 int __bcm_phy_read_exp(struct phy_device *phydev, u16 reg) in __bcm_phy_read_exp() argument
47 val = __phy_write(phydev, MII_BCM54XX_EXP_SEL, reg); in __bcm_phy_read_exp()
51 val = __phy_read(phydev, MII_BCM54XX_EXP_DATA); in __bcm_phy_read_exp()
[all …]
H A Dphy-c45.c13 * @phydev: target phy_device struct
15 int genphy_c45_pma_setup_forced(struct phy_device *phydev) in genphy_c45_pma_setup_forced() argument
20 if (phydev->duplex != DUPLEX_FULL) in genphy_c45_pma_setup_forced()
23 ctrl1 = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL1); in genphy_c45_pma_setup_forced()
27 ctrl2 = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL2); in genphy_c45_pma_setup_forced()
38 switch (phydev->speed) { in genphy_c45_pma_setup_forced()
70 ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL1, ctrl1); in genphy_c45_pma_setup_forced()
74 ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL2, ctrl2); in genphy_c45_pma_setup_forced()
78 return genphy_c45_an_disable_aneg(phydev); in genphy_c45_pma_setup_forced()
84 * @phydev: target phy_device struct
[all …]
H A Drealtek.c65 static int rtl821x_read_page(struct phy_device *phydev) in rtl821x_read_page() argument
67 return __phy_read(phydev, RTL821x_PAGE_SELECT); in rtl821x_read_page()
70 static int rtl821x_write_page(struct phy_device *phydev, int page) in rtl821x_write_page() argument
72 return __phy_write(phydev, RTL821x_PAGE_SELECT, page); in rtl821x_write_page()
75 static int rtl8201_ack_interrupt(struct phy_device *phydev) in rtl8201_ack_interrupt() argument
79 err = phy_read(phydev, RTL8201F_ISR); in rtl8201_ack_interrupt()
84 static int rtl821x_ack_interrupt(struct phy_device *phydev) in rtl821x_ack_interrupt() argument
88 err = phy_read(phydev, RTL821x_INSR); in rtl821x_ack_interrupt()
93 static int rtl8211f_ack_interrupt(struct phy_device *phydev) in rtl8211f_ack_interrupt() argument
97 err = phy_read_paged(phydev, 0xa43, RTL8211F_INSR); in rtl8211f_ack_interrupt()
[all …]
H A Dphy_device.c201 void phy_device_free(struct phy_device *phydev) in phy_device_free() argument
203 put_device(&phydev->mdio.dev); in phy_device_free()
209 struct phy_device *phydev; in phy_mdio_device_free() local
211 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_free()
212 phy_device_free(phydev); in phy_mdio_device_free()
222 struct phy_device *phydev; in phy_mdio_device_remove() local
224 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_remove()
225 phy_device_remove(phydev); in phy_mdio_device_remove()
233 static bool mdio_bus_phy_may_suspend(struct phy_device *phydev) in mdio_bus_phy_may_suspend() argument
235 struct device_driver *drv = phydev->mdio.dev.driver; in mdio_bus_phy_may_suspend()
[all …]
H A Dbroadcom.c20 #define BRCM_PHY_MODEL(phydev) \ argument
21 ((phydev)->drv->phy_id & (phydev)->drv->phy_id_mask)
23 #define BRCM_PHY_REV(phydev) \ argument
24 ((phydev)->drv->phy_id & ~((phydev)->drv->phy_id_mask))
30 static int bcm54xx_config_clock_delay(struct phy_device *phydev) in bcm54xx_config_clock_delay() argument
35 val = bcm54xx_auxctl_read(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC); in bcm54xx_config_clock_delay()
37 if (phydev->interface == PHY_INTERFACE_MODE_RGMII || in bcm54xx_config_clock_delay()
38 phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { in bcm54xx_config_clock_delay()
42 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in bcm54xx_config_clock_delay()
43 phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { in bcm54xx_config_clock_delay()
[all …]
H A Drk630phy.c75 struct phy_device *phydev; member
83 static void rk630_phy_t22_get_tx_level_from_efuse(struct phy_device *phydev) in rk630_phy_t22_get_tx_level_from_efuse() argument
85 struct rk630_phy_priv *priv = phydev->priv; in rk630_phy_t22_get_tx_level_from_efuse()
92 cell = nvmem_cell_get(&phydev->mdio.dev, "txlevel"); in rk630_phy_t22_get_tx_level_from_efuse()
94 phydev_err(phydev, "failed to get txlevel cell: %ld, use default\n", in rk630_phy_t22_get_tx_level_from_efuse()
106 phydev_err(phydev, "failed to get efuse buf, use default\n"); in rk630_phy_t22_get_tx_level_from_efuse()
114 static void rk630_phy_wol_enable(struct phy_device *phydev) in rk630_phy_wol_enable() argument
116 struct net_device *ndev = phydev->attached_dev; in rk630_phy_wol_enable()
120 phy_write(phydev, REG_PAGE_SEL, 0x0000); in rk630_phy_wol_enable()
121 phy_write(phydev, REG_MAC_ADDRESS0, ((u16)ndev->dev_addr[0] << 8) + ndev->dev_addr[1]); in rk630_phy_wol_enable()
[all …]
H A Dmarvell.c285 static int marvell_read_page(struct phy_device *phydev) in marvell_read_page() argument
287 return __phy_read(phydev, MII_MARVELL_PHY_PAGE); in marvell_read_page()
290 static int marvell_write_page(struct phy_device *phydev, int page) in marvell_write_page() argument
292 return __phy_write(phydev, MII_MARVELL_PHY_PAGE, page); in marvell_write_page()
295 static int marvell_set_page(struct phy_device *phydev, int page) in marvell_set_page() argument
297 return phy_write(phydev, MII_MARVELL_PHY_PAGE, page); in marvell_set_page()
300 static int marvell_ack_interrupt(struct phy_device *phydev) in marvell_ack_interrupt() argument
305 err = phy_read(phydev, MII_M1011_IEVENT); in marvell_ack_interrupt()
313 static int marvell_config_intr(struct phy_device *phydev) in marvell_config_intr() argument
317 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in marvell_config_intr()
[all …]
H A Dmarvell10g.c114 static int mv3310_hwmon_read_temp_reg(struct phy_device *phydev) in mv3310_hwmon_read_temp_reg() argument
116 return phy_read_mmd(phydev, MDIO_MMD_VEND2, MV_V2_TEMP); in mv3310_hwmon_read_temp_reg()
119 static int mv2110_hwmon_read_temp_reg(struct phy_device *phydev) in mv2110_hwmon_read_temp_reg() argument
121 return phy_read_mmd(phydev, MDIO_MMD_PCS, MV_PCS_TEMP); in mv2110_hwmon_read_temp_reg()
124 static int mv10g_hwmon_read_temp_reg(struct phy_device *phydev) in mv10g_hwmon_read_temp_reg() argument
126 if (phydev->drv->phy_id == MARVELL_PHY_ID_88X3310) in mv10g_hwmon_read_temp_reg()
127 return mv3310_hwmon_read_temp_reg(phydev); in mv10g_hwmon_read_temp_reg()
129 return mv2110_hwmon_read_temp_reg(phydev); in mv10g_hwmon_read_temp_reg()
135 struct phy_device *phydev = dev_get_drvdata(dev); in mv3310_hwmon_read() local
144 temp = mv10g_hwmon_read_temp_reg(phydev); in mv3310_hwmon_read()
[all …]
H A Dvitesse.c78 static int vsc824x_add_skew(struct phy_device *phydev) in vsc824x_add_skew() argument
83 extcon = phy_read(phydev, MII_VSC8244_EXT_CON1); in vsc824x_add_skew()
94 err = phy_write(phydev, MII_VSC8244_EXT_CON1, extcon); in vsc824x_add_skew()
99 static int vsc824x_config_init(struct phy_device *phydev) in vsc824x_config_init() argument
103 err = phy_write(phydev, MII_VSC8244_AUX_CONSTAT, in vsc824x_config_init()
108 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) in vsc824x_config_init()
109 err = vsc824x_add_skew(phydev); in vsc824x_config_init()
116 static int vsc73xx_read_page(struct phy_device *phydev) in vsc73xx_read_page() argument
118 return __phy_read(phydev, VSC73XX_EXT_PAGE_ACCESS); in vsc73xx_read_page()
121 static int vsc73xx_write_page(struct phy_device *phydev, int page) in vsc73xx_write_page() argument
[all …]
H A Dmotorcomm.c110 static int yt8521_hw_strap_polling(struct phy_device *phydev);
111 #define YT8521_PHY_MODE_CURR yt8521_hw_strap_polling(phydev)
113 static int yt8511_read_page(struct phy_device *phydev) in yt8511_read_page() argument
115 return __phy_read(phydev, YT8511_PAGE_SELECT); in yt8511_read_page()
118 static int yt8511_write_page(struct phy_device *phydev, int page) in yt8511_write_page() argument
120 return __phy_write(phydev, YT8511_PAGE_SELECT, page); in yt8511_write_page()
123 static int yt8511_config_init(struct phy_device *phydev) in yt8511_config_init() argument
128 oldpage = phy_select_page(phydev, YT8511_EXT_CLK_GATE); in yt8511_config_init()
133 switch (phydev->interface) { in yt8511_config_init()
155 ret = __phy_modify(phydev, YT8511_PAGE, (YT8511_DELAY_RX | YT8511_DELAY_GE_TX_EN), ge); in yt8511_config_init()
[all …]
H A Dat803x.c165 static int at803x_debug_reg_read(struct phy_device *phydev, u16 reg) in at803x_debug_reg_read() argument
169 ret = phy_write(phydev, AT803X_DEBUG_ADDR, reg); in at803x_debug_reg_read()
173 return phy_read(phydev, AT803X_DEBUG_DATA); in at803x_debug_reg_read()
176 static int at803x_debug_reg_mask(struct phy_device *phydev, u16 reg, in at803x_debug_reg_mask() argument
182 ret = at803x_debug_reg_read(phydev, reg); in at803x_debug_reg_mask()
190 return phy_write(phydev, AT803X_DEBUG_DATA, val); in at803x_debug_reg_mask()
193 static int at803x_enable_rx_delay(struct phy_device *phydev) in at803x_enable_rx_delay() argument
195 return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_0, 0, in at803x_enable_rx_delay()
199 static int at803x_enable_tx_delay(struct phy_device *phydev) in at803x_enable_tx_delay() argument
201 return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_5, 0, in at803x_enable_tx_delay()
[all …]
H A Ddp83822.c122 static int dp83822_ack_interrupt(struct phy_device *phydev) in dp83822_ack_interrupt() argument
126 err = phy_read(phydev, MII_DP83822_MISR1); in dp83822_ack_interrupt()
130 err = phy_read(phydev, MII_DP83822_MISR2); in dp83822_ack_interrupt()
137 static int dp83822_set_wol(struct phy_device *phydev, in dp83822_set_wol() argument
140 struct net_device *ndev = phydev->attached_dev; in dp83822_set_wol()
153 phy_write_mmd(phydev, DP83822_DEVADDR, MII_DP83822_WOL_DA1, in dp83822_set_wol()
155 phy_write_mmd(phydev, DP83822_DEVADDR, MII_DP83822_WOL_DA2, in dp83822_set_wol()
157 phy_write_mmd(phydev, DP83822_DEVADDR, MII_DP83822_WOL_DA3, in dp83822_set_wol()
160 value = phy_read_mmd(phydev, DP83822_DEVADDR, in dp83822_set_wol()
168 phy_write_mmd(phydev, DP83822_DEVADDR, in dp83822_set_wol()
[all …]
H A Dbcm7xxx.c51 static int bcm7xxx_28nm_d0_afe_config_init(struct phy_device *phydev) in bcm7xxx_28nm_d0_afe_config_init() argument
54 bcm_phy_write_misc(phydev, AFE_RXCONFIG_0, 0xeb15); in bcm7xxx_28nm_d0_afe_config_init()
57 bcm_phy_write_misc(phydev, AFE_RXCONFIG_1, 0x9b2f); in bcm7xxx_28nm_d0_afe_config_init()
60 bcm_phy_write_misc(phydev, AFE_RXCONFIG_2, 0x2003); in bcm7xxx_28nm_d0_afe_config_init()
63 bcm_phy_write_misc(phydev, AFE_RX_LP_COUNTER, 0x7fc0); in bcm7xxx_28nm_d0_afe_config_init()
66 bcm_phy_write_misc(phydev, AFE_TX_CONFIG, 0x431); in bcm7xxx_28nm_d0_afe_config_init()
69 bcm_phy_write_misc(phydev, AFE_VDCA_ICTRL_0, 0xa7da); in bcm7xxx_28nm_d0_afe_config_init()
72 bcm_phy_write_misc(phydev, AFE_VDAC_OTHERS_0, 0xa020); in bcm7xxx_28nm_d0_afe_config_init()
77 bcm_phy_write_misc(phydev, AFE_HPF_TRIM_OTHERS, 0x00e3); in bcm7xxx_28nm_d0_afe_config_init()
80 phy_write(phydev, MII_BRCM_CORE_BASE1E, 0x0010); in bcm7xxx_28nm_d0_afe_config_init()
[all …]
H A Ddp83869.c155 static int dp83869_read_status(struct phy_device *phydev) in dp83869_read_status() argument
157 struct dp83869_private *dp83869 = phydev->priv; in dp83869_read_status()
160 ret = genphy_read_status(phydev); in dp83869_read_status()
164 if (linkmode_test_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, phydev->supported)) { in dp83869_read_status()
165 if (phydev->link) { in dp83869_read_status()
167 phydev->speed = SPEED_100; in dp83869_read_status()
169 phydev->speed = SPEED_UNKNOWN; in dp83869_read_status()
170 phydev->duplex = DUPLEX_UNKNOWN; in dp83869_read_status()
177 static int dp83869_ack_interrupt(struct phy_device *phydev) in dp83869_ack_interrupt() argument
179 int err = phy_read(phydev, MII_DP83869_ISR); in dp83869_ack_interrupt()
[all …]
H A Daquantia_main.c160 static int aqr107_get_sset_count(struct phy_device *phydev) in aqr107_get_sset_count() argument
165 static void aqr107_get_strings(struct phy_device *phydev, u8 *data) in aqr107_get_strings() argument
174 static u64 aqr107_get_stat(struct phy_device *phydev, int index) in aqr107_get_stat() argument
182 val = phy_read_mmd(phydev, MDIO_MMD_C22EXT, stat->reg); in aqr107_get_stat()
188 val = phy_read_mmd(phydev, MDIO_MMD_C22EXT, stat->reg + 1); in aqr107_get_stat()
198 static void aqr107_get_stats(struct phy_device *phydev, in aqr107_get_stats() argument
201 struct aqr107_priv *priv = phydev->priv; in aqr107_get_stats()
206 val = aqr107_get_stat(phydev, i); in aqr107_get_stats()
208 phydev_err(phydev, "Reading HW Statistics failed for %s\n", in aqr107_get_stats()
217 static int aqr_config_aneg(struct phy_device *phydev) in aqr_config_aneg() argument
[all …]
H A Dmicrochip.c24 static int lan88xx_read_page(struct phy_device *phydev) in lan88xx_read_page() argument
26 return __phy_read(phydev, LAN88XX_EXT_PAGE_ACCESS); in lan88xx_read_page()
29 static int lan88xx_write_page(struct phy_device *phydev, int page) in lan88xx_write_page() argument
31 return __phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, page); in lan88xx_write_page()
34 static int lan88xx_phy_config_intr(struct phy_device *phydev) in lan88xx_phy_config_intr() argument
38 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in lan88xx_phy_config_intr()
40 rc = phy_write(phydev, LAN88XX_INT_MASK, 0x7FFF); in lan88xx_phy_config_intr()
41 rc = phy_read(phydev, LAN88XX_INT_STS); in lan88xx_phy_config_intr()
42 rc = phy_write(phydev, LAN88XX_INT_MASK, in lan88xx_phy_config_intr()
46 rc = phy_write(phydev, LAN88XX_INT_MASK, 0); in lan88xx_phy_config_intr()
[all …]
/OK3568_Linux_fs/kernel/drivers/net/ethernet/realtek/
H A Dr8169_phy_config.c18 struct phy_device *phydev);
20 static void r8168d_modify_extpage(struct phy_device *phydev, int extpage, in r8168d_modify_extpage() argument
23 int oldpage = phy_select_page(phydev, 0x0007); in r8168d_modify_extpage()
25 __phy_write(phydev, 0x1e, extpage); in r8168d_modify_extpage()
26 __phy_modify(phydev, reg, mask, val); in r8168d_modify_extpage()
28 phy_restore_page(phydev, oldpage, 0); in r8168d_modify_extpage()
31 static void r8168d_phy_param(struct phy_device *phydev, u16 parm, in r8168d_phy_param() argument
34 int oldpage = phy_select_page(phydev, 0x0005); in r8168d_phy_param()
36 __phy_write(phydev, 0x05, parm); in r8168d_phy_param()
37 __phy_modify(phydev, 0x06, mask, val); in r8168d_phy_param()
[all …]
/OK3568_Linux_fs/kernel/drivers/net/phy/mscc/
H A Dmscc_ptp.c26 /* phydev->bus->mdio_lock should be locked when using this function */
27 static int phy_ts_base_write(struct phy_device *phydev, u32 regnum, u16 val) in phy_ts_base_write() argument
29 struct vsc8531_private *priv = phydev->priv; in phy_ts_base_write()
31 WARN_ON_ONCE(!mutex_is_locked(&phydev->mdio.bus->mdio_lock)); in phy_ts_base_write()
32 return __mdiobus_write(phydev->mdio.bus, priv->ts_base_addr, regnum, in phy_ts_base_write()
36 /* phydev->bus->mdio_lock should be locked when using this function */
37 static int phy_ts_base_read(struct phy_device *phydev, u32 regnum) in phy_ts_base_read() argument
39 struct vsc8531_private *priv = phydev->priv; in phy_ts_base_read()
41 WARN_ON_ONCE(!mutex_is_locked(&phydev->mdio.bus->mdio_lock)); in phy_ts_base_read()
42 return __mdiobus_read(phydev->mdio.bus, priv->ts_base_addr, regnum); in phy_ts_base_read()
[all …]
H A Dmscc_main.c110 static int vsc85xx_phy_read_page(struct phy_device *phydev) in vsc85xx_phy_read_page() argument
112 return __phy_read(phydev, MSCC_EXT_PAGE_ACCESS); in vsc85xx_phy_read_page()
115 static int vsc85xx_phy_write_page(struct phy_device *phydev, int page) in vsc85xx_phy_write_page() argument
117 return __phy_write(phydev, MSCC_EXT_PAGE_ACCESS, page); in vsc85xx_phy_write_page()
120 static int vsc85xx_get_sset_count(struct phy_device *phydev) in vsc85xx_get_sset_count() argument
122 struct vsc8531_private *priv = phydev->priv; in vsc85xx_get_sset_count()
130 static void vsc85xx_get_strings(struct phy_device *phydev, u8 *data) in vsc85xx_get_strings() argument
132 struct vsc8531_private *priv = phydev->priv; in vsc85xx_get_strings()
143 static u64 vsc85xx_get_stat(struct phy_device *phydev, int i) in vsc85xx_get_stat() argument
145 struct vsc8531_private *priv = phydev->priv; in vsc85xx_get_stat()
[all …]
H A Dmscc_macsec.c22 static u32 vsc8584_macsec_phy_read(struct phy_device *phydev, in vsc8584_macsec_phy_read() argument
29 rc = phy_select_page(phydev, MSCC_PHY_PAGE_MACSEC); in vsc8584_macsec_phy_read()
33 __phy_write(phydev, MSCC_EXT_PAGE_MACSEC_20, in vsc8584_macsec_phy_read()
42 __phy_write(phydev, MSCC_EXT_PAGE_MACSEC_19, in vsc8584_macsec_phy_read()
49 val = __phy_read(phydev, MSCC_EXT_PAGE_MACSEC_19); in vsc8584_macsec_phy_read()
52 val_l = __phy_read(phydev, MSCC_EXT_PAGE_MACSEC_17); in vsc8584_macsec_phy_read()
53 val_h = __phy_read(phydev, MSCC_EXT_PAGE_MACSEC_18); in vsc8584_macsec_phy_read()
56 phy_restore_page(phydev, rc, rc); in vsc8584_macsec_phy_read()
61 static void vsc8584_macsec_phy_write(struct phy_device *phydev, in vsc8584_macsec_phy_write() argument
67 rc = phy_select_page(phydev, MSCC_PHY_PAGE_MACSEC); in vsc8584_macsec_phy_write()
[all …]
/OK3568_Linux_fs/u-boot/drivers/net/phy/
H A Dmarvell.c108 static int m88e1011s_config(struct phy_device *phydev) in m88e1011s_config() argument
111 phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); in m88e1011s_config()
113 phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f); in m88e1011s_config()
114 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x200c); in m88e1011s_config()
115 phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5); in m88e1011s_config()
116 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0); in m88e1011s_config()
117 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100); in m88e1011s_config()
119 phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); in m88e1011s_config()
121 genphy_config_aneg(phydev); in m88e1011s_config()
129 static int m88e1xxx_parse_status(struct phy_device *phydev) in m88e1xxx_parse_status() argument
[all …]
H A Dphy.c31 * @phydev: target phy_device struct
38 static int genphy_config_advert(struct phy_device *phydev) in genphy_config_advert() argument
45 phydev->advertising &= phydev->supported; in genphy_config_advert()
46 advertise = phydev->advertising; in genphy_config_advert()
49 adv = phy_read(phydev, MDIO_DEVAD_NONE, MII_ADVERTISE); in genphy_config_advert()
75 err = phy_write(phydev, MDIO_DEVAD_NONE, MII_ADVERTISE, adv); in genphy_config_advert()
82 bmsr = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMSR); in genphy_config_advert()
94 adv = phy_read(phydev, MDIO_DEVAD_NONE, MII_CTRL1000); in genphy_config_advert()
102 if (phydev->supported & (SUPPORTED_1000baseT_Half | in genphy_config_advert()
113 err = phy_write(phydev, MDIO_DEVAD_NONE, MII_CTRL1000, adv); in genphy_config_advert()
[all …]
H A Dbroadcom.c38 static void bcm_phy_write_misc(struct phy_device *phydev, in bcm_phy_write_misc() argument
43 phy_write(phydev, MDIO_DEVAD_NONE, MIIM_BCM54xx_AUXCNTL, in bcm_phy_write_misc()
46 reg_val = phy_read(phydev, MDIO_DEVAD_NONE, MIIM_BCM54xx_AUXCNTL); in bcm_phy_write_misc()
48 phy_write(phydev, MDIO_DEVAD_NONE, MIIM_BCM54xx_AUXCNTL, reg_val); in bcm_phy_write_misc()
51 phy_write(phydev, MDIO_DEVAD_NONE, MIIM_BCM54XX_EXP_SEL, reg_val); in bcm_phy_write_misc()
53 phy_write(phydev, MDIO_DEVAD_NONE, MIIM_BCM54XX_EXP_DATA, value); in bcm_phy_write_misc()
57 static int bcm5461_config(struct phy_device *phydev) in bcm5461_config() argument
59 genphy_config_aneg(phydev); in bcm5461_config()
61 phy_reset(phydev); in bcm5461_config()
66 static int bcm54xx_parse_status(struct phy_device *phydev) in bcm54xx_parse_status() argument
[all …]
/OK3568_Linux_fs/kernel/include/linux/
H A Dphy.h74 * Set phydev->irq to PHY_POLL if interrupts are not supported,
268 * Represents a shared structure between different phydev's in the same
642 void (*phy_link_change)(struct phy_device *phydev, bool up);
714 int (*soft_reset)(struct phy_device *phydev);
720 int (*config_init)(struct phy_device *phydev);
726 int (*probe)(struct phy_device *phydev);
730 * abilities it has. Should only set phydev->supported.
732 int (*get_features)(struct phy_device *phydev);
736 int (*suspend)(struct phy_device *phydev);
738 int (*resume)(struct phy_device *phydev);
[all …]

12345678910>>...15