/linux/drivers/i2c/busses/ |
H A D | i2c-xiic.c | 3 * 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 D | i2c-pxa.c | 24 #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 D | i2c-s3c2410.c | 2 /* 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 D | Makefile | 3 # 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 D | i2c-k1.c | 7 #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 D | i2c-digicolor.c | 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 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 D | i2c-jz4780.c | 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() 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 D | i2c-img-scb.c | 74 #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 D | i2c-synquacer.c | 12 #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 D | i2c-octeon-core.c | 7 * 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 D | i2c-ocores.c | 3 * 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 D | i2c-exynos5.c | 3 * 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 D | i2c-lpc2k.c | 5 * 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 D | i2c-mpc.c | 3 * 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 D | i2c-mt65xx.c | 14 #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 D | i2c-mxs.c | 16 #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 D | i2c-thunderx-pcidrv.c | 2 * 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 D | i2c-rk3x.c | 11 #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 D | i2c-pca-platform.c | 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() 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 D | i2c-viai2c-common.c | 3 #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 D | i2c-mt7621.c | 3 * 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 D | i2c-mchp-pci1xxxx.c | 14 #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 D | i2c-viai2c-wmt.c | 14 #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 D | netup_unidvb_i2c.c | 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() 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 D | ddbridge-i2c.c | 3 * 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...] |