Lines Matching refs:pin_num
162 ftgpio_pin_write(struct ftgpio_softc *sc, uint32_t pin_num, bool pin_value) in ftgpio_pin_write() argument
169 index = FTGPIO_PIN_GETINDEX(pin_num); in ftgpio_pin_write()
170 group = FTGPIO_PIN_GETGROUP(pin_num); in ftgpio_pin_write()
171 pin_flags = sc->pins[pin_num].gp_flags; in ftgpio_pin_write()
174 pin_num, group, index); in ftgpio_pin_write()
179 pin_num, group, index, (pin_value ? "on" : "off")); in ftgpio_pin_write()
190 ftgpio_pin_read(struct ftgpio_softc *sc, uint32_t pin_num) in ftgpio_pin_read() argument
198 group = FTGPIO_PIN_GETGROUP(pin_num); in ftgpio_pin_read()
199 index = FTGPIO_PIN_GETINDEX(pin_num); in ftgpio_pin_read()
200 pin_flags = sc->pins[pin_num].gp_flags; in ftgpio_pin_read()
203 pin_num, group, index); in ftgpio_pin_read()
217 pin_num, group, index, (pin_value ? "on" : "off")); in ftgpio_pin_read()
223 ftgpio_pin_set_drive(struct ftgpio_softc *sc, uint32_t pin_num, bool pin_drive) in ftgpio_pin_set_drive() argument
228 index = FTGPIO_PIN_GETINDEX(pin_num); in ftgpio_pin_set_drive()
229 group = FTGPIO_PIN_GETGROUP(pin_num); in ftgpio_pin_set_drive()
243 ftgpio_pin_is_pushpull(struct ftgpio_softc *sc, uint32_t pin_num) in ftgpio_pin_is_pushpull() argument
249 index = FTGPIO_PIN_GETINDEX(pin_num); in ftgpio_pin_is_pushpull()
250 group = FTGPIO_PIN_GETGROUP(pin_num); in ftgpio_pin_is_pushpull()
259 pin_num, group, index, (is_pushpull ? "pushpull" : "opendrain")); in ftgpio_pin_is_pushpull()
265 ftgpio_pin_set_io(struct ftgpio_softc *sc, uint32_t pin_num, bool pin_io) in ftgpio_pin_set_io() argument
270 index = FTGPIO_PIN_GETINDEX(pin_num); in ftgpio_pin_set_io()
271 group = FTGPIO_PIN_GETGROUP(pin_num); in ftgpio_pin_set_io()
273 pin_num, group, index, (pin_io ? "output" : "input")); in ftgpio_pin_set_io()
289 ftgpio_pin_is_output(struct ftgpio_softc *sc, uint32_t pin_num) in ftgpio_pin_is_output() argument
294 index = FTGPIO_PIN_GETINDEX(pin_num); in ftgpio_pin_is_output()
295 group = FTGPIO_PIN_GETGROUP(pin_num); in ftgpio_pin_is_output()
299 pin_num, group, index, (is_output ? "output" : "input")); in ftgpio_pin_is_output()
304 ftgpio_pin_setflags(struct ftgpio_softc *sc, uint32_t pin_num, uint32_t pin_flags) in ftgpio_pin_setflags() argument
316 ftgpio_pin_set_drive(sc, pin_num, 0 /* open drain */); in ftgpio_pin_setflags()
318 ftgpio_pin_set_drive(sc, pin_num, 1 /* push pull */); in ftgpio_pin_setflags()
321 ftgpio_pin_set_io(sc, pin_num, 0 /* input */); in ftgpio_pin_setflags()
323 ftgpio_pin_set_io(sc, pin_num, 1 /* output */); in ftgpio_pin_setflags()
325 sc->pins[pin_num].gp_flags = pin_flags; in ftgpio_pin_setflags()
441 ftgpio_gpio_pin_set(device_t dev, uint32_t pin_num, uint32_t pin_value) in ftgpio_gpio_pin_set() argument
445 if (!FTGPIO_IS_VALID_PIN(pin_num)) in ftgpio_gpio_pin_set()
450 if ((sc->pins[pin_num].gp_flags & GPIO_PIN_OUTPUT) == 0) { in ftgpio_gpio_pin_set()
454 ftgpio_pin_write(sc, pin_num, pin_value); in ftgpio_gpio_pin_set()
461 ftgpio_gpio_pin_get(device_t dev, uint32_t pin_num, uint32_t *pin_value) in ftgpio_gpio_pin_get() argument
465 if (!FTGPIO_IS_VALID_PIN(pin_num)) in ftgpio_gpio_pin_get()
473 *pin_value = ftgpio_pin_read(sc, pin_num); in ftgpio_gpio_pin_get()
480 ftgpio_gpio_pin_toggle(device_t dev, uint32_t pin_num) in ftgpio_gpio_pin_toggle() argument
485 if (!FTGPIO_IS_VALID_PIN(pin_num)) in ftgpio_gpio_pin_toggle()
490 pin_value = ftgpio_pin_read(sc, pin_num); in ftgpio_gpio_pin_toggle()
491 ftgpio_pin_write(sc, pin_num, !pin_value); in ftgpio_gpio_pin_toggle()
498 ftgpio_gpio_pin_getname(device_t dev, uint32_t pin_num, char *pin_name) in ftgpio_gpio_pin_getname() argument
505 if (!FTGPIO_IS_VALID_PIN(pin_num)) in ftgpio_gpio_pin_getname()
509 strlcpy(pin_name, sc->pins[pin_num].gp_name, GPIOMAXNAME); in ftgpio_gpio_pin_getname()
515 ftgpio_gpio_pin_getcaps(device_t dev, uint32_t pin_num, uint32_t *pin_caps) in ftgpio_gpio_pin_getcaps() argument
522 if (!FTGPIO_IS_VALID_PIN(pin_num)) in ftgpio_gpio_pin_getcaps()
526 *pin_caps = sc->pins[pin_num].gp_caps; in ftgpio_gpio_pin_getcaps()
532 ftgpio_gpio_pin_getflags(device_t dev, uint32_t pin_num, uint32_t *pin_flags) in ftgpio_gpio_pin_getflags() argument
539 if (!FTGPIO_IS_VALID_PIN(pin_num)) in ftgpio_gpio_pin_getflags()
543 *pin_flags = sc->pins[pin_num].gp_flags; in ftgpio_gpio_pin_getflags()
549 ftgpio_gpio_pin_setflags(device_t dev, uint32_t pin_num, uint32_t pin_flags) in ftgpio_gpio_pin_setflags() argument
554 if (!FTGPIO_IS_VALID_PIN(pin_num)) { in ftgpio_gpio_pin_setflags()
555 FTGPIO_VERBOSE_PRINTF(dev, "invalid pin number: %u\n", pin_num); in ftgpio_gpio_pin_setflags()
562 if ((pin_flags & sc->pins[pin_num].gp_caps) != pin_flags) { in ftgpio_gpio_pin_setflags()
564 pin_flags, sc->pins[pin_num].gp_caps); in ftgpio_gpio_pin_setflags()
569 ret = ftgpio_pin_setflags(sc, pin_num, pin_flags); in ftgpio_gpio_pin_setflags()