| /Linux-v5.4/drivers/i2c/busses/ | 
| D | i2c-xiic.c | 164 #define xiic_tx_space(i2c) ((i2c)->tx_msg->len - (i2c)->tx_pos)  argument165 #define xiic_rx_space(i2c) ((i2c)->rx_msg->len - (i2c)->rx_pos)  argument
 167 static void xiic_start_xfer(struct xiic_i2c *i2c);
 168 static void __xiic_start_xfer(struct xiic_i2c *i2c);
 178 static inline void xiic_setreg8(struct xiic_i2c *i2c, int reg, u8 value)  in xiic_setreg8()  argument
 180 	if (i2c->endianness == LITTLE)  in xiic_setreg8()
 181 		iowrite8(value, i2c->base + reg);  in xiic_setreg8()
 183 		iowrite8(value, i2c->base + reg + 3);  in xiic_setreg8()
 186 static inline u8 xiic_getreg8(struct xiic_i2c *i2c, int reg)  in xiic_getreg8()  argument
 190 	if (i2c->endianness == LITTLE)  in xiic_getreg8()
 [all …]
 
 | 
| D | i2c-pxa.c | 213 #define _IBMR(i2c)	((i2c)->reg_ibmr)  argument214 #define _IDBR(i2c)	((i2c)->reg_idbr)  argument
 215 #define _ICR(i2c)	((i2c)->reg_icr)  argument
 216 #define _ISR(i2c)	((i2c)->reg_isr)  argument
 217 #define _ISAR(i2c)	((i2c)->reg_isar)  argument
 218 #define _ILCR(i2c)	((i2c)->reg_ilcr)  argument
 219 #define _IWCR(i2c)	((i2c)->reg_iwcr)  argument
 295 static void i2c_pxa_show_state(struct pxa_i2c *i2c, int lno, const char *fname)  in i2c_pxa_show_state()  argument
 297 	dev_dbg(&i2c->adap.dev, "state:%s:%d: ISR=%08x, ICR=%08x, IBMR=%02x\n", fname, lno,  in i2c_pxa_show_state()
 298 		readl(_ISR(i2c)), readl(_ICR(i2c)), readl(_IBMR(i2c)));  in i2c_pxa_show_state()
 [all …]
 
 | 
| D | i2c-s3c2410.c | 139 static int i2c_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat);173 static inline void s3c24xx_i2c_master_complete(struct s3c24xx_i2c *i2c, int ret)  in s3c24xx_i2c_master_complete()  argument
 175 	dev_dbg(i2c->dev, "master_complete %d\n", ret);  in s3c24xx_i2c_master_complete()
 177 	i2c->msg_ptr = 0;  in s3c24xx_i2c_master_complete()
 178 	i2c->msg = NULL;  in s3c24xx_i2c_master_complete()
 179 	i2c->msg_idx++;  in s3c24xx_i2c_master_complete()
 180 	i2c->msg_num = 0;  in s3c24xx_i2c_master_complete()
 182 		i2c->msg_idx = ret;  in s3c24xx_i2c_master_complete()
 184 	if (!(i2c->quirks & QUIRK_POLL))  in s3c24xx_i2c_master_complete()
 185 		wake_up(&i2c->wait);  in s3c24xx_i2c_master_complete()
 [all …]
 
 | 
| D | i2c-ocores.c | 49 	void (*setreg)(struct ocores_i2c *i2c, int reg, u8 value);50 	u8 (*getreg)(struct ocores_i2c *i2c, int reg);
 90 static void oc_setreg_8(struct ocores_i2c *i2c, int reg, u8 value)  in oc_setreg_8()  argument
 92 	iowrite8(value, i2c->base + (reg << i2c->reg_shift));  in oc_setreg_8()
 95 static void oc_setreg_16(struct ocores_i2c *i2c, int reg, u8 value)  in oc_setreg_16()  argument
 97 	iowrite16(value, i2c->base + (reg << i2c->reg_shift));  in oc_setreg_16()
 100 static void oc_setreg_32(struct ocores_i2c *i2c, int reg, u8 value)  in oc_setreg_32()  argument
 102 	iowrite32(value, i2c->base + (reg << i2c->reg_shift));  in oc_setreg_32()
 105 static void oc_setreg_16be(struct ocores_i2c *i2c, int reg, u8 value)  in oc_setreg_16be()  argument
 107 	iowrite16be(value, i2c->base + (reg << i2c->reg_shift));  in oc_setreg_16be()
 [all …]
 
 | 
| D | i2c-img-scb.c | 414 static void img_i2c_writel(struct img_i2c *i2c, u32 offset, u32 value)  in img_i2c_writel()  argument416 	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_REG, 0);  in img_i2c_wr_rd_fence()
 444 static void img_i2c_switch_mode(struct img_i2c *i2c, enum img_i2c_mode mode)  in img_i2c_switch_mode()  argument
 446 	i2c->mode = mode;  in img_i2c_switch_mode()
 [all …]
 
 | 
| D | i2c-synquacer.c | 149 static inline int is_lastmsg(struct synquacer_i2c *i2c)  in is_lastmsg()  argument151 	return i2c->msg_idx >= (i2c->msg_num - 1);  in is_lastmsg()
 154 static inline int is_msglast(struct synquacer_i2c *i2c)  in is_msglast()  argument
 156 	return i2c->msg_ptr == (i2c->msg->len - 1);  in is_msglast()
 159 static inline int is_msgend(struct synquacer_i2c *i2c)  in is_msgend()  argument
 161 	return i2c->msg_ptr >= i2c->msg->len;  in is_msgend()
 164 static inline unsigned long calc_timeout_ms(struct synquacer_i2c *i2c,  in calc_timeout_ms()  argument
 177 static void synquacer_i2c_stop(struct synquacer_i2c *i2c, int ret)  in synquacer_i2c_stop()  argument
 184 	writeb(0, i2c->base + SYNQUACER_I2C_REG_BCR);  in synquacer_i2c_stop()
 186 	i2c->state = STATE_IDLE;  in synquacer_i2c_stop()
 [all …]
 
 | 
| D | Makefile | 7 obj-$(CONFIG_I2C_SCMI)		+= i2c-scmi.o10 obj-$(CONFIG_I2C_ALI1535)	+= i2c-ali1535.o
 11 obj-$(CONFIG_I2C_ALI1563)	+= i2c-ali1563.o
 12 obj-$(CONFIG_I2C_ALI15X3)	+= i2c-ali15x3.o
 13 obj-$(CONFIG_I2C_AMD756)	+= i2c-amd756.o
 14 obj-$(CONFIG_I2C_AMD756_S4882)	+= i2c-amd756-s4882.o
 15 obj-$(CONFIG_I2C_AMD8111)	+= i2c-amd8111.o
 16 obj-$(CONFIG_I2C_CHT_WC)	+= i2c-cht-wc.o
 17 obj-$(CONFIG_I2C_I801)		+= i2c-i801.o
 18 obj-$(CONFIG_I2C_ISCH)		+= i2c-isch.o
 [all …]
 
 | 
| D | i2c-meson.c | 102 static void meson_i2c_set_mask(struct meson_i2c *i2c, int reg, u32 mask,  in meson_i2c_set_mask()  argument107 	data = readl(i2c->regs + reg);  in meson_i2c_set_mask()
 110 	writel(data, i2c->regs + reg);  in meson_i2c_set_mask()
 113 static void meson_i2c_reset_tokens(struct meson_i2c *i2c)  in meson_i2c_reset_tokens()  argument
 115 	i2c->tokens[0] = 0;  in meson_i2c_reset_tokens()
 116 	i2c->tokens[1] = 0;  in meson_i2c_reset_tokens()
 117 	i2c->num_tokens = 0;  in meson_i2c_reset_tokens()
 120 static void meson_i2c_add_token(struct meson_i2c *i2c, int token)  in meson_i2c_add_token()  argument
 122 	if (i2c->num_tokens < 8)  in meson_i2c_add_token()
 123 		i2c->tokens[0] |= (token & 0xf) << (i2c->num_tokens * 4);  in meson_i2c_add_token()
 [all …]
 
 | 
| D | i2c-digicolor.c | 72 static void dc_i2c_cmd(struct dc_i2c *i2c, u8 cmd)  in dc_i2c_cmd()  argument74 	writeb_relaxed(cmd | II_COMMAND_GO, i2c->regs + II_COMMAND);  in dc_i2c_cmd()
 87 static void dc_i2c_data(struct dc_i2c *i2c, u8 data)  in dc_i2c_data()  argument
 89 	writeb_relaxed(data, i2c->regs + II_DATA);  in dc_i2c_data()
 92 static void dc_i2c_write_byte(struct dc_i2c *i2c, u8 byte)  in dc_i2c_write_byte()  argument
 94 	dc_i2c_data(i2c, byte);  in dc_i2c_write_byte()
 95 	dc_i2c_cmd(i2c, II_CMD_SEND_ACK);  in dc_i2c_write_byte()
 98 static void dc_i2c_write_buf(struct dc_i2c *i2c)  in dc_i2c_write_buf()  argument
 100 	dc_i2c_write_byte(i2c, i2c->msg->buf[i2c->msgbuf_ptr++]);  in dc_i2c_write_buf()
 103 static void dc_i2c_next_read(struct dc_i2c *i2c)  in dc_i2c_next_read()  argument
 [all …]
 
 | 
| D | i2c-lpc2k.c | 84 static void i2c_lpc2k_reset(struct lpc2k_i2c *i2c)  in i2c_lpc2k_reset()  argument87 	writel(LPC24XX_CLEAR_ALL, i2c->base + LPC24XX_I2CONCLR);  in i2c_lpc2k_reset()
 88 	writel(0, i2c->base + LPC24XX_I2ADDR);  in i2c_lpc2k_reset()
 89 	writel(LPC24XX_I2EN, i2c->base + LPC24XX_I2CONSET);  in i2c_lpc2k_reset()
 92 static int i2c_lpc2k_clear_arb(struct lpc2k_i2c *i2c)  in i2c_lpc2k_clear_arb()  argument
 100 	writel(LPC24XX_STO, i2c->base + LPC24XX_I2CONSET);  in i2c_lpc2k_clear_arb()
 103 	while (readl(i2c->base + LPC24XX_I2STAT) != M_I2C_IDLE) {  in i2c_lpc2k_clear_arb()
 106 			i2c_lpc2k_reset(i2c);  in i2c_lpc2k_clear_arb()
 116 static void i2c_lpc2k_pump_msg(struct lpc2k_i2c *i2c)  in i2c_lpc2k_pump_msg()  argument
 125 	status = readl(i2c->base + LPC24XX_I2STAT);  in i2c_lpc2k_pump_msg()
 [all …]
 
 | 
| D | i2c-exynos5.c | 257 static void exynos5_i2c_clr_pend_irq(struct exynos5_i2c *i2c)  in exynos5_i2c_clr_pend_irq()  argument259 	writel(readl(i2c->regs + HSI2C_INT_STATUS),  in exynos5_i2c_clr_pend_irq()
 260 				i2c->regs + HSI2C_INT_STATUS);  in exynos5_i2c_clr_pend_irq()
 270 static int exynos5_i2c_set_timing(struct exynos5_i2c *i2c, bool hs_timings)  in exynos5_i2c_set_timing()  argument
 282 	unsigned int clkin = clk_get_rate(i2c->clk);  in exynos5_i2c_set_timing()
 283 	unsigned int op_clk = hs_timings ? i2c->op_clock :  in exynos5_i2c_set_timing()
 284 		(i2c->op_clock >= HSI2C_HS_TX_CLOCK) ? HSI2C_FS_TX_CLOCK :  in exynos5_i2c_set_timing()
 285 		i2c->op_clock;  in exynos5_i2c_set_timing()
 303 	t_ftl_cycle = (readl(i2c->regs + HSI2C_CONF) >> 16) & 0x7;  in exynos5_i2c_set_timing()
 305 	if (i2c->variant->hw != I2C_TYPE_EXYNOS7)  in exynos5_i2c_set_timing()
 [all …]
 
 | 
| D | i2c-jz4780.c | 170 static inline unsigned short jz4780_i2c_readw(struct jz4780_i2c *i2c,  in jz4780_i2c_readw()  argument173 	return readw(i2c->iomem + offset);  in jz4780_i2c_readw()
 176 static inline void jz4780_i2c_writew(struct jz4780_i2c *i2c,  in jz4780_i2c_writew()  argument
 179 	writew(val, i2c->iomem + offset);  in jz4780_i2c_writew()
 182 static int jz4780_i2c_disable(struct jz4780_i2c *i2c)  in jz4780_i2c_disable()  argument
 187 	jz4780_i2c_writew(i2c, JZ4780_I2C_ENB, 0);  in jz4780_i2c_disable()
 190 		regval = jz4780_i2c_readw(i2c, JZ4780_I2C_ENSTA);  in jz4780_i2c_disable()
 197 	dev_err(&i2c->adap.dev, "disable failed: ENSTA=0x%04x\n", regval);  in jz4780_i2c_disable()
 201 static int jz4780_i2c_enable(struct jz4780_i2c *i2c)  in jz4780_i2c_enable()  argument
 206 	jz4780_i2c_writew(i2c, JZ4780_I2C_ENB, 1);  in jz4780_i2c_enable()
 [all …]
 
 | 
| D | i2c-zx2967.c | 53 #define DEV(i2c)			((i2c)->adap.dev.parent)  argument69 static void zx2967_i2c_writel(struct zx2967_i2c *i2c,  in zx2967_i2c_writel()  argument
 72 	writel_relaxed(val, i2c->reg_base + reg);  in zx2967_i2c_writel()
 75 static u32 zx2967_i2c_readl(struct zx2967_i2c *i2c, unsigned long reg)  in zx2967_i2c_readl()  argument
 77 	return readl_relaxed(i2c->reg_base + reg);  in zx2967_i2c_readl()
 80 static void zx2967_i2c_writesb(struct zx2967_i2c *i2c,  in zx2967_i2c_writesb()  argument
 83 	writesb(i2c->reg_base + reg, data, len);  in zx2967_i2c_writesb()
 86 static void zx2967_i2c_readsb(struct zx2967_i2c *i2c,  in zx2967_i2c_readsb()  argument
 89 	readsb(i2c->reg_base + reg, data, len);  in zx2967_i2c_readsb()
 92 static void zx2967_i2c_start_ctrl(struct zx2967_i2c *i2c)  in zx2967_i2c_start_ctrl()  argument
 [all …]
 
 | 
| D | i2c-octeon-core.c | 26 	struct octeon_i2c *i2c = dev_id;  in octeon_i2c_isr()  local28 	i2c->int_disable(i2c);  in octeon_i2c_isr()
 29 	wake_up(&i2c->queue);  in octeon_i2c_isr()
 34 static bool octeon_i2c_test_iflg(struct octeon_i2c *i2c)  in octeon_i2c_test_iflg()  argument
 36 	return (octeon_i2c_ctl_read(i2c) & TWSI_CTL_IFLG);  in octeon_i2c_test_iflg()
 45 static int octeon_i2c_wait(struct octeon_i2c *i2c)  in octeon_i2c_wait()  argument
 53 	if (i2c->broken_irq_mode) {  in octeon_i2c_wait()
 54 		u64 end = get_jiffies_64() + i2c->adap.timeout;  in octeon_i2c_wait()
 56 		while (!octeon_i2c_test_iflg(i2c) &&  in octeon_i2c_wait()
 60 		return octeon_i2c_test_iflg(i2c) ? 0 : -ETIMEDOUT;  in octeon_i2c_wait()
 [all …]
 
 | 
| D | i2c-octeon-platdrv.c | 38 static void octeon_i2c_int_enable(struct octeon_i2c *i2c)  in octeon_i2c_int_enable()  argument40 	octeon_i2c_write_int(i2c, TWSI_INT_CORE_EN);  in octeon_i2c_int_enable()
 44 static void octeon_i2c_int_disable(struct octeon_i2c *i2c)  in octeon_i2c_int_disable()  argument
 47 	octeon_i2c_write_int(i2c, 0);  in octeon_i2c_int_disable()
 57 static void octeon_i2c_int_enable78(struct octeon_i2c *i2c)  in octeon_i2c_int_enable78()  argument
 59 	atomic_inc_return(&i2c->int_enable_cnt);  in octeon_i2c_int_enable78()
 60 	enable_irq(i2c->irq);  in octeon_i2c_int_enable78()
 78 static void octeon_i2c_int_disable78(struct octeon_i2c *i2c)  in octeon_i2c_int_disable78()  argument
 80 	__octeon_i2c_irq_disable(&i2c->int_enable_cnt, i2c->irq);  in octeon_i2c_int_disable78()
 90 static void octeon_i2c_hlc_int_enable78(struct octeon_i2c *i2c)  in octeon_i2c_hlc_int_enable78()  argument
 [all …]
 
 | 
| D | i2c-mt65xx.c | 328 static u16 mtk_i2c_readw(struct mtk_i2c *i2c, enum I2C_REGS_OFFSET reg)  in mtk_i2c_readw()  argument330 	return readw(i2c->base + i2c->dev_comp->regs[reg]);  in mtk_i2c_readw()
 333 static void mtk_i2c_writew(struct mtk_i2c *i2c, u16 val,  in mtk_i2c_writew()  argument
 336 	writew(val, i2c->base + i2c->dev_comp->regs[reg]);  in mtk_i2c_writew()
 339 static int mtk_i2c_clock_enable(struct mtk_i2c *i2c)  in mtk_i2c_clock_enable()  argument
 343 	ret = clk_prepare_enable(i2c->clk_dma);  in mtk_i2c_clock_enable()
 347 	ret = clk_prepare_enable(i2c->clk_main);  in mtk_i2c_clock_enable()
 351 	if (i2c->have_pmic) {  in mtk_i2c_clock_enable()
 352 		ret = clk_prepare_enable(i2c->clk_pmic);  in mtk_i2c_clock_enable()
 357 	if (i2c->clk_arb) {  in mtk_i2c_clock_enable()
 [all …]
 
 | 
| D | i2c-mxs.c | 69 #define MXS_I2C_DATA(i2c)	((i2c->dev_type == MXS_I2C_V1) ? 0x60 : 0xa0)  argument71 #define MXS_I2C_DEBUG0_CLR(i2c)	((i2c->dev_type == MXS_I2C_V1) ? 0x78 : 0xb8)  argument
 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->timing0, i2c->regs + MXS_I2C_TIMING0);  in mxs_i2c_reset()
 146 	writel(i2c->timing1, i2c->regs + MXS_I2C_TIMING1);  in mxs_i2c_reset()
 147 	writel(i2c->timing2, i2c->regs + MXS_I2C_TIMING2);  in mxs_i2c_reset()
 149 	writel(MXS_I2C_IRQ_MASK << 8, i2c->regs + MXS_I2C_CTRL1_SET);  in mxs_i2c_reset()
 154 static void mxs_i2c_dma_finish(struct mxs_i2c_dev *i2c)  in mxs_i2c_dma_finish()  argument
 156 	if (i2c->dma_read) {  in mxs_i2c_dma_finish()
 [all …]
 
 | 
| D | i2c-thunderx-pcidrv.c | 40 static void thunder_i2c_int_enable(struct octeon_i2c *i2c)  in thunder_i2c_int_enable()  argument43 				i2c->twsi_base + TWSI_INT_ENA_W1S);  in thunder_i2c_int_enable()
 49 static void thunder_i2c_int_disable(struct octeon_i2c *i2c)  in thunder_i2c_int_disable()  argument
 52 				i2c->twsi_base + TWSI_INT_ENA_W1C);  in thunder_i2c_int_disable()
 55 static void thunder_i2c_hlc_int_enable(struct octeon_i2c *i2c)  in thunder_i2c_hlc_int_enable()  argument
 58 				i2c->twsi_base + TWSI_INT_ENA_W1S);  in thunder_i2c_hlc_int_enable()
 61 static void thunder_i2c_hlc_int_disable(struct octeon_i2c *i2c)  in thunder_i2c_hlc_int_disable()  argument
 64 				i2c->twsi_base + TWSI_INT_ENA_W1C);  in thunder_i2c_hlc_int_disable()
 84 static void thunder_i2c_clock_enable(struct device *dev, struct octeon_i2c *i2c)  in thunder_i2c_clock_enable()  argument
 90 		i2c->clk = clk_get(dev, NULL);  in thunder_i2c_clock_enable()
 [all …]
 
 | 
| D | i2c-pca-platform.c | 44 	struct i2c_pca_pf_data *i2c = pd;  in i2c_pca_pf_readbyte8()  local45 	return ioread8(i2c->reg_base + reg);  in i2c_pca_pf_readbyte8()
 50 	struct i2c_pca_pf_data *i2c = pd;  in i2c_pca_pf_readbyte16()  local
 51 	return ioread8(i2c->reg_base + reg * 2);  in i2c_pca_pf_readbyte16()
 56 	struct i2c_pca_pf_data *i2c = pd;  in i2c_pca_pf_readbyte32()  local
 57 	return ioread8(i2c->reg_base + reg * 4);  in i2c_pca_pf_readbyte32()
 62 	struct i2c_pca_pf_data *i2c = pd;  in i2c_pca_pf_writebyte8()  local
 63 	iowrite8(val, i2c->reg_base + reg);  in i2c_pca_pf_writebyte8()
 68 	struct i2c_pca_pf_data *i2c = pd;  in i2c_pca_pf_writebyte16()  local
 69 	iowrite8(val, i2c->reg_base + reg * 2);  in i2c_pca_pf_writebyte16()
 [all …]
 
 | 
| D | i2c-rk3x.c | 223 static inline void i2c_writel(struct rk3x_i2c *i2c, u32 value,  in i2c_writel()  argument226 	writel(value, i2c->regs + offset);  in i2c_writel()
 229 static inline u32 i2c_readl(struct rk3x_i2c *i2c, unsigned int offset)  in i2c_readl()  argument
 231 	return readl(i2c->regs + offset);  in i2c_readl()
 235 static inline void rk3x_i2c_clean_ipd(struct rk3x_i2c *i2c)  in rk3x_i2c_clean_ipd()  argument
 237 	i2c_writel(i2c, REG_INT_ALL, REG_IPD);  in rk3x_i2c_clean_ipd()
 243 static void rk3x_i2c_start(struct rk3x_i2c *i2c)  in rk3x_i2c_start()  argument
 245 	u32 val = i2c_readl(i2c, REG_CON) & REG_CON_TUNING_MASK;  in rk3x_i2c_start()
 247 	i2c_writel(i2c, REG_INT_START, REG_IEN);  in rk3x_i2c_start()
 250 	val |= REG_CON_EN | REG_CON_MOD(i2c->mode) | REG_CON_START;  in rk3x_i2c_start()
 [all …]
 
 | 
| D | i2c-mpc.c | 81 	void (*setup)(struct device_node *node, struct mpc_i2c *i2c, u32 clock);84 static inline void writeccr(struct mpc_i2c *i2c, u32 x)  in writeccr()  argument
 86 	writeb(x, i2c->base + MPC_I2C_CR);  in writeccr()
 91 	struct mpc_i2c *i2c = dev_id;  in mpc_i2c_isr()  local
 92 	if (readb(i2c->base + MPC_I2C_SR) & CSR_MIF) {  in mpc_i2c_isr()
 94 		i2c->interrupt = readb(i2c->base + MPC_I2C_SR);  in mpc_i2c_isr()
 95 		writeb(0, i2c->base + MPC_I2C_SR);  in mpc_i2c_isr()
 96 		wake_up(&i2c->queue);  in mpc_i2c_isr()
 107 static void mpc_i2c_fixup(struct mpc_i2c *i2c)  in mpc_i2c_fixup()  argument
 110 	u32 delay_val = 1000000 / i2c->real_clk + 1;  in mpc_i2c_fixup()
 [all …]
 
 | 
| D | i2c-mt7621.c | 69 static int mtk_i2c_wait_idle(struct mtk_i2c *i2c)  in mtk_i2c_wait_idle()  argument74 	ret = readl_relaxed_poll_timeout(i2c->base + REG_SM0CTL1_REG,  in mtk_i2c_wait_idle()
 78 		dev_dbg(i2c->dev, "idle err(%d)\n", ret);  in mtk_i2c_wait_idle()
 83 static void mtk_i2c_reset(struct mtk_i2c *i2c)  in mtk_i2c_reset()  argument
 87 	ret = device_reset(i2c->adap.dev.parent);  in mtk_i2c_reset()
 89 		dev_err(i2c->dev, "I2C reset failed!\n");  in mtk_i2c_reset()
 95 	iowrite32(((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN |  in mtk_i2c_reset()
 96 		  SM0CTL0_SCL_STRETCH, i2c->base + REG_SM0CTL0_REG);  in mtk_i2c_reset()
 97 	iowrite32(0, i2c->base + REG_SM0CFG2_REG);  in mtk_i2c_reset()
 100 static void mtk_i2c_dump_reg(struct mtk_i2c *i2c)  in mtk_i2c_dump_reg()  argument
 [all …]
 
 | 
| /Linux-v5.4/drivers/media/pci/netup_unidvb/ | 
| D | netup_unidvb_i2c.c | 65 irqreturn_t netup_i2c_interrupt(struct netup_i2c *i2c)  in netup_i2c_interrupt()  argument71 	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->adap.dev.parent,  in netup_i2c_interrupt()
 [all …]
 
 | 
| /Linux-v5.4/drivers/gpu/drm/mgag200/ | 
| D | mgag200_i2c.c | 64 	struct mga_i2c_chan *i2c = data;  in mga_gpio_setsda()  local65 	struct mga_device *mdev = i2c->dev->dev_private;  in mga_gpio_setsda()
 66 	mga_i2c_set(mdev, i2c->data, state);  in mga_gpio_setsda()
 71 	struct mga_i2c_chan *i2c = data;  in mga_gpio_setscl()  local
 72 	struct mga_device *mdev = i2c->dev->dev_private;  in mga_gpio_setscl()
 73 	mga_i2c_set(mdev, i2c->clock, state);  in mga_gpio_setscl()
 78 	struct mga_i2c_chan *i2c = data;  in mga_gpio_getsda()  local
 79 	struct mga_device *mdev = i2c->dev->dev_private;  in mga_gpio_getsda()
 80 	return (mga_i2c_read_gpio(mdev) & i2c->data) ? 1 : 0;  in mga_gpio_getsda()
 85 	struct mga_i2c_chan *i2c = data;  in mga_gpio_getscl()  local
 [all …]
 
 | 
| /Linux-v5.4/drivers/media/pci/ddbridge/ | 
| D | ddbridge-i2c.c | 40 static int ddb_i2c_cmd(struct ddb_i2c *i2c, u32 adr, u32 cmd)  in ddb_i2c_cmd()  argument42 	struct ddb *dev = i2c->dev;  in ddb_i2c_cmd()
 46 	ddbwritel(dev, (adr << 9) | cmd, i2c->regs + I2C_COMMAND);  in ddb_i2c_cmd()
 47 	stat = wait_for_completion_timeout(&i2c->completion, HZ);  in ddb_i2c_cmd()
 48 	val = ddbreadl(dev, i2c->regs + I2C_COMMAND);  in ddb_i2c_cmd()
 51 			dev->nr, i2c->nr, i2c->link);  in ddb_i2c_cmd()
 56 			if (i2c->link) {  in ddb_i2c_cmd()
 58 					DDB_LINK_TAG(i2c->link) |  in ddb_i2c_cmd()
 62 					i2c->link, listat);  in ddb_i2c_cmd()
 68 					i2c->regs + I2C_MONITOR);  in ddb_i2c_cmd()
 [all …]
 
 |