Home
last modified time | relevance | path

Searched +full:gpio +full:- +full:lines (Results 1 – 25 of 530) sorted by relevance

12345678910>>...22

/Linux-v5.15/Documentation/driver-api/gpio/
Ddrivers-on-gpio.rst2 Subsystem drivers using GPIO
5 Note that standard kernel drivers exist for common GPIO tasks and will provide
6 the right in-kernel and userspace APIs/ABIs for the job, and that these
10 - leds-gpio: drivers/leds/leds-gpio.c will handle LEDs connected to GPIO
11 lines, giving you the LED sysfs interface
13 - ledtrig-gpio: drivers/leds/trigger/ledtrig-gpio.c will provide a LED trigger,
14 i.e. a LED will turn on/off in response to a GPIO line going high or low
15 (and that LED may in turn use the leds-gpio as per above).
17 - gpio-keys: drivers/input/keyboard/gpio_keys.c is used when your GPIO line
20 - gpio-keys-polled: drivers/input/keyboard/gpio_keys_polled.c is used when your
[all …]
Dusing-gpio.rst2 Using GPIO Lines in Linux
5 The Linux kernel exists to abstract and present hardware to users. GPIO lines
7 and preferred way to use GPIO lines is to let kernel hardware drivers deal
12 Documentation/driver-api/gpio/drivers-on-gpio.rst
18 help to refine it, see Documentation/process/submitting-patches.rst.
20 In Linux GPIO lines also have a userspace ABI.
22 The userspace ABI is intended for one-off deployments. Examples are prototypes,
23 factory lines, maker community projects, workshop specimen, production tools,
24 industrial automation, PLC-type use cases, door controllers, in short a piece
27 software-hardware interface to be set up. They should not have a natural fit
[all …]
Ddriver.rst2 GPIO Driver Interface
5 This document serves as a guide for writers of GPIO chip drivers.
7 Each GPIO controller driver needs to include the following header, which defines
8 the structures used to define a GPIO driver::
10 #include <linux/gpio/driver.h>
16 A GPIO chip handles one or more GPIO lines. To be considered a GPIO chip, the
17 lines must conform to the definition: General Purpose Input/Output. If the
18 line is not general purpose, it is not GPIO and should not be handled by a
19 GPIO chip. The use case is the indicative: certain lines in a system may be
20 called GPIO but serve a very particular purpose thus not meeting the criteria
[all …]
/Linux-v5.15/tools/gpio/
Dgpio-utils.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * GPIO tools - helpers library for the GPIO tools
17 #include <linux/gpio.h>
18 #include "gpio-utils.h"
20 #define CONSUMER "gpio-utils"
23 * DOC: Operation of gpio
27 * ioctl, including request and release for lines of gpio, read/write
28 * the value of gpio. If the user want to do lots of read and write of
29 * lines of gpio, user should use this type of api.
32 * following api will request gpio lines, do the operation and then
[all …]
Dgpio-hammer.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * gpio-hammer - example swiss army knife to shake GPIO lines on a system
8 * gpio-hammer -n <device-name> -o <offset1> -o <offset2>
22 #include <linux/gpio.h>
23 #include "gpio-utils.h"
25 int hammer_device(const char *device_name, unsigned int *lines, int num_lines, in hammer_device() argument
30 char swirr[] = "-\\|/"; in hammer_device()
39 ret = gpiotools_request_line(device_name, lines, num_lines, in hammer_device()
40 &config, "gpio-hammer"); in hammer_device()
55 fprintf(stdout, "Hammer lines ["); in hammer_device()
[all …]
Dgpio-event-mon.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * gpio-event-mon - monitor GPIO line events from userspace
8 * gpio-event-mon -n <device-name> -o <offset>
25 #include <linux/gpio.h>
26 #include "gpio-utils.h"
29 unsigned int *lines, in monitor_device() argument
42 return -ENOMEM; in monitor_device()
45 if (cfd == -1) { in monitor_device()
46 ret = -errno; in monitor_device()
51 ret = gpiotools_request_line(device_name, lines, num_lines, config, in monitor_device()
[all …]
Dlsgpio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * lsgpio - example on how to list the GPIO lines on a system
8 * lsgpio <-n device-name>
22 #include <linux/gpio.h>
24 #include "gpio-utils.h"
45 .name = "active-low",
49 .name = "open-drain",
53 .name = "open-source",
57 .name = "pull-up",
61 .name = "pull-down",
[all …]
/Linux-v5.15/include/uapi/linux/
Dgpio.h1 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
3 * <linux/gpio.h> - userspace ABI for the GPIO character devices
21 * Must be a multiple of 8 to ensure 32/64-bit alignment of structs.
26 * struct gpiochip_info - Information about a certain GPIO chip
27 * @name: the Linux kernel name of this GPIO chip
28 * @label: a functional name for this GPIO chip, such as a product
30 * @lines: number of GPIO lines on this chip
35 __u32 lines; member
39 * Maximum number of requested lines.
41 * Must be no greater than 64, as bitmaps are restricted here to 64-bits
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/input/
Dgpio-matrix-keypad.txt1 * GPIO driven matrix keypad device tree bindings
3 GPIO driven matrix keypad is used to interface a SoC with a matrix keypad.
4 The matrix keypad supports multiple row and column lines, a key can be
6 keypad can sense a key-press and key-release by means of GPIO lines and
7 report the event using GPIO interrupts to the cpu.
10 - compatible: Should be "gpio-matrix-keypad"
11 - row-gpios: List of gpios used as row lines. The gpio specifier
12 for this property depends on the gpio controller to
13 which these row lines are connected.
14 - col-gpios: List of gpios used as column lines. The gpio specifier
[all …]
/Linux-v5.15/drivers/staging/greybus/
Dgpio.c1 // SPDX-License-Identifier: GPL-2.0
3 * GPIO Greybus driver.
14 #include <linux/gpio/driver.h>
22 /* --> make them just a flags field */
38 struct gb_gpio_line *lines; member
46 #define irq_data_to_gpio_chip(d) (d->domain->host_data)
53 ret = gb_operation_sync(ggc->connection, GB_GPIO_TYPE_LINE_COUNT, in gb_gpio_line_count_operation()
56 ggc->line_max = response.count; in gb_gpio_line_count_operation()
63 struct gbphy_device *gbphy_dev = ggc->gbphy_dev; in gb_gpio_activate_operation()
71 ret = gb_operation_sync(ggc->connection, GB_GPIO_TYPE_ACTIVATE, in gb_gpio_activate_operation()
[all …]
/Linux-v5.15/arch/arm64/boot/dts/qcom/
Dmsm8916-pins.dtsi1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
8 blsp1_uart1_default: blsp1-uart1-default {
13 drive-strength = <16>;
14 bias-disable;
17 blsp1_uart1_sleep: blsp1-uart1-sleep {
19 function = "gpio";
21 drive-strength = <2>;
22 bias-pull-down;
25 blsp1_uart2_default: blsp1-uart2-default {
[all …]
/Linux-v5.15/Documentation/admin-guide/gpio/
Dgpio-mockup.rst1 .. SPDX-License-Identifier: GPL-2.0-only
3 GPIO Testing Driver
6 The GPIO Testing Driver (gpio-mockup) provides a way to create simulated GPIO
7 chips for testing purposes. The lines exposed by these chips can be accessed
8 using the standard GPIO character device interface as well as manipulated
12 --------------------------------------------
14 When loading the gpio-mockup driver a number of parameters can be passed to the
20 pairs. Each pair defines the base GPIO number (non-negative integer)
21 and the first number after the last of this chip. If the base GPIO
22 is -1, the gpiolib will assign it automatically. while the following
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/spi/
Dspi-gpio.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: SPI-GPIO devicetree bindings
10 - Rob Herring <robh@kernel.org>
13 This represents a group of 3-n GPIO lines used for bit-banged SPI on
14 dedicated GPIO lines.
17 - $ref: "/schemas/spi/spi-controller.yaml#"
21 const: spi-gpio
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/gpio/
Dintel,ixp4xx-gpio.txt1 Intel IXP4xx XScale Networking Processors GPIO
3 This GPIO controller is found in the Intel IXP4xx processors.
4 It supports 16 GPIO lines.
6 The interrupt portions of the GPIO controller is hierarchical:
7 the synchronous edge detector is part of the GPIO block, but the
10 the first 12 GPIO lines to 12 system interrupts.
12 The remaining 4 GPIO lines can not be used for receiving
15 The interrupt parent of this GPIO controller must be the
20 - compatible : Should be
21 "intel,ixp4xx-gpio"
[all …]
Dbrcm,brcmstb-gpio.txt1 Broadcom STB "UPG GIO" GPIO controller
3 The controller's registers are organized as sets of eight 32-bit
9 - compatible:
10 Must be "brcm,brcmstb-gpio"
12 - reg:
14 the brcmstb GPIO controller registers
16 - #gpio-cells:
19 bit[0]: polarity (0 for active-high, 1 for active-low)
21 - gpio-controller:
22 Specifies that the node is a GPIO controller.
[all …]
Dnxp,pcf8575.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/gpio/nxp,pcf8575.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: PCF857x-compatible I/O expanders
10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
13 The PCF857x-compatible chips have "quasi-bidirectional" I/O lines that can be
14 driven high by a pull-up current source or driven low to ground. This
25 - maxim,max7328
26 - maxim,max7329
[all …]
Dgpio_atmel.txt1 * Atmel GPIO controller (PIO)
4 - compatible: "atmel,<chip>-gpio", where <chip> is at91rm9200 or at91sam9x5.
5 - reg: Should contain GPIO controller registers location and length
6 - interrupts: Should be the port interrupt shared by all the pins.
7 - #gpio-cells: Should be two. The first cell is the pin number and
8 the second cell is used to specify optional parameters to declare if the GPIO
9 is active high or low. See gpio.txt.
10 - gpio-controller: Marks the device node as a GPIO controller.
11 - interrupt-controller: Marks the device node as an interrupt controller.
12 - #interrupt-cells: Should be two. The first cell is the pin number and the
[all …]
/Linux-v5.15/drivers/gpio/
Dgpio-virtio.c1 // SPDX-License-Identifier: GPL-2.0+
3 * GPIO driver for virtio-based virtual GPIO controllers
14 #include <linux/gpio/driver.h>
35 struct virtio_gpio_line *lines; member
39 static int _virtio_gpio_req(struct virtio_gpio *vgpio, u16 type, u16 gpio, in _virtio_gpio_req() argument
42 struct virtio_gpio_line *line = &vgpio->lines[gpio]; in _virtio_gpio_req()
43 struct virtio_gpio_request *req = &line->req; in _virtio_gpio_req()
46 struct device *dev = &vgpio->vdev->dev; in _virtio_gpio_req()
51 * pre-allocated request/response buffers for each GPIO line. Moreover in _virtio_gpio_req()
52 * Linux always accesses a GPIO line sequentially, so this locking shall in _virtio_gpio_req()
[all …]
Dgpio-mockup.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * GPIO Testing Device Driver
6 * Copyright (C) 2015-2016 Bamvor Jian Zhang <bamv2005@gmail.com>
13 #include <linux/gpio/driver.h>
30 * We're storing two values per chip: the GPIO base and the number
31 * of GPIO lines.
38 * struct gpio_pin_status - structure describing a GPIO status
39 * @dir: Configures direction of gpio as "in" or "out"
40 * @value: Configures status of the gpio as 0(low) or 1(high)
50 struct gpio_mockup_line_status *lines; member
[all …]
DTODO1 This is a place for planning the ongoing long-term work in the GPIO
5 GPIO descriptors
7 Starting with commit 79a9becda894 the GPIO subsystem embarked on a journey
8 to move away from the global GPIO numberspace and toward a descriptor-based
9 approach. This means that GPIO consumers, drivers and machine descriptions
10 ideally have no use or idea of the global GPIO numberspace that has/was
11 used in the inception of the GPIO subsystem.
16 The underlying motivation for this is that the GPIO numberspace has become
18 establish the numberspace at compile-time, making it hard to add any numbers
23 Linux GPIO number as those descriptions are external to the Linux kernel
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/auxdisplay/
Dhit,hd44780.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Geert Uytterhoeven <geert@linux-m68k.org>
14 LCDs that can display one or more lines of text. It exposes an M6800 bus
15 interface, which can be used in either 4-bit or 8-bit mode. By using a
16 GPIO expander it is possible to use the driver with one of the popular I2C
24 data-gpios:
26 GPIO pins connected to the data signal lines DB0-DB7 (8-bit mode) or
27 DB4-DB7 (4-bit mode) of the LCD Controller's bus interface.
[all …]
/Linux-v5.15/drivers/media/i2c/
Dmax9271.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright (C) 2017-2020 Jacopo Mondi
4 * Copyright (C) 2017-2020 Kieran Bingham
5 * Copyright (C) 2017-2020 Laurent Pinchart
6 * Copyright (C) 2017-2020 Niklas Söderlund
81 * struct max9271_device - max9271 device
89 * max9271_wake_up() - Wake up the serializer by issuing an i2c transaction
98 * max9271_set_serial_link() - Enable/disable serial link
107 * max9271_configure_i2c() - Configure I2C bus parameters
120 * max9271_set_high_threshold() - Enable or disable reverse channel high
[all …]
/Linux-v5.15/arch/arm64/boot/dts/bitmain/
Dbm1880-sophon-edge.dts1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 /dts-v1/;
12 * GPIO name legend: proper name = the GPIO line is used as GPIO
15 * "[PER]" = pin is muxed for [peripheral] (not GPIO)
19 * Line names are taken from the schematic "sophon-edge-schematics"
22 * For the lines routed to the external connectors the
23 * lines are named after the 96Boards CE Specification 1.0,
29 * lines i.e. "[FOO]", the GPIO named lines "GPIO-A" thru "GPIO-L"
30 * are the only ones actually used for GPIO.
34 compatible = "bitmain,sophon-edge", "bitmain,bm1880";
[all …]
/Linux-v5.15/drivers/tty/serial/
Dserial_mctrl_gpio.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Helpers for controlling modem lines via GPIO
13 #include <linux/gpio/consumer.h>
29 * Opaque descriptor for modem lines controlled by GPIOs
36 * Set state of the modem control output lines via GPIOs.
41 * Get state of the modem control input lines from GPIOs.
47 * Get state of the modem control output lines from GPIOs.
63 * Returns a pointer to the allocated mctrl structure if ok, -ENOMEM on
71 * Returns a pointer to the allocated mctrl structure if ok, -ENOMEM on
85 * Enable gpio interrupts to report status line changes.
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/
Dpriv.h1 /* SPDX-License-Identifier: MIT */
5 #include <subdev/gpio.h>
8 int lines; member
11 * for lines that have not been masked off, while still
17 * given set of gpio lines
21 /* configure gpio direction and output value */
24 /* sense current state of given gpio line */

12345678910>>...22