Lines Matching +full:current +full:- +full:speed
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
192 * struct dw_i2c_dev - private i2c-designware data
203 * @get_clk_rate_khz: callback to retrieve IP specific bus speed
207 * @msg_write_idx: the element index of the current tx message in the msgs array
208 * @tx_buf_len: the length of the current tx buffer
209 * @tx_buf: the current tx buffer
210 * @msg_read_idx: the element index of the current rx message in the msgs array
211 * @rx_buf_len: the length of the current rx buffer
212 * @rx_buf: the current rx buffer
213 * @msg_err: error status of the current transfer
225 * @rx_outstanding: current master-rx elements in tx fifo
228 * @ss_hcnt: standard speed HCNT value
229 * @ss_lcnt: standard speed LCNT value
230 * @fs_hcnt: fast speed HCNT value
231 * @fs_lcnt: fast speed LCNT value
234 * @hs_hcnt: high speed HCNT value
235 * @hs_lcnt: high speed LCNT value
239 * -1 if there is no semaphore.
243 * @mode: operation mode - DW_IC_MASTER or DW_IC_SLAVE
349 dev->status |= STATUS_ACTIVE; in __i2c_dw_enable()
350 regmap_write(dev->map, DW_IC_ENABLE, 1); in __i2c_dw_enable()
355 regmap_write(dev->map, DW_IC_ENABLE, 0); in __i2c_dw_disable_nowait()
356 dev->status &= ~STATUS_ACTIVE; in __i2c_dw_disable_nowait()
362 unsigned int val = dev->flags & ACCESS_POLLING ? 0 : intr_mask; in __i2c_dw_write_intr_mask()
364 regmap_write(dev->map, DW_IC_INTR_MASK, val); in __i2c_dw_write_intr_mask()
365 dev->sw_mask = intr_mask; in __i2c_dw_write_intr_mask()
371 if (!(dev->flags & ACCESS_POLLING)) in __i2c_dw_read_intr_mask()
372 regmap_read(dev->map, DW_IC_INTR_MASK, intr_mask); in __i2c_dw_read_intr_mask()
374 *intr_mask = dev->sw_mask; in __i2c_dw_read_intr_mask()
388 static inline int i2c_dw_probe_slave(struct dw_i2c_dev *dev) { return -EINVAL; } in i2c_dw_probe_slave()
393 if (i2c_detect_slave_mode(dev->dev)) in i2c_dw_configure()