hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# SPDX-License-Identifier: GPL-2.0-only
#
# MDIO Layer Configuration
#
 
menuconfig MDIO_DEVICE
   tristate "MDIO bus device drivers"
   help
     MDIO devices and driver infrastructure code.
 
if MDIO_DEVICE
 
config MDIO_BUS
   tristate
   default m if PHYLIB=m
   default MDIO_DEVICE
   help
     This internal symbol is used for link time dependencies and it
     reflects whether the mdio_bus/mdio_device code is built as a
     loadable module or built-in.
 
config OF_MDIO
   def_tristate PHYLIB
   depends on OF
   depends on PHYLIB
   select FIXED_PHY
   help
     OpenFirmware MDIO bus (Ethernet PHY) accessors
 
if MDIO_BUS
 
config MDIO_DEVRES
   tristate
 
config MDIO_SUN4I
   tristate "Allwinner sun4i MDIO interface support"
   depends on ARCH_SUNXI || COMPILE_TEST
   help
     This driver supports the MDIO interface found in the network
     interface units of the Allwinner SoC that have an EMAC (A10,
     A12, A10s, etc.)
 
config MDIO_XGENE
   tristate "APM X-Gene SoC MDIO bus controller"
   depends on ARCH_XGENE || COMPILE_TEST
   help
     This module provides a driver for the MDIO busses found in the
     APM X-Gene SoC's.
 
config MDIO_ASPEED
   tristate "ASPEED MDIO bus controller"
   depends on ARCH_ASPEED || COMPILE_TEST
   depends on OF_MDIO && HAS_IOMEM
   help
     This module provides a driver for the independent MDIO bus
     controllers found in the ASPEED AST2600 SoC. This is a driver for the
     third revision of the ASPEED MDIO register interface - the first two
     revisions are the "old" and "new" interfaces found in the AST2400 and
     AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver
     continues to drive the embedded MDIO controller for the AST2400 and
     AST2500 SoCs, so say N if AST2600 support is not required.
 
config MDIO_BITBANG
   tristate "Bitbanged MDIO buses"
   help
     This module implements the MDIO bus protocol in software,
     for use by low level drivers that export the ability to
     drive the relevant pins.
 
     If in doubt, say N.
 
config MDIO_BCM_IPROC
   tristate "Broadcom iProc MDIO bus controller"
   depends on ARCH_BCM_IPROC || COMPILE_TEST
   depends on HAS_IOMEM && OF_MDIO
   default ARCH_BCM_IPROC
   help
     This module provides a driver for the MDIO busses found in the
     Broadcom iProc SoC's.
 
config MDIO_BCM_UNIMAC
   tristate "Broadcom UniMAC MDIO bus controller"
   depends on HAS_IOMEM
   help
     This module provides a driver for the Broadcom UniMAC MDIO busses.
     This hardware can be found in the Broadcom GENET Ethernet MAC
     controllers as well as some Broadcom Ethernet switches such as the
     Starfighter 2 switches.
 
config MDIO_CAVIUM
   tristate
 
config MDIO_GPIO
   tristate "GPIO lib-based bitbanged MDIO buses"
   depends on MDIO_BITBANG
   depends on GPIOLIB || COMPILE_TEST
   help
     Supports GPIO lib-based MDIO busses.
 
     To compile this driver as a module, choose M here: the module
     will be called mdio-gpio.
 
config MDIO_HISI_FEMAC
   tristate "Hisilicon FEMAC MDIO bus controller"
   depends on HAS_IOMEM && OF_MDIO
   help
     This module provides a driver for the MDIO busses found in the
     Hisilicon SoC that have an Fast Ethernet MAC.
 
config MDIO_I2C
   tristate
   depends on I2C
   help
     Support I2C based PHYs.  This provides a MDIO bus bridged
     to I2C to allow PHYs connected in I2C mode to be accessed
     using the existing infrastructure.
 
     This is library mode.
 
config MDIO_MVUSB
   tristate "Marvell USB to MDIO Adapter"
   depends on USB
   select MDIO_DEVRES
   help
     A USB to MDIO converter present on development boards for
     Marvell's Link Street family of Ethernet switches.
 
config MDIO_MSCC_MIIM
   tristate "Microsemi MIIM interface support"
   depends on HAS_IOMEM
   select MDIO_DEVRES
   help
     This driver supports the MIIM (MDIO) interface found in the network
     switches of the Microsemi SoCs; it is recommended to switch on
     CONFIG_HIGH_RES_TIMERS
 
config MDIO_MOXART
   tristate "MOXA ART MDIO interface support"
   depends on ARCH_MOXART || COMPILE_TEST
   help
     This driver supports the MDIO interface found in the network
     interface units of the MOXA ART SoC
 
config MDIO_OCTEON
   tristate "Octeon and some ThunderX SOCs MDIO buses"
   depends on (64BIT && OF_MDIO) || COMPILE_TEST
   depends on HAS_IOMEM
   select MDIO_CAVIUM
   select MDIO_DEVRES
   help
     This module provides a driver for the Octeon and ThunderX MDIO
     buses. It is required by the Octeon and ThunderX ethernet device
     drivers on some systems.
 
config MDIO_IPQ4019
   tristate "Qualcomm IPQ4019 MDIO interface support"
   depends on HAS_IOMEM && OF_MDIO
   help
     This driver supports the MDIO interface found in Qualcomm
     IPQ40xx series Soc-s.
 
config MDIO_IPQ8064
   tristate "Qualcomm IPQ8064 MDIO interface support"
   depends on HAS_IOMEM && OF_MDIO
   depends on MFD_SYSCON
   help
     This driver supports the MDIO interface found in the network
     interface units of the IPQ8064 SoC
 
config MDIO_THUNDER
   tristate "ThunderX SOCs MDIO buses"
   depends on 64BIT
   depends on PCI
   select MDIO_CAVIUM
   select MDIO_DEVRES
   help
     This driver supports the MDIO interfaces found on Cavium
     ThunderX SoCs when the MDIO bus device appears as a PCI
     device.
 
comment "MDIO Multiplexers"
 
config MDIO_BUS_MUX
   tristate
   depends on OF_MDIO
   help
     This module provides a driver framework for MDIO bus
     multiplexers which connect one of several child MDIO busses
     to a parent bus.  Switching between child busses is done by
     device specific drivers.
 
config MDIO_BUS_MUX_MESON_G12A
   tristate "Amlogic G12a based MDIO bus multiplexer"
   depends on ARCH_MESON || COMPILE_TEST
   depends on OF_MDIO && HAS_IOMEM && COMMON_CLK
   select MDIO_BUS_MUX
   default m if ARCH_MESON
   help
     This module provides a driver for the MDIO multiplexer/glue of
     the amlogic g12a SoC. The multiplexers connects either the external
     or the internal MDIO bus to the parent bus.
 
config MDIO_BUS_MUX_BCM_IPROC
   tristate "Broadcom iProc based MDIO bus multiplexers"
   depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
   select MDIO_BUS_MUX
   default ARCH_BCM_IPROC
   help
     This module provides a driver for MDIO bus multiplexers found in
     iProc based Broadcom SoCs. This multiplexer connects one of several
     child MDIO bus to a parent bus. Buses could be internal as well as
     external and selection logic lies inside the same multiplexer.
 
config MDIO_BUS_MUX_GPIO
   tristate "GPIO controlled MDIO bus multiplexers"
   depends on OF_GPIO && OF_MDIO
   select MDIO_BUS_MUX
   help
     This module provides a driver for MDIO bus multiplexers that
     are controlled via GPIO lines.  The multiplexer connects one of
     several child MDIO busses to a parent bus.  Child bus
     selection is under the control of GPIO lines.
 
config MDIO_BUS_MUX_MULTIPLEXER
   tristate "MDIO bus multiplexer using kernel multiplexer subsystem"
   depends on OF_MDIO
   select MULTIPLEXER
   select MDIO_BUS_MUX
   help
     This module provides a driver for MDIO bus multiplexer
     that is controlled via the kernel multiplexer subsystem. The
     bus multiplexer connects one of several child MDIO busses to
     a parent bus.  Child bus selection is under the control of
     the kernel multiplexer subsystem.
 
config MDIO_BUS_MUX_MMIOREG
   tristate "MMIO device-controlled MDIO bus multiplexers"
   depends on OF_MDIO && HAS_IOMEM
   select MDIO_BUS_MUX
   help
     This module provides a driver for MDIO bus multiplexers that
     are controlled via a simple memory-mapped device, like an FPGA.
     The multiplexer connects one of several child MDIO busses to a
     parent bus.  Child bus selection is under the control of one of
     the FPGA's registers.
 
     Currently, only 8/16/32 bits registers are supported.
 
 
endif
endif