1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * TI Generic PHY Init to register any TI Ethernet PHYs
4 *
5 * Author: Dan Murphy <dmurphy@ti.com>
6 *
7 * Copyright (C) 2019-20 Texas Instruments Inc.
8 */
9
10 #include <phy.h>
11 #include "ti_phy_init.h"
12
13 #ifdef CONFIG_PHY_TI_GENERIC
14 static struct phy_driver dp83822_driver = {
15 .name = "TI DP83822",
16 .uid = 0x2000a240,
17 .mask = 0xfffffff0,
18 .features = PHY_BASIC_FEATURES,
19 .config = &genphy_config_aneg,
20 .startup = &genphy_startup,
21 .shutdown = &genphy_shutdown,
22 };
23
24 static struct phy_driver dp83826nc_driver = {
25 .name = "TI DP83826NC",
26 .uid = 0x2000a110,
27 .mask = 0xfffffff0,
28 .features = PHY_BASIC_FEATURES,
29 .config = &genphy_config_aneg,
30 .startup = &genphy_startup,
31 .shutdown = &genphy_shutdown,
32 };
33
34 static struct phy_driver dp83826c_driver = {
35 .name = "TI DP83826C",
36 .uid = 0x2000a130,
37 .mask = 0xfffffff0,
38 .features = PHY_BASIC_FEATURES,
39 .config = &genphy_config_aneg,
40 .startup = &genphy_startup,
41 .shutdown = &genphy_shutdown,
42 };
43
44 static struct phy_driver dp83825s_driver = {
45 .name = "TI DP83825S",
46 .uid = 0x2000a140,
47 .mask = 0xfffffff0,
48 .features = PHY_BASIC_FEATURES,
49 .config = &genphy_config_aneg,
50 .startup = &genphy_startup,
51 .shutdown = &genphy_shutdown,
52 };
53
54 static struct phy_driver dp83825i_driver = {
55 .name = "TI DP83825I",
56 .uid = 0x2000a150,
57 .mask = 0xfffffff0,
58 .features = PHY_BASIC_FEATURES,
59 .config = &genphy_config_aneg,
60 .startup = &genphy_startup,
61 .shutdown = &genphy_shutdown,
62 };
63
64 static struct phy_driver dp83825m_driver = {
65 .name = "TI DP83825M",
66 .uid = 0x2000a160,
67 .mask = 0xfffffff0,
68 .features = PHY_BASIC_FEATURES,
69 .config = &genphy_config_aneg,
70 .startup = &genphy_startup,
71 .shutdown = &genphy_shutdown,
72 };
73
74 static struct phy_driver dp83825cs_driver = {
75 .name = "TI DP83825CS",
76 .uid = 0x2000a170,
77 .mask = 0xfffffff0,
78 .features = PHY_BASIC_FEATURES,
79 .config = &genphy_config_aneg,
80 .startup = &genphy_startup,
81 .shutdown = &genphy_shutdown,
82 };
83 #endif /* CONFIG_PHY_TI_GENERIC */
84
phy_ti_init(void)85 int phy_ti_init(void)
86 {
87 #ifdef CONFIG_PHY_TI_DP83867
88 phy_dp83867_init();
89 #endif
90
91 #ifdef CONFIG_PHY_TI_GENERIC
92 phy_register(&dp83822_driver);
93 phy_register(&dp83825s_driver);
94 phy_register(&dp83825i_driver);
95 phy_register(&dp83825m_driver);
96 phy_register(&dp83825cs_driver);
97 phy_register(&dp83826c_driver);
98 phy_register(&dp83826nc_driver);
99 #endif
100 return 0;
101 }
102