Lines Matching +full:i2c +full:- +full:fast +full:- +full:mode
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Synopsys DesignWare I2C adapter driver.
5 * Based on the TI DAVINCI I2C adapter driver.
17 #include <linux/i2c.h>
183 * struct dw_i2c_dev - private i2c-designware data
192 * @slave: represent an I2C slave device
205 * @status: i2c master status, one of STATUS_*
207 * @irq: interrupt number for the i2c master
208 * @adapter: i2c subsystem adapter node
212 * @rx_outstanding: current master-rx elements in tx fifo
217 * @fs_hcnt: fast speed HCNT value
218 * @fs_lcnt: fast speed LCNT value
219 * @fp_hcnt: fast plus HCNT value
220 * @fp_lcnt: fast plus LCNT value
228 * @init: function to initialize the I2C hardware
229 * @mode: operation mode - DW_IC_MASTER or DW_IC_SLAVE
286 int mode; member
315 regmap_write(dev->map, DW_IC_ENABLE, 1); in __i2c_dw_enable()
320 regmap_write(dev->map, DW_IC_ENABLE, 0); in __i2c_dw_disable_nowait()
333 static inline int i2c_dw_probe_slave(struct dw_i2c_dev *dev) { return -EINVAL; } in i2c_dw_probe_slave()
338 switch (dev->mode) { in i2c_dw_probe()
344 dev_err(dev->dev, "Wrong operation mode: %d\n", dev->mode); in i2c_dw_probe()
345 return -EINVAL; in i2c_dw_probe()
351 if (i2c_detect_slave_mode(dev->dev)) in i2c_dw_configure()
369 static inline int i2c_dw_acpi_configure(struct device *device) { return -ENODEV; } in i2c_dw_acpi_configure()