Lines Matching +full:oe +full:- +full:gpios
2 * Take drivers/gpio/gpio-74x164.c as reference.
4 * 74Hx164 - Generic serial-in/parallel-out 8-bits shift register GPIO driver
8 * SPDX-License-Identifier: GPL-2.0+
19 #include <dt-bindings/gpio/gpio.h>
25 * struct gen_74x164_chip - Data for 74Hx164
27 * @oe: OE pin
34 struct gpio_desc oe; member
55 ret = dm_spi_xfer(dev, priv->nregs * 8, priv->buffer, NULL, in gen_74x164_write_conf()
66 uint bank = priv->nregs - 1 - offset / 8; in gen_74x164_get_value()
69 return (priv->buffer[bank] >> pin) & 0x1; in gen_74x164_get_value()
76 uint bank = priv->nregs - 1 - offset / 8; in gen_74x164_set_value()
81 priv->buffer[bank] |= 1 << pin; in gen_74x164_set_value()
83 priv->buffer[bank] &= ~(1 << pin); in gen_74x164_set_value()
94 return -ENOSYS; in gen_74x164_direction_input()
111 desc->offset = args->args[0]; in gen_74x164_xlate()
112 desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0; in gen_74x164_xlate()
132 const void *fdt = gd->fdt_blob; in gen_74x164_probe()
135 snprintf(name, sizeof(name), "%s_", dev->name); in gen_74x164_probe()
138 return -ENOMEM; in gen_74x164_probe()
142 * Documentation/devicetree/bindings/gpio/gpio-74x164.txt in gen_74x164_probe()
144 priv->nregs = fdtdec_get_int(fdt, node, "registers-number", 1); in gen_74x164_probe()
145 priv->buffer = calloc(priv->nregs, sizeof(u8)); in gen_74x164_probe()
146 if (!priv->buffer) { in gen_74x164_probe()
147 ret = -ENOMEM; in gen_74x164_probe()
151 ret = fdtdec_get_byte_array(fdt, node, "registers-default", in gen_74x164_probe()
152 priv->buffer, priv->nregs); in gen_74x164_probe()
154 dev_dbg(dev, "No registers-default property\n"); in gen_74x164_probe()
156 ret = gpio_request_by_name(dev, "oe-gpios", 0, &priv->oe, in gen_74x164_probe()
159 dev_dbg(dev, "No oe-pins property\n"); in gen_74x164_probe()
162 uc_priv->bank_name = str; in gen_74x164_probe()
163 uc_priv->gpio_count = priv->nregs * 8; in gen_74x164_probe()
169 dev_dbg(dev, "%s is ready\n", dev->name); in gen_74x164_probe()
174 free(priv->buffer); in gen_74x164_probe()