/kernel/linux/linux-6.6/drivers/i3c/master/ |
H A D | ast2600-i3c-master.c | 14 #include "dw-i3c-master.h" 79 struct ast2600_i3c *i3c = to_ast2600_i3c(dw); in ast2600_i3c_init() local 84 rc = ast2600_i3c_pullup_to_reg(i3c->sda_pullup, ®); in ast2600_i3c_init() 88 rc = regmap_write(i3c->global_regs, in ast2600_i3c_init() 89 AST2600_I3CG_REG0(i3c->global_idx), reg); in ast2600_i3c_init() 96 reg = AST2600_I3CG_REG1_INST_ID(i3c->global_idx); in ast2600_i3c_init() 97 rc = regmap_write(i3c->global_regs, in ast2600_i3c_init() 98 AST2600_I3CG_REG1(i3c->global_idx), reg); in ast2600_i3c_init() 103 static void ast2600_i3c_set_dat_ibi(struct dw_i3c_master *i3c, in ast2600_i3c_set_dat_ibi() argument 108 * The ast2600 i3c controlle in ast2600_i3c_set_dat_ibi() 129 struct ast2600_i3c *i3c; ast2600_i3c_probe() local [all...] |
H A D | dw-i3c-master.h | 9 #include <linux/i3c/master.h> 51 * insertions/removals from the array by the global i3c infrastructure. 64 * Called on early bus init: the i3c has been set up, but before any 66 * perform actual device enabling with the i3c core ready. 68 int (*init)(struct dw_i3c_master *i3c); 77 void (*set_dat_ibi)(struct dw_i3c_master *i3c,
|
/kernel/linux/linux-5.10/drivers/base/regmap/ |
H A D | regmap-i3c.c | 5 #include <linux/i3c/device.h> 6 #include <linux/i3c/master.h> 12 struct i3c_device *i3c = dev_to_i3cdev(dev); in regmap_i3c_write() local 21 return i3c_device_do_priv_xfers(i3c, xfers, 1); in regmap_i3c_write() 29 struct i3c_device *i3c = dev_to_i3cdev(dev); in regmap_i3c_read() local 40 return i3c_device_do_priv_xfers(i3c, xfers, 2); in regmap_i3c_read() 48 struct regmap *__devm_regmap_init_i3c(struct i3c_device *i3c, in __devm_regmap_init_i3c() argument 53 return __devm_regmap_init(&i3c->dev, ®map_i3c, &i3c->dev, config, in __devm_regmap_init_i3c()
|
H A D | Makefile | 19 obj-$(CONFIG_REGMAP_I3C) += regmap-i3c.o
|
/kernel/linux/linux-6.6/drivers/base/regmap/ |
H A D | regmap-i3c.c | 5 #include <linux/i3c/device.h> 6 #include <linux/i3c/master.h> 12 struct i3c_device *i3c = dev_to_i3cdev(dev); in regmap_i3c_write() local 21 return i3c_device_do_priv_xfers(i3c, xfers, 1); in regmap_i3c_write() 29 struct i3c_device *i3c = dev_to_i3cdev(dev); in regmap_i3c_read() local 40 return i3c_device_do_priv_xfers(i3c, xfers, 2); in regmap_i3c_read() 48 struct regmap *__devm_regmap_init_i3c(struct i3c_device *i3c, in __devm_regmap_init_i3c() argument 53 return __devm_regmap_init(&i3c->dev, ®map_i3c, &i3c->dev, config, in __devm_regmap_init_i3c()
|
H A D | Makefile | 21 obj-$(CONFIG_REGMAP_I3C) += regmap-i3c.o
|
/kernel/linux/linux-5.10/include/linux/i3c/ |
H A D | master.h | 15 #include <linux/i3c/ccc.h> 16 #include <linux/i3c/device.h> 219 * @desc: pointer to an i3c device descriptor object. This link is updated 305 * @scl_rate.i3c: maximum rate for the clock signal when doing I3C SDR/priv 309 * @devs.i3c: contains a list of I3C device descriptors representing I3C 338 unsigned long i3c; member 342 struct list_head i3c; member 396 * @i2c_xfers: do one or several I2C transfers. Note that, unlike i3c 468 * @boardinfo.i3c: list of I3C boardinfo objects 491 struct list_head i3c; member [all...] |
H A D | ccc.h | 12 #include <linux/i3c/device.h>
|
/kernel/linux/linux-6.6/include/linux/i3c/ |
H A D | master.h | 15 #include <linux/i3c/ccc.h> 16 #include <linux/i3c/device.h> 219 * @desc: pointer to an i3c device descriptor object. This link is updated 305 * @scl_rate.i3c: maximum rate for the clock signal when doing I3C SDR/priv 309 * @devs.i3c: contains a list of I3C device descriptors representing I3C 338 unsigned long i3c; member 342 struct list_head i3c; member 396 * @i2c_xfers: do one or several I2C transfers. Note that, unlike i3c 468 * @boardinfo.i3c: list of I3C boardinfo objects 491 struct list_head i3c; member [all...] |
H A D | ccc.h | 12 #include <linux/i3c/device.h>
|
/kernel/linux/linux-5.10/drivers/iio/imu/st_lsm6dsx/ |
H A D | st_lsm6dsx_i3c.c | 10 #include <linux/i3c/device.h> 11 #include <linux/i3c/master.h> 23 MODULE_DEVICE_TABLE(i3c, st_lsm6dsx_i3c_ids); 37 dev_err(&i3cdev->dev, "Failed to register i3c regmap %d\n", in st_lsm6dsx_i3c_probe() 56 MODULE_DESCRIPTION("STMicroelectronics st_lsm6dsx i3c driver");
|
/kernel/linux/linux-6.6/drivers/iio/imu/st_lsm6dsx/ |
H A D | st_lsm6dsx_i3c.c | 11 #include <linux/i3c/device.h> 12 #include <linux/i3c/master.h> 23 MODULE_DEVICE_TABLE(i3c, st_lsm6dsx_i3c_ids); 37 dev_err(&i3cdev->dev, "Failed to register i3c regmap %ld\n", PTR_ERR(regmap)); in st_lsm6dsx_i3c_probe() 55 MODULE_DESCRIPTION("STMicroelectronics st_lsm6dsx i3c driver");
|
/kernel/linux/linux-5.10/drivers/i3c/ |
H A D | Makefile | 2 i3c-y := device.o master.o 3 obj-$(CONFIG_I3C) += i3c.o
|
H A D | master.c | 247 struct i3c_device *i3c = dev_to_i3cdev(dev); in modalias_show() local 251 i3c_device_get_info(i3c, &devinfo); in modalias_show() 257 return sprintf(buf, "i3c:dcr%02Xmanuf%04X", devinfo.dcr, in modalias_show() 260 return sprintf(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", in modalias_show() 288 return add_uevent_var(env, "MODALIAS=i3c:dcr%02Xmanuf%04X", in i3c_device_uevent() 292 "MODALIAS=i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", in i3c_device_uevent() 341 .name = "i3c", 431 INIT_LIST_HEAD(&i3cbus->devs.i3c); in i3c_bus_init() 498 ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i3c); in i3c_scl_frequency_show() 542 WARN_ON(!list_empty(&bus->devs.i2c) || !list_empty(&bus->devs.i3c)); in i3c_masterdev_release() [all...] |
H A D | internals.h | 11 #include <linux/i3c/master.h>
|
/kernel/linux/linux-6.6/drivers/i3c/ |
H A D | Makefile | 2 i3c-y := device.o master.o 3 obj-$(CONFIG_I3C) += i3c.o
|
H A D | master.c | 248 struct i3c_device *i3c = dev_to_i3cdev(dev); in modalias_show() local 252 i3c_device_get_info(i3c, &devinfo); in modalias_show() 258 return sprintf(buf, "i3c:dcr%02Xmanuf%04X", devinfo.dcr, in modalias_show() 261 return sprintf(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", in modalias_show() 289 return add_uevent_var(env, "MODALIAS=i3c:dcr%02Xmanuf%04X", in i3c_device_uevent() 293 "MODALIAS=i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", in i3c_device_uevent() 338 .name = "i3c", 429 INIT_LIST_HEAD(&i3cbus->devs.i3c); in i3c_bus_init() 434 id = of_alias_get_id(np, "i3c"); in i3c_bus_init() 507 ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i3c); in i3c_scl_frequency_show() [all...] |
H A D | internals.h | 11 #include <linux/i3c/master.h>
|
/kernel/linux/linux-6.6/drivers/i3c/master/mipi-i3c-hci/ |
H A D | Makefile | 3 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci.o 4 mipi-i3c-hci-y := core.o ext_caps.o pio.o dma.o \
|
H A D | cmd_v2.c | 13 #include <linux/i3c/master.h> 70 if (bus->scl_rate.i3c >= 12000000) in get_i3c_rate_idx() 72 if (bus->scl_rate.i3c > 8000000) in get_i3c_rate_idx() 74 if (bus->scl_rate.i3c > 6000000) in get_i3c_rate_idx() 76 if (bus->scl_rate.i3c > 4000000) in get_i3c_rate_idx() 78 if (bus->scl_rate.i3c > 2000000) in get_i3c_rate_idx()
|
H A D | cmd_v1.c | 11 #include <linux/i3c/master.h> 126 if (bus->scl_rate.i3c >= 12500000) in get_i3c_mode() 128 if (bus->scl_rate.i3c > 8000000) in get_i3c_mode() 130 if (bus->scl_rate.i3c > 6000000) in get_i3c_mode() 132 if (bus->scl_rate.i3c > 4000000) in get_i3c_mode() 134 if (bus->scl_rate.i3c > 2000000) in get_i3c_mode()
|
H A D | dct_v1.c | 10 #include <linux/i3c/master.h>
|
H A D | dat_v1.c | 12 #include <linux/i3c/master.h>
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | regmap.h | 626 struct regmap *__devm_regmap_init_i3c(struct i3c_device *i3c, 1009 * @i3c: Device that will be interacted with 1016 #define devm_regmap_init_i3c(i3c, config) \ 1018 i3c, config)
|
/kernel/linux/linux-5.10/drivers/i3c/master/ |
H A D | i3c-master-cdns.c | 12 #include <linux/i3c/master.h> 1107 pres_step = 1000000000UL / (bus->scl_rate.i3c * 4); in cdns_i3c_master_upd_i3c_scl_lim() 1237 pres = DIV_ROUND_UP(sysclk_rate, (bus->scl_rate.i3c * 4)) - 1; in cdns_i3c_master_bus_init() 1241 bus->scl_rate.i3c = sysclk_rate / ((pres + 1) * 4); in cdns_i3c_master_bus_init() 1260 pres_step = 1000000000 / (bus->scl_rate.i3c * 4); in cdns_i3c_master_bus_init() 1561 { .compatible = "cdns,i3c-master", .data = &cdns_i3c_devdata }, 1683 .name = "cdns-i3c-master", 1692 MODULE_ALIAS("platform:cdns-i3c-master");
|