Lines Matching defs:pin
148 int pin;
150 for (pin = 0; pin < sc->sc_npins; pin++) {
151 gpiobus_pin_ctl(sc->sc_gc, pin, sc->sc_pins[pin].pin_flags);
152 gpiobus_pin_write(sc->sc_gc, pin, sc->sc_pins[pin].pin_state);
213 gpio_pin_defname(struct gpio_softc *sc, int pin)
215 KASSERT(pin >= 0);
222 "gpio-line-names", pin);
235 int pin;
245 /* Configure default pin names */
246 for (pin = 0; pin < sc->sc_npins; pin++) {
249 defname = gpio_pin_defname(sc, pin);
251 sc->sc_pins[pin].pin_defname[0] != '\0') {
252 defname = sc->sc_pins[pin].pin_defname;
259 nm->gp_pin = pin;
358 int npins, pin, i;
366 pin = offset + i;
367 if (pin < 0 || pin >= sc->sc_npins)
369 if (sc->sc_pins[pin].pin_mapped)
380 int npins, pin, i;
388 pin = offset + i;
389 if (pin < 0 || pin >= sc->sc_npins)
391 if (sc->sc_pins[pin].pin_mapped)
393 sc->sc_pins[pin].pin_mapped = 1;
394 map->pm_map[npins++] = pin;
405 int pin, i;
408 pin = map->pm_map[i];
409 sc->sc_pins[pin].pin_mapped = 0;
414 gpio_pin_read(void *gpio, struct gpio_pinmap *map, int pin)
418 return gpiobus_pin_read(sc->sc_gc, map->pm_map[pin]);
422 gpio_pin_write(void *gpio, struct gpio_pinmap *map, int pin, int value)
426 gpiobus_pin_write(sc->sc_gc, map->pm_map[pin], value);
427 sc->sc_pins[map->pm_map[pin]].pin_state = value;
431 gpio_pin_get_conf(void *gpio, struct gpio_pinmap *map, int pin)
437 rv = sc->sc_pins[map->pm_map[pin]].pin_flags;
444 gpio_pin_set_conf(void *gpio, struct gpio_pinmap *map, int pin, int flags)
449 if ((sc->sc_pins[map->pm_map[pin]].pin_caps & checkflags) != checkflags)
452 gpio_pin_ctl(gpio, map, pin, flags);
458 gpio_pin_ctl(void *gpio, struct gpio_pinmap *map, int pin, int flags)
465 gpiobus_pin_ctl(sc->sc_gc, map->pm_map[pin], flags);
466 sc->sc_pins[map->pm_map[pin]].pin_flags = flags;
471 gpio_pin_caps(void *gpio, struct gpio_pinmap *map, int pin)
475 return sc->sc_pins[map->pm_map[pin]].pin_caps;
479 gpio_pin_intrcaps(void *gpio, struct gpio_pinmap *map, int pin)
483 return sc->sc_pins[map->pm_map[pin]].pin_intrcaps;
525 int pin, int irqmode)
532 /* Make sure the pin can do what is being asked. */
533 match = sc->sc_pins[map->pm_map[pin]].pin_intrcaps & irqmode;
539 gpio_intr_establish(void *gpio, struct gpio_pinmap *map, int pin, int ipl,
551 if (! gpio_pin_irqmode_issupported(gpio, map, pin, irqmode))
559 sc->sc_pins[map->pm_map[pin]].pin_num, ipl, irqmode, func, arg));
572 gpio_intr_str(void *gpio, struct gpio_pinmap *map, int pin, int irqmode,
600 sc->sc_pins[map->pm_map[pin]].pin_num,
632 gpio_pin_to_pin_num(void *gpio, struct gpio_pinmap *map, int pin)
636 return sc->sc_pins[map->pm_map[pin]].pin_num;
749 int error, pin, value, flags;
770 pin = req->gp_pin;
772 if (pin < 0 || pin >= sc->sc_npins)
775 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET) &&
781 req->gp_value = gpiobus_pin_read(gc, pin);
783 if (nm->gp_pin == pin) {
795 pin = gpio_pinbyname(sc, req->gp_name);
797 pin = req->gp_pin;
799 if (pin < 0 || pin >= sc->sc_npins)
802 if (sc->sc_pins[pin].pin_mapped)
805 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET) &&
815 req->gp_value = gpiobus_pin_read(gc, pin);
816 gpiobus_pin_write(gc, pin, value);
818 sc->sc_pins[pin].pin_state = value;
827 pin = gpio_pinbyname(sc, req->gp_name);
829 pin = req->gp_pin;
831 if (pin < 0 || pin >= sc->sc_npins)
834 if (sc->sc_pins[pin].pin_mapped)
837 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET) &&
842 value = (sc->sc_pins[pin].pin_state == GPIO_PIN_LOW ?
844 gpiobus_pin_write(gc, pin, value);
846 req->gp_value = sc->sc_pins[pin].pin_state;
848 sc->sc_pins[pin].pin_state = value;
935 pin = gpio_pinbyname(sc, set->gp_name);
937 pin = set->gp_pin;
939 if (pin < 0 || pin >= sc->sc_npins)
944 if ((flags & sc->sc_pins[pin].pin_caps) != flags)
948 set->gp_caps = sc->sc_pins[pin].pin_caps;
950 set->gp_flags = sc->sc_pins[pin].pin_flags;
954 gpiobus_pin_ctl(gc, pin, flags);
956 sc->sc_pins[pin].pin_flags = flags;
959 /* rename pin or new pin? */
966 nm->gp_pin != pin)
968 if (nm->gp_pin == pin)
991 pin = gpio_pinbyname(sc, set->gp_name);
993 pin = set->gp_pin;
995 if (pin < 0 || pin >= sc->sc_npins)
997 if (sc->sc_pins[pin].pin_mapped)
999 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET))
1003 if (nm->gp_pin == pin) {
1009 sc->sc_pins[pin].pin_flags &= ~GPIO_PIN_SET;
1034 int error, pin, value, flags;
1042 pin = op->gp_pin;
1044 if (pin < 0 || pin >= sc->sc_npins)
1047 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET) &&
1053 op->gp_value = gpiobus_pin_read(gc, pin);
1061 pin = op->gp_pin;
1063 if (pin < 0 || pin >= sc->sc_npins)
1066 if (sc->sc_pins[pin].pin_mapped)
1069 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET) &&
1078 gpiobus_pin_write(gc, pin, value);
1080 op->gp_value = sc->sc_pins[pin].pin_state;
1082 sc->sc_pins[pin].pin_state = value;
1090 pin = op->gp_pin;
1092 if (pin < 0 || pin >= sc->sc_npins)
1095 if (sc->sc_pins[pin].pin_mapped)
1098 if (!(sc->sc_pins[pin].pin_flags & GPIO_PIN_SET) &&
1103 value = (sc->sc_pins[pin].pin_state == GPIO_PIN_LOW ?
1105 gpiobus_pin_write(gc, pin, value);
1107 op->gp_value = sc->sc_pins[pin].pin_state;
1109 sc->sc_pins[pin].pin_state = value;
1118 pin = ctl->gp_pin;
1120 if (pin < 0 || pin >= sc->sc_npins)
1122 if (sc->sc_pins[pin].pin_mapped)
1127 if ((flags & sc->sc_pins[pin].pin_caps) != flags)
1130 ctl->gp_caps = sc->sc_pins[pin].pin_caps;
1132 ctl->gp_flags = sc->sc_pins[pin].pin_flags;
1134 gpiobus_pin_ctl(gc, pin, flags);
1136 sc->sc_pins[pin].pin_flags = flags;