Lines Matching +full:mdio +full:- +full:external
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright © 2021-2022 Bjoern A. Zeeb
50 /* -------------------------------------------------------------------------- */
70 if (sc->dpnidev != NULL) in memacphy_miibus_statchg()
71 MIIBUS_STATCHG(sc->dpnidev); in memacphy_miibus_statchg()
83 device_printf(sc->dev, "setting nidev %p (%s)\n", in memacphy_set_ni_dev()
87 if (sc->dpnidev != NULL) in memacphy_set_ni_dev()
90 sc->dpnidev = nidev; in memacphy_set_ni_dev()
102 if (sc->phy == -1) { in memacphy_get_phy_loc()
106 *phy_loc = sc->phy; in memacphy_get_phy_loc()
112 device_printf(sc->dev, "returning phy_loc %d, error %d\n", in memacphy_get_phy_loc()
119 /* -------------------------------------------------------------------------- */
122 * MDIO Ethernet Management Interface Registers (internal PCS MDIO PHY)
123 * 0x0030 MDIO Configuration Register (MDIO_CFG)
124 * 0x0034 MDIO Control Register (MDIO_CTL)
125 * 0x0038 MDIO Data Register (MDIO_DATA)
126 * 0x003c MDIO Register Address Register (MDIO_ADDR)
128 * External MDIO interfaces
129 * 0x0030 External MDIO Configuration Register (EMDIO_CFG)
130 * 0x0034 External MDIO Control Register (EMDIO_CTL)
131 * 0x0038 External MDIO Data Register (EMDIO_DATA)
132 * 0x003c External MDIO Register Address Register (EMDIO_ADDR)
150 v = bus_read_4(sc->mem_res, reg); in memac_read_4()
151 if (sc->is_little_endian) in memac_read_4()
164 if (sc->is_little_endian) in memac_write_4()
168 bus_write_4(sc->mem_res, reg, v); in memac_write_4()
176 for (count = 1000; count > 0; count--) { in memac_miibus_wait_no_busy()
221 device_printf(sc->dev, "phy read %d:%d = %#06x\n", phy, reg, val); in memac_miibus_readreg()
233 device_printf(sc->dev, "phy write %d:%d\n", phy, reg); in memac_miibus_writereg()
281 sc->mem_res = bus_alloc_resource_any(sc->dev, SYS_RES_MEMORY, in memac_mdio_generic_attach()
283 if (sc->mem_res == NULL) { in memac_mdio_generic_attach()
284 device_printf(sc->dev, "%s: cannot allocate mem resource\n", in memac_mdio_generic_attach()
289 sc->is_little_endian = device_has_property(sc->dev, "little-endian"); in memac_mdio_generic_attach()
298 if (sc->mem_res != NULL) in memac_mdio_generic_detach()
299 bus_release_resource(sc->dev, SYS_RES_MEMORY, in memac_mdio_generic_detach()
300 rman_get_rid(sc->mem_res), sc->mem_res); in memac_mdio_generic_detach()