Lines Matching +full:bit +full:- +full:banging

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
61 #define MDO sc->miibb_ops.mbo_bits[MII_BIT_MDO]
62 #define MDI sc->miibb_ops.mbo_bits[MII_BIT_MDI]
63 #define MDC sc->miibb_ops.mbo_bits[MII_BIT_MDC]
64 #define MDIRPHY sc->miibb_ops.mbo_bits[MII_BIT_DIR_HOST_PHY]
65 #define MDIRHOST sc->miibb_ops.mbo_bits[MII_BIT_DIR_PHY_HOST]
90 if (devi->npins < GPIOMDIO_MIN_PINS) {
93 GPIOMDIO_MIN_PINS, devi->npins);
96 device_set_desc(dev, "GPIO MDIO bit-banging Bus driver");
110 sc->sc_dev = dev;
111 sc->sc_busdev = device_get_parent(dev);
113 if ((node = ofw_bus_get_node(dev)) == -1)
116 sc->mdc_pin = (int)pin;
118 sc->mdio_pin = (int)pin;
120 if (sc->mdc_pin < 0 || sc->mdc_pin > 1)
121 sc->mdc_pin = GPIOMDIO_MDC_DFLT;
122 if (sc->mdio_pin < 0 || sc->mdio_pin > 1)
123 sc->mdio_pin = GPIOMDIO_MDIO_DFLT;
127 devi->pins[sc->mdc_pin], devi->pins[sc->mdio_pin]);
135 sc->miibb_ops.mbo_read = gpiomdio_bb_read;
136 sc->miibb_ops.mbo_write = gpiomdio_bb_write;
151 GPIOBUS_PIN_GET(sc->sc_busdev, sc->sc_dev, sc->mdio_pin, &val);
165 GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, sc->mdio_pin, 1);
167 GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, sc->mdio_pin, 0);
169 GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->mdio_pin,
172 GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->mdio_pin,
177 GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, sc->mdc_pin, 1);
179 GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, sc->mdc_pin, 0);
180 GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, sc->mdc_pin,
191 return (mii_bitbang_readreg(dev, &sc->miibb_ops, phy, reg));
200 mii_bitbang_writereg(dev, &sc->miibb_ops, phy, reg, val);