/linux/Documentation/devicetree/bindings/gpio/ |
H A D | gpio.txt | 4 1) gpios property 5 ----------------- 7 GPIO properties should be named "[<name>-]gpios", with <name> being the purpose 8 of this GPIO for the device. While a non-existent <name> is considered valid 9 for compatibility reasons (resolving to the "gpios" property), it is not allowed 10 for new bindings. Also, GPIO properties named "[<name>-]gpio" are valid and old 15 cases should they contain more than one. If your device uses several GPIOs with 17 meaningful name. The only case where an array of GPIOs is accepted is when 18 several GPIOs serve the same function (e.g. a parallel data line). 20 The exact purpose of each gpios property must be documented in the device tree [all …]
|
H A D | nvidia,tegra186-gpio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpio/nvidia,tegra186-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 33 GPIO data does not need access to these registers. 41 Tegra HW documentation describes a unified naming convention for all GPIOs 43 control a number of GPIOs. Thus, each GPIO is named according to an 48 of implemented GPIOs within each port varies. GPIO registers within a [all …]
|
/linux/Documentation/devicetree/bindings/display/bridge/ |
H A D | thine,thc63lvd1024.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jacopo Mondi <jacopo+renesas@jmondi.org> 11 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 15 streams to parallel data outputs. The chip supports single/dual input/output 19 Single or dual operation mode, output data mapping and DDR output modes are 34 even-numbered pixels are received on port@0 and odd-numbered pixels on 37 When operating in single output mode all pixels are output from the first 45 description: First LVDS input port [all …]
|
H A D | ti,sn65dsi86.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Douglas Anderson <dianders@chromium.org> 23 enable-gpios: 27 suspend-gpios: 31 no-hpd: 37 vccio-supply: 40 vpll-supply: 43 vcca-supply: [all …]
|
/linux/include/linux/gpio/ |
H A D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 #include <linux/pinctrl/pinconf-generic.h> 48 * struct gpio_irq_chip - GPIO interrupt controller 78 * If non-NULL, will be set as the parent of this GPIO interrupt 90 * hardware IRQs correspond to the GPIO index 0..ngpio-1 (see the 98 * HWIRQ, return -EINVAL, but also make sure to fill in @valid_mask and 113 * &gpiochip_populate_parent_fwspec_twocell will be used. A four-cell 187 * single pointer used as the data associated with every 197 * different data for each parent. This cannot be NULL if 236 * sized array to be used as parent data. [all …]
|
H A D | machine.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 22 * struct gpiod_lookup - lookup table 25 * so this will use the first match found! 29 * @idx: index of the GPIO in case several GPIOs share the same name 32 * gpiod_lookup is a lookup table for associating GPIOs to specific devices and 33 * functions using platform data. 50 * struct gpiod_hog - GPIO line hog table 85 * Use this macro if you need to have several GPIOs under the same con_id.
|
/linux/drivers/gpio/ |
H A D | gpio-sloppy-logic-analyzer.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Sloppy logic analyzer using GPIOs (to be run on an isolated CPU) 5 * Use the 'gpio-sloppy-logic-analyzer' script in the 'tools/gpio' folder for 7 * analyzer which can be affected by latencies and non-deterministic code 8 * paths. However, for e.g. remote development, it may be useful to get a first 11 * Copyright (C) Wolfram Sang <wsa@sang-engineering.com> 34 #define GPIO_LA_NAME "gpio-sloppy-logic-analyzer" 41 struct mutex blob_lock; /* serialize access to the blob (data) */ 61 ret = gpiod_get_array_value(d->ndescs, d->desc, d->info, sptr); in gpio_la_get_array() 63 ret = -EINTR; in gpio_la_get_array() [all …]
|
H A D | gpio-syscon.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 /* SYSCON driver is designed to use 32-bit wide registers */ 25 * struct syscon_gpio_data - Configuration for the device. 27 * GPIO_SYSCON_FEAT_IN: GPIOs supports input, 28 * GPIO_SYSCON_FEAT_OUT: GPIOs supports output, 29 * GPIO_SYSCON_FEAT_DIR: GPIOs supports switch direction. 30 * @bit_count: Number of bits used as GPIOs. 31 * @dat_bit_offset: Offset (in bits) to the first GPIO bit. 32 * @dir_bit_offset: Optional offset (in bits) to the first bit to switch 50 const struct syscon_gpio_data *data; member [all …]
|
H A D | gpiolib-acpi.c | 1 // SPDX-License-Identifier: GPL-2.0 24 #include "gpiolib-acpi.h" 26 static int run_edge_events_on_boot = -1; 29 "Run edge _AEI event-handlers at boot: 0=no, 1=yes, -1=auto"); 50 * struct acpi_gpio_event - ACPI GPIO event handler data 52 * @node: list-entry of the events list of the struct acpi_gpio_chip 82 * ACPICA requires that the first field of the context parameter 95 * struct acpi_gpio_info - ACPI GPIO specific information 129 static int acpi_gpiochip_find(struct gpio_chip *gc, const void *data) in acpi_gpiochip_find() argument 131 /* First check the actual GPIO device */ in acpi_gpiochip_find() [all …]
|
H A D | gpio-twl4030.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Access to GPIOs on TWL4030/TPS659x0 chips 5 * Copyright (C) 2006-2007 Texas Instruments, Inc. 8 * Code re-arranged and cleaned up by: 30 * The GPIO "subchip" supports 18 GPIOs which can be configured as 37 * There are also two LED pins used sometimes as output-only GPIOs. 52 /* Mask for GPIO registers when aggregated into a 32-bit integer */ 66 /*----------------------------------------------------------------------*/ 71 static inline int gpio_twl4030_write(u8 address, u8 data) in gpio_twl4030_write() argument 73 return twl_i2c_write_u8(TWL4030_MODULE_GPIO, data, address); in gpio_twl4030_write() [all …]
|
H A D | gpio-davinci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2006-2007 David Brownell 43 #define BINTEN 0x8 /* GPIO Interrupt Per-Bank Enable Register */ 82 /*--------------------------------------------------------------------------*/ 95 g = d->regs[bank]; in __davinci_direction() 96 spin_lock_irqsave(&d->lock, flags); in __davinci_direction() 97 temp = readl_relaxed(&g->dir); in __davinci_direction() 100 writel_relaxed(mask, value ? &g->set_data : &g->clr_data); in __davinci_direction() 104 writel_relaxed(temp, &g->dir); in __davinci_direction() 105 spin_unlock_irqrestore(&d->lock, flags); in __davinci_direction() [all …]
|
H A D | gpio-ich.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Intel ICH6-10, Series 5 and 6, Atom C2000 (Avoton/Rangeley) GPIO driver 19 * Each chunk of 32 GPIOs is manipulated via its own USE_SELx, IO_SELx, and 34 {0x00, 0x30, 0x40}, /* USE_SEL[1-3] offsets */ 35 {0x04, 0x34, 0x44}, /* IO_SEL[1-3] offsets */ 36 {0x0c, 0x38, 0x48}, /* LVL[1-3] offsets */ 54 #define ICHX_WRITE(val, reg, base_res) outl(val, (reg) + (base_res)->start) 55 #define ICHX_READ(reg, base_res) inl((reg) + (base_res)->start) 91 struct ichx_desc *desc; /* Pointer to chipset-specific description */ 97 static int modparam_gpiobase = -1; /* dynamic */ [all …]
|
/linux/Documentation/driver-api/gpio/ |
H A D | board.rst | 5 This document explains how GPIOs can be assigned to given devices and functions. 9 Kconfig. Then, how GPIOs are mapped depends on what the platform uses to 11 tree, ACPI, and platform data. 14 ----------- 15 GPIOs can easily be mapped to devices and functions in the device tree. The 16 exact way to do it depends on the GPIO controller providing the GPIOs, see the 19 GPIOs mappings are defined in the consumer device's node, in a property named 20 <function>-gpios, where <function> is the function the driver will request 26 led-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>, /* red */ 30 power-gpios = <&gpio 1 GPIO_ACTIVE_LOW>; [all …]
|
H A D | consumer.rst | 8 Guidelines for GPIOs consumers 13 obtain and use GPIOs are available by including the following file:: 21 - Simple compile coverage with e.g. COMPILE_TEST - it does not matter that 25 - Truly optional GPIOLIB support - where the driver does not really make use 26 of the GPIOs on certain compile-time configurations for certain systems, but 27 will use it under other compile-time configurations. In this case the 35 All the functions that work with the descriptor-based GPIO interface are 42 Obtaining and Disposing GPIOs 45 With the descriptor-based interface, GPIOs are identified with an opaque, 46 non-forgeable handler that must be obtained through a call to one of the [all …]
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | arm,pl18x.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Linus Walleij <linus.walleij@linaro.org> 11 - Ulf Hansson <ulf.hansson@linaro.org> 20 - $ref: /schemas/arm/primecell.yaml# 21 - $ref: mmc-controller.yaml# 29 - arm,pl180 30 - arm,pl181 31 - arm,pl18x [all …]
|
/linux/Documentation/userspace-api/gpio/ |
H A D | sysfs.rst | 6 been moved to Documentation/ABI/obsolete/sysfs-gpio. 16 ---------------------- 18 configure a sysfs user interface to GPIOs. This is different from the 26 may need to temporarily remove that protection, first importing a GPIO, 27 then changing its output state, then updating the code before re-enabling 32 userspace GPIO can be used to determine system configuration data that 38 Please read Documentation/driver-api/gpio/drivers-on-gpio.rst 44 -------------- 47 - Control interfaces used to get userspace control over GPIOs; 49 - GPIOs themselves; and [all …]
|
/linux/Documentation/firmware-guide/acpi/ |
H A D | gpio-properties.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 allows names to be given to GPIOs (and other things as well) returned 13 With _DSD we can now query GPIOs using a name instead of an integer 16 // Bluetooth device with reset and shutdown GPIOs 31 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), 34 Package () { "reset-gpios", Package () { ^BTH, 1, 1, 0 } }, 35 Package () { "shutdown-gpios", Package () { ^BTH, 0, 0, 0 } }, 61 In our Bluetooth example the "reset-gpios" refers to the second GpioIo() 70 +-------------+-------------+-----------------------------------------------+ 74 +-------------+-------------+-----------------------------------------------+ [all …]
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | google,cros-ec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Benson Leung <bleung@chromium.org> 11 - Guenter Roeck <groeck@chromium.org> 22 - description: 24 const: google,cros-ec-i2c 25 - description: 27 const: google,cros-ec-spi [all …]
|
/linux/Documentation/devicetree/bindings/media/i2c/ |
H A D | thine,thp7312.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Paul Elder <paul.elder@@ideasonboard.com> 17 MIPI CSI-2 and parallel interfaces. It can also output on either MIPI CSI-2 19 interleaved data streams with data types or multiple virtual channel 23 - $ref: /schemas/media/video-interface-devices.yaml# 36 thine,boot-mode: 43 0 is for the SPI/2-wire slave boot, 1 is for the SPI master boot (from 46 reset-gpios: [all …]
|
/linux/drivers/pinctrl/renesas/ |
H A D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Copyright (C) 2009 - 2012 Paul Mundt 40 return chip->pfc; in gpio_to_pfc() 47 int idx = sh_pfc_get_pin_index(chip->pfc, offset); in gpio_get_data_reg() 48 struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx]; in gpio_get_data_reg() 50 *reg = &chip->regs[gpio_pin->dreg]; in gpio_get_data_reg() 51 *bit = gpio_pin->dbit; in gpio_get_data_reg() 57 phys_addr_t address = dreg->reg; in gpio_read_data_reg() 58 void __iomem *mem = address - chip->mem->phys + chip->mem->virt; in gpio_read_data_reg() 60 return sh_pfc_read_raw_reg(mem, dreg->reg_width); in gpio_read_data_reg() [all …]
|
/linux/drivers/staging/media/atomisp/pci/ |
H A D | atomisp_csi2_bridge.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Based on drivers/media/pci/intel/ipu3/cio2-bridge.c written by: 18 #include <media/ipu-bridge.h> 19 #include <media/v4l2-fwnode.h> 28 * 79234640-9e10-4fea-a5c1-b5aa8b19756f 52 * 822ace8f-2814-4174-a56b-5f029fe079ee 61 * dc2f6c4f-045b-4f1d-97b9-882a6860a4be 70 * 75c9a639-5c8a-4a00-9f48-a9c3b5da789f 94 * Once all sensors are moved to v4l2-async probing atomisp_gmin_platform.c can 122 DMI_MATCH(DMI_PRODUCT_VERSION, "MIIX 310-10"), [all …]
|
/linux/Documentation/devicetree/bindings/display/ |
H A D | solomon,ssd1307fb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Maxime Ripard <mripard@kernel.org> 11 - Javier Martinez Canillas <javierm@redhat.com> 17 - enum: 18 - solomon,ssd1305fb-i2c 19 - solomon,ssd1306fb-i2c 20 - solomon,ssd1307fb-i2c 21 - solomon,ssd1309fb-i2c [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | ti,tlv320adcx140.yaml | 1 # SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Texas Instruments TLV320ADCX140 Quad Channel Analog-to-Digital Converter 11 - Andrew Davis <afd@ti.com> 14 The TLV320ADCX140 are multichannel (4-ch analog recording or 8-ch digital 15 PDM microphones recording), high-performance audio, analog-to-digital 28 - ti,tlv320adc3140 29 - ti,tlv320adc5140 30 - ti,tlv320adc6140 [all …]
|
/linux/Documentation/devicetree/bindings/net/bluetooth/ |
H A D | ti,bluetooth.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - David Lechner <david@lechnology.com> 32 - ti,cc2560 33 - ti,wl1271-st 34 - ti,wl1273-st 35 - ti,wl1281-st 36 - ti,wl1283-st 37 - ti,wl1285-st [all …]
|
/linux/drivers/platform/x86/intel/int3472/ |
H A D | discrete.c | 1 // SPDX-License-Identifier: GPL-2.0 20 * 79234640-9e10-4fea-a5c1-b5aa8b19756f 35 * 822ace8f-2814-4174-a56b-5f029fe079ee 47 obj = acpi_evaluate_dsm_typed(int3472->sensor->handle, in skl_int3472_log_sensor_module_name() 51 dev_dbg(int3472->dev, "Sensor module id: '%s'\n", obj->string.pointer); in skl_int3472_log_sensor_module_name() 60 char *path = agpio->resource_source.string_ptr; in skl_int3472_fill_gpiod_lookup() 67 return -EINVAL; in skl_int3472_fill_gpiod_lookup() 71 return -ENODEV; in skl_int3472_fill_gpiod_lookup() 73 *table_entry = GPIO_LOOKUP(acpi_dev_name(adev), agpio->pin_table[0], func, polarity); in skl_int3472_fill_gpiod_lookup() 84 if (int3472->n_sensor_gpios >= INT3472_MAX_SENSOR_GPIOS) { in skl_int3472_map_gpio_to_sensor() [all …]
|