Home
last modified time | relevance | path

Searched refs:i2c_dev (Results 1 – 14 of 14) sorted by relevance

/linux-4.19.296/drivers/i2c/busses/
Di2c-sprd.c94 static void sprd_i2c_set_count(struct sprd_i2c *i2c_dev, u32 count) in sprd_i2c_set_count() argument
96 writel(count, i2c_dev->base + I2C_COUNT); in sprd_i2c_set_count()
99 static void sprd_i2c_send_stop(struct sprd_i2c *i2c_dev, int stop) in sprd_i2c_send_stop() argument
101 u32 tmp = readl(i2c_dev->base + I2C_CTL); in sprd_i2c_send_stop()
104 writel(tmp & ~STP_EN, i2c_dev->base + I2C_CTL); in sprd_i2c_send_stop()
106 writel(tmp | STP_EN, i2c_dev->base + I2C_CTL); in sprd_i2c_send_stop()
109 static void sprd_i2c_clear_start(struct sprd_i2c *i2c_dev) in sprd_i2c_clear_start() argument
111 u32 tmp = readl(i2c_dev->base + I2C_CTL); in sprd_i2c_clear_start()
113 writel(tmp & ~I2C_START, i2c_dev->base + I2C_CTL); in sprd_i2c_clear_start()
116 static void sprd_i2c_clear_ack(struct sprd_i2c *i2c_dev) in sprd_i2c_clear_ack() argument
[all …]
Di2c-bcm2835.c79 static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev, in bcm2835_i2c_writel() argument
82 writel(val, i2c_dev->regs + reg); in bcm2835_i2c_writel()
85 static inline u32 bcm2835_i2c_readl(struct bcm2835_i2c_dev *i2c_dev, u32 reg) in bcm2835_i2c_readl() argument
87 return readl(i2c_dev->regs + reg); in bcm2835_i2c_readl()
90 static int bcm2835_i2c_set_divider(struct bcm2835_i2c_dev *i2c_dev) in bcm2835_i2c_set_divider() argument
94 divider = DIV_ROUND_UP(clk_get_rate(i2c_dev->clk), in bcm2835_i2c_set_divider()
95 i2c_dev->bus_clk_rate); in bcm2835_i2c_set_divider()
105 dev_err_ratelimited(i2c_dev->dev, "Invalid clock-frequency\n"); in bcm2835_i2c_set_divider()
109 bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DIV, divider); in bcm2835_i2c_set_divider()
124 bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DEL, in bcm2835_i2c_set_divider()
[all …]
Di2c-tegra.c230 static void dvc_writel(struct tegra_i2c_dev *i2c_dev, u32 val, in dvc_writel() argument
233 writel(val, i2c_dev->base + reg); in dvc_writel()
236 static u32 dvc_readl(struct tegra_i2c_dev *i2c_dev, unsigned long reg) in dvc_readl() argument
238 return readl(i2c_dev->base + reg); in dvc_readl()
245 static unsigned long tegra_i2c_reg_addr(struct tegra_i2c_dev *i2c_dev, in tegra_i2c_reg_addr() argument
248 if (i2c_dev->is_dvc) in tegra_i2c_reg_addr()
253 static void i2c_writel(struct tegra_i2c_dev *i2c_dev, u32 val, in i2c_writel() argument
256 writel(val, i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg)); in i2c_writel()
260 readl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg)); in i2c_writel()
263 static u32 i2c_readl(struct tegra_i2c_dev *i2c_dev, unsigned long reg) in i2c_readl() argument
[all …]
Di2c-st.c238 static void st_i2c_flush_rx_fifo(struct st_i2c_dev *i2c_dev) in st_i2c_flush_rx_fifo() argument
247 if (readl_relaxed(i2c_dev->base + SSC_STA) & SSC_STA_RIR) in st_i2c_flush_rx_fifo()
250 count = readl_relaxed(i2c_dev->base + SSC_RX_FSTAT) & in st_i2c_flush_rx_fifo()
254 readl_relaxed(i2c_dev->base + SSC_RBUF); in st_i2c_flush_rx_fifo()
257 static void st_i2c_soft_reset(struct st_i2c_dev *i2c_dev) in st_i2c_soft_reset() argument
263 st_i2c_flush_rx_fifo(i2c_dev); in st_i2c_soft_reset()
265 st_i2c_set_bits(i2c_dev->base + SSC_CTL, SSC_CTL_SR); in st_i2c_soft_reset()
266 st_i2c_clr_bits(i2c_dev->base + SSC_CTL, SSC_CTL_SR); in st_i2c_soft_reset()
273 static void st_i2c_hw_config(struct st_i2c_dev *i2c_dev) in st_i2c_hw_config() argument
277 struct st_i2c_timings *t = &i2c_timings[i2c_dev->mode]; in st_i2c_hw_config()
[all …]
Di2c-stm32f4.c144 static void stm32f4_i2c_disable_irq(struct stm32f4_i2c_dev *i2c_dev) in stm32f4_i2c_disable_irq() argument
146 void __iomem *reg = i2c_dev->base + STM32F4_I2C_CR2; in stm32f4_i2c_disable_irq()
151 static int stm32f4_i2c_set_periph_clk_freq(struct stm32f4_i2c_dev *i2c_dev) in stm32f4_i2c_set_periph_clk_freq() argument
156 i2c_dev->parent_rate = clk_get_rate(i2c_dev->clk); in stm32f4_i2c_set_periph_clk_freq()
157 freq = DIV_ROUND_UP(i2c_dev->parent_rate, HZ_TO_MHZ); in stm32f4_i2c_set_periph_clk_freq()
159 if (i2c_dev->speed == STM32_I2C_SPEED_STANDARD) { in stm32f4_i2c_set_periph_clk_freq()
167 dev_err(i2c_dev->dev, in stm32f4_i2c_set_periph_clk_freq()
179 dev_err(i2c_dev->dev, in stm32f4_i2c_set_periph_clk_freq()
186 writel_relaxed(cr2, i2c_dev->base + STM32F4_I2C_CR2); in stm32f4_i2c_set_periph_clk_freq()
191 static void stm32f4_i2c_set_rise_time(struct stm32f4_i2c_dev *i2c_dev) in stm32f4_i2c_set_rise_time() argument
[all …]
Di2c-owl.c120 static void owl_i2c_reset(struct owl_i2c_dev *i2c_dev) in owl_i2c_reset() argument
122 owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL, in owl_i2c_reset()
125 owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL, in owl_i2c_reset()
129 writel(0, i2c_dev->base + OWL_I2C_REG_STAT); in owl_i2c_reset()
132 static int owl_i2c_reset_fifo(struct owl_i2c_dev *i2c_dev) in owl_i2c_reset_fifo() argument
137 owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOCTL, in owl_i2c_reset_fifo()
143 val = readl(i2c_dev->base + OWL_I2C_REG_FIFOCTL); in owl_i2c_reset_fifo()
150 dev_err(&i2c_dev->adap.dev, "FIFO reset timeout\n"); in owl_i2c_reset_fifo()
157 static void owl_i2c_set_freq(struct owl_i2c_dev *i2c_dev) in owl_i2c_set_freq() argument
161 val = DIV_ROUND_UP(i2c_dev->clk_rate, i2c_dev->bus_freq * 16); in owl_i2c_set_freq()
[all …]
Di2c-wmt.c97 static int wmt_i2c_wait_bus_not_busy(struct wmt_i2c_dev *i2c_dev) in wmt_i2c_wait_bus_not_busy() argument
102 while (!(readw(i2c_dev->base + REG_CSR) & CSR_READY_MASK)) { in wmt_i2c_wait_bus_not_busy()
104 dev_warn(i2c_dev->dev, "timeout waiting for bus ready\n"); in wmt_i2c_wait_bus_not_busy()
113 static int wmt_check_status(struct wmt_i2c_dev *i2c_dev) in wmt_check_status() argument
117 if (i2c_dev->cmd_status & ISR_NACK_ADDR) in wmt_check_status()
120 if (i2c_dev->cmd_status & ISR_SCL_TIMEOUT) in wmt_check_status()
129 struct wmt_i2c_dev *i2c_dev = i2c_get_adapdata(adap); in wmt_i2c_write() local
136 ret = wmt_i2c_wait_bus_not_busy(i2c_dev); in wmt_i2c_write()
147 writew(0, i2c_dev->base + REG_CDR); in wmt_i2c_write()
149 writew(pmsg->buf[0] & 0xFF, i2c_dev->base + REG_CDR); in wmt_i2c_write()
[all …]
Di2c-stm32f7.c365 static void stm32f7_i2c_disable_irq(struct stm32f7_i2c_dev *i2c_dev, u32 mask) in stm32f7_i2c_disable_irq() argument
367 stm32f7_i2c_clr_bits(i2c_dev->base + STM32F7_I2C_CR1, mask); in stm32f7_i2c_disable_irq()
370 static int stm32f7_i2c_compute_timing(struct stm32f7_i2c_dev *i2c_dev, in stm32f7_i2c_compute_timing() argument
392 dev_err(i2c_dev->dev, "speed out of bound {%d/%d}\n", in stm32f7_i2c_compute_timing()
399 dev_err(i2c_dev->dev, in stm32f7_i2c_compute_timing()
407 dev_err(i2c_dev->dev, in stm32f7_i2c_compute_timing()
414 dev_err(i2c_dev->dev, "ERROR: Freq {%d/%d}\n", in stm32f7_i2c_compute_timing()
441 dev_dbg(i2c_dev->dev, "SDADEL(min/max): %i/%i, SCLDEL(Min): %i\n", in stm32f7_i2c_compute_timing()
478 dev_err(i2c_dev->dev, "no Prescaler solution\n"); in stm32f7_i2c_compute_timing()
535 dev_err(i2c_dev->dev, "no solution at all\n"); in stm32f7_i2c_compute_timing()
[all …]
Di2c-davinci.c153 static inline void davinci_i2c_write_reg(struct davinci_i2c_dev *i2c_dev, in davinci_i2c_write_reg() argument
156 writew_relaxed(val, i2c_dev->base + reg); in davinci_i2c_write_reg()
159 static inline u16 davinci_i2c_read_reg(struct davinci_i2c_dev *i2c_dev, int reg) in davinci_i2c_read_reg() argument
161 return readw_relaxed(i2c_dev->base + reg); in davinci_i2c_read_reg()
164 static inline void davinci_i2c_reset_ctrl(struct davinci_i2c_dev *i2c_dev, in davinci_i2c_reset_ctrl() argument
169 w = davinci_i2c_read_reg(i2c_dev, DAVINCI_I2C_MDR_REG); in davinci_i2c_reset_ctrl()
175 davinci_i2c_write_reg(i2c_dev, DAVINCI_I2C_MDR_REG, w); in davinci_i2c_reset_ctrl()
933 struct davinci_i2c_dev *i2c_dev = dev_get_drvdata(dev); in davinci_i2c_suspend() local
936 davinci_i2c_reset_ctrl(i2c_dev, 0); in davinci_i2c_suspend()
943 struct davinci_i2c_dev *i2c_dev = dev_get_drvdata(dev); in davinci_i2c_resume() local
[all …]
Di2c-brcmstb.c690 struct brcmstb_i2c_dev *i2c_dev = dev_get_drvdata(dev); in brcmstb_i2c_suspend() local
692 i2c_lock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER); in brcmstb_i2c_suspend()
693 i2c_dev->is_suspended = true; in brcmstb_i2c_suspend()
694 i2c_unlock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER); in brcmstb_i2c_suspend()
701 struct brcmstb_i2c_dev *i2c_dev = dev_get_drvdata(dev); in brcmstb_i2c_resume() local
703 i2c_lock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER); in brcmstb_i2c_resume()
704 brcmstb_i2c_set_bsc_reg_defaults(i2c_dev); in brcmstb_i2c_resume()
705 i2c_dev->is_suspended = false; in brcmstb_i2c_resume()
706 i2c_unlock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER); in brcmstb_i2c_resume()
/linux-4.19.296/drivers/i2c/
Di2c-dev.c48 struct i2c_dev { struct
59 static struct i2c_dev *i2c_dev_get_by_minor(unsigned index) in i2c_dev_get_by_minor() argument
61 struct i2c_dev *i2c_dev; in i2c_dev_get_by_minor() local
64 list_for_each_entry(i2c_dev, &i2c_dev_list, list) { in i2c_dev_get_by_minor()
65 if (i2c_dev->adap->nr == index) in i2c_dev_get_by_minor()
68 i2c_dev = NULL; in i2c_dev_get_by_minor()
71 return i2c_dev; in i2c_dev_get_by_minor()
74 static struct i2c_dev *get_free_i2c_dev(struct i2c_adapter *adap) in get_free_i2c_dev()
76 struct i2c_dev *i2c_dev; in get_free_i2c_dev() local
84 i2c_dev = kzalloc(sizeof(*i2c_dev), GFP_KERNEL); in get_free_i2c_dev()
[all …]
Di2c-core-base.c502 ATTRIBUTE_GROUPS(i2c_dev);
/linux-4.19.296/include/sound/
Dpt2258.h28 struct snd_i2c_device *i2c_dev; member
/linux-4.19.296/drivers/clk/tegra/
Dclk-dfll.c1515 struct device *i2c_dev; in dfll_fetch_i2c_params() local
1524 i2c_dev = regmap_get_device(regmap); in dfll_fetch_i2c_params()
1525 i2c_client = to_i2c_client(i2c_dev); in dfll_fetch_i2c_params()