Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * include/linux/micrel_phy.h
0004  *
0005  * Micrel PHY IDs
0006  */
0007 
0008 #ifndef _MICREL_PHY_H
0009 #define _MICREL_PHY_H
0010 
0011 #define MICREL_PHY_ID_MASK  0x00fffff0
0012 
0013 #define PHY_ID_KSZ8873MLL   0x000e7237
0014 #define PHY_ID_KSZ9021      0x00221610
0015 #define PHY_ID_KSZ9021RLRN  0x00221611
0016 #define PHY_ID_KS8737       0x00221720
0017 #define PHY_ID_KSZ8021      0x00221555
0018 #define PHY_ID_KSZ8031      0x00221556
0019 #define PHY_ID_KSZ8041      0x00221510
0020 /* undocumented */
0021 #define PHY_ID_KSZ8041RNLI  0x00221537
0022 #define PHY_ID_KSZ8051      0x00221550
0023 /* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */
0024 #define PHY_ID_KSZ8001      0x0022161A
0025 /* same id: KS8081, KS8091 */
0026 #define PHY_ID_KSZ8081      0x00221560
0027 #define PHY_ID_KSZ8061      0x00221570
0028 #define PHY_ID_KSZ9031      0x00221620
0029 #define PHY_ID_KSZ9131      0x00221640
0030 #define PHY_ID_LAN8814      0x00221660
0031 #define PHY_ID_LAN8804      0x00221670
0032 
0033 #define PHY_ID_KSZ886X      0x00221430
0034 #define PHY_ID_KSZ8863      0x00221435
0035 
0036 #define PHY_ID_KSZ87XX      0x00221550
0037 
0038 #define PHY_ID_KSZ9477      0x00221631
0039 
0040 /* struct phy_device dev_flags definitions */
0041 #define MICREL_PHY_50MHZ_CLK    0x00000001
0042 #define MICREL_PHY_FXEN     0x00000002
0043 #define MICREL_KSZ8_P1_ERRATA   0x00000003
0044 
0045 #define MICREL_KSZ9021_EXTREG_CTRL  0xB
0046 #define MICREL_KSZ9021_EXTREG_DATA_WRITE    0xC
0047 #define MICREL_KSZ9021_RGMII_CLK_CTRL_PAD_SCEW  0x104
0048 #define MICREL_KSZ9021_RGMII_RX_DATA_PAD_SCEW   0x105
0049 
0050 /* Device specific MII_BMCR (Reg 0) bits */
0051 /* 1 = HP Auto MDI/MDI-X mode, 0 = Microchip Auto MDI/MDI-X mode */
0052 #define KSZ886X_BMCR_HP_MDIX            BIT(5)
0053 /* 1 = Force MDI (transmit on RXP/RXM pins), 0 = Normal operation
0054  * (transmit on TXP/TXM pins)
0055  */
0056 #define KSZ886X_BMCR_FORCE_MDI          BIT(4)
0057 /* 1 = Disable auto MDI-X */
0058 #define KSZ886X_BMCR_DISABLE_AUTO_MDIX      BIT(3)
0059 #define KSZ886X_BMCR_DISABLE_FAR_END_FAULT  BIT(2)
0060 #define KSZ886X_BMCR_DISABLE_TRANSMIT       BIT(1)
0061 #define KSZ886X_BMCR_DISABLE_LED        BIT(0)
0062 
0063 #define KSZ886X_CTRL_MDIX_STAT          BIT(4)
0064 
0065 #endif /* _MICREL_PHY_H */