| /kernel/linux/linux-4.19/drivers/tty/serial/ |
| D | serial_mctrl_gpio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 10 #include <linux/irq.h> 22 int irq[UART_GPIO_MAX]; member 40 void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) in mctrl_gpio_set() argument 47 if (gpios == NULL) in mctrl_gpio_set() 51 if (gpios->gpio[i] && mctrl_gpios_desc[i].dir_out) { in mctrl_gpio_set() 52 desc_array[count] = gpios->gpio[i]; in mctrl_gpio_set() 60 struct gpio_desc *mctrl_gpio_to_gpiod(struct mctrl_gpios *gpios, in mctrl_gpio_to_gpiod() argument 63 if (gpios == NULL) in mctrl_gpio_to_gpiod() 66 return gpios->gpio[gidx]; in mctrl_gpio_to_gpiod() [all …]
|
| /kernel/linux/linux-5.10/drivers/tty/serial/ |
| D | serial_mctrl_gpio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 10 #include <linux/irq.h> 22 int irq[UART_GPIO_MAX]; member 45 void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) in mctrl_gpio_set() argument 52 if (gpios == NULL) in mctrl_gpio_set() 56 if (gpios->gpio[i] && mctrl_gpio_flags_is_dir_out(i)) { in mctrl_gpio_set() 57 desc_array[count] = gpios->gpio[i]; in mctrl_gpio_set() 66 struct gpio_desc *mctrl_gpio_to_gpiod(struct mctrl_gpios *gpios, in mctrl_gpio_to_gpiod() argument 69 if (gpios == NULL) in mctrl_gpio_to_gpiod() 72 return gpios->gpio[gidx]; in mctrl_gpio_to_gpiod() [all …]
|
| /kernel/linux/linux-5.10/drivers/hsi/clients/ |
| D | nokia-modem.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * nokia-modem.c 33 struct nokia_modem_gpio *gpios; member 46 dev_info(modem->device, "CMT rst line change detected\n"); in do_nokia_modem_rst_ind_tasklet() 48 if (modem->ssi_protocol) in do_nokia_modem_rst_ind_tasklet() 49 ssip_reset_event(modem->ssi_protocol); in do_nokia_modem_rst_ind_tasklet() 52 static irqreturn_t nokia_modem_rst_ind_isr(int irq, void *data) in nokia_modem_rst_ind_isr() argument 56 tasklet_schedule(&modem->nokia_modem_rst_ind_tasklet); in nokia_modem_rst_ind_isr() 66 for (i = 0; i < modem->gpio_amount; i++) { in nokia_modem_gpio_unexport() 67 sysfs_remove_link(&dev->kobj, modem->gpios[i].name); in nokia_modem_gpio_unexport() [all …]
|
| /kernel/linux/linux-4.19/drivers/hsi/clients/ |
| D | nokia-modem.c | 2 * nokia-modem.c 20 * 02110-1301 USA 46 struct nokia_modem_gpio *gpios; member 59 dev_info(modem->device, "CMT rst line change detected\n"); in do_nokia_modem_rst_ind_tasklet() 61 if (modem->ssi_protocol) in do_nokia_modem_rst_ind_tasklet() 62 ssip_reset_event(modem->ssi_protocol); in do_nokia_modem_rst_ind_tasklet() 65 static irqreturn_t nokia_modem_rst_ind_isr(int irq, void *data) in nokia_modem_rst_ind_isr() argument 69 tasklet_schedule(&modem->nokia_modem_rst_ind_tasklet); in nokia_modem_rst_ind_isr() 79 for (i = 0; i < modem->gpio_amount; i++) { in nokia_modem_gpio_unexport() 80 sysfs_remove_link(&dev->kobj, modem->gpios[i].name); in nokia_modem_gpio_unexport() [all …]
|
| /kernel/linux/linux-5.10/drivers/input/misc/ |
| D | rotary_encoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * See file:Documentation/input/devices/rotary-encoder.rst for more information 26 #define DRV_NAME "rotary-encoder" 46 struct gpio_descs *gpios; member 48 unsigned int *irq; member 51 signed char dir; /* 1 - clockwise, -1 - CCW */ 61 for (i = 0; i < encoder->gpios->ndescs; ++i) { in rotary_encoder_get_state() 62 int val = gpiod_get_value_cansleep(encoder->gpios->desc[i]); in rotary_encoder_get_state() 65 if (encoder->encoding == ROTENC_GRAY && ret & 1) in rotary_encoder_get_state() 76 if (encoder->relative_axis) { in rotary_encoder_report_event() [all …]
|
| /kernel/linux/linux-4.19/drivers/input/misc/ |
| D | rotary_encoder.c | 10 * See file:Documentation/input/devices/rotary-encoder.rst for more information 29 #define DRV_NAME "rotary-encoder" 49 struct gpio_descs *gpios; member 51 unsigned int *irq; member 54 signed char dir; /* 1 - clockwise, -1 - CCW */ 64 for (i = 0; i < encoder->gpios->ndescs; ++i) { in rotary_encoder_get_state() 65 int val = gpiod_get_value_cansleep(encoder->gpios->desc[i]); in rotary_encoder_get_state() 68 if (encoder->encoding == ROTENC_GRAY && ret & 1) in rotary_encoder_get_state() 79 if (encoder->relative_axis) { in rotary_encoder_report_event() 80 input_report_rel(encoder->input, in rotary_encoder_report_event() [all …]
|
| /kernel/linux/linux-4.19/Documentation/driver-api/gpio/ |
| D | driver.rst | 6 describes the new descriptor-based interface. For a description of the 7 deprecated integer-based GPIO interface please refer to gpio-legacy.txt. 15 Internal Representation of GPIOs 18 Inside a GPIO driver, individual GPIOs are identified by their hardware number, 19 which is a unique number between 0 and n, n being the number of GPIOs managed by 30 So for example one platform could use numbers 32-159 for GPIOs, with a 31 controller defining 128 GPIOs at a "base" of 32 ; while another platform uses 32 numbers 0..63 with one set of GPIO controllers, 64-79 with another type of GPIO 33 controller, and on one particular board 80-95 with an FPGA. The numbers need not 34 be contiguous; either of those platforms could also use numbers 2000-2063 to [all …]
|
| D | consumer.rst | 6 it describes the new descriptor-based interface. For a description of the 7 deprecated integer-based GPIO interface please refer to gpio-legacy.txt. 10 Guidelines for GPIOs consumers 15 obtain and use GPIOs are available by including the following file: 23 - Simple compile coverage with e.g. COMPILE_TEST - it does not matter that 27 - Truly optional GPIOLIB support - where the driver does not really make use 28 of the GPIOs on certain compile-time configurations for certain systems, but 29 will use it under other compile-time configurations. In this case the 33 All the functions that work with the descriptor-based GPIO interface are 40 Obtaining and Disposing GPIOs [all …]
|
| D | legacy.rst | 13 A "General Purpose Input/Output" (GPIO) is a flexible software-controlled 18 which GPIOs. Drivers can be written generically, so that board setup code 21 System-on-Chip (SOC) processors heavily rely on GPIOs. In some cases, every 22 non-dedicated pin can be configured as a GPIO; and most chips have at least 24 provide GPIOs; multifunction chips like power managers, and audio codecs 27 Most PC southbridges have a few dozen GPIO-capable pins (with only the BIOS 30 The exact capabilities of GPIOs vary between systems. Common options: 32 - Output values are writable (high=1, low=0). Some chips also have 34 value might be driven ... supporting "wire-OR" and similar schemes 37 - Input values are likewise readable (1, 0). Some chips support readback [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/gpio/ |
| D | legacy.rst | 13 A "General Purpose Input/Output" (GPIO) is a flexible software-controlled 18 which GPIOs. Drivers can be written generically, so that board setup code 21 System-on-Chip (SOC) processors heavily rely on GPIOs. In some cases, every 22 non-dedicated pin can be configured as a GPIO; and most chips have at least 24 provide GPIOs; multifunction chips like power managers, and audio codecs 27 Most PC southbridges have a few dozen GPIO-capable pins (with only the BIOS 30 The exact capabilities of GPIOs vary between systems. Common options: 32 - Output values are writable (high=1, low=0). Some chips also have 34 value might be driven ... supporting "wire-OR" and similar schemes 37 - Input values are likewise readable (1, 0). Some chips support readback [all …]
|
| D | consumer.rst | 6 it describes the new descriptor-based interface. For a description of the 7 deprecated integer-based GPIO interface please refer to gpio-legacy.txt. 10 Guidelines for GPIOs consumers 15 obtain and use GPIOs are available by including the following file: 23 - Simple compile coverage with e.g. COMPILE_TEST - it does not matter that 27 - Truly optional GPIOLIB support - where the driver does not really make use 28 of the GPIOs on certain compile-time configurations for certain systems, but 29 will use it under other compile-time configurations. In this case the 33 All the functions that work with the descriptor-based GPIO interface are 40 Obtaining and Disposing GPIOs [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | ak4118.txt | 7 - compatible : "asahi-kasei,ak4118" 8 - reg : The I2C address of the device for I2C 9 - reset-gpios: A GPIO specifier for the reset pin 10 - irq-gpios: A GPIO specifier for the IRQ pin 16 #sound-dai-cells = <0>; 17 compatible = "asahi-kasei,ak4118"; 19 reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW> 20 irq-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
|
| /kernel/linux/linux-5.10/sound/soc/ |
| D | soc-jack.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-jack.c -- ALSA SoC jack handling 23 struct snd_soc_jack_gpio *gpios; member 27 * snd_soc_jack_report - Report the current status for a jack 51 dapm = &jack->card->dapm; in snd_soc_jack_report() 53 mutex_lock(&jack->mutex); in snd_soc_jack_report() 55 jack->status &= ~mask; in snd_soc_jack_report() 56 jack->status |= status & mask; in snd_soc_jack_report() 60 list_for_each_entry(pin, &jack->pins, list) { in snd_soc_jack_report() 61 enable = pin->mask & jack->status; in snd_soc_jack_report() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/olpc_dcon/ |
| D | olpc_dcon_xo_1_5.c | 1 // SPDX-License-Identifier: GPL-2.0 36 #define VX855_GENL_PURPOSE_OUTPUT 0x44c /* PMIO_Rx4c-4f */ 68 static struct gpio_desc *gpios[3]; variable 72 /* irq status will appear in PMIO_Rx50[6] (RW1C) on gpio12 */ in dcon_clear_irq() 80 /* irq status will appear in PMIO_Rx50[6] on gpio12 */ in dcon_was_irq() 88 unsigned int irq; in dcon_init_xo_1_5() local 94 gpios_table.dev_id = dev_name(&dcon->client->dev); in dcon_init_xo_1_5() 99 gpios[i] = devm_gpiod_get(&dcon->client->dev, pin[i].name, in dcon_init_xo_1_5() 101 if (IS_ERR(gpios[i])) { in dcon_init_xo_1_5() 102 ret = PTR_ERR(gpios[i]); in dcon_init_xo_1_5() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpio/ |
| D | gpio-davinci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2006-2007 David Brownell 15 #include <linux/irq.h> 22 #include <linux/platform_data/gpio-davinci.h> 26 #include <asm-generic/gpio.h> 44 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 46 #define BINTEN 0x8 /* GPIO Interrupt Per-Bank Enable Register */ 83 /*--------------------------------------------------------------------------*/ 96 g = d->regs[bank]; in __davinci_direction() 97 spin_lock_irqsave(&d->lock, flags); in __davinci_direction() [all …]
|
| /kernel/linux/linux-4.19/drivers/gpio/ |
| D | gpio-davinci.c | 4 * Copyright (c) 2006-2007 David Brownell 18 #include <linux/irq.h> 25 #include <linux/platform_data/gpio-davinci.h> 41 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 43 #define BINTEN 0x8 /* GPIO Interrupt Per-Bank Enable Register */ 60 /*--------------------------------------------------------------------------*/ 73 g = d->regs[bank]; in __davinci_direction() 74 spin_lock_irqsave(&d->lock, flags); in __davinci_direction() 75 temp = readl_relaxed(&g->dir); in __davinci_direction() 78 writel_relaxed(mask, value ? &g->set_data : &g->clr_data); in __davinci_direction() [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/input/touchscreen/ |
| D | zforce_ts.txt | 4 - compatible: must be "neonode,zforce" 5 - reg: I2C address of the chip 6 - interrupts: interrupt to which the chip is connected 7 - reset-gpios: reset gpio the chip is connected to 8 - x-size: horizontal resolution of touchscreen 9 - y-size: vertical resolution of touchscreen 12 - irq-gpios : interrupt gpio the chip is connected to 13 - vdd-supply: Regulator controlling the controller supply 24 vdd-supply = <®_zforce_vdd>; 26 reset-gpios = <&gpio5 9 0>; /* RST */ [all …]
|
| D | goodix.txt | 5 - compatible : Should be "goodix,gt1151" 13 - reg : I2C address of the chip. Should be 0x5d or 0x14 14 - interrupts : Interrupt to which the chip is connected 18 - irq-gpios : GPIO pin used for IRQ. The driver uses the 20 - reset-gpios : GPIO pin used for reset 22 - touchscreen-inverted-x : X axis is inverted (boolean) 23 - touchscreen-inverted-y : Y axis is inverted (boolean) 24 - touchscreen-swapped-x-y : X and Y axis are swapped (boolean) 35 interrupt-parent = <&gpio>; 38 irq-gpios = <&gpio1 0 0>; [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/input/touchscreen/ |
| D | zforce_ts.txt | 4 - compatible: must be "neonode,zforce" 5 - reg: I2C address of the chip 6 - interrupts: interrupt to which the chip is connected 7 - reset-gpios: reset gpio the chip is connected to 8 - x-size: horizontal resolution of touchscreen 9 - y-size: vertical resolution of touchscreen 12 - irq-gpios : interrupt gpio the chip is connected to 13 - vdd-supply: Regulator controlling the controller supply 24 vdd-supply = <®_zforce_vdd>; 26 reset-gpios = <&gpio5 9 0>; /* RST */ [all …]
|
| D | goodix.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Dmitry Torokhov <dmitry.torokhov@gmail.com> 13 - $ref: touchscreen.yaml# 18 - goodix,gt1151 19 - goodix,gt5663 20 - goodix,gt5688 21 - goodix,gt911 22 - goodix,gt9110 [all …]
|
| /kernel/linux/linux-4.19/sound/soc/ |
| D | soc-jack.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-jack.c -- ALSA SoC jack handling 23 struct snd_soc_jack_gpio *gpios; member 27 * snd_soc_component_set_jack - configure component jack. 37 if (component->driver->set_jack) in snd_soc_component_set_jack() 38 return component->driver->set_jack(component, jack, data); in snd_soc_component_set_jack() 40 return -ENOTSUPP; in snd_soc_component_set_jack() 45 * snd_soc_card_jack_new - Create a new jack 65 mutex_init(&jack->mutex); in snd_soc_card_jack_new() 66 jack->card = card; in snd_soc_card_jack_new() [all …]
|
| /kernel/linux/linux-5.10/drivers/pcmcia/ |
| D | pxa2xx_hx4700.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <linux/irq.h> 12 #include <asm/mach-types.h> 17 static struct gpio gpios[] = { variable 26 ret = gpio_request_array(gpios, ARRAY_SIZE(gpios)); in hx4700_pcmcia_hw_init() 31 * IRQ type must be set before soc_pcmcia_hw_init() calls request_irq(). in hx4700_pcmcia_hw_init() 32 * The asic3 default IRQ type is level trigger low level detect, exactly in hx4700_pcmcia_hw_init() 34 * If the IRQ type is not changed, the asic3 interrupt handler will loop in hx4700_pcmcia_hw_init() 39 skt->stat[SOC_STAT_CD].gpio = GPIOD4_CF_nCD; in hx4700_pcmcia_hw_init() 40 skt->stat[SOC_STAT_CD].name = "PCMCIA CD"; in hx4700_pcmcia_hw_init() [all …]
|
| /kernel/linux/linux-4.19/drivers/pcmcia/ |
| D | pxa2xx_hx4700.c | 13 #include <linux/irq.h> 15 #include <asm/mach-types.h> 20 static struct gpio gpios[] = { variable 29 ret = gpio_request_array(gpios, ARRAY_SIZE(gpios)); in hx4700_pcmcia_hw_init() 34 * IRQ type must be set before soc_pcmcia_hw_init() calls request_irq(). in hx4700_pcmcia_hw_init() 35 * The asic3 default IRQ type is level trigger low level detect, exactly in hx4700_pcmcia_hw_init() 37 * If the IRQ type is not changed, the asic3 interrupt handler will loop in hx4700_pcmcia_hw_init() 42 skt->stat[SOC_STAT_CD].gpio = GPIOD4_CF_nCD; in hx4700_pcmcia_hw_init() 43 skt->stat[SOC_STAT_CD].name = "PCMCIA CD"; in hx4700_pcmcia_hw_init() 44 skt->stat[SOC_STAT_RDY].gpio = GPIO60_HX4700_CF_RNB; in hx4700_pcmcia_hw_init() [all …]
|
| /kernel/linux/linux-5.10/include/linux/gpio/ |
| D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <linux/irq.h> 12 #include <linux/pinctrl/pinconf-generic.h> 29 * struct gpio_irq_chip - GPIO interrupt controller 35 * GPIO IRQ chip implementation, provided by GPIO driver. 43 * hwirq number and Linux IRQ number. 50 * Table of interrupt domain operations for this IRQ chip. 66 * If non-NULL, will be set as the parent of this GPIO interrupt 67 * controller's IRQ domain to establish a hierarchical interrupt 76 * This callback translates a child hardware IRQ offset to a parent [all …]
|
| /kernel/linux/linux-4.19/drivers/staging/wilc1000/ |
| D | microchip,wilc1000,spi.txt | 7 - compatible : Should be "microchip,wilc1000-spi" 8 - spi-max-frequency : Maximum SPI clocking speed of device in Hz 9 - reg : Chip select address of device 10 - irq-gpios : Connect to a host IRQ 16 cs-gpios = <&pioB 21 0>; 20 compatible = "microchip,wilc1000-spi"; 21 spi-max-frequency = <48000000>; 23 irq-gpios = <&pioC 27 0>;
|