| /kernel/linux/linux-6.6/drivers/staging/sm750fb/ |
| D | ddk750_hwi2c.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * Enable Hardware I2C power. in sm750_hw_i2c_init() 28 /* Enable the I2C Controller and set the bus speed mode */ in sm750_hw_i2c_init() 42 /* Disable I2C controller */ in sm750_hw_i2c_close() 46 /* Disable I2C Power */ in sm750_hw_i2c_close() 63 timeout--; in hw_i2c_wait_tx_done() 66 return -1; in hw_i2c_wait_tx_done() 72 * This function writes data to the i2c slave device registers. 75 * addr - i2c Slave device address 76 * length - Total number of bytes to be written to the device [all …]
|
| D | ddk750_swi2c.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * swi2c.h --- SM750/SM718 DDK 6 * This file contains the definitions for i2c using software 14 /* Default i2c CLK and Data GPIO. These are the default i2c pins */ 19 * This function initializes the i2c attributes and bus 22 * i2cClkGPIO - The GPIO pin to be used as i2c SCL 23 * i2cDataGPIO - The GPIO pin to be used as i2c SDA 26 * -1 - Fail to initialize the i2c 27 * 0 - Success 32 * This function reads the slave device's register [all …]
|
| D | ddk750_swi2c.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * swi2c.c --- SM750/SM718 DDK 6 * This file contains the source code for I2C using software 16 * I2C Software Master Driver: 18 * Each i2c cycle is split into 4 sections. Each of these section marks 22 * +-------------+-------------+-------------+-------------+ 37 * ---------------+---+---+---+---+ 40 * ---------------+---+---+---+---+ 43 * ---------------+---+---+---+---+ 46 * ---------------+---+---+---+---+ [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/sm750fb/ |
| D | ddk750_hwi2c.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * Enable Hardware I2C power. in sm750_hw_i2c_init() 28 /* Enable the I2C Controller and set the bus speed mode */ in sm750_hw_i2c_init() 42 /* Disable I2C controller */ in sm750_hw_i2c_close() 46 /* Disable I2C Power */ in sm750_hw_i2c_close() 63 timeout--; in hw_i2c_wait_tx_done() 66 return -1; in hw_i2c_wait_tx_done() 72 * This function writes data to the i2c slave device registers. 75 * addr - i2c Slave device address 76 * length - Total number of bytes to be written to the device [all …]
|
| D | ddk750_swi2c.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * swi2c.h --- SM750/SM718 DDK 6 * This file contains the definitions for i2c using software 14 /* Default i2c CLK and Data GPIO. These are the default i2c pins */ 19 * This function initializes the i2c attributes and bus 22 * i2cClkGPIO - The GPIO pin to be used as i2c SCL 23 * i2cDataGPIO - The GPIO pin to be used as i2c SDA 26 * -1 - Fail to initialize the i2c 27 * 0 - Success 32 * This function reads the slave device's register [all …]
|
| D | ddk750_swi2c.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * swi2c.c --- SM750/SM718 DDK 6 * This file contains the source code for I2C using software 16 * I2C Software Master Driver: 18 * Each i2c cycle is split into 4 sections. Each of these section marks 22 * +-------------+-------------+-------------+-------------+ 37 * ---------------+---+---+---+---+ 40 * ---------------+---+---+---+---+ 43 * ---------------+---+---+---+---+ 46 * ---------------+---+---+---+---+ [all …]
|
| /kernel/linux/linux-6.6/drivers/mfd/ |
| D | palmas.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2011-2012 Texas Instruments Inc. 14 #include <linux/i2c.h> 328 struct palmas_pmic_driver_data *pmic_ddata = palmas->pmic_ddata; in palmas_ext_control_req_config() 350 bit_pos = pmic_ddata->sleep_req_info[id].bit_pos; in palmas_ext_control_req_config() 351 reg_add += pmic_ddata->sleep_req_info[id].reg_offset; in palmas_ext_control_req_config() 359 dev_err(palmas->dev, "Resource reg 0x%02x update failed %d\n", in palmas_ext_control_req_config() 368 dev_err(palmas->dev, "POWER_CTRL register update failed %d\n", in palmas_ext_control_req_config() 376 static int palmas_set_pdata_irq_flag(struct i2c_client *i2c, in palmas_set_pdata_irq_flag() argument 379 struct irq_data *irq_data = irq_get_irq_data(i2c->irq); in palmas_set_pdata_irq_flag() [all …]
|
| /kernel/linux/linux-5.10/drivers/mfd/ |
| D | palmas.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2011-2012 Texas Instruments Inc. 14 #include <linux/i2c.h> 327 struct palmas_pmic_driver_data *pmic_ddata = palmas->pmic_ddata; in palmas_ext_control_req_config() 349 bit_pos = pmic_ddata->sleep_req_info[id].bit_pos; in palmas_ext_control_req_config() 350 reg_add += pmic_ddata->sleep_req_info[id].reg_offset; in palmas_ext_control_req_config() 358 dev_err(palmas->dev, "Resource reg 0x%02x update failed %d\n", in palmas_ext_control_req_config() 367 dev_err(palmas->dev, "POWER_CTRL register update failed %d\n", in palmas_ext_control_req_config() 375 static int palmas_set_pdata_irq_flag(struct i2c_client *i2c, in palmas_set_pdata_irq_flag() argument 378 struct irq_data *irq_data = irq_get_irq_data(i2c->irq); in palmas_set_pdata_irq_flag() [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/busses/ |
| D | i2c-stm32f7.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Driver for STMicroelectronics STM32F7 I2C controller 5 * This I2C controller is described in the STM32F75xxx and STM32F74xxx Soc 14 * This driver is based on i2c-stm32f4.c 20 #include <linux/i2c.h> 21 #include <linux/i2c-smbus.h> 38 #include "i2c-stm32.h" 40 /* STM32F7 I2C registers */ 52 /* STM32F7 I2C control 1 */ 83 /* STM32F7 I2C control 2 */ [all …]
|
| D | i2c-at91-slave.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * i2c slave support for Atmel's AT91 Two-Wire Interface (TWI) 9 #include <linux/i2c.h> 13 #include "i2c-at91.h" 25 /* slave address has been detected on I2C bus */ in atmel_twi_interrupt_slave() 28 i2c_slave_event(dev->slave, in atmel_twi_interrupt_slave() 30 writeb_relaxed(value, dev->base + AT91_TWI_THR); in atmel_twi_interrupt_slave() 34 i2c_slave_event(dev->slave, in atmel_twi_interrupt_slave() 44 i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, &value); in atmel_twi_interrupt_slave() 45 writeb_relaxed(value, dev->base + AT91_TWI_THR); in atmel_twi_interrupt_slave() [all …]
|
| D | i2c-cadence.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * I2C bus driver for the Cadence I2C controller. 5 * Copyright (C) 2009 - 2014 Xilinx, Inc. 10 #include <linux/i2c.h> 21 /* Register offsets for the I2C device. */ 24 #define CDNS_I2C_ADDR_OFFSET 0x08 /* I2C Address Register, RW */ 25 #define CDNS_I2C_DATA_OFFSET 0x0C /* I2C Data Register, RW */ 60 * I2C Address Register Bit mask definitions 62 * bits. A write access to this register always initiates a transfer if the I2C 65 #define CDNS_I2C_ADDR_MASK 0x000003FF /* I2C Address Mask */ [all …]
|
| /kernel/linux/linux-6.6/drivers/media/usb/dvb-usb/ |
| D | m920x.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include "dvb-usb.h" 27 0x80 write addr 31 0x80 write addr 33 0x80 read addr 38 0x80 read addr 42 Guess at API of the I2C function: 43 I2C operation is done one byte at a time with USB control messages. The 45 the I2C bus state: 47 always send the 7-bit slave I2C address as the 7 MSB, followed by [all …]
|
| /kernel/linux/linux-5.10/drivers/media/usb/dvb-usb/ |
| D | m920x.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include "dvb-usb.h" 27 0x80 write addr 31 0x80 write addr 33 0x80 read addr 38 0x80 read addr 42 Guess at API of the I2C function: 43 I2C operation is done one byte at a time with USB control messages. The 45 the I2C bus state: 47 always send the 7-bit slave I2C address as the 7 MSB, followed by [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/busses/ |
| D | i2c-stm32f7.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Driver for STMicroelectronics STM32F7 I2C controller 5 * This I2C controller is described in the STM32F75xxx and STM32F74xxx Soc 14 * This driver is based on i2c-stm32f4.c 20 #include <linux/i2c.h> 21 #include <linux/i2c-smbus.h> 38 #include "i2c-stm32.h" 40 /* STM32F7 I2C registers */ 52 /* STM32F7 I2C control 1 */ 82 /* STM32F7 I2C control 2 */ [all …]
|
| D | i2c-at91-slave.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * i2c slave support for Atmel's AT91 Two-Wire Interface (TWI) 9 #include <linux/i2c.h> 13 #include "i2c-at91.h" 25 /* slave address has been detected on I2C bus */ in atmel_twi_interrupt_slave() 28 i2c_slave_event(dev->slave, in atmel_twi_interrupt_slave() 30 writeb_relaxed(value, dev->base + AT91_TWI_THR); in atmel_twi_interrupt_slave() 34 i2c_slave_event(dev->slave, in atmel_twi_interrupt_slave() 44 i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, &value); in atmel_twi_interrupt_slave() 45 writeb_relaxed(value, dev->base + AT91_TWI_THR); in atmel_twi_interrupt_slave() [all …]
|
| D | i2c-mlxbf.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Mellanox BlueField I2C bus driver 13 #include <linux/i2c.h> 56 * memory-mapped region whose addresses are specified in either the DT or 66 /* Reference clock for Bluefield - 156 MHz. */ 123 * Slave cause status flags. Note that those bits might be considered 131 /* Slave busy bit reset. */ 152 * SMBUS GW0 -> bits[26:25] 153 * SMBUS GW1 -> bits[28:27] 154 * SMBUS GW2 -> bits[30:29] [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/ |
| D | i2c-core-smbus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Linux I2C core SMBus and SMBus emulation code 5 * This file contains the SMBus functions which are always included in the I2C 6 * core because they can be emulated via I2C. SMBus specific extensions 7 * (e.g. smbalert) are handled in a separate i2c-smbus module. 9 * All SMBus-related things are written by Frodo Looijaard <frodol@dds.nl> 15 #include <linux/i2c.h> 16 #include <linux/i2c-smbus.h> 20 #include "i2c-core.h" 42 * i2c_smbus_pec - Incremental CRC8 over the given input data array [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/ |
| D | i2c-core-smbus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Linux I2C core SMBus and SMBus emulation code 5 * This file contains the SMBus functions which are always included in the I2C 6 * core because they can be emulated via I2C. SMBus specific extensions 7 * (e.g. smbalert) are handled in a separate i2c-smbus module. 9 * All SMBus-related things are written by Frodo Looijaard <frodol@dds.nl> 15 #include <linux/i2c.h> 16 #include <linux/i2c-smbus.h> 19 #include "i2c-core.h" 50 /* Assume a 7-bit address, which is reasonable for SMBus */ [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | i2c.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * i2c.h - definitions for the Linux i2c bus interface 4 * Copyright (C) 1995-2000 Simon G. Vogl 5 * Copyright (C) 2013-2019 Wolfram Sang <wsa@kernel.org> 22 #include <uapi/linux/i2c.h> 28 /* --- General options ------------------------------------------------ */ 42 /* I2C Frequency Modes */ 65 * i2c_master_recv - issue a single I2C message in master receive mode 66 * @client: Handle to slave device 67 * @buf: Where to store data read from slave [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/fsi/ |
| D | fsi.txt | 4 The FSI bus is probe-able, so the OS is able to enumerate FSI slaves, and 6 nodes to probed engines. This allows for fsi engines to expose non-probeable 8 that is an I2C master - the I2C bus can be described by the device tree under 13 the fsi-master-* binding specifications. 16 represent the FSI slaves and their slave engines. As a basic outline: 18 fsi-master { 19 /* top-level of FSI bus topology, bound to an FSI master driver and 22 fsi-slave@<link,id> { 23 /* this node defines the FSI slave device, and is handled 26 fsi-slave-engine@<addr> { [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/fsi/ |
| D | fsi.txt | 4 The FSI bus is probe-able, so the OS is able to enumerate FSI slaves, and 6 nodes to probed engines. This allows for fsi engines to expose non-probeable 8 that is an I2C master - the I2C bus can be described by the device tree under 13 the fsi-master-* binding specifications. 16 represent the FSI slaves and their slave engines. As a basic outline: 18 fsi-master { 19 /* top-level of FSI bus topology, bound to an FSI master driver and 22 fsi-slave@<link,id> { 23 /* this node defines the FSI slave device, and is handled 26 fsi-slave-engine@<addr> { [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/soc/tegra/ |
| D | nvidia,nvec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 26 - description: divider clock 27 - description: fast clock 29 clock-names: 32 - const: div-clk 33 - const: fast-clk [all …]
|
| /kernel/linux/linux-5.10/drivers/w1/slaves/ |
| D | w1_ds28e17.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * w1_ds28e17.c - w1 family 19 (DS28E17) driver 11 #include <linux/i2c.h> 28 MODULE_DESCRIPTION("w1 family 19 driver for DS28E17, 1-wire to I2C master bridge"); 29 MODULE_ALIAS("w1-family-" __stringify(W1_FAMILY_DS28E17)); 32 /* Default I2C speed to be set when a DS28E17 is detected. */ 35 MODULE_PARM_DESC(speed, "Default I2C speed to be set when a DS28E17 is detected"); 37 /* Default I2C stretch value to be set when a DS28E17 is detected. */ 40 MODULE_PARM_DESC(stretch, "Default I2C stretch value to be set when a DS28E17 is detected"); 60 * Maximum number of I2C bytes to transfer within one CRC16 protected onewire [all …]
|
| /kernel/linux/linux-6.6/drivers/w1/slaves/ |
| D | w1_ds28e17.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * w1_ds28e17.c - w1 family 19 (DS28E17) driver 11 #include <linux/i2c.h> 28 MODULE_DESCRIPTION("w1 family 19 driver for DS28E17, 1-wire to I2C master bridge"); 29 MODULE_ALIAS("w1-family-" __stringify(W1_FAMILY_DS28E17)); 32 /* Default I2C speed to be set when a DS28E17 is detected. */ 35 MODULE_PARM_DESC(speed, "Default I2C speed to be set when a DS28E17 is detected"); 37 /* Default I2C stretch value to be set when a DS28E17 is detected. */ 40 MODULE_PARM_DESC(stretch, "Default I2C stretch value to be set when a DS28E17 is detected"); 60 * Maximum number of I2C bytes to transfer within one CRC16 protected onewire [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | i2c.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * i2c.h - definitions for the Linux i2c bus interface 4 * Copyright (C) 1995-2000 Simon G. Vogl 5 * Copyright (C) 2013-2019 Wolfram Sang <wsa@kernel.org> 24 #include <uapi/linux/i2c.h> 30 /* --- General options ------------------------------------------------ */ 44 /* I2C Frequency Modes */ 70 * i2c_master_recv - issue a single I2C message in master receive mode 71 * @client: Handle to slave device 72 * @buf: Where to store data read from slave [all …]
|