Lines Matching refs:pin

151 	int rv, fnc, pin;
153 for (pin = 0; pin < sc->gpio_npins; pin++) {
154 if (strcmp(sc->gpio_pins[pin]->pin_name, pin_name) == 0)
157 if (pin >= sc->gpio_npins) {
158 device_printf(sc->dev, "Unknown pin: %s\n", pin_name);
162 ctrl = sc->gpio_pins[pin]->pin_ctrl_reg;
163 sc->gpio_pins[pin]->pin_cfg_flags = cfg->flags;
168 "Unknown function %s for pin %s\n", cfg->function,
169 sc->gpio_pins[pin]->pin_name);
202 if (ctrl != sc->gpio_pins[pin]->pin_ctrl_reg) {
203 rv = WR1(sc, AS3722_GPIO0_CONTROL + pin, ctrl);
204 sc->gpio_pins[pin]->pin_ctrl_reg = ctrl;
250 "Cannot configure pin: %s: %d\n", pname, rv);
306 as3722_gpio_pin_getcaps(device_t dev, uint32_t pin, uint32_t *caps)
311 if (pin >= sc->gpio_npins)
314 *caps = sc->gpio_pins[pin]->pin_caps;
320 as3722_gpio_pin_getname(device_t dev, uint32_t pin, char *name)
325 if (pin >= sc->gpio_npins)
328 memcpy(name, sc->gpio_pins[pin]->pin_name, GPIOMAXNAME);
334 as3722_gpio_pin_getflags(device_t dev, uint32_t pin, uint32_t *out_flags)
342 if (pin >= sc->gpio_npins)
346 tmp = sc->gpio_pins[pin]->pin_ctrl_reg;
351 /* Is pin in GPIO mode ? */
386 as3722_gpio_get_mode(struct as3722_softc *sc, uint32_t pin, uint32_t gpio_flags)
391 ctrl = sc->gpio_pins[pin]->pin_ctrl_reg;
392 flags = sc->gpio_pins[pin]->pin_cfg_flags;
430 as3722_gpio_pin_setflags(device_t dev, uint32_t pin, uint32_t flags)
437 if (pin >= sc->gpio_npins)
441 ctrl = sc->gpio_pins[pin]->pin_ctrl_reg;
443 /* Is pin in GPIO mode ? */
448 mode = as3722_gpio_get_mode(sc, pin, flags);
452 if (ctrl != sc->gpio_pins[pin]->pin_ctrl_reg) {
453 rv = WR1(sc, AS3722_GPIO0_CONTROL + pin, ctrl);
454 sc->gpio_pins[pin]->pin_ctrl_reg = ctrl;
461 as3722_gpio_pin_set(device_t dev, uint32_t pin, uint32_t val)
468 if (pin >= sc->gpio_npins)
472 if (sc->gpio_pins[pin]->pin_ctrl_reg & AS3722_GPIO_INVERT)
476 rv = RM1(sc, AS3722_GPIO_SIGNAL_OUT, (1 << pin), (tmp << pin));
482 as3722_gpio_pin_get(device_t dev, uint32_t pin, uint32_t *val)
489 if (pin >= sc->gpio_npins)
493 ctrl = sc->gpio_pins[pin]->pin_ctrl_reg;
504 *val = tmp & (1 << pin) ? 1 : 0;
511 as3722_gpio_pin_toggle(device_t dev, uint32_t pin)
518 if (pin >= sc->gpio_npins)
527 tmp ^= (1 <<pin);
528 rv = RM1(sc, AS3722_GPIO_SIGNAL_OUT, (1 << pin), tmp);
535 int gcells, pcell_t *gpios, uint32_t *pin, uint32_t *flags)
540 *pin = gpios[0];
548 struct as3722_gpio_pin *pin;
563 pin = sc->gpio_pins[i];
564 sprintf(pin->pin_name, "gpio%d", i);
565 pin->pin_caps = GPIO_PIN_INPUT | GPIO_PIN_OUTPUT |
569 rv = RD1(sc, AS3722_GPIO0_CONTROL + i, &pin->pin_ctrl_reg);
572 "Cannot read configuration for pin %s\n",