Home
last modified time | relevance | path

Searched refs:i3c (Results 1 - 25 of 34) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/i3c/master/
H A Dast2600-i3c-master.c14 #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, &reg); 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 Ddw-i3c-master.h9 #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 Dregmap-i3c.c5 #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, &regmap_i3c, &i3c->dev, config, in __devm_regmap_init_i3c()
H A DMakefile19 obj-$(CONFIG_REGMAP_I3C) += regmap-i3c.o
/kernel/linux/linux-6.6/drivers/base/regmap/
H A Dregmap-i3c.c5 #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, &regmap_i3c, &i3c->dev, config, in __devm_regmap_init_i3c()
H A DMakefile21 obj-$(CONFIG_REGMAP_I3C) += regmap-i3c.o
/kernel/linux/linux-5.10/include/linux/i3c/
H A Dmaster.h15 #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 Dccc.h12 #include <linux/i3c/device.h>
/kernel/linux/linux-6.6/include/linux/i3c/
H A Dmaster.h15 #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 Dccc.h12 #include <linux/i3c/device.h>
/kernel/linux/linux-5.10/drivers/iio/imu/st_lsm6dsx/
H A Dst_lsm6dsx_i3c.c10 #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 Dst_lsm6dsx_i3c.c11 #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 DMakefile2 i3c-y := device.o master.o
3 obj-$(CONFIG_I3C) += i3c.o
H A Dmaster.c247 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 Dinternals.h11 #include <linux/i3c/master.h>
/kernel/linux/linux-6.6/drivers/i3c/
H A DMakefile2 i3c-y := device.o master.o
3 obj-$(CONFIG_I3C) += i3c.o
H A Dmaster.c248 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 Dinternals.h11 #include <linux/i3c/master.h>
/kernel/linux/linux-6.6/drivers/i3c/master/mipi-i3c-hci/
H A DMakefile3 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 Dcmd_v2.c13 #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 Dcmd_v1.c11 #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 Ddct_v1.c10 #include <linux/i3c/master.h>
H A Ddat_v1.c12 #include <linux/i3c/master.h>
/kernel/linux/linux-5.10/include/linux/
H A Dregmap.h626 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 Di3c-master-cdns.c12 #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");

Completed in 22 milliseconds

12