Home
last modified time | relevance | path

Searched +full:i2c +full:- +full:slave +full:- +full:addr (Results 1 – 25 of 553) sorted by relevance

12345678910>>...23

/kernel/linux/linux-6.6/drivers/staging/sm750fb/
Dddk750_hwi2c.c1 // 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 …]
Dddk750_swi2c.h1 /* 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 …]
Dddk750_swi2c.c1 // 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/
Dddk750_hwi2c.c1 // 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 …]
Dddk750_swi2c.h1 /* 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 …]
Dddk750_swi2c.c1 // 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/
Dpalmas.c1 // 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/
Dpalmas.c1 // 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/
Di2c-stm32f7.c1 // 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 …]
Di2c-at91-slave.c1 // 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 …]
Di2c-cadence.c1 // 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/
Dm920x.h1 /* 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/
Dm920x.h1 /* 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/
Di2c-stm32f7.c1 // 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 …]
Di2c-at91-slave.c1 // 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 …]
Di2c-mlxbf.c1 // 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/
Di2c-core-smbus.c1 // 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/
Di2c-core-smbus.c1 // 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/
Di2c.h1 /* 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/
Dfsi.txt4 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/
Dfsi.txt4 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/
Dnvidia,nvec.yaml1 # 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/
Dw1_ds28e17.c1 // 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/
Dw1_ds28e17.c1 // 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/
Di2c.h1 /* 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 …]

12345678910>>...23