• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/mips/mediatek/

Lines Matching refs:pin

182 mtk_gpio_pin_set_direction(struct mtk_gpio_softc *sc, uint32_t pin,
185 uint32_t regval, mask = (1u << pin);
187 if (!(sc->pins[pin].pin_caps & dir))
197 sc->pins[pin].pin_flags &= ~(GPIO_PIN_INPUT | GPIO_PIN_OUTPUT);
198 sc->pins[pin].pin_flags |= dir;
204 mtk_gpio_pin_set_invert(struct mtk_gpio_softc *sc, uint32_t pin, uint32_t val)
206 uint32_t regval, mask = (1u << pin);
214 sc->pins[pin].pin_flags &= ~(GPIO_PIN_INVIN | GPIO_PIN_INVOUT);
215 sc->pins[pin].pin_flags |= val;
221 mtk_gpio_pin_probe(struct mtk_gpio_softc *sc, uint32_t pin)
223 uint32_t mask = (1u << pin);
227 sc->pins[pin].pin_flags = 0;
233 sc->pins[pin].intr_trigger = INTR_TRIGGER_EDGE;
236 sc->pins[pin].intr_polarity = INTR_POLARITY_HIGH;
238 sc->pins[pin].intr_polarity = INTR_POLARITY_LOW;
243 sc->pins[pin].pin_flags |= GPIO_PIN_OUTPUT;
245 sc->pins[pin].pin_flags |= GPIO_PIN_INPUT;
249 if (sc->pins[pin].pin_flags & GPIO_PIN_INPUT) {
250 sc->pins[pin].pin_flags |= GPIO_PIN_INVIN;
252 sc->pins[pin].pin_flags |= GPIO_PIN_INVOUT;
370 mtk_gpio_pin_getcaps(device_t dev, uint32_t pin, uint32_t *caps)
374 if (pin >= sc->num_pins)
378 *caps = sc->pins[pin].pin_caps;
385 mtk_gpio_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags)
389 if (pin >= sc->num_pins)
393 *flags = sc->pins[pin].pin_flags;
400 mtk_gpio_pin_getname(device_t dev, uint32_t pin, char *name)
404 if (pin >= sc->num_pins)
407 strncpy(name, sc->pins[pin].pin_name, GPIOMAXNAME - 1);
414 mtk_gpio_pin_setflags(device_t dev, uint32_t pin, uint32_t flags)
421 if (pin >= sc->num_pins)
425 retval = mtk_gpio_pin_set_direction(sc, pin,
428 retval = mtk_gpio_pin_set_invert(sc, pin,
436 mtk_gpio_pin_set(device_t dev, uint32_t pin, unsigned int value)
444 if (pin >= sc->num_pins)
449 MTK_WRITE_4(sc, GPIO_PIOSET, (1u << pin));
451 MTK_WRITE_4(sc, GPIO_PIORESET, (1u << pin));
458 mtk_gpio_pin_get(device_t dev, uint32_t pin, unsigned int *val)
467 if (pin >= sc->num_pins)
472 *val = (data & (1u << pin)) ? 1 : 0;
479 mtk_gpio_pin_toggle(device_t dev, uint32_t pin)
487 if (pin >= sc->num_pins)
491 if (!(sc->pins[pin].pin_flags & GPIO_PIN_OUTPUT)) {
495 MTK_WRITE_4(sc, GPIO_PIOTOG, (1u << pin));
584 uint32_t pin, mask, val;
589 pin = pisrc->irq;
590 mask = 1u << pin;
594 if (sc->pins[pin].intr_polarity == INTR_POLARITY_LOW) {
614 uint32_t pin, mask, val;
619 pin = pisrc->irq;
620 mask = 1u << pin;