Home
last modified time | relevance | path

Searched refs:i2c (Results 1 – 25 of 3153) sorted by relevance

12345678910>>...127

/linux/drivers/i2c/busses/
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"
156 * setting i2c clock frequency for the line.
245 #define xiic_tx_space(i2c) ((i2c)->tx_msg->len - (i2c)->tx_pos) argument
246 #define xiic_rx_space(i2c) ((i2c) argument
253 struct xiic_i2c *i2c = dev_get_drvdata(dev); xiic_i2c_runtime_suspend() local
262 struct xiic_i2c *i2c = dev_get_drvdata(dev); xiic_i2c_runtime_resume() local
282 xiic_setreg8(struct xiic_i2c * i2c,int reg,u8 value) xiic_setreg8() argument
290 xiic_getreg8(struct xiic_i2c * i2c,int reg) xiic_getreg8() argument
301 xiic_setreg16(struct xiic_i2c * i2c,int reg,u16 value) xiic_setreg16() argument
309 xiic_setreg32(struct xiic_i2c * i2c,int reg,int value) xiic_setreg32() argument
317 xiic_getreg32(struct xiic_i2c * i2c,int reg) xiic_getreg32() argument
328 xiic_irq_dis(struct xiic_i2c * i2c,u32 mask) xiic_irq_dis() argument
335 xiic_irq_en(struct xiic_i2c * i2c,u32 mask) xiic_irq_en() argument
342 xiic_irq_clr(struct xiic_i2c * i2c,u32 mask) xiic_irq_clr() argument
349 xiic_irq_clr_en(struct xiic_i2c * i2c,u32 mask) xiic_irq_clr_en() argument
355 xiic_clear_rx_fifo(struct xiic_i2c * i2c) xiic_clear_rx_fifo() argument
374 xiic_wait_tx_empty(struct xiic_i2c * i2c) xiic_wait_tx_empty() argument
404 xiic_setclk(struct xiic_i2c * i2c) xiic_setclk() argument
479 xiic_reinit(struct xiic_i2c * i2c) xiic_reinit() argument
512 xiic_deinit(struct xiic_i2c * i2c) xiic_deinit() argument
523 xiic_smbus_block_read_setup(struct xiic_i2c * i2c) xiic_smbus_block_read_setup() argument
579 xiic_read_rx(struct xiic_i2c * i2c) xiic_read_rx() argument
651 xiic_error_check(struct xiic_i2c * i2c) xiic_error_check() argument
671 xiic_tx_fifo_space(struct xiic_i2c * i2c) xiic_tx_fifo_space() argument
677 xiic_fill_tx_fifo(struct xiic_i2c * i2c) xiic_fill_tx_fifo() argument
719 xiic_wakeup(struct xiic_i2c * i2c,enum xilinx_i2c_state code) xiic_wakeup() argument
730 struct xiic_i2c *i2c = dev_id; xiic_process() local
900 xiic_bus_busy(struct xiic_i2c * i2c) xiic_bus_busy() argument
907 xiic_wait_not_busy(struct xiic_i2c * i2c) xiic_wait_not_busy() argument
928 xiic_recv_atomic(struct xiic_i2c * i2c) xiic_recv_atomic() argument
953 xiic_start_recv(struct xiic_i2c * i2c) xiic_start_recv() argument
1082 xiic_send_rem_atomic(struct xiic_i2c * i2c) xiic_send_rem_atomic() argument
1124 xiic_start_send(struct xiic_i2c * i2c) xiic_start_send() argument
1208 __xiic_start_xfer(struct xiic_i2c * i2c) __xiic_start_xfer() argument
1233 xiic_start_xfer(struct xiic_i2c * i2c,struct i2c_msg * msgs,int num) xiic_start_xfer() argument
1325 struct xiic_i2c *i2c = i2c_get_adapdata(adap); xiic_xfer() local
1359 struct xiic_i2c *i2c = i2c_get_adapdata(adap); xiic_xfer_atomic() local
1427 struct xiic_i2c *i2c; xiic_i2c_probe() local
1544 struct xiic_i2c *i2c = platform_get_drvdata(pdev); xiic_i2c_remove() local
[all...]
H A Di2c-pxa.c24 #include <linux/i2c.h>
34 #include <linux/platform_data/i2c-pxa.h>
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)
207 { .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
210 { .compatible = "marvell,armada-3700-i2c", .data = (void *)REGS_A3700 },
216 { "pxa2xx-i2c", REGS_PXA2XX },
218 { "ce4100-i2c", REGS_CE4100 },
219 { "pxa910-i2c", REGS_PXA910 },
220 { "armada-3700-i2c", REGS_A370
273 _IBMR(i2c) global() argument
274 _IDBR(i2c) global() argument
275 _ICR(i2c) global() argument
276 _ISR(i2c) global() argument
277 _ISAR(i2c) global() argument
278 _ILCR(i2c) global() argument
279 _IWCR(i2c) global() argument
354 i2c_pxa_show_state(struct pxa_i2c * i2c,int lno,const char * fname) i2c_pxa_show_state() argument
360 show_state(i2c) global() argument
362 i2c_pxa_scream_blue_murder(struct pxa_i2c * i2c,const char * why) i2c_pxa_scream_blue_murder() argument
384 show_state(i2c) global() argument
387 i2c_pxa_scream_blue_murder(i2c,why) global() argument
393 i2c_pxa_is_slavemode(struct pxa_i2c * i2c) i2c_pxa_is_slavemode() argument
398 i2c_pxa_abort(struct pxa_i2c * i2c) i2c_pxa_abort() argument
425 i2c_pxa_wait_bus_not_busy(struct pxa_i2c * i2c) i2c_pxa_wait_bus_not_busy() argument
450 i2c_pxa_wait_master(struct pxa_i2c * i2c) i2c_pxa_wait_master() argument
485 i2c_pxa_set_master(struct pxa_i2c * i2c) i2c_pxa_set_master() argument
503 i2c_pxa_wait_slave(struct pxa_i2c * i2c) i2c_pxa_wait_slave() argument
536 i2c_pxa_set_slave(struct pxa_i2c * i2c,int errcode) i2c_pxa_set_slave() argument
567 i2c_pxa_set_slave(i2c,err) global() argument
570 i2c_pxa_do_reset(struct pxa_i2c * i2c) i2c_pxa_do_reset() argument
592 i2c_pxa_enable(struct pxa_i2c * i2c) i2c_pxa_enable() argument
599 i2c_pxa_reset(struct pxa_i2c * i2c) i2c_pxa_reset() argument
615 i2c_pxa_slave_txempty(struct pxa_i2c * i2c,u32 isr) i2c_pxa_slave_txempty() argument
631 i2c_pxa_slave_rxfull(struct pxa_i2c * i2c,u32 isr) i2c_pxa_slave_rxfull() argument
641 i2c_pxa_slave_start(struct pxa_i2c * i2c,u32 isr) i2c_pxa_slave_start() argument
687 i2c_pxa_slave_stop(struct pxa_i2c * i2c) i2c_pxa_slave_stop() argument
708 struct pxa_i2c *i2c = slave->adapter->algo_data; i2c_pxa_slave_reg() local
726 struct pxa_i2c *i2c = slave->adapter->algo_data; i2c_pxa_slave_unreg() local
738 i2c_pxa_slave_txempty(struct pxa_i2c * i2c,u32 isr) i2c_pxa_slave_txempty() argument
748 i2c_pxa_slave_rxfull(struct pxa_i2c * i2c,u32 isr) i2c_pxa_slave_rxfull() argument
753 i2c_pxa_slave_start(struct pxa_i2c * i2c,u32 isr) i2c_pxa_slave_start() argument
782 i2c_pxa_slave_stop(struct pxa_i2c * i2c) i2c_pxa_slave_stop() argument
793 i2c_pxa_start_message(struct pxa_i2c * i2c) i2c_pxa_start_message() argument
810 i2c_pxa_stop_message(struct pxa_i2c * i2c) i2c_pxa_stop_message() argument
826 i2c_pxa_send_mastercode(struct pxa_i2c * i2c) i2c_pxa_send_mastercode() argument
851 i2c_pxa_master_complete(struct pxa_i2c * i2c,int ret) i2c_pxa_master_complete() argument
863 i2c_pxa_irq_txempty(struct pxa_i2c * i2c,u32 isr) i2c_pxa_irq_txempty() argument
970 i2c_pxa_irq_rxfull(struct pxa_i2c * i2c,u32 isr) i2c_pxa_irq_rxfull() argument
1001 struct pxa_i2c *i2c = dev_id; i2c_pxa_handler() local
1051 i2c_pxa_do_xfer(struct pxa_i2c * i2c,struct i2c_msg * msg,int num) i2c_pxa_do_xfer() argument
1116 i2c_pxa_internal_xfer(struct pxa_i2c * i2c,struct i2c_msg * msgs,int num,int (* xfer)(struct pxa_i2c *,struct i2c_msg *,int num)) i2c_pxa_internal_xfer() argument
1145 struct pxa_i2c *i2c = adap->algo_data; i2c_pxa_xfer() local
1166 i2c_pxa_pio_set_master(struct pxa_i2c * i2c) i2c_pxa_pio_set_master() argument
1192 i2c_pxa_do_pio_xfer(struct pxa_i2c * i2c,struct i2c_msg * msg,int num) i2c_pxa_do_pio_xfer() argument
1234 struct pxa_i2c *i2c = adap->algo_data; i2c_pxa_pio_xfer() local
1255 i2c_pxa_probe_dt(struct platform_device * pdev,struct pxa_i2c * i2c,enum pxa_i2c_types * i2c_types) i2c_pxa_probe_dt() argument
1275 i2c_pxa_probe_pdata(struct platform_device * pdev,struct pxa_i2c * i2c,enum pxa_i2c_types * i2c_types) i2c_pxa_probe_pdata() argument
1296 struct pxa_i2c *i2c = adap->algo_data; i2c_pxa_prepare_recovery() local
1311 struct pxa_i2c *i2c = adap->algo_data; i2c_pxa_unprepare_recovery() local
1333 i2c_pxa_init_recovery(struct pxa_i2c * i2c) i2c_pxa_init_recovery() argument
1423 struct pxa_i2c *i2c; i2c_pxa_probe() local
1547 struct pxa_i2c *i2c = platform_get_drvdata(dev); i2c_pxa_remove() local
1556 struct pxa_i2c *i2c = dev_get_drvdata(dev); i2c_pxa_suspend_noirq() local
1565 struct pxa_i2c *i2c = dev_get_drvdata(dev); i2c_pxa_resume_noirq() local
[all...]
H A Di2c-s3c2410.c2 /* linux/drivers/i2c/busses/i2c-s3c2410.c
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,s3c2410-i2c",
167 s3c24xx_i2c_master_complete(struct s3c24xx_i2c * i2c,int ret) s3c24xx_i2c_master_complete() argument
182 s3c24xx_i2c_disable_ack(struct s3c24xx_i2c * i2c) s3c24xx_i2c_disable_ack() argument
190 s3c24xx_i2c_enable_ack(struct s3c24xx_i2c * i2c) s3c24xx_i2c_enable_ack() argument
199 s3c24xx_i2c_disable_irq(struct s3c24xx_i2c * i2c) s3c24xx_i2c_disable_irq() argument
207 s3c24xx_i2c_enable_irq(struct s3c24xx_i2c * i2c) s3c24xx_i2c_enable_irq() argument
215 is_ack(struct s3c24xx_i2c * i2c) is_ack() argument
244 s3c24xx_i2c_message_start(struct s3c24xx_i2c * i2c,struct i2c_msg * msg) s3c24xx_i2c_message_start() argument
285 s3c24xx_i2c_stop(struct s3c24xx_i2c * i2c,int ret) s3c24xx_i2c_stop() argument
348 is_lastmsg(struct s3c24xx_i2c * i2c) is_lastmsg() argument
356 is_msglast(struct s3c24xx_i2c * i2c) is_msglast() argument
372 is_msgend(struct s3c24xx_i2c * i2c) is_msgend() argument
380 i2c_s3c_irq_nextbyte(struct s3c24xx_i2c * i2c,unsigned long iicstat) i2c_s3c_irq_nextbyte() argument
554 struct s3c24xx_i2c *i2c = dev_id; s3c24xx_i2c_irq() local
593 s3c24xx_i2c_disable_bus(struct s3c24xx_i2c * i2c) s3c24xx_i2c_disable_bus() argument
613 s3c24xx_i2c_set_master(struct s3c24xx_i2c * i2c) s3c24xx_i2c_set_master() argument
633 s3c24xx_i2c_wait_idle(struct s3c24xx_i2c * i2c) s3c24xx_i2c_wait_idle() argument
685 s3c24xx_i2c_doxfer(struct s3c24xx_i2c * i2c,struct i2c_msg * msgs,int num) s3c24xx_i2c_doxfer() argument
753 struct s3c24xx_i2c *i2c = (struct s3c24xx_i2c *)adap->algo_data; s3c24xx_i2c_xfer() local
782 struct s3c24xx_i2c *i2c = (struct s3c24xx_i2c *)adap->algo_data; s3c24xx_i2c_xfer_atomic() local
841 s3c24xx_i2c_clockrate(struct s3c24xx_i2c * i2c,unsigned int * got) s3c24xx_i2c_clockrate() argument
903 s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c * i2c) s3c24xx_i2c_parse_dt_gpio() argument
922 s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c * i2c) s3c24xx_i2c_parse_dt_gpio() argument
931 s3c24xx_i2c_init(struct s3c24xx_i2c * i2c) s3c24xx_i2c_init() argument
970 s3c24xx_i2c_parse_dt(struct device_node * np,struct s3c24xx_i2c * i2c) s3c24xx_i2c_parse_dt() argument
1001 s3c24xx_i2c_parse_dt(struct device_node * np,struct s3c24xx_i2c * i2c) s3c24xx_i2c_parse_dt() argument
1006 struct s3c24xx_i2c *i2c; s3c24xx_i2c_probe() local
1133 struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev); s3c24xx_i2c_remove() local
1144 struct s3c24xx_i2c *i2c = dev_get_drvdata(dev); s3c24xx_i2c_suspend_noirq() local
1156 struct s3c24xx_i2c *i2c = dev_get_drvdata(dev); s3c24xx_i2c_resume_noirq() local
[all...]
H A DMakefile3 # Makefile for the i2c bus drivers.
7 obj-$(CONFIG_I2C_SCMI) += i2c-scmi.o
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-cht-wc.o
19 obj-$(CONFIG_I2C_I801) += i2c
[all...]
H A Di2c-k1.c7 #include <linux/i2c.h>
13 /* spacemit i2c registers */
56 #define SPACEMIT_SR_IBB BIT(16) /* i2c bus busy */
83 /* i2c bus recover timeout: us */
98 /* i2c-spacemit driver's main struct */
123 static void spacemit_i2c_enable(struct spacemit_i2c_dev *i2c) in spacemit_i2c_enable() argument
127 val = readl(i2c->base + SPACEMIT_ICR); in spacemit_i2c_enable()
129 writel(val, i2c->base + SPACEMIT_ICR); in spacemit_i2c_enable()
132 static void spacemit_i2c_disable(struct spacemit_i2c_dev *i2c) in spacemit_i2c_disable() argument
136 val = readl(i2c in spacemit_i2c_disable()
141 spacemit_i2c_reset(struct spacemit_i2c_dev * i2c) spacemit_i2c_reset() argument
148 spacemit_i2c_handle_err(struct spacemit_i2c_dev * i2c) spacemit_i2c_handle_err() argument
160 spacemit_i2c_conditionally_reset_bus(struct spacemit_i2c_dev * i2c) spacemit_i2c_conditionally_reset_bus() argument
178 spacemit_i2c_wait_bus_idle(struct spacemit_i2c_dev * i2c) spacemit_i2c_wait_bus_idle() argument
196 spacemit_i2c_check_bus_release(struct spacemit_i2c_dev * i2c) spacemit_i2c_check_bus_release() argument
205 spacemit_i2c_init(struct spacemit_i2c_dev * i2c) spacemit_i2c_init() argument
243 spacemit_i2c_clear_int_status(struct spacemit_i2c_dev * i2c,u32 mask) spacemit_i2c_clear_int_status() argument
248 spacemit_i2c_start(struct spacemit_i2c_dev * i2c) spacemit_i2c_start() argument
270 spacemit_i2c_stop(struct spacemit_i2c_dev * i2c) spacemit_i2c_stop() argument
283 spacemit_i2c_xfer_msg(struct spacemit_i2c_dev * i2c) spacemit_i2c_xfer_msg() argument
314 spacemit_i2c_is_last_msg(struct spacemit_i2c_dev * i2c) spacemit_i2c_is_last_msg() argument
325 spacemit_i2c_handle_write(struct spacemit_i2c_dev * i2c) spacemit_i2c_handle_write() argument
342 spacemit_i2c_handle_read(struct spacemit_i2c_dev * i2c) spacemit_i2c_handle_read() argument
362 spacemit_i2c_handle_start(struct spacemit_i2c_dev * i2c) spacemit_i2c_handle_start() argument
369 spacemit_i2c_err_check(struct spacemit_i2c_dev * i2c) spacemit_i2c_err_check() argument
399 struct spacemit_i2c_dev *i2c = devid; spacemit_i2c_irq_handler() local
447 spacemit_i2c_calc_timeout(struct spacemit_i2c_dev * i2c) spacemit_i2c_calc_timeout() argument
466 struct spacemit_i2c_dev *i2c = i2c_get_adapdata(adapt); spacemit_i2c_xfer() local
510 struct spacemit_i2c_dev *i2c; spacemit_i2c_probe() local
580 struct spacemit_i2c_dev *i2c = platform_get_drvdata(pdev); spacemit_i2c_remove() local
[all...]
H A Di2c-digicolor.c13 #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
99 dc_i2c_write_byte(i2c, i2 in dc_i2c_write_buf()
102 dc_i2c_next_read(struct dc_i2c * i2c) dc_i2c_next_read() argument
109 dc_i2c_stop(struct dc_i2c * i2c) dc_i2c_stop() argument
118 dc_i2c_read_byte(struct dc_i2c * i2c) dc_i2c_read_byte() argument
123 dc_i2c_read_buf(struct dc_i2c * i2c) dc_i2c_read_buf() argument
129 dc_i2c_set_irq(struct dc_i2c * i2c,int enable) dc_i2c_set_irq() argument
136 dc_i2c_cmd_status(struct dc_i2c * i2c) dc_i2c_cmd_status() argument
143 dc_i2c_start_msg(struct dc_i2c * i2c,int first) dc_i2c_start_msg() argument
161 struct dc_i2c *i2c = dev_id; dc_i2c_irq() local
213 dc_i2c_xfer_msg(struct dc_i2c * i2c,struct i2c_msg * msg,int first,int last) dc_i2c_xfer_msg() argument
245 struct dc_i2c *i2c = adap->algo_data; dc_i2c_xfer() local
257 dc_i2c_init_hw(struct dc_i2c * i2c) dc_i2c_init_hw() argument
291 struct dc_i2c *i2c; dc_i2c_probe() local
352 struct dc_i2c *i2c = platform_get_drvdata(pdev); dc_i2c_remove() local
[all...]
H A Di2c-jz4780.c15 #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()
202 static int jz4780_i2c_enable(struct jz4780_i2c *i2c) in jz4780_i2c_enable() argument
221 jz4780_i2c_set_target(struct jz4780_i2c * i2c,unsigned char address) jz4780_i2c_set_target() argument
247 jz4780_i2c_set_speed(struct jz4780_i2c * i2c) jz4780_i2c_set_speed() argument
361 jz4780_i2c_cleanup(struct jz4780_i2c * i2c) jz4780_i2c_cleanup() argument
406 jz4780_i2c_prepare(struct jz4780_i2c * i2c) jz4780_i2c_prepare() argument
412 jz4780_i2c_send_rcmd(struct jz4780_i2c * i2c,int cmd_count,int cmd_left) jz4780_i2c_send_rcmd() argument
428 jz4780_i2c_trans_done(struct jz4780_i2c * i2c) jz4780_i2c_trans_done() argument
439 struct jz4780_i2c *i2c = dev_id; jz4780_i2c_irq() local
557 jz4780_i2c_txabrt(struct jz4780_i2c * i2c,int src) jz4780_i2c_txabrt() argument
563 jz4780_i2c_xfer_read(struct jz4780_i2c * i2c,unsigned char * buf,int len,int cnt,int idx) jz4780_i2c_xfer_read() argument
624 jz4780_i2c_xfer_write(struct jz4780_i2c * i2c,unsigned char * buf,int len,int cnt,int idx) jz4780_i2c_xfer_write() argument
695 struct jz4780_i2c *i2c = adap->algo_data; jz4780_i2c_xfer() local
766 struct jz4780_i2c *i2c; jz4780_i2c_probe() local
843 struct jz4780_i2c *i2c = platform_get_drvdata(pdev); jz4780_i2c_remove() local
[all...]
H A Di2c-img-scb.c74 #include <linux/i2c.h>
294 /* Timing parameters for i2c modes (in ns) */
414 static void img_i2c_writel(struct img_i2c *i2c, u32 offset, u32 value) in img_i2c_writel() argument
416 writel(value, i2c->base + offset); in img_i2c_writel()
419 static u32 img_i2c_readl(struct img_i2c *i2c, u32 offset) in img_i2c_readl() argument
421 return readl(i2c->base + offset); in img_i2c_readl()
436 static void img_i2c_wr_rd_fence(struct img_i2c *i2c) in img_i2c_wr_rd_fence() argument
438 if (i2c->need_wr_rd_fence) { in img_i2c_wr_rd_fence()
439 img_i2c_writel(i2c, SCB_CORE_REV_REG, 0); in img_i2c_wr_rd_fence()
440 img_i2c_writel(i2c, SCB_CORE_REV_RE in img_i2c_wr_rd_fence()
444 img_i2c_switch_mode(struct img_i2c * i2c,enum img_i2c_mode mode) img_i2c_switch_mode() argument
451 img_i2c_raw_op(struct img_i2c * i2c) img_i2c_raw_op() argument
472 img_i2c_atomic_op(struct img_i2c * i2c,int cmd,u8 data) img_i2c_atomic_op() argument
504 img_i2c_atomic_start(struct img_i2c * i2c) img_i2c_atomic_start() argument
511 img_i2c_soft_reset(struct img_i2c * i2c) img_i2c_soft_reset() argument
530 img_i2c_transaction_halt(struct img_i2c * i2c,bool t_halt) img_i2c_transaction_halt() argument
546 img_i2c_read_fifo(struct img_i2c * i2c) img_i2c_read_fifo() argument
567 img_i2c_write_fifo(struct img_i2c * i2c) img_i2c_write_fifo() argument
588 img_i2c_read(struct img_i2c * i2c) img_i2c_read() argument
602 img_i2c_write(struct img_i2c * i2c) img_i2c_write() argument
623 img_i2c_complete_transaction(struct img_i2c * i2c,int status) img_i2c_complete_transaction() argument
633 img_i2c_raw_atomic_delay_handler(struct img_i2c * i2c,u32 int_status,u32 line_status) img_i2c_raw_atomic_delay_handler() argument
642 img_i2c_raw(struct img_i2c * i2c,u32 int_status,u32 line_status) img_i2c_raw() argument
654 img_i2c_sequence(struct img_i2c * i2c,u32 int_status) img_i2c_sequence() argument
704 img_i2c_reset_start(struct img_i2c * i2c) img_i2c_reset_start() argument
718 img_i2c_stop_start(struct img_i2c * i2c) img_i2c_stop_start() argument
732 img_i2c_atomic(struct img_i2c * i2c,u32 int_status,u32 line_status) img_i2c_atomic() argument
834 struct img_i2c *i2c = timer_container_of(i2c, t, check_timer); img_i2c_check_timer() local
853 img_i2c_auto(struct img_i2c * i2c,unsigned int int_status,unsigned int line_status) img_i2c_auto() argument
916 struct img_i2c *i2c = dev_id; img_i2c_isr() local
1007 img_i2c_reset_bus(struct img_i2c * i2c) img_i2c_reset_bus() argument
1027 struct img_i2c *i2c = i2c_get_adapdata(adap); img_i2c_xfer() local
1150 img_i2c_init(struct img_i2c * i2c) img_i2c_init() argument
1329 struct img_i2c *i2c; img_i2c_probe() local
1415 struct img_i2c *i2c = platform_get_drvdata(dev); img_i2c_remove() local
1425 struct img_i2c *i2c = dev_get_drvdata(dev); img_i2c_runtime_suspend() local
1435 struct img_i2c *i2c = dev_get_drvdata(dev); img_i2c_runtime_resume() local
1456 struct img_i2c *i2c = dev_get_drvdata(dev); img_i2c_suspend() local
1470 struct img_i2c *i2c = dev_get_drvdata(dev); img_i2c_resume() local
[all...]
H A Di2c-synquacer.c12 #include <linux/i2c.h>
148 static inline int is_lastmsg(struct synquacer_i2c *i2c) in is_lastmsg() argument
150 return i2c->msg_idx >= (i2c->msg_num - 1); in is_lastmsg()
153 static inline int is_msglast(struct synquacer_i2c *i2c) in is_msglast() argument
155 return i2c->msg_ptr == (i2c->msg->len - 1); in is_msglast()
158 static inline int is_msgend(struct synquacer_i2c *i2c) in is_msgend() argument
160 return i2c->msg_ptr >= i2c in is_msgend()
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-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
50 octeon_i2c_wait(struct octeon_i2c * i2c) octeon_i2c_wait() argument
86 octeon_i2c_hlc_test_valid(struct octeon_i2c * i2c) octeon_i2c_hlc_test_valid() argument
91 octeon_i2c_hlc_int_clear(struct octeon_i2c * i2c) octeon_i2c_hlc_int_clear() argument
100 octeon_i2c_hlc_enable(struct octeon_i2c * i2c) octeon_i2c_hlc_enable() argument
129 octeon_i2c_hlc_disable(struct octeon_i2c * i2c) octeon_i2c_hlc_disable() argument
138 octeon_i2c_block_enable(struct octeon_i2c * i2c) octeon_i2c_block_enable() argument
151 octeon_i2c_block_disable(struct octeon_i2c * i2c) octeon_i2c_block_disable() argument
170 octeon_i2c_hlc_wait(struct octeon_i2c * i2c) octeon_i2c_hlc_wait() argument
208 octeon_i2c_check_status(struct octeon_i2c * i2c,int final_read) octeon_i2c_check_status() argument
287 octeon_i2c_recovery(struct octeon_i2c * i2c) octeon_i2c_recovery() argument
304 octeon_i2c_start(struct octeon_i2c * i2c) octeon_i2c_start() argument
329 octeon_i2c_stop(struct octeon_i2c * i2c) octeon_i2c_stop() argument
346 octeon_i2c_read(struct octeon_i2c * i2c,int target,u8 * data,u16 * rlength,bool recv_len) octeon_i2c_read() argument
414 octeon_i2c_write(struct octeon_i2c * i2c,int target,const u8 * data,int length) octeon_i2c_write() argument
443 octeon_i2c_hlc_read(struct octeon_i2c * i2c,struct i2c_msg * msgs) octeon_i2c_hlc_read() argument
480 octeon_i2c_hlc_write(struct octeon_i2c * i2c,struct i2c_msg * msgs) octeon_i2c_hlc_write() argument
519 octeon_i2c_hlc_cmd_send(struct octeon_i2c * i2c,u64 cmd) octeon_i2c_hlc_cmd_send() argument
528 octeon_i2c_hlc_ext(struct octeon_i2c * i2c,struct i2c_msg msg,u64 * cmd_in,u64 * ext) octeon_i2c_hlc_ext() argument
547 octeon_i2c_hlc_read_cmd(struct octeon_i2c * i2c,struct i2c_msg msg,u64 cmd) octeon_i2c_hlc_read_cmd() argument
558 octeon_i2c_hlc_comp_read(struct octeon_i2c * i2c,struct i2c_msg * msgs) octeon_i2c_hlc_comp_read() argument
594 octeon_i2c_hlc_comp_write(struct octeon_i2c * i2c,struct i2c_msg * msgs) octeon_i2c_hlc_comp_write() argument
646 octeon_i2c_hlc_block_comp_read(struct octeon_i2c * i2c,struct i2c_msg * msgs) octeon_i2c_hlc_block_comp_read() argument
700 octeon_i2c_hlc_block_comp_write(struct octeon_i2c * i2c,struct i2c_msg * msgs) octeon_i2c_hlc_block_comp_write() argument
763 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_xfer() local
824 octeon_i2c_set_clock(struct octeon_i2c * i2c) octeon_i2c_set_clock() argument
909 octeon_i2c_init_lowlevel(struct octeon_i2c * i2c) octeon_i2c_init_lowlevel() argument
938 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_get_scl() local
947 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_set_scl() local
954 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_get_sda() local
963 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_prepare_recovery() local
981 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_unprepare_recovery() local
[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, in argument
98 oc_setreg_32(struct ocores_i2c * i2c,int reg,u8 value) oc_setreg_32() argument
103 oc_setreg_16be(struct ocores_i2c * i2c,int reg,u8 value) oc_setreg_16be() argument
108 oc_setreg_32be(struct ocores_i2c * i2c,int reg,u8 value) oc_setreg_32be() argument
113 oc_getreg_8(struct ocores_i2c * i2c,int reg) oc_getreg_8() argument
118 oc_getreg_16(struct ocores_i2c * i2c,int reg) oc_getreg_16() argument
123 oc_getreg_32(struct ocores_i2c * i2c,int reg) oc_getreg_32() argument
128 oc_getreg_16be(struct ocores_i2c * i2c,int reg) oc_getreg_16be() argument
133 oc_getreg_32be(struct ocores_i2c * i2c,int reg) oc_getreg_32be() argument
138 oc_setreg(struct ocores_i2c * i2c,int reg,u8 value) oc_setreg() argument
143 oc_getreg(struct ocores_i2c * i2c,int reg) oc_getreg() argument
148 ocores_process(struct ocores_i2c * i2c,u8 stat) ocores_process() argument
227 struct ocores_i2c *i2c = dev_id; ocores_isr() local
245 ocores_process_timeout(struct ocores_i2c * i2c) ocores_process_timeout() argument
268 ocores_wait(struct ocores_i2c * i2c,int reg,u8 mask,u8 val,const unsigned long timeout) ocores_wait() argument
295 ocores_poll_wait(struct ocores_i2c * i2c) ocores_poll_wait() argument
337 ocores_process_polling(struct ocores_i2c * i2c) ocores_process_polling() argument
360 ocores_xfer_core(struct ocores_i2c * i2c,struct i2c_msg * msgs,int num,bool polling) ocores_xfer_core() argument
409 ocores_init(struct device * dev,struct ocores_i2c * i2c) ocores_init() argument
484 oc_getreg_grlib(struct ocores_i2c * i2c,int reg) oc_getreg_grlib() argument
498 oc_setreg_grlib(struct ocores_i2c * i2c,int reg,u8 value) oc_setreg_grlib() argument
518 ocores_i2c_of_probe(struct platform_device * pdev,struct ocores_i2c * i2c) ocores_i2c_of_probe() argument
583 ocores_i2c_of_probe(pdev,i2c) global() argument
588 struct ocores_i2c *i2c; ocores_i2c_probe() local
728 struct ocores_i2c *i2c = platform_get_drvdata(pdev); ocores_i2c_remove() local
741 struct ocores_i2c *i2c = dev_get_drvdata(dev); ocores_i2c_suspend() local
754 struct ocores_i2c *i2c = dev_get_drvdata(dev); ocores_i2c_resume() local
[all...]
H A Di2c-exynos5.c3 * i2c-exynos5.c - Samsung Exynos5 I2C Controller Driver
11 #include <linux/i2c.h>
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()
302 (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) ? I2C_MAX_STANDARD_MODE_FREQ : in exynos5_i2c_set_timing()
303 i2c in exynos5_i2c_set_timing()
438 exynos5_hsi2c_clock_setup(struct exynos5_i2c * i2c) exynos5_hsi2c_clock_setup() argument
453 exynos5_i2c_init(struct exynos5_i2c * i2c) exynos5_i2c_init() argument
475 exynos5_i2c_reset(struct exynos5_i2c * i2c) exynos5_i2c_reset() argument
503 struct exynos5_i2c *i2c = dev_id; exynos5_i2c_irq() local
628 exynos5_i2c_wait_bus_idle(struct exynos5_i2c * i2c) exynos5_i2c_wait_bus_idle() argument
646 exynos5_i2c_bus_recover(struct exynos5_i2c * i2c) exynos5_i2c_bus_recover() argument
671 exynos5_i2c_bus_check(struct exynos5_i2c * i2c) exynos5_i2c_bus_check() argument
707 exynos5_i2c_message_start(struct exynos5_i2c * i2c,int stop) exynos5_i2c_message_start() argument
774 exynos5_i2c_poll_irqs_timeout(struct exynos5_i2c * i2c,unsigned long timeout) exynos5_i2c_poll_irqs_timeout() argument
790 exynos5_i2c_xfer_msg(struct exynos5_i2c * i2c,struct i2c_msg * msgs,int stop) exynos5_i2c_xfer_msg() argument
837 struct exynos5_i2c *i2c = adap->algo_data; exynos5_i2c_xfer() local
864 struct exynos5_i2c *i2c = adap->algo_data; exynos5_i2c_xfer_atomic() local
890 struct exynos5_i2c *i2c; exynos5_i2c_probe() local
982 struct exynos5_i2c *i2c = platform_get_drvdata(pdev); exynos5_i2c_remove() local
992 struct exynos5_i2c *i2c = dev_get_drvdata(dev); exynos5_i2c_suspend_noirq() local
1003 struct exynos5_i2c *i2c = dev_get_drvdata(dev); exynos5_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>
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()
102 while (readl(i2c->base + LPC24XX_I2STAT) != M_I2C_IDLE) { in i2c_lpc2k_clear_arb()
105 i2c_lpc2k_reset(i2c); in i2c_lpc2k_clear_arb()
115 i2c_lpc2k_pump_msg(struct lpc2k_i2c * i2c) i2c_lpc2k_pump_msg() argument
251 lpc2k_process_msg(struct lpc2k_i2c * i2c,int msgidx) lpc2k_process_msg() argument
295 struct lpc2k_i2c *i2c = i2c_get_adapdata(adap); i2c_lpc2k_xfer() local
324 struct lpc2k_i2c *i2c = dev_id; i2c_lpc2k_handler() local
347 struct lpc2k_i2c *i2c; i2c_lpc2k_probe() local
428 struct lpc2k_i2c *i2c = platform_get_drvdata(dev); i2c_lpc2k_remove() local
435 struct lpc2k_i2c *i2c = dev_get_drvdata(dev); i2c_lpc2k_suspend() local
444 struct lpc2k_i2c *i2c = dev_get_drvdata(dev); i2c_lpc2k_resume() local
[all...]
H A Di2c-mpc.c3 * This is a combined i2c adapter and algorithm driver for the
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()
131 readb(i2c in mpc_i2c_fixup()
146 i2c_mpc_wait_sr(struct mpc_i2c * i2c,int mask) i2c_mpc_wait_sr() argument
174 mpc_i2c_fixup_A004447(struct mpc_i2c * i2c) mpc_i2c_fixup_A004447() argument
273 mpc_i2c_setup_52xx(struct device_node * node,struct mpc_i2c * i2c,u32 clock) mpc_i2c_setup_52xx() argument
295 mpc_i2c_setup_52xx(struct device_node * node,struct mpc_i2c * i2c,u32 clock) mpc_i2c_setup_52xx() argument
303 mpc_i2c_setup_512x(struct device_node * node,struct mpc_i2c * i2c,u32 clock) mpc_i2c_setup_512x() argument
329 mpc_i2c_setup_512x(struct device_node * node,struct mpc_i2c * i2c,u32 clock) mpc_i2c_setup_512x() argument
456 mpc_i2c_setup_8xxx(struct device_node * node,struct mpc_i2c * i2c,u32 clock) mpc_i2c_setup_8xxx() argument
481 mpc_i2c_setup_8xxx(struct device_node * node,struct mpc_i2c * i2c,u32 clock) mpc_i2c_setup_8xxx() argument
487 mpc_i2c_finish(struct mpc_i2c * i2c,int rc) mpc_i2c_finish() argument
496 mpc_i2c_do_action(struct mpc_i2c * i2c) mpc_i2c_do_action() argument
608 mpc_i2c_do_intr(struct mpc_i2c * i2c,u8 status) mpc_i2c_do_intr() argument
639 struct mpc_i2c *i2c = dev_id; mpc_i2c_isr() local
653 mpc_i2c_wait_for_completion(struct mpc_i2c * i2c) mpc_i2c_wait_for_completion() argument
666 mpc_i2c_execute_msg(struct mpc_i2c * i2c) mpc_i2c_execute_msg() argument
718 struct mpc_i2c *i2c = i2c_get_adapdata(adap); mpc_xfer() local
750 struct mpc_i2c *i2c = i2c_get_adapdata(adap); fsl_i2c_bus_recovery() local
777 struct mpc_i2c *i2c; fsl_i2c_probe() local
878 struct mpc_i2c *i2c = platform_get_drvdata(op); fsl_i2c_remove() local
885 struct mpc_i2c *i2c = dev_get_drvdata(dev); mpc_i2c_suspend() local
895 struct mpc_i2c *i2c = dev_get_drvdata(dev); mpc_i2c_resume() local
[all...]
H A Di2c-mt65xx.c14 #include <linux/i2c.h>
85 #define I2C_DRV_NAME "i2c-mt65xx"
90 * @I2C_MT65XX_CLK_MAIN: main clock for i2c bus
91 * @I2C_MT65XX_CLK_DMA: DMA clock for i2c via DMA
92 * @I2C_MT65XX_CLK_PMIC: PMIC clock for i2c from PMIC
93 * @I2C_MT65XX_CLK_ARB: Arbitrator clock for i2c
287 struct i2c_adapter adap; /* i2c host adapter */
292 /* set in i2c probe */
293 void __iomem *base; /* i2c base addr */
295 struct clk_bulk_data clocks[I2C_MT65XX_CLK_MAX]; /* clocks for i2c */
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
946 i2c_dump_register(struct mtk_i2c * i2c) i2c_dump_register() argument
997 mtk_i2c_do_transfer(struct mtk_i2c * i2c,struct i2c_msg * msgs,int num,int left_num) mtk_i2c_do_transfer() argument
1246 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
1509 struct mtk_i2c *i2c = platform_get_drvdata(pdev); mtk_i2c_remove() local
1518 struct mtk_i2c *i2c = dev_get_drvdata(dev); mtk_i2c_suspend_noirq() local
1529 struct mtk_i2c *i2c = dev_get_drvdata(dev); mtk_i2c_resume_noirq() local
[all...]
H A Di2c-mxs.c16 #include <linux/i2c.h>
29 #define DRIVER_NAME "mxs-i2c"
69 #define MXS_I2C_DATA(i2c) ((i2c->dev_type == MXS_I2C_V1) ? 0x60 : 0xa0) argument
71 #define MXS_I2C_DEBUG0_CLR(i2c) ((i2c->dev_type == MXS_I2C_V1) ? 0x78 : 0xb8) argument
110 * @adapter: i2c subsystem adapter node
132 static int mxs_i2c_reset(struct mxs_i2c_dev *i2c) in mxs_i2c_reset() argument
134 int ret = stmp_reset_block(i2c->regs); in mxs_i2c_reset()
145 writel(i2c in mxs_i2c_reset()
154 mxs_i2c_dma_finish(struct mxs_i2c_dev * i2c) mxs_i2c_dma_finish() argument
166 struct mxs_i2c_dev *i2c = param; mxs_i2c_dma_irq_callback() local
176 struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap); mxs_i2c_dma_setup_xfer() local
303 mxs_i2c_pio_wait_xfer_end(struct mxs_i2c_dev * i2c) mxs_i2c_pio_wait_xfer_end() argument
319 mxs_i2c_pio_check_error_state(struct mxs_i2c_dev * i2c) mxs_i2c_pio_check_error_state() argument
336 mxs_i2c_pio_trigger_cmd(struct mxs_i2c_dev * i2c,u32 cmd) mxs_i2c_pio_trigger_cmd() argument
356 mxs_i2c_pio_trigger_write_cmd(struct mxs_i2c_dev * i2c,u32 cmd,u32 data) mxs_i2c_pio_trigger_write_cmd() argument
371 struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap); mxs_i2c_pio_setup_xfer() local
562 struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap); mxs_i2c_xfer_msg() local
670 struct mxs_i2c_dev *i2c = dev_id; mxs_i2c_isr() local
698 mxs_i2c_derive_timing(struct mxs_i2c_dev * i2c,uint32_t speed) mxs_i2c_derive_timing() argument
773 mxs_i2c_get_ofdata(struct mxs_i2c_dev * i2c) mxs_i2c_get_ofdata() argument
801 struct mxs_i2c_dev *i2c; mxs_i2c_probe() local
868 struct mxs_i2c_dev *i2c = platform_get_drvdata(pdev); mxs_i2c_remove() local
[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
62 thunder_i2c_hlc_int_disable(struct octeon_i2c * i2c) thunder_i2c_hlc_int_disable() argument
85 thunder_i2c_clock_enable(struct device * dev,struct octeon_i2c * i2c) thunder_i2c_clock_enable() argument
120 thunder_i2c_smbus_setup_of(struct octeon_i2c * i2c,struct device_node * node) thunder_i2c_smbus_setup_of() argument
141 thunder_i2c_smbus_setup(struct octeon_i2c * i2c,struct device_node * node) thunder_i2c_smbus_setup() argument
151 thunder_i2c_smbus_remove(struct octeon_i2c * i2c) thunder_i2c_smbus_remove() argument
160 struct octeon_i2c *i2c; thunder_i2c_probe_pci() local
252 struct octeon_i2c *i2c = pci_get_drvdata(pdev); thunder_i2c_remove_pci() local
[all...]
H A Di2c-rk3x.c11 #include <linux/i2c.h>
163 * @grf_offset: offset inside the grf regmap for setting the i2c type
164 * @calc_timings: Callback function for i2c timing information calculated
180 * @clk_rate_nb: i2c clk rate change notify
183 * @lock: spinlock for the i2c bus
184 * @wait: the waitqueue to wait for i2c transfer
186 * @msg: current i2c message
187 * @addr: addr of i2c target device
188 * @mode: mode of i2c transfer
190 * @state: state of 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-pca-platform.c17 #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()
59 struct i2c_pca_pf_data *i2c in i2c_pca_pf_writebyte8() local
65 struct i2c_pca_pf_data *i2c = pd; i2c_pca_pf_writebyte16() local
71 struct i2c_pca_pf_data *i2c = pd; i2c_pca_pf_writebyte32() local
78 struct i2c_pca_pf_data *i2c = pd; i2c_pca_pf_waitforcompletion() local
103 struct i2c_pca_pf_data *i2c = pd; i2c_pca_pf_dummyreset() local
110 struct i2c_pca_pf_data *i2c = pd; i2c_pca_pf_resetchip() local
119 struct i2c_pca_pf_data *i2c = dev_id; i2c_pca_pf_handler() local
132 struct i2c_pca_pf_data *i2c; i2c_pca_pf_probe() local
225 struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev); i2c_pca_pf_remove() local
[all...]
H A Di2c-viai2c-common.c3 #include "i2c-viai2c-common.h"
5 int viai2c_wait_bus_not_busy(struct viai2c *i2c) in viai2c_wait_bus_not_busy() argument
10 while (!(readw(i2c->base + VIAI2C_REG_CSR) & VIAI2C_CSR_READY_MASK)) { in viai2c_wait_bus_not_busy()
12 dev_warn(i2c->dev, "timeout waiting for bus ready\n"); in viai2c_wait_bus_not_busy()
22 static int viai2c_write(struct viai2c *i2c, struct i2c_msg *pmsg, int last) in viai2c_write() argument
24 u16 val, tcr_val = i2c->tcr; in viai2c_write()
26 i2c->last = last; in viai2c_write()
33 i2c->xfered_len = -1; in viai2c_write()
34 writew(0, i2c->base + VIAI2C_REG_CDR); in viai2c_write()
36 writew(pmsg->buf[0] & 0xFF, i2c in viai2c_write()
64 viai2c_read(struct viai2c * i2c,struct i2c_msg * pmsg,bool first) viai2c_read() argument
103 struct viai2c *i2c = i2c_get_adapdata(adap); viai2c_xfer() local
135 viai2c_irq_xfer(struct viai2c * i2c) viai2c_irq_xfer() argument
180 struct viai2c *i2c; viai2c_init() local
[all...]
H A Di2c-mt7621.c3 * drivers/i2c/busses/i2c-mt7621.c
9 * Improve driver for i2cdetect from i2c-tools to detect i2c devices on the bus.
15 #include <linux/i2c.h>
70 static int mtk_i2c_wait_idle(struct mtk_i2c *i2c) in mtk_i2c_wait_idle() argument
75 ret = readl_relaxed_poll_timeout(i2c->base + REG_SM0CTL1_REG, in mtk_i2c_wait_idle()
79 dev_dbg(i2c->dev, "idle err(%d)\n", ret); in mtk_i2c_wait_idle()
84 static void mtk_i2c_reset(struct mtk_i2c *i2c) in mtk_i2c_reset() argument
88 ret = device_reset(i2c in mtk_i2c_reset()
101 mtk_i2c_dump_reg(struct mtk_i2c * i2c) mtk_i2c_dump_reg() argument
112 mtk_i2c_check_ack(struct mtk_i2c * i2c,u32 expected) mtk_i2c_check_ack() argument
120 mtk_i2c_start(struct mtk_i2c * i2c) mtk_i2c_start() argument
126 mtk_i2c_stop(struct mtk_i2c * i2c) mtk_i2c_stop() argument
132 mtk_i2c_cmd(struct mtk_i2c * i2c,u32 cmd,int page_len) mtk_i2c_cmd() argument
142 struct mtk_i2c *i2c; mtk_i2c_xfer() local
257 mtk_i2c_init(struct mtk_i2c * i2c) mtk_i2c_init() argument
270 struct mtk_i2c *i2c; mtk_i2c_probe() local
323 struct mtk_i2c *i2c = platform_get_drvdata(pdev); mtk_i2c_remove() local
[all...]
H A Di2c-mchp-pci1xxxx.c14 #include <linux/i2c.h>
15 #include <linux/i2c-smbus.h>
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()
347 static int release_sys_lock(struct pci1xxxx_i2c *i2c) in release_sys_lock() argument
349 void __iomem *p = i2c->i2c_base + SMB_GPR_LOCK_REG; in release_sys_lock()
364 static void pci1xxxx_ack_high_level_intr(struct pci1xxxx_i2c *i2c, u16 intr_msk) in pci1xxxx_ack_high_level_intr() argument
366 writew(intr_msk, i2c->i2c_base + SMBUS_GEN_INT_STAT_REG_OFF); in pci1xxxx_ack_high_level_intr()
369 static void pci1xxxx_i2c_configure_smbalert_pin(struct pci1xxxx_i2c *i2c, in pci1xxxx_i2c_configure_smbalert_pin() argument
372 void __iomem *p = i2c in pci1xxxx_i2c_configure_smbalert_pin()
385 pci1xxxx_i2c_send_start_stop(struct pci1xxxx_i2c * i2c,bool start) pci1xxxx_i2c_send_start_stop() argument
405 pci1xxxx_i2c_set_clear_FW_ACK(struct pci1xxxx_i2c * i2c,bool set) pci1xxxx_i2c_set_clear_FW_ACK() argument
417 pci1xxxx_i2c_buffer_write(struct pci1xxxx_i2c * i2c,u8 slaveaddr,u8 transferlen,unsigned char * buf) pci1xxxx_i2c_buffer_write() argument
434 pci1xxxx_i2c_enable_ESO(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_enable_ESO() argument
439 pci1xxxx_i2c_reset_counters(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_reset_counters() argument
449 pci1xxxx_i2c_set_transfer_dir(struct pci1xxxx_i2c * i2c,u8 direction) pci1xxxx_i2c_set_transfer_dir() argument
463 pci1xxxx_i2c_set_mcu_count(struct pci1xxxx_i2c * i2c,u8 count) pci1xxxx_i2c_set_mcu_count() argument
468 pci1xxxx_i2c_set_read_count(struct pci1xxxx_i2c * i2c,u8 readcount) pci1xxxx_i2c_set_read_count() argument
473 pci1xxxx_i2c_set_write_count(struct pci1xxxx_i2c * i2c,u8 writecount) pci1xxxx_i2c_set_write_count() argument
478 pci1xxxx_i2c_set_DMA_run(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_set_DMA_run() argument
488 pci1xxxx_i2c_set_mrun_proceed(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_set_mrun_proceed() argument
499 pci1xxxx_i2c_start_DMA(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_start_DMA() argument
505 pci1xxxx_i2c_config_asr(struct pci1xxxx_i2c * i2c,bool enable) pci1xxxx_i2c_config_asr() argument
520 struct pci1xxxx_i2c *i2c = dev; pci1xxxx_i2c_isr() local
551 pci1xxxx_i2c_set_count(struct pci1xxxx_i2c * i2c,u8 mcucount,u8 writecount,u8 readcount) pci1xxxx_i2c_set_count() argument
559 pci1xxxx_i2c_set_readm(struct pci1xxxx_i2c * i2c,bool enable) pci1xxxx_i2c_set_readm() argument
573 pci1xxxx_ack_nw_layer_intr(struct pci1xxxx_i2c * i2c,u8 ack_intr_msk) pci1xxxx_ack_nw_layer_intr() argument
578 pci1xxxx_config_nw_layer_intr(struct pci1xxxx_i2c * i2c,u8 intr_msk,bool enable) pci1xxxx_config_nw_layer_intr() argument
593 pci1xxxx_i2c_config_padctrl(struct pci1xxxx_i2c * i2c,bool enable) pci1xxxx_i2c_config_padctrl() argument
616 pci1xxxx_i2c_set_mode(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_set_mode() argument
630 pci1xxxx_i2c_config_high_level_intr(struct pci1xxxx_i2c * i2c,u16 intr_msk,bool enable) pci1xxxx_i2c_config_high_level_intr() argument
644 pci1xxxx_i2c_configure_core_reg(struct pci1xxxx_i2c * i2c,bool enable) pci1xxxx_i2c_configure_core_reg() argument
665 pci1xxxx_i2c_set_freq(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_set_freq() argument
706 pci1xxxx_i2c_init(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_init() argument
763 pci1xxxx_i2c_clear_flags(struct pci1xxxx_i2c * i2c) pci1xxxx_i2c_clear_flags() argument
778 pci1xxxx_i2c_read(struct pci1xxxx_i2c * i2c,u8 slaveaddr,unsigned char * buf,u16 total_len) pci1xxxx_i2c_read() argument
899 pci1xxxx_i2c_write(struct pci1xxxx_i2c * i2c,u8 slaveaddr,unsigned char * buf,u16 total_len) pci1xxxx_i2c_write() argument
995 struct pci1xxxx_i2c *i2c = i2c_get_adapdata(adap); pci1xxxx_i2c_xfer() local
1068 struct pci1xxxx_i2c *i2c = dev_get_drvdata(dev); pci1xxxx_i2c_suspend() local
1101 struct pci1xxxx_i2c *i2c = dev_get_drvdata(dev); pci1xxxx_i2c_resume() local
1123 struct pci1xxxx_i2c *i2c = data; pci1xxxx_i2c_shutdown() local
1133 struct pci1xxxx_i2c *i2c; pci1xxxx_i2c_probe_pci() local
[all...]
H A Di2c-viai2c-wmt.c14 #include "i2c-viai2c-common.h"
42 static int wmt_i2c_reset_hardware(struct viai2c *i2c) in wmt_i2c_reset_hardware() argument
46 err = clk_prepare_enable(i2c->clk); in wmt_i2c_reset_hardware()
48 return dev_err_probe(i2c->dev, err, "failed to enable clock\n"); in wmt_i2c_reset_hardware()
50 err = clk_set_rate(i2c->clk, 20000000); in wmt_i2c_reset_hardware()
52 clk_disable_unprepare(i2c->clk); in wmt_i2c_reset_hardware()
53 return dev_err_probe(i2c->dev, err, "failed to set clock = 20Mhz\n"); in wmt_i2c_reset_hardware()
56 writew(0, i2c->base + VIAI2C_REG_CR); in wmt_i2c_reset_hardware()
57 writew(MCR_APB_166M, i2c->base + VIAI2C_REG_MCR); in wmt_i2c_reset_hardware()
58 writew(VIAI2C_ISR_MASK_ALL, i2c in wmt_i2c_reset_hardware()
74 struct viai2c *i2c = data; wmt_i2c_isr() local
101 struct viai2c *i2c; wmt_i2c_probe() local
151 struct viai2c *i2c = platform_get_drvdata(pdev); wmt_i2c_remove() local
[all...]
/linux/drivers/media/pci/netup_unidvb/
H A Dnetup_unidvb_i2c.c65 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()
89 dev_dbg(i2c in netup_i2c_interrupt()
119 netup_i2c_reset(struct netup_i2c * i2c) netup_i2c_reset() argument
131 netup_i2c_fifo_tx(struct netup_i2c * i2c) netup_i2c_fifo_tx() argument
153 netup_i2c_fifo_rx(struct netup_i2c * i2c) netup_i2c_fifo_rx() argument
177 netup_i2c_start_xfer(struct netup_i2c * i2c) netup_i2c_start_xfer() argument
205 struct netup_i2c *i2c = i2c_get_adapdata(adap); netup_i2c_xfer() local
299 struct netup_i2c *i2c; netup_i2c_init() local
329 struct netup_i2c *i2c; netup_i2c_remove() local
[all...]
/linux/drivers/media/pci/ddbridge/
H A Dddbridge-i2c.c3 * ddbridge-i2c.c: Digital Devices bridge i2c driver
20 #include <linux/i2c.h>
25 #include "ddbridge-i2c.h"
31 static int ddb_i2c_cmd(struct ddb_i2c *i2c, u32 adr, u32 cmd) in ddb_i2c_cmd() argument
33 struct ddb *dev = i2c->dev; in ddb_i2c_cmd()
37 ddbwritel(dev, (adr << 9) | cmd, i2c->regs + I2C_COMMAND); in ddb_i2c_cmd()
38 stat = wait_for_completion_timeout(&i2c->completion, HZ); in ddb_i2c_cmd()
39 val = ddbreadl(dev, i2c->regs + I2C_COMMAND); in ddb_i2c_cmd()
42 dev->nr, i2c in ddb_i2c_cmd()
78 struct ddb_i2c *i2c = (struct ddb_i2c *)i2c_get_adapdata(adapter); ddb_i2c_master_xfer() local
136 struct ddb_i2c *i2c; ddb_i2c_release() local
146 struct ddb_i2c *i2c = (struct ddb_i2c *)priv; i2c_handler() local
151 ddb_i2c_add(struct ddb * dev,struct ddb_i2c * i2c,const struct ddb_regmap * regmap,int link,int i,int num) ddb_i2c_add() argument
192 struct ddb_i2c *i2c; ddb_i2c_init() local
[all...]

12345678910>>...127