• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/dev/nctgpio/

Lines Matching defs:pin_num

200 nct_get_pin_reg(struct nct_softc *sc, reg_t reg, uint32_t pin_num)
206 KASSERT(NCT_IS_VALID_PIN(pin_num), ("%s: invalid pin number %d",
207 __func__, pin_num));
209 group = pin_num >> 3;
210 bit = pin_num & 7;
216 nct_get_pin_cache(struct nct_softc *sc, uint32_t pin_num, uint8_t *cache)
222 KASSERT(NCT_IS_VALID_PIN(pin_num), ("%s: invalid pin number %d",
223 __func__, pin_num));
225 group = pin_num >> 3;
226 bit = pin_num & 7;
244 nct_set_pin_reg(struct nct_softc *sc, reg_t reg, uint32_t pin_num, bool val)
252 KASSERT(NCT_IS_VALID_PIN(pin_num),
253 ("%s: invalid pin number %d", __func__, pin_num));
257 group = pin_num >> 3;
258 bit = pin_num & 7;
277 nct_set_pin_input(struct nct_softc *sc, uint32_t pin_num, bool val)
279 nct_set_pin_reg(sc, REG_IOR, pin_num, val);
286 nct_pin_is_input(struct nct_softc *sc, uint32_t pin_num)
288 return (nct_get_pin_cache(sc, pin_num, sc->cache.ior));
295 nct_set_pin_inverted(struct nct_softc *sc, uint32_t pin_num, bool val)
297 nct_set_pin_reg(sc, REG_INV, pin_num, val);
301 nct_pin_is_inverted(struct nct_softc *sc, uint32_t pin_num)
303 return (nct_get_pin_cache(sc, pin_num, sc->cache.inv));
314 nct_write_pin(struct nct_softc *sc, uint32_t pin_num, bool val)
319 KASSERT(!nct_pin_is_input(sc, pin_num), ("attempt to write input pin"));
320 group = pin_num >> 3;
321 bit = pin_num & 7;
341 nct_read_pin(struct nct_softc *sc, uint32_t pin_num)
347 if (nct_pin_is_input(sc, pin_num))
348 return (nct_get_pin_reg(sc, REG_DAT, pin_num));
350 group = pin_num >> 3;
351 bit = pin_num & 7;
355 val = nct_get_pin_reg(sc, REG_DAT, pin_num);
365 nct_outcfg_addr(uint32_t pin_num)
367 KASSERT(NCT_IS_VALID_PIN(pin_num), ("%s: invalid pin number %d",
368 __func__, pin_num));
369 if ((pin_num >> 3) == 0)
381 nct_set_pin_opendrain(struct nct_softc *sc, uint32_t pin_num)
386 reg = nct_outcfg_addr(pin_num);
388 outcfg |= NCT_PIN_BIT(pin_num);
393 nct_set_pin_pushpull(struct nct_softc *sc, uint32_t pin_num)
398 reg = nct_outcfg_addr(pin_num);
400 outcfg &= ~NCT_PIN_BIT(pin_num);
405 nct_pin_is_opendrain(struct nct_softc *sc, uint32_t pin_num)
410 reg = nct_outcfg_addr(pin_num);
412 return (outcfg & NCT_PIN_BIT(pin_num));
592 nct_gpio_pin_set(device_t dev, uint32_t pin_num, uint32_t pin_value)
596 if (!NCT_IS_VALID_PIN(pin_num))
601 if ((sc->pins[pin_num].gp_flags & GPIO_PIN_OUTPUT) == 0) {
605 nct_write_pin(sc, pin_num, pin_value);
612 nct_gpio_pin_get(device_t dev, uint32_t pin_num, uint32_t *pin_value)
616 if (!NCT_IS_VALID_PIN(pin_num))
622 *pin_value = nct_read_pin(sc, pin_num);
629 nct_gpio_pin_toggle(device_t dev, uint32_t pin_num)
633 if (!NCT_IS_VALID_PIN(pin_num))
639 if ((sc->pins[pin_num].gp_flags & GPIO_PIN_OUTPUT) == 0) {
643 if (nct_read_pin(sc, pin_num))
644 nct_write_pin(sc, pin_num, 0);
646 nct_write_pin(sc, pin_num, 1);
654 nct_gpio_pin_getcaps(device_t dev, uint32_t pin_num, uint32_t *caps)
658 if (!NCT_IS_VALID_PIN(pin_num))
664 *caps = sc->pins[pin_num].gp_caps;
671 nct_gpio_pin_getflags(device_t dev, uint32_t pin_num, uint32_t *flags)
675 if (!NCT_IS_VALID_PIN(pin_num))
681 *flags = sc->pins[pin_num].gp_flags;
688 nct_gpio_pin_getname(device_t dev, uint32_t pin_num, char *name)
692 if (!NCT_IS_VALID_PIN(pin_num))
698 memcpy(name, sc->pins[pin_num].gp_name, GPIOMAXNAME);
705 nct_gpio_pin_setflags(device_t dev, uint32_t pin_num, uint32_t flags)
710 if (!NCT_IS_VALID_PIN(pin_num))
714 pin = &sc->pins[pin_num];
734 nct_set_pin_input(sc, pin_num, (flags & GPIO_PIN_INPUT) != 0);
739 nct_set_pin_inverted(sc, pin_num,
746 nct_set_pin_opendrain(sc, pin_num);
748 nct_set_pin_pushpull(sc, pin_num);