Home
last modified time | relevance | path

Searched full:i2c (Results 1 – 25 of 4326) sorted by relevance

12345678910>>...174

/linux/Documentation/i2c/
H A Di2c-sysfs.rst4 Linux I2C Sysfs
10 I2C topology can be complex because of the existence of I2C MUX
11 (I2C Multiplexer). The Linux
12 kernel abstracts the MUX channels into logical I2C bus numbers. However, there
13 is a gap of knowledge to map from the I2C bus physical number and MUX topology
14 to logical I2C bus number. This doc is aimed to fill in this gap, so the
16 the concept of logical I2C buses in the kernel, by knowing the physical I2C
17 topology and navigating through the I2C sysfs in Linux shell. This knowledge is
18 useful and essential to use ``i2c-tools`` for the purpose of development and
24 People who need to use Linux shell to interact with I2C subsystem on a system
[all …]
/linux/drivers/i2c/busses/
H A DMakefile3 # Makefile for the i2c bus drivers.
7 obj-$(CONFIG_I2C_SCMI) += i2c-scmi.o
9 # Auxiliary I2C/SMBus modules
10 obj-$(CONFIG_I2C_CCGX_UCSI) += i2c-ccgx-ucsi.o
13 obj-$(CONFIG_I2C_ALI1535) += i2c-ali1535.o
14 obj-$(CONFIG_I2C_ALI1563) += i2c-ali1563.o
15 obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o
16 obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o
17 obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o
18 obj-$(CONFIG_I2C_CHT_WC) += i2c
[all...]
H A Di2c-pxa.c5 * I2C adapter for the PXA I2C bus access.
24 #include <linux/i2c.h>
34 #include <linux/platform_data/i2c-pxa.h>
38 /* I2C register field definitions */
112 * 8 ITEIE 1 (Enables the I2C unit to interrupt when transmit buffer empty)
113 * 7 GCD 1 (Disables i2c unit response to general call messages as a slave)
115 * 5 SCLE 1 (Enables the i2c clock output for master mode (drives SCL)
124 /* I2C status register init values
155 /* I2C register layout definitions */
207 { .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
[all …]
H A Di2c-xiic.c3 * i2c-xiic.c
24 #include <linux/i2c.h>
27 #include <linux/platform_data/i2c-xiic.h>
36 #define DRIVER_NAME "xiic-i2c"
58 * struct xiic_i2c - Internal representation of the XIIC I2C bus
77 * @input_clk: Input clock to I2C controller
78 * @i2c_clk: I2C SCL frequency
114 * struct timing_regs - AXI I2C timing registers that depend on I2C spec
129 /* Reg values in ns derived from I2C spec and AXI I2C PG for different frequencies */
156 * setting i2c clock frequency for the line.
[all …]
H A Di2c-digicolor.c3 * I2C bus driver for Conexant Digicolor SoCs
13 #include <linux/i2c.h>
71 static void dc_i2c_cmd(struct dc_i2c *i2c, u8 cmd) in dc_i2c_cmd() argument
73 writeb_relaxed(cmd | II_COMMAND_GO, i2c->regs + II_COMMAND); in dc_i2c_cmd()
86 static void dc_i2c_data(struct dc_i2c *i2c, u8 data) in dc_i2c_data() argument
88 writeb_relaxed(data, i2c->regs + II_DATA); in dc_i2c_data()
91 static void dc_i2c_write_byte(struct dc_i2c *i2c, u8 byte) in dc_i2c_write_byte() argument
93 dc_i2c_data(i2c, byte); in dc_i2c_write_byte()
94 dc_i2c_cmd(i2c, II_CMD_SEND_ACK); in dc_i2c_write_byte()
97 static void dc_i2c_write_buf(struct dc_i2c *i2c) in dc_i2c_write_buf() argument
[all …]
H A Di2c-ocores.c3 * i2c-ocores.c: I2C bus driver for OpenCores I2C controller
4 * (https://opencores.org/project/i2c/overview)
19 #include <linux/i2c.h>
22 #include <linux/platform_data/i2c-ocores.h>
48 void (*setreg)(struct ocores_i2c *i2c, int reg, u8 value);
49 u8 (*getreg)(struct ocores_i2c *i2c, int reg);
88 static void oc_setreg_8(struct ocores_i2c *i2c, int reg, u8 value) in oc_setreg_8() argument
90 iowrite8(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_8()
93 static void oc_setreg_16(struct ocores_i2c *i2c, int reg, u8 value) in oc_setreg_16() argument
95 iowrite16(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_16()
[all …]
H A Di2c-jz4780.c3 * Ingenic JZ4780 I2C bus driver
15 #include <linux/i2c.h>
171 static inline unsigned short jz4780_i2c_readw(struct jz4780_i2c *i2c, in jz4780_i2c_readw() argument
174 return readw(i2c->iomem + offset); in jz4780_i2c_readw()
177 static inline void jz4780_i2c_writew(struct jz4780_i2c *i2c, in jz4780_i2c_writew() argument
180 writew(val, i2c->iomem + offset); in jz4780_i2c_writew()
183 static int jz4780_i2c_disable(struct jz4780_i2c *i2c) in jz4780_i2c_disable() argument
188 jz4780_i2c_writew(i2c, JZ4780_I2C_ENB, 0); in jz4780_i2c_disable()
191 regval = jz4780_i2c_readw(i2c, JZ4780_I2C_ENSTA); in jz4780_i2c_disable()
198 dev_err(&i2c->adap.dev, "disable failed: ENSTA=0x%04x\n", regval); in jz4780_i2c_disable()
[all …]
H A Di2c-s3c2410.c2 /* linux/drivers/i2c/busses/i2c-s3c2410.c
7 * S3C2410 I2C Controller
13 #include <linux/i2c.h>
34 #include <linux/platform_data/i2c-s3c2410.h>
87 /* i2c controller state */
125 .name = "s3c2410-i2c",
128 .name = "s3c2440-i2c",
131 .name = "s3c2440-hdmiphy-i2c",
137 static void i2c_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat);
141 { .compatible = "samsung,s3c2440-i2c", .data = (void *)QUIRK_S3C2440 },
[all …]
H A Di2c-k1.c8 #include <linux/i2c.h>
15 /* spacemit i2c registers */
31 #define SPACEMIT_CR_RSTREQ BIT(11) /* i2c bus reset request */
60 #define SPACEMIT_SR_IBB BIT(16) /* i2c bus busy */
91 /* i2c bus recover timeout: us */
108 /* i2c-spacemit driver's main struct */
133 static void spacemit_i2c_enable(struct spacemit_i2c_dev *i2c) in spacemit_i2c_enable() argument
137 val = readl(i2c->base + SPACEMIT_ICR); in spacemit_i2c_enable()
139 writel(val, i2c->base + SPACEMIT_ICR); in spacemit_i2c_enable()
142 static void spacemit_i2c_disable(struct spacemit_i2c_dev *i2c) in spacemit_i2c_disable() argument
[all …]
H A Di2c-img-scb.c3 * I2C adapter for the IMG Serial Control Bus (SCB) IP block.
7 * There are three ways that this I2C controller can be driven:
15 * - Atomic commands. A low level I2C symbol (such as generate
20 * This mode of operation is used by MODE_ATOMIC, which uses an I2C
21 * state machine in the interrupt handler to compose/react to I2C
26 * in suboptimal use of the bus, with gaps between the I2C symbols while
30 * specified, and the hardware takes care of the I2C state machine,
31 * using a FIFO to send/receive bytes of data to an I2C slave. The
36 * with control of repeated start bits between I2C messages.
40 * no wasted time between I2C symbols or I2C messages.
[all …]
H A DKconfig6 menu "I2C Hardware Bus support"
29 will be called i2c-ali1535.
41 will be called i2c-ali1563.
48 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
51 will be called i2c-ali15x3.
58 756/766/768 mainboard I2C interfaces. The driver also includes
59 support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
60 the nVidia nForce I2C interface.
63 will be called i2c-amd756.
70 second (SMBus 2.0) AMD 8111 mainboard I2C interface.
[all …]
H A Di2c-synquacer.c12 #include <linux/i2c.h>
26 /* I2C register address definitions */
36 /* I2C register bit definitions */
114 /* min I2C clock frequency 14M */
116 /* max I2C clock frequency 200M */
118 /* I2C clock frequency 18M */
149 static inline int is_lastmsg(struct synquacer_i2c *i2c) in is_lastmsg()
151 return i2c->msg_idx >= (i2c->msg_num - 1); in is_lastmsg()
154 static inline int is_msglast(struct synquacer_i2c *i2c) in is_msglast()
148 is_lastmsg(struct synquacer_i2c * i2c) is_lastmsg() argument
153 is_msglast(struct synquacer_i2c * i2c) is_msglast() argument
158 is_msgend(struct synquacer_i2c * i2c) is_msgend() argument
163 calc_timeout_ms(struct synquacer_i2c * i2c,struct i2c_msg * msgs,int num) calc_timeout_ms() argument
176 synquacer_i2c_stop(struct synquacer_i2c * i2c,int ret) synquacer_i2c_stop() argument
197 synquacer_i2c_hw_init(struct synquacer_i2c * i2c) synquacer_i2c_hw_init() argument
248 synquacer_i2c_hw_reset(struct synquacer_i2c * i2c) synquacer_i2c_hw_reset() argument
257 synquacer_i2c_master_start(struct synquacer_i2c * i2c,struct i2c_msg * pmsg) synquacer_i2c_master_start() argument
309 synquacer_i2c_doxfer(struct synquacer_i2c * i2c,struct i2c_msg * msgs,int num) synquacer_i2c_doxfer() argument
358 struct synquacer_i2c *i2c = dev_id; synquacer_i2c_isr() local
496 struct synquacer_i2c *i2c; synquacer_i2c_xfer() local
536 struct synquacer_i2c *i2c; synquacer_i2c_probe() local
611 struct synquacer_i2c *i2c = platform_get_drvdata(pdev); synquacer_i2c_remove() local
[all...]
H A Di2c-meson.c3 * I2C bus driver for Amlogic Meson SoCs
11 #include <linux/i2c.h>
21 /* Meson I2C register map */
68 * struct meson_i2c - Meson I2C device private data
70 * @adap: I2C adapter instance
74 * @msg: Pointer to the current I2C message
108 void (*set_clk_div)(struct meson_i2c *i2c, unsigned int freq);
111 static void meson_i2c_set_mask(struct meson_i2c *i2c, int reg, u32 mask, in meson_i2c_set_mask() argument
116 data = readl(i2c->regs + reg); in meson_i2c_set_mask()
119 writel(data, i2c->regs + reg); in meson_i2c_set_mask()
[all …]
H A Di2c-mt65xx.c14 #include <linux/i2c.h>
86 #define I2C_DRV_NAME "i2c-mt65xx"
89 * enum i2c_mt65xx_clks - Clocks enumeration for MT65XX I2C
91 * @I2C_MT65XX_CLK_MAIN: main clock for i2c bus
92 * @I2C_MT65XX_CLK_DMA: DMA clock for i2c via DMA
93 * @I2C_MT65XX_CLK_PMIC: PMIC clock for i2c from PMIC
94 * @I2C_MT65XX_CLK_ARB: Arbitrator clock for i2c
288 struct i2c_adapter adap; /* i2c host adapter */
293 /* set in i2c probe */
294 void __iomem *base; /* i2c bas
541 mtk_i2c_readw(struct mtk_i2c * i2c,enum I2C_REGS_OFFSET reg) mtk_i2c_readw() argument
546 mtk_i2c_writew(struct mtk_i2c * i2c,u16 val,enum I2C_REGS_OFFSET reg) mtk_i2c_writew() argument
552 mtk_i2c_init_hw(struct mtk_i2c * i2c) mtk_i2c_init_hw() argument
659 mtk_i2c_get_clk_div_restri(struct mtk_i2c * i2c,unsigned int sample_cnt) mtk_i2c_get_clk_div_restri() argument
696 mtk_i2c_check_ac_timing(struct mtk_i2c * i2c,unsigned int clk_src,unsigned int check_speed,unsigned int step_cnt,unsigned int sample_cnt) mtk_i2c_check_ac_timing() argument
798 mtk_i2c_calculate_speed(struct mtk_i2c * i2c,unsigned int clk_src,unsigned int target_speed,unsigned int * timing_step_cnt,unsigned int * timing_sample_cnt) mtk_i2c_calculate_speed() argument
871 mtk_i2c_set_speed(struct mtk_i2c * i2c,unsigned int parent_clk) mtk_i2c_set_speed() argument
943 i2c_dump_register(struct mtk_i2c * i2c) i2c_dump_register() argument
994 mtk_i2c_do_transfer(struct mtk_i2c * i2c,struct i2c_msg * msgs,int num,int left_num) mtk_i2c_do_transfer() argument
1244 struct mtk_i2c *i2c = i2c_get_adapdata(adap); mtk_i2c_transfer() local
1308 struct mtk_i2c *i2c = dev_id; mtk_i2c_irq() local
1349 mtk_i2c_parse_dt(struct device_node * np,struct mtk_i2c * i2c) mtk_i2c_parse_dt() argument
1376 struct mtk_i2c *i2c; mtk_i2c_probe() local
1505 struct mtk_i2c *i2c = platform_get_drvdata(pdev); mtk_i2c_remove() local
1514 struct mtk_i2c *i2c = dev_get_drvdata(dev); mtk_i2c_suspend_noirq() local
1525 struct mtk_i2c *i2c = dev_get_drvdata(dev); mtk_i2c_resume_noirq() local
[all...]
H A Di2c-lpc2k.c5 * Code portions referenced from the i2x-pxa and i2c-pnx drivers
17 #include <linux/i2c.h>
46 /* I2C SCL clock has different duty cycle depending on mode */
52 * 26 possible I2C status codes, but codes applicable only
83 static void i2c_lpc2k_reset(struct lpc2k_i2c *i2c) in i2c_lpc2k_reset() argument
86 writel(LPC24XX_CLEAR_ALL, i2c->base + LPC24XX_I2CONCLR); in i2c_lpc2k_reset()
87 writel(0, i2c->base + LPC24XX_I2ADDR); in i2c_lpc2k_reset()
88 writel(LPC24XX_I2EN, i2c->base + LPC24XX_I2CONSET); in i2c_lpc2k_reset()
91 static int i2c_lpc2k_clear_arb(struct lpc2k_i2c *i2c) in i2c_lpc2k_clear_arb() argument
99 writel(LPC24XX_STO, i2c->base + LPC24XX_I2CONSET); in i2c_lpc2k_clear_arb()
[all …]
H A Di2c-octeon-core.c7 * This file contains the shared part of the driver for the i2c adapter in
16 #include <linux/i2c.h>
22 #include "i2c-octeon-core.h"
31 struct octeon_i2c *i2c = dev_id; in octeon_i2c_isr() local
33 i2c->int_disable(i2c); in octeon_i2c_isr()
34 wake_up(&i2c->queue); in octeon_i2c_isr()
39 static bool octeon_i2c_test_iflg(struct octeon_i2c *i2c) in octeon_i2c_test_iflg() argument
41 return (octeon_i2c_ctl_read(i2c) & TWSI_CTL_IFLG); in octeon_i2c_test_iflg()
46 * @i2c: The struct octeon_i2c
50 static int octeon_i2c_wait(struct octeon_i2c *i2c) in octeon_i2c_wait() argument
[all …]
H A Di2c-exynos5.c3 * i2c-exynos5.c - Samsung Exynos5 I2C Controller Driver
11 #include <linux/i2c.h>
206 /* Version of HS-I2C Hardware */
213 * @hw: the hardware variant of Exynos I2C controller
272 static void exynos5_i2c_clr_pend_irq(struct exynos5_i2c *i2c) in exynos5_i2c_clr_pend_irq() argument
274 writel(readl(i2c->regs + HSI2C_INT_STATUS), in exynos5_i2c_clr_pend_irq()
275 i2c->regs + HSI2C_INT_STATUS); in exynos5_i2c_clr_pend_irq()
288 static int exynos5_i2c_set_timing(struct exynos5_i2c *i2c, bool hs_timings) in exynos5_i2c_set_timing() argument
300 unsigned int clkin = clk_get_rate(i2c->clk); in exynos5_i2c_set_timing()
301 unsigned int op_clk = hs_timings ? i2c->op_clock : in exynos5_i2c_set_timing()
[all …]
H A Di2c-thunderx-pcidrv.c2 * Cavium ThunderX i2c driver.
16 #include <linux/i2c.h>
17 #include <linux/i2c-smbus.h>
24 #include "i2c-octeon-core.h"
26 #define DRV_NAME "i2c-thunderx"
41 static void thunder_i2c_int_enable(struct octeon_i2c *i2c) in thunder_i2c_int_enable() argument
44 i2c->twsi_base + TWSI_INT_ENA_W1S); in thunder_i2c_int_enable()
50 static void thunder_i2c_int_disable(struct octeon_i2c *i2c) in thunder_i2c_int_disable() argument
53 i2c->twsi_base + TWSI_INT_ENA_W1C); in thunder_i2c_int_disable()
56 static void thunder_i2c_hlc_int_enable(struct octeon_i2c *i2c) in thunder_i2c_hlc_int_enable() argument
[all …]
H A Di2c-rk3x.c3 * Driver for I2C adapter in Rockchip RK3xxx SoC
11 #include <linux/i2c.h>
84 * struct i2c_spec_values - I2C specification values for various modes
164 * @grf_offset: offset inside the grf regmap for setting the i2c type
165 * @calc_timings: Callback function for i2c timing information calculated
175 * @adap: corresponding I2C adapter
181 * @clk_rate_nb: i2c clk rate change notify
183 * @t: I2C known timing information
184 * @lock: spinlock for the i2c bus
185 * @wait: the waitqueue to wait for i2c transfe
226 i2c_writel(struct rk3x_i2c * i2c,u32 value,unsigned int offset) i2c_writel() argument
232 i2c_readl(struct rk3x_i2c * i2c,unsigned int offset) i2c_readl() argument
238 rk3x_i2c_clean_ipd(struct rk3x_i2c * i2c) rk3x_i2c_clean_ipd() argument
247 rk3x_i2c_start(struct rk3x_i2c * i2c) rk3x_i2c_start() argument
268 rk3x_i2c_stop(struct rk3x_i2c * i2c,int error) rk3x_i2c_stop() argument
307 rk3x_i2c_prepare_read(struct rk3x_i2c * i2c) rk3x_i2c_prepare_read() argument
339 rk3x_i2c_fill_transmit_buf(struct rk3x_i2c * i2c) rk3x_i2c_fill_transmit_buf() argument
373 rk3x_i2c_handle_start(struct rk3x_i2c * i2c,unsigned int ipd) rk3x_i2c_handle_start() argument
401 rk3x_i2c_handle_write(struct rk3x_i2c * i2c,unsigned int ipd) rk3x_i2c_handle_write() argument
420 rk3x_i2c_handle_read(struct rk3x_i2c * i2c,unsigned int ipd) rk3x_i2c_handle_read() argument
454 rk3x_i2c_handle_stop(struct rk3x_i2c * i2c,unsigned int ipd) rk3x_i2c_handle_stop() argument
482 struct rk3x_i2c *i2c = dev_id; rk3x_i2c_irq() local
874 rk3x_i2c_adapt_div(struct rk3x_i2c * i2c,unsigned long clk_rate) rk3x_i2c_adapt_div() argument
930 struct rk3x_i2c *i2c = container_of(nb, struct rk3x_i2c, clk_rate_nb); rk3x_i2c_clk_notifier_cb() local
974 rk3x_i2c_setup(struct rk3x_i2c * i2c,struct i2c_msg * msgs,int num) rk3x_i2c_setup() argument
1046 rk3x_i2c_wait_xfer_poll(struct rk3x_i2c * i2c) rk3x_i2c_wait_xfer_poll() argument
1062 struct rk3x_i2c *i2c = (struct rk3x_i2c *)adap->algo_data; rk3x_i2c_xfer_common() local
1150 struct rk3x_i2c *i2c = dev_get_drvdata(dev); rk3x_i2c_resume() local
1240 struct rk3x_i2c *i2c; rk3x_i2c_probe() local
1388 struct rk3x_i2c *i2c = platform_get_drvdata(pdev); rk3x_i2c_remove() local
[all...]
H A Di2c-mpc.c3 * This is a combined i2c adapter and algorithm driver for the
5 * the same I2C unit (8240, 8245, 85xx).
25 #include <linux/i2c.h>
109 void (*setup)(struct device_node *node, struct mpc_i2c *i2c, u32 clock);
112 static inline void writeccr(struct mpc_i2c *i2c, u32 x) in writeccr() argument
114 writeb(x, i2c->base + MPC_I2C_CR); in writeccr()
122 static void mpc_i2c_fixup(struct mpc_i2c *i2c) in mpc_i2c_fixup() argument
128 writeccr(i2c, 0); in mpc_i2c_fixup()
129 writeb(0, i2c->base + MPC_I2C_SR); /* clear any status bits */ in mpc_i2c_fixup()
130 writeccr(i2c, CCR_MEN | CCR_MSTA); /* START */ in mpc_i2c_fixup()
[all …]
H A Di2c-octeon-platdrv.c7 * This is a driver for the i2c adapter in Cavium Networks' OCTEON processors.
16 #include <linux/i2c.h>
27 #include "i2c-octeon-core.h"
29 #define DRV_NAME "i2c-octeon"
33 * @i2c: The struct octeon_i2c
38 static void octeon_i2c_int_enable(struct octeon_i2c *i2c) in octeon_i2c_int_enable() argument
40 octeon_i2c_write_int(i2c, TWSI_INT_CORE_EN); in octeon_i2c_int_enable()
44 static void octeon_i2c_int_disable(struct octeon_i2c *i2c) in octeon_i2c_int_disable() argument
47 octeon_i2c_write_int(i2c, 0); in octeon_i2c_int_disable()
52 * @i2c: The struct octeon_i2c
[all …]
H A Di2c-pca-platform.c5 * Platform driver for the PCA9564 I2C controller.
17 #include <linux/i2c.h>
20 #include <linux/i2c-algo-pca.h>
21 #include <linux/platform_data/i2c-pca-platform.h>
41 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte8() local
42 return ioread8(i2c->reg_base + reg); in i2c_pca_pf_readbyte8()
47 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte16() local
48 return ioread8(i2c->reg_base + reg * 2); in i2c_pca_pf_readbyte16()
53 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte32() local
54 return ioread8(i2c->reg_base + reg * 4); in i2c_pca_pf_readbyte32()
[all …]
H A Di2c-mchp-pci1xxxx.c3 * Microchip PCI1XXXX I2C adapter driver for PCIe Switch
4 * which has I2C controller in one of its downstream functions
14 #include <linux/i2c.h>
15 #include <linux/i2c-smbus.h>
103 * BUS_CLK_XK_LOW_PERIOD_TICKS field defines the number of I2C Baud Clock
104 * periods that make up the low phase of the I2C/SMBus bus clock at X KHz.
111 * BUS_CLK_XK_HIGH_PERIOD_TICKS field defines the number of I2C Baud Clock
112 * periods that make up the high phase of the I2C/SMBus bus clock at X KHz.
334 static int set_sys_lock(struct pci1xxxx_i2c *i2c) in set_sys_lock() argument
336 void __iomem *p = i2c->i2c_base + SMB_GPR_LOCK_REG; in set_sys_lock()
[all …]
/linux/drivers/media/pci/netup_unidvb/
H A Dnetup_unidvb_i2c.c5 * Internal I2C bus driver for NetUP Universal Dual DVB-CI
65 irqreturn_t netup_i2c_interrupt(struct netup_i2c *i2c) in netup_i2c_interrupt() argument
71 spin_lock_irqsave(&i2c->lock, flags); in netup_i2c_interrupt()
72 reg = readw(&i2c->regs->twi_ctrl0_stat); in netup_i2c_interrupt()
73 writew(reg & ~TWI_IRQEN, &i2c->regs->twi_ctrl0_stat); in netup_i2c_interrupt()
74 dev_dbg(i2c->adap.dev.parent, in netup_i2c_interrupt()
77 dev_dbg(i2c->adap.dev.parent, in netup_i2c_interrupt()
79 i2c->state = STATE_DONE; in netup_i2c_interrupt()
83 dev_dbg(i2c->adap.dev.parent, in netup_i2c_interrupt()
85 i2c->state = STATE_ERROR; in netup_i2c_interrupt()
[all …]
/linux/drivers/i2c/
H A DKconfig3 # I2C subsystem configuration
6 menu "I2C support"
8 config I2C config
9 tristate "I2C support"
13 I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
15 or System Management Bus is a subset of the I2C protocol. More
16 information is contained in the directory <file:Documentation/i2c/>,
19 Both I2C and SMBus are supported here. You will need this for
22 If you want I2C support, you should say Y here and also to the
25 This I2C support can also be built as a module. If so, the module
[all …]

12345678910>>...174