Home
last modified time | relevance | path

Searched refs:gpio (Results 1 – 25 of 44) sorted by relevance

12

/optee_os/core/include/drivers/
H A Dgpio.h72 struct gpio;
99 TEE_Result (*configure)(struct gpio_chip *chip, struct gpio *gpio);
101 void (*put)(struct gpio_chip *chip, struct gpio *gpio);
110 struct gpio { struct
122 static inline void gpio_set_direction(struct gpio *gpio, enum gpio_dir dir) in gpio_set_direction() argument
124 gpio->chip->ops->set_direction(gpio->chip, gpio->pin, dir); in gpio_set_direction()
127 static inline enum gpio_dir gpio_get_direction(struct gpio *gpio) in gpio_get_direction() argument
129 return gpio->chip->ops->get_direction(gpio->chip, gpio->pin); in gpio_get_direction()
132 static inline void gpio_set_value(struct gpio *gpio, enum gpio_level value) in gpio_set_value() argument
134 if (gpio->dt_flags & GPIO_ACTIVE_LOW) in gpio_set_value()
[all …]
/optee_os/core/drivers/gpio/
H A Dgpio.c16 TEE_Result gpio_dt_alloc_pin(struct dt_pargs *pargs, struct gpio **out_gpio) in gpio_dt_alloc_pin()
18 struct gpio *gpio = NULL; in gpio_dt_alloc_pin() local
23 gpio = calloc(1, sizeof(struct gpio)); in gpio_dt_alloc_pin()
24 if (!gpio) in gpio_dt_alloc_pin()
27 gpio->pin = pargs->args[0]; in gpio_dt_alloc_pin()
28 gpio->dt_flags = pargs->args[1]; in gpio_dt_alloc_pin()
30 *out_gpio = gpio; in gpio_dt_alloc_pin()
37 struct gpio **gpio) in gpio_dt_get_by_index() argument
63 *gpio = out_gpio; in gpio_dt_get_by_index()
68 TEE_Result gpio_configure(struct gpio *gpio, enum gpio_flags flags) in gpio_configure() argument
[all …]
H A Dsub.mk1 srcs-y += gpio.c
/optee_os/core/arch/arm/dts/
H A Dstm32mp25xxai-pinctrl.dtsi8 gpioa: gpio@44240000 {
11 gpio-ranges = <&pinctrl 0 0 16>;
14 gpiob: gpio@44250000 {
17 gpio-ranges = <&pinctrl 0 16 16>;
20 gpioc: gpio@44260000 {
23 gpio-ranges = <&pinctrl 0 32 14>;
26 gpiod: gpio@44270000 {
29 gpio-ranges = <&pinctrl 0 48 16>;
32 gpioe: gpio@44280000 {
35 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp15xxaa-pinctrl.dtsi10 gpioa: gpio@50002000 {
13 gpio-ranges = <&pinctrl 0 0 16>;
16 gpiob: gpio@50003000 {
19 gpio-ranges = <&pinctrl 0 16 16>;
22 gpioc: gpio@50004000 {
25 gpio-ranges = <&pinctrl 0 32 16>;
28 gpiod: gpio@50005000 {
31 gpio-ranges = <&pinctrl 0 48 16>;
34 gpioe: gpio@50006000 {
37 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp15xxac-pinctrl.dtsi10 gpioa: gpio@50002000 {
13 gpio-ranges = <&pinctrl 0 0 16>;
16 gpiob: gpio@50003000 {
19 gpio-ranges = <&pinctrl 0 16 16>;
22 gpioc: gpio@50004000 {
25 gpio-ranges = <&pinctrl 0 32 16>;
28 gpiod: gpio@50005000 {
31 gpio-ranges = <&pinctrl 0 48 16>;
34 gpioe: gpio@50006000 {
37 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp25xxal-pinctrl.dtsi8 gpioa: gpio@44240000 {
11 gpio-ranges = <&pinctrl 0 0 16>;
14 gpiob: gpio@44250000 {
17 gpio-ranges = <&pinctrl 0 16 16>;
20 gpioc: gpio@44260000 {
23 gpio-ranges = <&pinctrl 0 32 14>;
26 gpiod: gpio@44270000 {
29 gpio-ranges = <&pinctrl 0 48 16>;
32 gpioe: gpio@44280000 {
35 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp25xxak-pinctrl.dtsi8 gpioa: gpio@44240000 {
11 gpio-ranges = <&pinctrl 0 0 16>;
14 gpiob: gpio@44250000 {
17 gpio-ranges = <&pinctrl 0 16 16>;
20 gpioc: gpio@44260000 {
23 gpio-ranges = <&pinctrl 0 32 14>;
26 gpiod: gpio@44270000 {
29 gpio-ranges = <&pinctrl 0 48 16>;
32 gpioe: gpio@44280000 {
35 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp15xxab-pinctrl.dtsi10 gpioa: gpio@50002000 {
13 gpio-ranges = <&pinctrl 0 0 16>;
16 gpiob: gpio@50003000 {
19 gpio-ranges = <&pinctrl 0 16 16>;
22 gpioc: gpio@50004000 {
25 gpio-ranges = <&pinctrl 0 32 16>;
28 gpiod: gpio@50005000 {
31 gpio-ranges = <&pinctrl 0 48 16>;
34 gpioe: gpio@50006000 {
37 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp15xxad-pinctrl.dtsi10 gpioa: gpio@50002000 {
13 gpio-ranges = <&pinctrl 0 0 16>;
16 gpiob: gpio@50003000 {
19 gpio-ranges = <&pinctrl 0 16 16>;
22 gpioc: gpio@50004000 {
25 gpio-ranges = <&pinctrl 0 32 16>;
28 gpiod: gpio@50005000 {
31 gpio-ranges = <&pinctrl 0 48 16>;
34 gpioe: gpio@50006000 {
37 gpio-ranges = <&pinctrl 0 64 16>;
[all …]
H A Dstm32mp131.dtsi423 gpioa: gpio@50002000 {
424 gpio-controller;
425 #gpio-cells = <2>;
433 gpio-ranges = <&pinctrl 0 0 16>;
436 gpiob: gpio@50003000 {
437 gpio-controller;
438 #gpio-cells = <2>;
446 gpio-ranges = <&pinctrl 0 16 16>;
449 gpioc: gpio@50004000 {
450 gpio-controller;
[all …]
H A Dstm32mp251.dtsi524 gpioa: gpio@44240000 {
525 gpio-controller;
526 #gpio-cells = <2>;
536 gpiob: gpio@44250000 {
537 gpio-controller;
538 #gpio-cells = <2>;
548 gpioc: gpio@44260000 {
549 gpio-controller;
550 #gpio-cells = <2>;
560 gpiod: gpio@44270000 {
[all …]
H A Dstm32mp231.dtsi471 gpioa: gpio@44240000 {
472 gpio-controller;
473 #gpio-cells = <2>;
483 gpiob: gpio@44250000 {
484 gpio-controller;
485 #gpio-cells = <2>;
495 gpioc: gpio@44260000 {
496 gpio-controller;
497 #gpio-cells = <2>;
507 gpiod: gpio@44270000 {
[all …]
H A Ddt_driver_test.dtsi5 #include <dt-bindings/gpio/gpio.h>
45 #gpio-cells = <2>;
H A Dstm32mp15xx-dhcom-som.dtsi9 #include <dt-bindings/gpio/gpio.h>
72 gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
197 gpio-line-names = "", "", "", "",
204 gpio-line-names = "", "", "", "",
211 gpio-line-names = "", "", "", "",
218 gpio-line-names = "", "", "", "",
225 gpio-line-names = "", "", "", "",
232 gpio-line-names = "", "", "", "DHCOM-A",
239 gpio-line-names = "DHCOM-C", "", "", "",
246 gpio-line-names = "", "", "", "",
[all …]
H A Dstm32mp157c-ev1.dts9 #include <dt-bindings/gpio/gpio.h>
34 compatible = "gpio-keys";
65 compatible = "gpio-backlight";
209 gpio-controller;
210 #gpio-cells = <2>;
213 gpio-ranges = <&stmfx_pinctrl 0 0 24>;
/optee_os/core/drivers/amd/
H A Dgpio_common.c16 void amd_gpio_get_bank_and_pin(struct amd_gbank_data *bdata, uint32_t gpio, in amd_gpio_get_bank_and_pin() argument
21 assert(gpio < bdata->ngpio); in amd_gpio_get_bank_and_pin()
24 if (gpio >= bdata->bank_min[i] && in amd_gpio_get_bank_and_pin()
25 gpio <= bdata->bank_max[i]) { in amd_gpio_get_bank_and_pin()
27 *pin = gpio - bdata->bank_min[i]; in amd_gpio_get_bank_and_pin()
33 EMSG("Invalid GPIO pin number: %"PRIu32, gpio); in amd_gpio_get_bank_and_pin()
38 struct gpio **out_gpio) in amd_gpio_get_dt()
42 struct gpio *gpio = NULL; in amd_gpio_get_dt() local
44 res = gpio_dt_alloc_pin(pargs, &gpio); in amd_gpio_get_dt()
48 if (gpio->pin >= amd->bdata->ngpio) { in amd_gpio_get_dt()
[all …]
H A Dgpio_private.h49 void amd_gpio_get_bank_and_pin(struct amd_gbank_data *bdata, uint32_t gpio,
52 struct gpio **out_gpio);
/optee_os/core/drivers/
H A Dbcm_gpio.c57 static void iproc_set_bit(unsigned int reg, unsigned int gpio) in iproc_set_bit() argument
59 unsigned int offset = IPROC_GPIO_REG(gpio, reg); in iproc_set_bit()
60 unsigned int shift = IPROC_GPIO_SHIFT(gpio); in iproc_set_bit()
61 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_set_bit()
67 static void iproc_clr_bit(unsigned int reg, unsigned int gpio) in iproc_clr_bit() argument
69 unsigned int offset = IPROC_GPIO_REG(gpio, reg); in iproc_clr_bit()
70 unsigned int shift = IPROC_GPIO_SHIFT(gpio); in iproc_clr_bit()
71 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_clr_bit()
77 static void iproc_gpio_set(struct gpio_chip *chip __unused, unsigned int gpio, in iproc_gpio_set() argument
81 iproc_set_bit(IPROC_GPIO_DATA_OUT_OFFSET, gpio); in iproc_gpio_set()
[all …]
H A Dversal_gpio.c73 static void versal_gpio_get_pin(struct versal_gpio_chip *chip, uint32_t gpio, in versal_gpio_get_pin() argument
79 assert(gpio < platdata->p_data->ngpio); in versal_gpio_get_pin()
82 if (gpio < platdata->p_data->bank_min[bnk]) in versal_gpio_get_pin()
85 if (gpio > platdata->p_data->bank_max[bnk]) in versal_gpio_get_pin()
89 *pin = gpio - platdata->p_data->bank_min[bnk]; in versal_gpio_get_pin()
94 EMSG("GPIO_%d not found", gpio); in versal_gpio_get_pin()
99 uint32_t gpio) in versal_gpio_get_value() argument
104 versal_gpio_get_pin(chip, gpio, &bank, &pin); in versal_gpio_get_value()
109 static void versal_gpio_set_value(struct versal_gpio_chip *chip, uint32_t gpio, in versal_gpio_set_value() argument
116 versal_gpio_get_pin(chip, gpio, &bank, &pin); in versal_gpio_set_value()
[all …]
H A Dstm32_gpio.c354 struct gpio *gpio) in stm32_gpio_configure() argument
360 unsigned int shift_1b = gpio->pin; in stm32_gpio_configure()
361 unsigned int shift_2b = SHIFT_U32(gpio->pin, 1); in stm32_gpio_configure()
365 if (gpio->dt_flags & GPIO_PULL_UP) in stm32_gpio_configure()
367 else if (gpio->dt_flags & GPIO_PULL_DOWN) in stm32_gpio_configure()
372 if (gpio->dt_flags & GPIO_LINE_OPEN_DRAIN) in stm32_gpio_configure()
395 static void stm32_gpio_put_gpio(struct gpio_chip *chip, struct gpio *gpio) in stm32_gpio_put_gpio() argument
408 state->gpio_pinctrl.pin == gpio->pin) { in stm32_gpio_put_gpio()
412 release_rif_semaphore_if_acquired(bank, gpio->pin); in stm32_gpio_put_gpio()
414 free(gpio); in stm32_gpio_put_gpio()
[all …]
H A Datmel_piobu.c233 struct gpio **out_gpio) in secumod_dt_get()
236 struct gpio *gpio = NULL; in secumod_dt_get() local
239 res = gpio_dt_alloc_pin(pargs, &gpio); in secumod_dt_get()
243 if (gpio_protected & BIT32(gpio->pin)) { in secumod_dt_get()
244 free(gpio); in secumod_dt_get()
248 gpio->chip = chip; in secumod_dt_get()
249 *out_gpio = gpio; in secumod_dt_get()
/optee_os/core/drivers/regulator/
H A Dregulator_gpio.c29 struct gpio *enable_gpio;
31 struct gpio *voltage_gpio;
133 struct gpio *gpio = NULL; in get_enable_gpio() local
135 res = gpio_dt_get_by_index(fdt, node, 0, "enable", &gpio); in get_enable_gpio()
146 gpio->dt_flags &= ~GPIO_ACTIVE_LOW; in get_enable_gpio()
148 gpio->dt_flags |= GPIO_ACTIVE_LOW; in get_enable_gpio()
152 gpio->dt_flags |= GPIO_LINE_OPEN_DRAIN; in get_enable_gpio()
154 gpio->dt_flags &= ~GPIO_LINE_OPEN_DRAIN; in get_enable_gpio()
161 res = gpio_configure(gpio, GPIO_ASIS); in get_enable_gpio()
166 gpio_set_direction(gpio, GPIO_DIR_OUT); in get_enable_gpio()
[all …]
H A Dregulator_fixed.c28 struct gpio *enable_gpio;
80 struct gpio *gpio = NULL; in get_enable_gpio() local
82 res = gpio_dt_get_by_index(fdt, node, 0, NULL, &gpio); in get_enable_gpio()
93 gpio->dt_flags &= ~GPIO_ACTIVE_LOW; in get_enable_gpio()
95 gpio->dt_flags |= GPIO_ACTIVE_LOW; in get_enable_gpio()
99 gpio->dt_flags |= GPIO_LINE_OPEN_DRAIN; in get_enable_gpio()
101 gpio->dt_flags &= ~GPIO_LINE_OPEN_DRAIN; in get_enable_gpio()
112 res = gpio_configure(gpio, GPIO_ASIS); in get_enable_gpio()
117 gpio_set_direction(gpio, GPIO_DIR_OUT); in get_enable_gpio()
119 regu->enable_gpio = gpio; in get_enable_gpio()
/optee_os/core/pta/tests/
H A Ddt_driver_test.c280 struct gpio *gpio = NULL; in probe_test_gpios() local
285 res = gpio_dt_cfg_by_index(fdt, node, 0, "test", GPIO_IN, &gpio); in probe_test_gpios()
289 if (gpio_get_direction(gpio) != GPIO_DIR_IN) { in probe_test_gpios()
296 if (gpio_get_value(gpio) != GPIO_LEVEL_LOW) { in probe_test_gpios()
302 res = gpio_dt_cfg_by_index(fdt, node, 1, "test", GPIO_IN, &gpio); in probe_test_gpios()
306 if (gpio_get_direction(gpio) != GPIO_DIR_IN) { in probe_test_gpios()
312 if (gpio_get_value(gpio) != GPIO_LEVEL_HIGH) { in probe_test_gpios()
696 struct gpio **out_device) in dt_test_gpio_get_dt()
699 struct gpio *gpio = NULL; in dt_test_gpio_get_dt() local
702 res = gpio_dt_alloc_pin(args, &gpio); in dt_test_gpio_get_dt()
[all …]

12