Lines Matching +full:control +full:- +full:bit
1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
17 #define DP83848_MICR 0x11 /* MII Interrupt Control Register */
21 #define DP83848_MICR_INT_OE BIT(0) /* Interrupt Output Enable */
22 #define DP83848_MICR_INTEN BIT(1) /* Interrupt Enable */
25 #define DP83848_MISR_RHF_INT_EN BIT(0) /* Receive Error Counter */
26 #define DP83848_MISR_FHF_INT_EN BIT(1) /* False Carrier Counter */
27 #define DP83848_MISR_ANC_INT_EN BIT(2) /* Auto-negotiation complete */
28 #define DP83848_MISR_DUP_INT_EN BIT(3) /* Duplex Status */
29 #define DP83848_MISR_SPD_INT_EN BIT(4) /* Speed status */
30 #define DP83848_MISR_LINK_INT_EN BIT(5) /* Link status */
31 #define DP83848_MISR_ED_INT_EN BIT(6) /* Energy detect */
32 #define DP83848_MISR_LQM_INT_EN BIT(7) /* Link Quality Monitor */
40 #define DP83848_MISR_RHF_INT BIT(8)
41 #define DP83848_MISR_FHF_INT BIT(9)
42 #define DP83848_MISR_ANC_INT BIT(10)
43 #define DP83848_MISR_DUP_INT BIT(11)
44 #define DP83848_MISR_SPD_INT BIT(12)
45 #define DP83848_MISR_LINK_INT BIT(13)
46 #define DP83848_MISR_ED_INT BIT(14)
63 int control, ret; in dp83848_config_intr() local
65 control = phy_read(phydev, DP83848_MICR); in dp83848_config_intr()
66 if (control < 0) in dp83848_config_intr()
67 return control; in dp83848_config_intr()
69 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in dp83848_config_intr()
74 control |= DP83848_MICR_INT_OE; in dp83848_config_intr()
75 control |= DP83848_MICR_INTEN; in dp83848_config_intr()
81 ret = phy_write(phydev, DP83848_MICR, control); in dp83848_config_intr()
83 control &= ~DP83848_MICR_INTEN; in dp83848_config_intr()
84 ret = phy_write(phydev, DP83848_MICR, control); in dp83848_config_intr()
117 * we check initial value of BMCR Auto negotiation enable bit in dp83848_config_init()
121 phydev->autoneg = AUTONEG_DISABLE; in dp83848_config_init()