Lines Matching +full:tri +full:- +full:state

1 // SPDX-License-Identifier: GPL-2.0+
4 * Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
11 * This provides a bit-banged interface to the ethernet MII management
115 BB_MII_RELOCATE(bb_miiphy_buses[i].init, gd->reloc_off); in bb_miiphy_init()
116 BB_MII_RELOCATE(bb_miiphy_buses[i].mdio_active, gd->reloc_off); in bb_miiphy_init()
117 BB_MII_RELOCATE(bb_miiphy_buses[i].mdio_tristate, gd->reloc_off); in bb_miiphy_init()
118 BB_MII_RELOCATE(bb_miiphy_buses[i].set_mdio, gd->reloc_off); in bb_miiphy_init()
119 BB_MII_RELOCATE(bb_miiphy_buses[i].get_mdio, gd->reloc_off); in bb_miiphy_init()
120 BB_MII_RELOCATE(bb_miiphy_buses[i].set_mdc, gd->reloc_off); in bb_miiphy_init()
121 BB_MII_RELOCATE(bb_miiphy_buses[i].delay, gd->reloc_off); in bb_miiphy_init()
165 bus->mdio_active(bus); in miiphy_pre()
166 bus->set_mdio(bus, 1); in miiphy_pre()
168 bus->set_mdc(bus, 0); in miiphy_pre()
169 bus->delay(bus); in miiphy_pre()
170 bus->set_mdc(bus, 1); in miiphy_pre()
171 bus->delay(bus); in miiphy_pre()
175 bus->set_mdc(bus, 0); in miiphy_pre()
176 bus->set_mdio(bus, 0); in miiphy_pre()
177 bus->delay(bus); in miiphy_pre()
178 bus->set_mdc(bus, 1); in miiphy_pre()
179 bus->delay(bus); in miiphy_pre()
180 bus->set_mdc(bus, 0); in miiphy_pre()
181 bus->set_mdio(bus, 1); in miiphy_pre()
182 bus->delay(bus); in miiphy_pre()
183 bus->set_mdc(bus, 1); in miiphy_pre()
184 bus->delay(bus); in miiphy_pre()
185 bus->set_mdc(bus, 0); in miiphy_pre()
186 bus->set_mdio(bus, read); in miiphy_pre()
187 bus->delay(bus); in miiphy_pre()
188 bus->set_mdc(bus, 1); in miiphy_pre()
189 bus->delay(bus); in miiphy_pre()
190 bus->set_mdc(bus, 0); in miiphy_pre()
191 bus->set_mdio(bus, !read); in miiphy_pre()
192 bus->delay(bus); in miiphy_pre()
193 bus->set_mdc(bus, 1); in miiphy_pre()
194 bus->delay(bus); in miiphy_pre()
198 bus->set_mdc(bus, 0); in miiphy_pre()
200 bus->set_mdio(bus, 0); in miiphy_pre()
202 bus->set_mdio(bus, 1); in miiphy_pre()
204 bus->delay(bus); in miiphy_pre()
205 bus->set_mdc(bus, 1); in miiphy_pre()
206 bus->delay(bus); in miiphy_pre()
212 bus->set_mdc(bus, 0); in miiphy_pre()
214 bus->set_mdio(bus, 0); in miiphy_pre()
216 bus->set_mdio(bus, 1); in miiphy_pre()
218 bus->delay(bus); in miiphy_pre()
219 bus->set_mdc(bus, 1); in miiphy_pre()
220 bus->delay(bus); in miiphy_pre()
239 bus = bb_miiphy_getbus(miidev->name); in bb_miiphy_read()
241 return -1; in bb_miiphy_read()
246 /* tri-state our MDIO I/O pin so we can read */ in bb_miiphy_read()
247 bus->set_mdc(bus, 0); in bb_miiphy_read()
248 bus->mdio_tristate(bus); in bb_miiphy_read()
249 bus->delay(bus); in bb_miiphy_read()
250 bus->set_mdc(bus, 1); in bb_miiphy_read()
251 bus->delay(bus); in bb_miiphy_read()
254 bus->get_mdio(bus, &v); in bb_miiphy_read()
258 bus->set_mdc(bus, 0); in bb_miiphy_read()
259 bus->delay(bus); in bb_miiphy_read()
260 bus->set_mdc(bus, 1); in bb_miiphy_read()
261 bus->delay(bus); in bb_miiphy_read()
264 return -1; in bb_miiphy_read()
267 bus->set_mdc(bus, 0); in bb_miiphy_read()
268 bus->delay(bus); in bb_miiphy_read()
273 bus->set_mdc(bus, 1); in bb_miiphy_read()
274 bus->delay(bus); in bb_miiphy_read()
276 bus->get_mdio(bus, &v); in bb_miiphy_read()
278 bus->set_mdc(bus, 0); in bb_miiphy_read()
279 bus->delay(bus); in bb_miiphy_read()
282 bus->set_mdc(bus, 1); in bb_miiphy_read()
283 bus->delay(bus); in bb_miiphy_read()
284 bus->set_mdc(bus, 0); in bb_miiphy_read()
285 bus->delay(bus); in bb_miiphy_read()
286 bus->set_mdc(bus, 1); in bb_miiphy_read()
287 bus->delay(bus); in bb_miiphy_read()
310 bus = bb_miiphy_getbus(miidev->name); in bb_miiphy_write()
313 return -1; in bb_miiphy_write()
319 bus->set_mdc(bus, 0); in bb_miiphy_write()
320 bus->set_mdio(bus, 1); in bb_miiphy_write()
321 bus->delay(bus); in bb_miiphy_write()
322 bus->set_mdc(bus, 1); in bb_miiphy_write()
323 bus->delay(bus); in bb_miiphy_write()
324 bus->set_mdc(bus, 0); in bb_miiphy_write()
325 bus->set_mdio(bus, 0); in bb_miiphy_write()
326 bus->delay(bus); in bb_miiphy_write()
327 bus->set_mdc(bus, 1); in bb_miiphy_write()
328 bus->delay(bus); in bb_miiphy_write()
332 bus->set_mdc(bus, 0); in bb_miiphy_write()
334 bus->set_mdio(bus, 0); in bb_miiphy_write()
336 bus->set_mdio(bus, 1); in bb_miiphy_write()
338 bus->delay(bus); in bb_miiphy_write()
339 bus->set_mdc(bus, 1); in bb_miiphy_write()
340 bus->delay(bus); in bb_miiphy_write()
345 * Tri-state the MDIO line. in bb_miiphy_write()
347 bus->mdio_tristate(bus); in bb_miiphy_write()
348 bus->set_mdc(bus, 0); in bb_miiphy_write()
349 bus->delay(bus); in bb_miiphy_write()
350 bus->set_mdc(bus, 1); in bb_miiphy_write()
351 bus->delay(bus); in bb_miiphy_write()