/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# 10 - Wolfram Sang <wsa@kernel.org> 13 - $ref: /schemas/i2c/i2c-controller.yaml# 18 - const: i2c-gpio 20 sda-gpios: 23 active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) 24 from <dt-bindings/gpio/gpio.h> since the signal is by definition [all …]
|
/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 12 * @udelay: signal toggle delay. SCL frequency is (500 / udelay) kHz 14 * SCL low for longer than this, the transfer will time out. 15 * @sda_is_open_drain: SDA is configured as open drain, i.e. the pin 20 * This is for clients that can only read SDA/SCL. 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 [all …]
|
/openbmc/linux/drivers/i2c/busses/ |
H A D | i2c-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/i2c-algo-bit.h> 16 #include <linux/platform_data/i2c-gpio.h> 23 struct gpio_desc *scl; member 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() 48 * Toggle SCL by changing the output value of the pin. This is used 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/microchip/ |
H A D | at91-foxg20.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * at91-foxg20.dts - Device Tree file for Acme Systems FoxG20 board 9 /dts-v1/; 26 clock-frequency = <32768>; 30 clock-frequency = <18432000>; 38 compatible = "atmel,tcb-timer"; 43 compatible = "atmel,tcb-timer"; 49 atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>; 54 pinctrl-0 = < 58 pinctrl-names = "default"; [all …]
|
H A D | at91sam9x5.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC 11 #include <dt-bindings/dma/at91.h> 12 #include <dt-bindings/pinctrl/at91.h> 13 #include <dt-bindings/interrupt-controller/irq.h> 14 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/clock/at91.h> 16 #include <dt-bindings/mfd/at91-usart.h> 19 #address-cells = <1>; 20 #size-cells = <1>; [all …]
|
H A D | at91sam9rl.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * at91sam9rl.dtsi - Device Tree Include file for AT91SAM9RL family SoC 6 * Alexandre Belloni <alexandre.belloni@free-electrons.com> 9 #include <dt-bindings/pinctrl/at91.h> 10 #include <dt-bindings/clock/at91.h> 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/pwm/pwm.h> 14 #include <dt-bindings/mfd/at91-usart.h> 17 #address-cells = <1>; [all …]
|
H A D | at91sam9261.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * at91sam9261.dtsi - Device Tree Include file for AT91SAM9261 SoC 5 * Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com> 8 #include <dt-bindings/pinctrl/at91.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/clock/at91.h> 12 #include <dt-bindings/mfd/at91-usart.h> 15 #address-cells = <1>; 16 #size-cells = <1>; [all …]
|
H A D | at91rm9200.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * at91rm9200.dtsi - Device Tree Include file for AT91RM9200 family SoC 12 #include <dt-bindings/pinctrl/at91.h> 13 #include <dt-bindings/interrupt-controller/irq.h> 14 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/clock/at91.h> 16 #include <dt-bindings/mfd/at91-usart.h> 19 #address-cells = <1>; 20 #size-cells = <1>; 23 interrupt-parent = <&aic>; [all …]
|
/openbmc/u-boot/drivers/pinctrl/ |
H A D | pinctrl-sandbox.c | 1 // SPDX-License-Identifier: GPL-2.0+ 13 "SCL", 21 "I2C SCL", 25 "1-wire gpio", 44 { "bias-disable", PIN_CONFIG_BIAS_DISABLE, 0 }, 45 { "bias-high-impedance", PIN_CONFIG_BIAS_HIGH_IMPEDANCE, 0 }, 46 { "bias-bus-hold", PIN_CONFIG_BIAS_BUS_HOLD, 0 }, 47 { "bias-pull-up", PIN_CONFIG_BIAS_PULL_UP, 1 }, 48 { "bias-pull-down", PIN_CONFIG_BIAS_PULL_DOWN, 1 }, 49 { "bias-pull-pin-default", PIN_CONFIG_BIAS_PULL_PIN_DEFAULT, 1 }, [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/mfd/ |
H A D | as3722.txt | 4 ------------------- 5 - compatible: Must be "ams,as3722". 6 - reg: I2C device address. 7 - interrupt-controller: AS3722 has internal interrupt controller which takes the 8 interrupt request from internal sub-blocks like RTC, regulators, GPIOs as well 10 - #interrupt-cells: Should be set to 2 for IRQ number and flags. 12 of AS3722 are defined at dt-bindings/mfd/as3722.h 14 interrupts.txt, using dt-bindings/irq. 17 -------------------- 18 - ams,enable-internal-int-pullup: Boolean property, to enable internal pullup on [all …]
|
/openbmc/linux/arch/arm/boot/dts/nvidia/ |
H A D | tegra30-apalis-v1.1.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 16 avdd-pexa-supply = <&vdd2_reg>; 17 avdd-pexb-supply = <&vdd2_reg>; 18 avdd-pex-pll-supply = <&vdd2_reg>; 19 avdd-plle-supply = <&ldo6_reg>; 20 hvdd-pex-supply = <®_module_3v3>; 21 vddio-pex-ctl-supply = <®_module_3v3>; 22 vdd-pexa-supply = <&vdd2_reg>; 23 vdd-pexb-supply = <&vdd2_reg>; 27 nvidia,num-lanes = <4>; [all …]
|
H A D | tegra30-apalis.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 15 avdd-pexa-supply = <&vdd2_reg>; 16 avdd-pexb-supply = <&vdd2_reg>; 17 avdd-pex-pll-supply = <&vdd2_reg>; 18 avdd-plle-supply = <&ldo6_reg>; 19 hvdd-pex-supply = <®_module_3v3>; 20 vddio-pex-ctl-supply = <®_module_3v3>; 21 vdd-pexa-supply = <&vdd2_reg>; 22 vdd-pexb-supply = <&vdd2_reg>; 26 nvidia,num-lanes = <4>; [all …]
|
H A D | tegra30-colibri.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 15 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 16 nvidia,hpd-gpio = 18 pll-supply = <®_1v8_avdd_hdmi_pll>; 19 vdd-supply = <®_3v3_avdd_hdmi>; 24 lan-reset-n-hog { 25 gpio-hog; 27 output-high; 28 line-name = "LAN_RESET#"; 33 pinctrl-names = "default"; [all …]
|
H A D | tegra124-apalis-v1.2.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 3 * Copyright 2016-2018 Toradex AG 7 #include "tegra124-apalis-emc.dtsi" 21 avddio-pex-supply = <®_1v05_vdd>; 22 avdd-pex-pll-supply = <®_1v05_vdd>; 23 avdd-pll-erefe-supply = <®_1v05_avdd>; 24 dvddio-pex-supply = <®_1v05_vdd>; 25 hvdd-pex-pll-e-supply = <®_module_3v3>; 26 hvdd-pex-supply = <®_module_3v3>; 27 vddio-pex-ctl-supply = <®_module_3v3>; [all …]
|
H A D | tegra124-apalis.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR X11 3 * Copyright 2016-2019 Toradex AG 7 #include "tegra124-apalis-emc.dtsi" 20 avddio-pex-supply = <®_1v05_vdd>; 21 avdd-pex-pll-supply = <®_1v05_vdd>; 22 avdd-pll-erefe-supply = <®_1v05_avdd>; 23 dvddio-pex-supply = <®_1v05_vdd>; 24 hvdd-pex-pll-e-supply = <®_module_3v3>; 25 hvdd-pex-supply = <®_module_3v3>; 26 vddio-pex-ctl-supply = <®_module_3v3>; [all …]
|
/openbmc/linux/Documentation/driver-api/ |
H A D | i2c.rst | 5 the "Inter-IC" bus, a simple bus protocol which is widely used where low 7 some vendors use another name (such as "Two-Wire Interface", TWI) for 8 the same bus. I2C only needs two signals (SCL for clock, SDA for data), 12 I2C is a multi-master bus; open drain signaling is used to arbitrate 38 .. kernel-doc:: include/linux/i2c.h 41 .. kernel-doc:: drivers/i2c/i2c-boardinfo.c 44 .. kernel-doc:: drivers/i2c/i2c-core-base.c 47 .. kernel-doc:: drivers/i2c/i2c-core-smbus.c
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | at91sam9x5.dtsi | 2 * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC 13 #include <dt-bindings/dma/at91.h> 14 #include <dt-bindings/pinctrl/at91.h> 15 #include <dt-bindings/interrupt-controller/irq.h> 16 #include <dt-bindings/gpio/gpio.h> 17 #include <dt-bindings/clock/at91.h> 22 interrupt-parent = <&aic>; 45 compatible = "arm,arm926ej-s"; 56 compatible = "fixed-clock"; 57 #clock-cells = <0>; [all …]
|
H A D | at91sam9rl.dtsi | 2 * at91sam9rl.dtsi - Device Tree Include file for AT91SAM9RL family SoC 4 * Copyright (C) 2014 Alexandre Belloni <alexandre.belloni@free-electrons.com> 10 #include <dt-bindings/pinctrl/at91.h> 11 #include <dt-bindings/clock/at91.h> 12 #include <dt-bindings/interrupt-controller/irq.h> 13 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/pwm/pwm.h> 19 interrupt-parent = <&aic>; 42 compatible = "arm,arm926ej-s"; 53 compatible = "fixed-clock"; [all …]
|
H A D | tegra124-apalis.dts | 4 * This file is dual-licensed: you can use it either under the terms 42 /dts-v1/; 44 #include <dt-bindings/input/input.h> 49 compatible = "toradex,apalis-tk1-eval", "toradex,apalis-tk1", 73 stdout-path = "serial0:115200n8"; 80 pcie-controller@01003000 { 82 avddio-pex-supply = <&vdd_1v05>; 83 avdd-pex-pll-supply = <&vdd_1v05>; 84 avdd-pll-erefe-supply = <&avdd_1v05>; 85 dvddio-pex-supply = <&vdd_1v05>; [all …]
|
H A D | at91sam9261.dtsi | 2 * at91sam9261.dtsi - Device Tree Include file for AT91SAM9261 SoC 4 * Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com> 10 #include <dt-bindings/pinctrl/at91.h> 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/clock/at91.h> 18 interrupt-parent = <&aic>; 38 compatible = "arm,arm926ej-s"; 49 compatible = "fixed-clock"; 50 #clock-cells = <0>; [all …]
|
/openbmc/linux/arch/powerpc/boot/dts/ |
H A D | wii.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright (C) 2008-2009 The GameCube Linux Team 10 /dts-v1/; 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/input/input.h> 15 * This is commented-out for now. 25 #address-cells = <1>; 26 #size-cells = <1>; 29 bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; 34 reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ [all …]
|
/openbmc/linux/Documentation/driver-api/gpio/ |
H A D | driver.rst | 26 between 0 and n-1, n being the number of GPIOs managed by the chip. 29 example if a system uses a memory-mapped set of I/O-registers where 32 GPIO 30 lines are handled by one bit per line in a 32-bit register, it makes sense to 44 So for example one platform could use global numbers 32-159 for GPIOs, with a 46 global numbers 0..63 with one set of GPIO controllers, 64-79 with another type 47 of GPIO controller, and on one particular board 80-95 with an FPGA. The legacy 49 2000-2063 to identify GPIO lines in a bank of I2C GPIO expanders. 60 - methods to establish GPIO line direction 61 - methods used to access GPIO line values 62 - method to set electrical configuration for a given GPIO line [all …]
|
/openbmc/u-boot/board/keymile/kmp204x/ |
H A D | kmp204x.c | 1 // SPDX-License-Identifier: GPL-2.0+ 36 * 2 dedicated QRIO GPIOs externally pull the SCL and SDA lines 37 * For I2C only the low state is activly driven and high state is pulled-up 39 * -> as an active output to drive a low state 40 * -> as an open-drain input to have a pulled-up high state 51 /* set I2C bus 1 deblocking GPIOs input, but 0 value for open drain */ in i2c_deblock_gpio_cfg() 94 setbits_be32(&gur->ddrclkdr, 0x001f000f); in board_early_init_f() 97 if ((gur->rstrqsr1 & (RSTRQSR1_WDT_RR | RSTRQSR1_SW_RR)) == in board_early_init_f() 103 setbits_be32(&gur->rstrqsr1, RSTRQSR1_WDT_RR | RSTRQSR1_SW_RR); in board_early_init_f() 105 /* set the BFTIC's prstcfg to reset at power-up and unit reset only */ in board_early_init_f() [all …]
|
/openbmc/linux/arch/arm/boot/dts/st/ |
H A D | stm32f7-pinctrl.dtsi | 1 // 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>; 20 gpio-controller; 21 #gpio-cells = <2>; 22 interrupt-controller; [all …]
|
/openbmc/linux/include/linux/i3c/ |
H A D | master.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 38 * struct i3c_i2c_dev_desc - Common part of the I3C/I2C device descriptor 61 * struct i2c_dev_boardinfo - I2C device board information 67 * This structure is used to attach board-level information to an I2C device. 77 * struct i2c_dev_desc - I2C device descriptor 87 * using &struct_i3c_master_controller->ops->attach_i2c_dev(). 101 * struct i3c_ibi_slot - I3C IBI (In-Band Interrupt) slot 108 * An IBI slot is an object pre-allocated by the controller and used when an 115 * simple kmalloc-based allocation, the generic IBI slot pool can be used. 125 * struct i3c_device_ibi_info - IBI information attached to a specific device [all …]
|