Lines Matching defs:sc
75 struct sfp_softc *sc = (struct sfp_softc *)self;
78 sc->sc_node = faa->fa_node;
79 sc->sc_tag = i2c_byphandle(OF_getpropint(sc->sc_node,
82 if (sc->sc_tag == NULL) {
89 sc->sc_mod_def0_gpio_len =
90 sfp_get_gpio(sc, "mod-def0", &sc->sc_mod_def0_gpio);
91 if (sc->sc_mod_def0_gpio) {
92 gpio_controller_config_pin(sc->sc_mod_def0_gpio,
96 sc->sc_tx_disable_gpio_len =
97 sfp_get_gpio(sc, "tx-disable", &sc->sc_tx_disable_gpio);
98 if (sc->sc_tx_disable_gpio) {
99 gpio_controller_config_pin(sc->sc_tx_disable_gpio,
103 sc->sc_sd.sd_node = faa->fa_node;
104 sc->sc_sd.sd_cookie = sc;
105 sc->sc_sd.sd_enable = sfp_gpio_enable;
106 sc->sc_sd.sd_get_sffpage = sfp_i2c_get_sffpage;
107 sfp_register(&sc->sc_sd);
113 struct sfp_softc *sc = (struct sfp_softc *)self;
115 free(sc->sc_mod_def0_gpio, M_DEVBUF, sc->sc_mod_def0_gpio_len);
116 free(sc->sc_tx_disable_gpio, M_DEVBUF, sc->sc_tx_disable_gpio_len);
121 sfp_get_gpio(struct sfp_softc *sc, const char *name, uint32_t **gpio)
127 len = OF_getproplen(sc->sc_node, buf);
130 len = OF_getproplen(sc->sc_node, buf);
135 OF_getpropintarray(sc->sc_node, buf, *gpio, len);
142 struct sfp_softc *sc = cookie;
144 if (sc->sc_tx_disable_gpio) {
145 gpio_controller_set_pin(sc->sc_tx_disable_gpio, !enable);
155 struct sfp_softc *sc = cookie;
158 if (sc->sc_mod_def0_gpio) {
159 if (!gpio_controller_get_pin(sc->sc_mod_def0_gpio))
163 iic_acquire_bus(sc->sc_tag, 0);
164 if (iic_exec(sc->sc_tag, I2C_OP_READ_WITH_STOP,
168 sc->sc_dev.dv_xname, reg);
170 iic_release_bus(sc->sc_tag, 0);