Home
last modified time | relevance | path

Searched +full:gpio +full:- +full:open +full:- +full:drain (Results 1 – 25 of 189) sorted by relevance

12345678

/Linux-v6.1/arch/arm64/boot/dts/nvidia/
Dtegra210-p2597.dtsi1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/input/input.h>
20 avdd-dsi-csi-supply = <&vdd_dsi_csi>;
30 avdd-io-hdmi-dp-supply = <&avdd_1v05>;
31 vdd-hdmi-dp-pll-supply = <&vdd_1v8>;
32 hdmi-supply = <&vdd_hdmi>;
34 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
35 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1)
41 pinctrl-names = "boot";
42 pinctrl-0 = <&state_boot>;
[all …]
Dtegra210-p2894.dtsi1 // SPDX-License-Identifier: GPL-2.0
3 #include <dt-bindings/input/input.h>
4 #include <dt-bindings/input/gpio-keys.h>
5 #include <dt-bindings/mfd/max77620.h>
6 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
16 stdout-path = "serial0:115200n8";
26 pinctrl-names = "boot";
27 pinctrl-0 = <&state_boot>;
35 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
36 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
[all …]
Dtegra210-smaug.dts1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
4 #include <dt-bindings/input/input.h>
5 #include <dt-bindings/mfd/max77620.h>
6 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
12 compatible = "google,smaug-rev8", "google,smaug-rev7",
13 "google,smaug-rev6", "google,smaug-rev5",
14 "google,smaug-rev4", "google,smaug-rev3",
15 "google,smaug-rev2", "google,smaug-rev1",
25 stdout-path = "serial0:115200n8";
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/i2c/
Di2c-gpio.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Bindings for GPIO bitbanged I2C
10 - Wolfram Sang <wsa@kernel.org>
13 - $ref: /schemas/i2c/i2c-controller.yaml#
18 - const: i2c-gpio
20 sda-gpios:
22 gpio used for the sda signal, this should be flagged as
[all …]
/Linux-v6.1/Documentation/driver-api/gpio/
Dintro.rst6 GPIO Interfaces
13 Due to the history of GPIO interfaces in the kernel, there are two different
16 - The descriptor-based interface is the preferred way to manipulate GPIOs,
18 - The legacy integer-based interface which is considered deprecated (but still
21 The remainder of this document applies to the new descriptor-based interface.
23 integer-based interface.
26 What is a GPIO?
29 A "General Purpose Input/Output" (GPIO) is a flexible software-controlled
31 to Linux developers working with embedded and custom hardware. Each GPIO
37 System-on-Chip (SOC) processors heavily rely on GPIOs. In some cases, every
[all …]
Dconsumer.rst2 GPIO Descriptor Consumer Interface
5 This document describes the consumer interface of the GPIO framework. Note that
6 it describes the new descriptor-based interface. For a description of the
7 deprecated integer-based GPIO interface please refer to legacy.rst.
13 Drivers that can't work without standard GPIO calls should have Kconfig entries
17 #include <linux/gpio/consumer.h>
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
[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
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
22 GPIO and should therefore still be handled by a GPIO chip driver.
[all …]
Dlegacy.rst2 Legacy GPIO Interfaces
5 This provides an overview of GPIO access conventions on Linux.
11 What is a GPIO?
13 A "General Purpose Input/Output" (GPIO) is a flexible software-controlled
15 to Linux developers working with embedded and custom hardware. Each GPIO
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
26 also "GPIO Expander" chips that connect using the I2C or SPI serial busses.
27 Most PC southbridges have a few dozen GPIO-capable pins (with only the BIOS
32 - Output values are writable (high=1, low=0). Some chips also have
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/serio/
Dps2-gpio.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/serio/ps2-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Bindings for GPIO based PS/2
10 - Danilo Krummrich <danilokrummrich@dk-develop.de>
14 const: ps2-gpio
16 data-gpios:
18 the gpio used for the data signal - this should be flagged as
19 active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)
[all …]
/Linux-v6.1/drivers/w1/masters/
Dw1-gpio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * w1-gpio - GPIO w1 bus master driver
12 #include <linux/w1-gpio.h>
13 #include <linux/gpio/consumer.h>
26 pdata->pullup_duration = delay; in w1_gpio_set_pullup()
28 if (pdata->pullup_duration) { in w1_gpio_set_pullup()
30 * This will OVERRIDE open drain emulation and force-pull in w1_gpio_set_pullup()
33 gpiod_set_raw_value(pdata->gpiod, 1); in w1_gpio_set_pullup()
34 msleep(pdata->pullup_duration); in w1_gpio_set_pullup()
37 * open drain emulation in the GPIO library. in w1_gpio_set_pullup()
[all …]
/Linux-v6.1/include/dt-bindings/gpio/
Dgpio.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * This header provides constants for most GPIO bindings.
5 * Most GPIO bindings include a flags cell as part of the GPIO specifier.
17 /* Bit 1 express single-endedness */
21 /* Bit 2 express Open drain or open source */
26 * Open Drain/Collector is the combination of single-ended open drain interface.
27 * Open Source/Emitter is the combination of single-ended open source interface.
32 /* Bit 3 express GPIO suspend/resume and reset persistence */
/Linux-v6.1/drivers/gpio/
Dgpio-tps65218.c1 // SPDX-License-Identifier: GPL-2.0-or-later
7 * This driver is based on the gpio-tps65912 implementation.
13 #include <linux/gpio/driver.h>
26 struct tps65218 *tps65218 = tps65218_gpio->tps65218; in tps65218_gpio_get()
30 ret = regmap_read(tps65218->regmap, TPS65218_REG_ENABLE2, &val); in tps65218_gpio_get()
41 struct tps65218 *tps65218 = tps65218_gpio->tps65218; in tps65218_gpio_set()
64 return -EPERM; in tps65218_gpio_input()
70 struct tps65218 *tps65218 = tps65218_gpio->tps65218; in tps65218_gpio_request()
74 dev_err(gc->parent, "can't work as open source\n"); in tps65218_gpio_request()
75 return -EINVAL; in tps65218_gpio_request()
[all …]
Dgpio-vx855.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Linux GPIOlib driver for the VIA VX855 integrated southbridge GPIO
12 #include <linux/gpio/driver.h>
21 /* The VX855 south bridge has the following GPIO pins:
24 * GPIO 0...14 General Purpose I/O (Open-Drain)
35 struct gpio_chip gpio; member
74 /* Mapping between numeric GPIO ID and the actual GPIO hardware numbering:
77 * 27..41 GPIO 0..14
80 static int vx855gpio_direction_input(struct gpio_chip *gpio, in vx855gpio_direction_input() argument
83 struct vx855_gpio *vg = gpiochip_get_data(gpio); in vx855gpio_direction_input()
[all …]
Dgpio-tc3589x.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) ST-Ericsson SA 2010
5 * Author: Hanumath Prasad <hanumath.prasad@stericsson.com> for ST-Ericsson
6 * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
12 #include <linux/gpio/driver.h>
40 struct tc3589x *tc3589x = tc3589x_gpio->tc3589x; in tc3589x_gpio_get()
55 struct tc3589x *tc3589x = tc3589x_gpio->tc3589x; in tc3589x_gpio_set()
67 struct tc3589x *tc3589x = tc3589x_gpio->tc3589x; in tc3589x_gpio_direction_output()
80 struct tc3589x *tc3589x = tc3589x_gpio->tc3589x; in tc3589x_gpio_direction_input()
91 struct tc3589x *tc3589x = tc3589x_gpio->tc3589x; in tc3589x_gpio_get_direction()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/w1/
Dw1-gpio.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/w1/w1-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Bitbanged GPIO 1-Wire Bus
10 - Daniel Mack <zonque@gmail.com>
14 const: w1-gpio
19 - description: Data I/O pin
20 - description: Enable pin for an external pull-up resistor
22 linux,open-drain:
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/regulator/
Dfixed-regulator.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/regulator/fixed-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Liam Girdwood <lgirdwood@gmail.com>
11 - Mark Brown <broonie@kernel.org>
16 expected to have the regulator-min-microvolt and regulator-max-microvolt
20 - $ref: "regulator.yaml#"
21 - if:
25 const: regulator-fixed-clock
[all …]
Dgpio-regulator.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: GPIO controlled regulators
10 - Liam Girdwood <lgirdwood@gmail.com>
11 - Mark Brown <broonie@kernel.org>
18 - $ref: "regulator.yaml#"
22 const: regulator-gpio
24 regulator-name: true
[all …]
/Linux-v6.1/drivers/i2c/busses/
Di2c-gpio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Bitbanging I2C bus driver using the GPIO API
10 #include <linux/gpio/consumer.h>
11 #include <linux/i2c-algo-bit.h>
17 #include <linux/platform_data/i2c-gpio.h>
37 * valid for pins configured as open drain (i.e. setting the value
44 gpiod_set_value_cansleep(priv->sda, state); in i2c_gpio_setsda_val()
49 * for pins that are configured as open drain and for output-only
57 gpiod_set_value_cansleep(priv->scl, state); in i2c_gpio_setscl_val()
64 return gpiod_get_value_cansleep(priv->sda); in i2c_gpio_getsda()
[all …]
/Linux-v6.1/arch/arm/boot/dts/
Dste-href-tvk1281618-r2.dtsi1 // SPDX-License-Identifier: GPL-2.0-or-later
6 #include <dt-bindings/interrupt-controller/irq.h>
7 #include <dt-bindings/input/input.h>
11 compatible = "gpio-keys";
12 #address-cells = <1>;
13 #size-cells = <0>;
14 vdd-supply = <&ab8500_ldo_aux1_reg>;
15 pinctrl-names = "default";
16 pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
37 interrupt-parent = <&gpio6>;
[all …]
Dtegra30-cardhu-a02.dts1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
4 #include "tegra30-cardhu.dtsi"
10 compatible = "nvidia,cardhu-a02", "nvidia,cardhu", "nvidia,tegra30";
14 power-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
15 bus-width = <4>;
16 keep-power-in-suspend;
19 ddr_reg: regulator-ddr {
20 compatible = "regulator-fixed";
21 regulator-name = "vdd_ddr";
[all …]
Dstm32f7-pinctrl.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
7 #include <dt-bindings/pinctrl/stm32-pinfunc.h>
8 #include <dt-bindings/mfd/stm32f7-rcc.h>
13 #address-cells = <1>;
14 #size-cells = <1>;
16 interrupt-parent = <&exti>;
18 pins-are-numbered;
20 gpioa: gpio@40020000 {
21 gpio-controller;
[all …]
Dtegra30-cardhu-a04.dts1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
4 #include "tegra30-cardhu.dtsi"
10 compatible = "nvidia,cardhu-a04", "nvidia,cardhu", "nvidia,tegra30";
14 power-gpios = <&gpio TEGRA_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
15 bus-width = <4>;
16 keep-power-in-suspend;
19 ddr_reg: regulator-ddr {
20 compatible = "regulator-fixed";
21 regulator-name = "ddr";
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/net/dsa/
Dqca8k.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - John Crispin <john@phrozen.org>
13 If the QCA8K switch is connect to an SoC's external mdio-bus, each subnode
16 ID. To declare the internal mdio-bus configuration, declare an MDIO node in
18 PHY it is connected to. In this config, an internal mdio-bus is registered and
20 mdio-bus configurations are not supported by the hardware.
25 - enum:
26 - qca,qca8327
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/pinctrl/
Dpinctrl-sx150x.txt1 SEMTECH SX150x GPIO expander bindings
3 Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
4 ../interrupt-controller/interrupts.txt for generic information regarding
5 pin controller, GPIO, and interrupt bindings.
8 - compatible: should be one of :
19 - reg: The I2C slave address for this device.
21 - #gpio-cells: Should be 2. The first cell is the GPIO number and the
25 - gpio-controller: Marks the device as a GPIO controller.
28 - interrupts: Interrupt specifier for the controllers interrupt.
30 - interrupt-controller: Marks the device as a interrupt controller.
[all …]
/Linux-v6.1/include/linux/platform_data/
Di2c-gpio.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * i2c-gpio interface to platform code
11 * struct i2c_gpio_platform_data - Platform-dependent data for i2c-gpio
15 * @sda_is_open_drain: SDA is configured as open drain, i.e. the pin
19 * @scl_is_open_drain: SCL is set up as open drain. Same requirements

12345678