/openbmc/linux/Documentation/devicetree/bindings/i2c/ |
H A D | i2c-gpio.yaml | 1 # 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: 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 …]
|
/openbmc/linux/arch/arm64/boot/dts/nvidia/ |
H A D | tegra210-p2597.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <dt-bindings/gpio/tegra-gpio.h> 4 #include <dt-bindings/input/input.h> 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 23 avdd-dsi-csi-supply = <&vdd_dsi_csi>; 33 avdd-io-hdmi-dp-supply = <&avdd_1v05>; 34 vdd-hdmi-dp-pll-supply = <&vdd_1v8>; 35 hdmi-supply = <&vdd_hdmi>; 37 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 38 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1) [all …]
|
H A D | tegra210-p2894.dtsi | 1 // 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 …]
|
H A D | tegra210-smaug.dts | 1 // 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 …]
|
/openbmc/linux/Documentation/driver-api/gpio/ |
H A D | intro.rst | 6 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 …]
|
H A D | consumer.rst | 2 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 …]
|
H A D | driver.rst | 2 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/serio/ |
H A D | ps2-gpio.yaml | 1 # 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: 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 …]
|
/openbmc/linux/drivers/w1/masters/ |
H A D | w1-gpio.c | 1 // 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 …]
|
/openbmc/u-boot/include/dt-bindings/gpio/ |
H A D | gpio.h | 1 /* 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 */
|
/openbmc/linux/include/dt-bindings/gpio/ |
H A D | gpio.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 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 */
|
/openbmc/linux/include/linux/platform_data/ |
H A D | i2c-gpio.h | 1 /* 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 21 * @sda_has_no_pullup: SDA is used in a non-compliant way and has no pull-up. 22 * Therefore disable open-drain. 23 * @scl_is_open_drain: SCL is set up as open drain. Same requirements 26 * @scl_has_no_pullup: SCL is used in a non-compliant way and has no pull-up. 27 * Therefore disable open-drain.
|
/openbmc/u-boot/arch/sandbox/include/asm/ |
H A D | gpio.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * This is the interface to the sandbox GPIO driver for test code which 4 * wants to change the GPIO values reported to U-Boot. 13 * We use the generic interface, and add a back-channel. 15 * The back-channel functions are declared in this file. They should not be used 19 * a simulated GPIO. From then on, normal code in U-Boot will see this new 24 #include <asm-generic/gpio.h> 27 * Return the simulated value of a GPIO (used only in sandbox test code) 30 * @param offset GPIO offset within bank 31 * @return -1 on error, 0 if GPIO is low, >0 if high [all …]
|
/openbmc/linux/drivers/gpio/ |
H A D | gpio-tps65218.c | 1 // 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 …]
|
H A D | gpio-vx855.c | 1 // 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/w1/ |
H A D | w1-gpio.yaml | 1 # 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/regulator/ |
H A D | fixed-regulator.yaml | 1 # 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 …]
|
H A D | gpio-regulator.yaml | 1 # 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 …]
|
/openbmc/linux/drivers/i2c/busses/ |
H A D | i2c-gpio.c | 1 // 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> 16 #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 …]
|
/openbmc/linux/arch/arm/boot/dts/st/ |
H A D | ste-href-tvk1281618-r2.dtsi | 1 // 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 …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | stm32mp157-pinctrl.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved 6 #include <dt-bindings/pinctrl/stm32-pinfunc.h> 10 pinctrl: pin-controller@50002000 { 11 #address-cells = <1>; 12 #size-cells = <1>; 13 compatible = "st,stm32mp157-pinctrl"; 15 interrupt-parent = <&exti>; 17 pins-are-numbered; 19 gpioa: gpio@50002000 { [all …]
|
/openbmc/linux/include/dt-bindings/sound/ |
H A D | cs35l45.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 3 * cs35l45.h -- CS35L45 ALSA SoC audio driver DT bindings header 12 * cirrus,asp-sdout-hiz-ctrl 14 * TX_HIZ_UNUSED: TX pin high-impedance during unused slots. 15 * TX_HIZ_DISABLED: TX pin high-impedance when all channels disabled. 21 * Optional GPIOX Sub-nodes: 22 * The cs35l45 node can have up to three "cirrus,gpio-ctrlX" ('X' = [1,2,3]) 23 * sub-nodes for configuring the GPIO pins. 25 * - gpio-dir : GPIO pin direction. Valid only when 'gpio-ctrl' 30 * - gpio-lvl : GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0. [all …]
|
/openbmc/qemu/tests/qtest/ |
H A D | stm32l4x5_gpio-test.c | 4 * Copyright (c) 2024 Arnaud Minier <arnaud.minier@telecom-paris.fr> 5 * Copyright (c) 2024 Inès Varhol <ines.varhol@telecom-paris.fr> 8 * See the COPYING file in the top-level directory. 12 #include "libqtest-single.h" 84 #define GPIO_ADDR_MASK (~(GPIO_SIZE - 1)) 94 static uint32_t gpio_readl(unsigned int gpio, unsigned int offset) in gpio_readl() argument 96 return readl(gpio + offset); in gpio_readl() 99 static void gpio_writel(unsigned int gpio, unsigned int offset, uint32_t value) in gpio_writel() argument 101 writel(gpio + offset, value); in gpio_writel() 104 static void gpio_set_bit(unsigned int gpio, unsigned int reg, in gpio_set_bit() argument [all …]
|
/openbmc/linux/arch/arm/boot/dts/nvidia/ |
H A D | tegra30-cardhu-a02.dts | 1 // 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | lantiq,pinctrl-xway.txt | 4 - compatible: "lantiq,<chip>-pinctrl", where <chip> is: 10 - reg: Should contain the physical address and length of the gpio/pinmux 13 Please refer to pinctrl-bindings.txt in this directory for details of the 21 pull-up and open-drain 36 Required subnode-properties: 37 - lantiq,groups : An array of strings. Each string contains the name of a group. 39 - lantiq,function: A string containing the name of the function to mux to the 106 Required subnode-properties: 107 - lantiq,pins : An array of strings. Each string contains the name of a pin. 110 Optional subnode-properties: [all …]
|