Lines Matching defs:pin_def

179 	const struct sunxi_gpio_pins *pin_def;
198 const struct sunxi_gpio_pins *pin_def;
202 pin_def = &sc->sc_padconf->pins[n];
203 if (pin_def->port == port && pin_def->pin == pin)
204 return pin_def;
213 const struct sunxi_gpio_pins *pin_def;
217 pin_def = &sc->sc_padconf->pins[n];
218 if (strcmp(pin_def->name, name) == 0)
219 return pin_def;
227 const struct sunxi_gpio_pins *pin_def, const char *func)
234 const bus_size_t cfg_reg = SUNXI_GPIO_CFG(pin_def->port, pin_def->pin);
235 const uint32_t cfg_mask = SUNXI_GPIO_CFG_PINMASK(pin_def->pin);
238 if (pin_def->functions[n] == NULL)
240 if (strcmp(pin_def->functions[n], func) == 0) {
246 pin_def->port + 'A', pin_def->pin, GPIO_READ(sc, cfg_reg), cfg);
255 func, pin_def->port + 'A', pin_def->pin);
262 const struct sunxi_gpio_pins *pin_def, int flags)
268 const bus_size_t pull_reg = SUNXI_GPIO_PULL(pin_def->port, pin_def->pin);
269 const uint32_t pull_mask = SUNXI_GPIO_PULL_PINMASK(pin_def->pin);
281 pin_def->port + 'A', pin_def->pin, GPIO_READ(sc, pull_reg), pull);
290 const struct sunxi_gpio_pins *pin_def, int drive_strength)
299 const bus_size_t drv_reg = SUNXI_GPIO_DRV(pin_def->port, pin_def->pin);
300 const uint32_t drv_mask = SUNXI_GPIO_DRV_PINMASK(pin_def->pin);
307 pin_def->port + 'A', pin_def->pin, GPIO_READ(sc, drv_reg), drv);
315 sunxi_gpio_ctl(struct sunxi_gpio_softc *sc, const struct sunxi_gpio_pins *pin_def,
321 return sunxi_gpio_setfunc(sc, pin_def, "gpio_in");
323 return sunxi_gpio_setfunc(sc, pin_def, "gpio_out");
332 const struct sunxi_gpio_pins *pin_def;
344 pin_def = sunxi_gpio_lookup(sc, port, pin);
345 if (pin_def == NULL)
349 error = sunxi_gpio_ctl(sc, pin_def, flags);
357 gpin->pin_def = pin_def;
371 sunxi_gpio_ctl(pin->pin_sc, pin->pin_def, GPIO_PIN_INPUT);
382 const struct sunxi_gpio_pins *pin_def = pin->pin_def;
388 const bus_size_t data_reg = SUNXI_GPIO_DATA(pin_def->port);
389 const uint32_t data_mask = __BIT(pin_def->pin);
399 pin_def->port + 'A', pin_def->pin, data,
411 const struct sunxi_gpio_pins *pin_def = pin->pin_def;
416 const bus_size_t data_reg = SUNXI_GPIO_DATA(pin_def->port);
417 const uint32_t data_mask = __BIT(pin_def->pin);
428 pin_def->port + 'A', pin_def->pin, GPIO_READ(sc, data_reg), data);
474 const struct sunxi_gpio_pins *pin_def, u_int mode, bool mpsafe,
480 if (pin_def->functions[pin_def->eint_func] == NULL ||
481 strcmp(pin_def->functions[pin_def->eint_func], "irq") != 0)
484 KASSERT(pin_def->eint_num < SUNXI_GPIO_MAX_EINT);
488 eint = &sc->sc_eint[pin_def->eint_bank][pin_def->eint_num];
495 if (sunxi_gpio_setfunc(sc, pin_def, "irq") != 0) {
503 eint->eint_bank = pin_def->eint_bank;
504 eint->eint_num = pin_def->eint_num;
553 const struct sunxi_gpio_pins *pin_def;
591 pin_def = sunxi_gpio_lookup(sc, port, pin);
592 if (pin_def == NULL)
595 return sunxi_intr_enable(sc, pin_def, mode, mpsafe, func, arg);
611 const struct sunxi_gpio_pins *pin_def;
621 pin_def = sunxi_gpio_lookup(sc, port, pin);
622 if (pin_def == NULL)
625 snprintf(buf, buflen, "GPIO %s", pin_def->name);
643 const struct sunxi_gpio_pins *pin_def;
670 pin_def = &sc->sc_padconf->pins[pin];
672 return sunxi_intr_enable(sc, pin_def, mode, mpsafe, func, arg);
688 const struct sunxi_gpio_pins *pin_def;
692 pin_def = &sc->sc_padconf->pins[pin];
694 snprintf(buf, buflen, "GPIO %s", pin_def->name);
774 const struct sunxi_gpio_pins *pin_def)
781 const char c = tolower(pin_def->name[1]);
821 pin_def->port, val);
822 val = GPIO_READ(sc, SUNXI_GPIO_GRP_CONFIG(pin_def->port));
825 GPIO_WRITE(sc, SUNXI_GPIO_GRP_CONFIG(pin_def->port), val);
834 const struct sunxi_gpio_pins *pin_def;
861 pin_def = sunxi_gpio_lookup_byname(sc, pins);
862 if (pin_def == NULL) {
866 if (sunxi_gpio_setfunc(sc, pin_def, function) != 0)
870 sunxi_gpio_setpull(sc, pin_def, bias);
873 sunxi_gpio_setdrv(sc, pin_def, drive_strength);
875 sunxi_pinctrl_enable_regulator(sc, pin_def);
891 const struct sunxi_gpio_pins *pin_def = &sc->sc_padconf->pins[pin];
897 const bus_size_t data_reg = SUNXI_GPIO_DATA(pin_def->port);
898 const uint32_t data_mask = __BIT(pin_def->pin);
911 const struct sunxi_gpio_pins *pin_def = &sc->sc_padconf->pins[pin];
916 const bus_size_t data_reg = SUNXI_GPIO_DATA(pin_def->port);
917 const uint32_t data_mask = __BIT(pin_def->pin);
933 const struct sunxi_gpio_pins *pin_def = &sc->sc_padconf->pins[pin];
938 sunxi_gpio_ctl(sc, pin_def, flags);
939 sunxi_gpio_setpull(sc, pin_def, flags);
946 const struct sunxi_gpio_pins *pin_def;
963 pin_def = &sc->sc_padconf->pins[pin];
967 if (pin_def->functions[pin_def->eint_func] != NULL &&
968 strcmp(pin_def->functions[pin_def->eint_func], "irq") == 0) {
975 strlcpy(sc->sc_pins[pin].pin_defname, pin_def->name,
1052 const struct sunxi_gpio_pins *pin_def = &sc->sc_padconf->pins[i];
1053 if (pin_def->eint_func == 0)
1055 GPIO_WRITE(sc, SUNXI_GPIO_INT_CTL(pin_def->eint_bank), __BIT(pin_def->eint_num));
1056 GPIO_WRITE(sc, SUNXI_GPIO_INT_STATUS(pin_def->eint_bank), __BIT(pin_def->eint_num));
1058 if (sc->sc_eint_bank_max < pin_def->eint_bank)
1059 sc->sc_eint_bank_max = pin_def->eint_bank;