1/*
2 * include/linux/micrel_phy.h
3 *
4 * Micrel PHY IDs
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 *
11 */
12
13#ifndef _MICREL_PHY_H
14#define _MICREL_PHY_H
15
16#define MICREL_PHY_ID_MASK 0x00fffff0
17
18#define PHY_ID_KSZ8873MLL 0x000e7237
19#define PHY_ID_KSZ9021 0x00221610
20#define PHY_ID_KSZ9021RLRN 0x00221611
21#define PHY_ID_KS8737 0x00221720
22#define PHY_ID_KSZ8021 0x00221555
23#define PHY_ID_KSZ8031 0x00221556
24#define PHY_ID_KSZ8041 0x00221510
25/* undocumented */
26#define PHY_ID_KSZ8041RNLI 0x00221537
27#define PHY_ID_KSZ8051 0x00221550
28/* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */
29#define PHY_ID_KSZ8001 0x0022161A
30/* same id: KS8081, KS8091 */
31#define PHY_ID_KSZ8081 0x00221560
32#define PHY_ID_KSZ8061 0x00221570
33#define PHY_ID_KSZ9031 0x00221620
34#define PHY_ID_KSZ9131 0x00221640
35
36#define PHY_ID_KSZ886X 0x00221430
37#define PHY_ID_KSZ8863 0x00221435
38
39#define PHY_ID_KSZ8795 0x00221550
40
41#define PHY_ID_KSZ9477 0x00221631
42
43/* struct phy_device dev_flags definitions */
44#define MICREL_PHY_50MHZ_CLK 0x00000001
45#define MICREL_PHY_FXEN 0x00000002
46
47#define MICREL_KSZ9021_EXTREG_CTRL 0xB
48#define MICREL_KSZ9021_EXTREG_DATA_WRITE 0xC
49#define MICREL_KSZ9021_RGMII_CLK_CTRL_PAD_SCEW 0x104
50#define MICREL_KSZ9021_RGMII_RX_DATA_PAD_SCEW 0x105
51
52#endif /* _MICREL_PHY_H */
53