Lines Matching refs:pin

71 	uint32_t		pin;
112 bcm_gpio_pin_is_ro(struct bcm_gpio_softc *sc, int pin)
117 if (pin == sc->sc_ro_pins[i])
123 bcm_gpio_get_function(struct bcm_gpio_softc *sc, uint32_t pin)
127 /* Five banks, 10 pins per bank, 3 bits per pin. */
128 bank = pin / 10;
129 offset = (pin - bank * 10) * 3;
212 bcm_gpio_set_function(struct bcm_gpio_softc *sc, uint32_t pin, uint32_t f)
219 /* Five banks, 10 pins per bank, 3 bits per pin. */
220 bank = pin / 10;
221 offset = (pin - bank * 10) * 3;
230 bcm_gpio_set_pud(struct bcm_gpio_softc *sc, uint32_t pin, uint32_t state)
237 bank = pin / 32;
238 offset = pin - 32 * bank;
249 bcm_gpio_set_alternate(device_t dev, uint32_t pin, uint32_t nfunc)
257 /* Disable pull-up or pull-down on pin. */
258 bcm_gpio_set_pud(sc, pin, BCM_GPIO_NONE);
260 /* And now set the pin function. */
261 bcm_gpio_set_function(sc, pin, nfunc);
263 /* Update the pin flags. */
265 if (sc->sc_gpio_pins[i].gp_pin == pin)
275 bcm_gpio_pin_configure(struct bcm_gpio_softc *sc, struct gpio_pin *pin,
285 pin->gp_flags &= ~(GPIO_PIN_INPUT|GPIO_PIN_OUTPUT);
287 pin->gp_flags |= GPIO_PIN_OUTPUT;
288 bcm_gpio_set_function(sc, pin->gp_pin,
291 pin->gp_flags |= GPIO_PIN_INPUT;
292 bcm_gpio_set_function(sc, pin->gp_pin,
298 pin->gp_flags &= ~(GPIO_PIN_PULLUP|GPIO_PIN_PULLDOWN);
301 pin->gp_flags |= GPIO_PIN_PULLUP;
302 bcm_gpio_set_pud(sc, pin->gp_pin, BCM_GPIO_PULLUP);
304 pin->gp_flags |= GPIO_PIN_PULLDOWN;
305 bcm_gpio_set_pud(sc, pin->gp_pin, BCM_GPIO_PULLDOWN);
308 bcm_gpio_set_pud(sc, pin->gp_pin, BCM_GPIO_NONE);
322 bcm_gpio_pin_getcaps(device_t dev, uint32_t pin, uint32_t *caps)
328 if (sc->sc_gpio_pins[i].gp_pin == pin)
343 bcm_gpio_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags)
349 if (sc->sc_gpio_pins[i].gp_pin == pin)
364 bcm_gpio_pin_getname(device_t dev, uint32_t pin, char *name)
370 if (sc->sc_gpio_pins[i].gp_pin == pin)
385 bcm_gpio_pin_setflags(device_t dev, uint32_t pin, uint32_t flags)
391 if (sc->sc_gpio_pins[i].gp_pin == pin)
399 if (bcm_gpio_pin_is_ro(sc, pin))
408 bcm_gpio_pin_set(device_t dev, uint32_t pin, unsigned int value)
415 if (sc->sc_gpio_pins[i].gp_pin == pin)
423 if (bcm_gpio_pin_is_ro(sc, pin))
426 bank = pin / 32;
427 offset = pin - 32 * bank;
440 bcm_gpio_pin_get(device_t dev, uint32_t pin, unsigned int *val)
447 if (sc->sc_gpio_pins[i].gp_pin == pin)
454 bank = pin / 32;
455 offset = pin - 32 * bank;
466 bcm_gpio_pin_toggle(device_t dev, uint32_t pin)
473 if (sc->sc_gpio_pins[i].gp_pin == pin)
481 if (bcm_gpio_pin_is_ro(sc, pin))
484 bank = pin / 32;
485 offset = pin - 32 * bank;
543 /* Get the current pin function. */
544 nfunc = bcm_gpio_get_function(sc, sc_sysctl->pin);
551 /* Parse the user supplied string and check for a valid pin function. */
555 /* Update the pin alternate function. */
556 bcm_gpio_set_alternate(sc->sc_dev, sc_sysctl->pin, nfunc);
572 * Add per-pin sysctl tree/handlers.
577 pin_node = SYSCTL_ADD_NODE(ctx, tree, OID_AUTO, "pin",
591 sc_sysctl->pin = sc->sc_gpio_pins[i].gp_pin;
725 "pin %d", j);