/linux-master/drivers/i3c/ |
H A D | Makefile | 2 i3c-y := device.o master.o 3 obj-$(CONFIG_I3C) += i3c.o
|
H A D | internals.h | 11 #include <linux/i3c/master.h>
|
H A D | master.c | 249 struct i3c_device *i3c = dev_to_i3cdev(dev); local 253 i3c_device_get_info(i3c, &devinfo); 259 return sprintf(buf, "i3c:dcr%02Xmanuf%04X", devinfo.dcr, 262 return sprintf(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", 290 return add_uevent_var(env, "MODALIAS=i3c:dcr%02Xmanuf%04X", 294 "MODALIAS=i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", 339 .name = "i3c", 430 INIT_LIST_HEAD(&i3cbus->devs.i3c); 435 id = of_alias_get_id(np, "i3c"); 538 ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i3c); [all...] |
/linux-master/drivers/i3c/master/ |
H A D | Makefile | 2 obj-$(CONFIG_CDNS_I3C_MASTER) += i3c-master-cdns.o 3 obj-$(CONFIG_DW_I3C_MASTER) += dw-i3c-master.o 4 obj-$(CONFIG_AST2600_I3C_MASTER) += ast2600-i3c-master.o 5 obj-$(CONFIG_SVC_I3C_MASTER) += svc-i3c-master.o 6 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci/
|
H A D | ast2600-i3c-master.c | 14 #include "dw-i3c-master.h" 79 struct ast2600_i3c *i3c = to_ast2600_i3c(dw); local 84 rc = ast2600_i3c_pullup_to_reg(i3c->sda_pullup, ®); 88 rc = regmap_write(i3c->global_regs, 89 AST2600_I3CG_REG0(i3c->global_idx), reg); 96 reg = AST2600_I3CG_REG1_INST_ID(i3c->global_idx); 97 rc = regmap_write(i3c->global_regs, 98 AST2600_I3CG_REG1(i3c->global_idx), reg); 103 static void ast2600_i3c_set_dat_ibi(struct dw_i3c_master *i3c, argument 108 * The ast2600 i3c controlle 129 struct ast2600_i3c *i3c; 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,
|
H A D | i3c-master-cdns.c | 12 #include <linux/i3c/master.h> 1106 pres_step = 1000000000UL / (bus->scl_rate.i3c * 4); 1236 pres = DIV_ROUND_UP(sysclk_rate, (bus->scl_rate.i3c * 4)) - 1; 1240 bus->scl_rate.i3c = sysclk_rate / ((pres + 1) * 4); 1259 pres_step = 1000000000 / (bus->scl_rate.i3c * 4); 1562 { .compatible = "cdns,i3c-master", .data = &cdns_i3c_devdata }, 1679 .name = "cdns-i3c-master", 1688 MODULE_ALIAS("platform:cdns-i3c-master");
|
H A D | dw-i3c-master.c | 13 #include <linux/i3c/master.h> 24 #include "dw-i3c-master.h" 540 lcnt = DIV_ROUND_UP(core_rate, master->base.bus.scl_rate.i3c) - hcnt; 548 * In pure i3c mode, MST_FREE represents tCAS. In shared mode, this 1399 static int dw_i3c_platform_init_nop(struct dw_i3c_master *i3c) argument 1404 static void dw_i3c_platform_set_dat_ibi_nop(struct dw_i3c_master *i3c, argument 1519 { .compatible = "snps,dw-i3c-master-1.00a", }, 1528 .name = "dw-i3c-master",
|
/linux-master/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); local 21 return i3c_device_do_priv_xfers(i3c, xfers, 1); 29 struct i3c_device *i3c = dev_to_i3cdev(dev); local 40 return i3c_device_do_priv_xfers(i3c, xfers, 2); 48 struct regmap *__devm_regmap_init_i3c(struct i3c_device *i3c, argument 53 return __devm_regmap_init(&i3c->dev, ®map_i3c, &i3c->dev, config,
|
H A D | Makefile | 21 obj-$(CONFIG_REGMAP_I3C) += regmap-i3c.o
|
/linux-master/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 | dct_v1.c | 10 #include <linux/i3c/master.h>
|
H A D | cmd_v2.c | 13 #include <linux/i3c/master.h> 70 if (bus->scl_rate.i3c >= 12000000) 72 if (bus->scl_rate.i3c > 8000000) 74 if (bus->scl_rate.i3c > 6000000) 76 if (bus->scl_rate.i3c > 4000000) 78 if (bus->scl_rate.i3c > 2000000)
|
H A D | cmd_v1.c | 11 #include <linux/i3c/master.h> 126 if (bus->scl_rate.i3c >= 12500000) 128 if (bus->scl_rate.i3c > 8000000) 130 if (bus->scl_rate.i3c > 6000000) 132 if (bus->scl_rate.i3c > 4000000) 134 if (bus->scl_rate.i3c > 2000000)
|
H A D | dat_v1.c | 12 #include <linux/i3c/master.h>
|
H A D | ext_caps.c | 11 #include <linux/i3c/master.h>
|
H A D | pio.c | 11 #include <linux/i3c/master.h>
|
H A D | core.c | 13 #include <linux/i3c/master.h> 824 { .compatible = "mipi-i3c-hci", }, 833 .name = "mipi-i3c-hci", 838 MODULE_ALIAS("platform:mipi-i3c-hci");
|
/linux-master/drivers/net/mctp/ |
H A D | Makefile | 3 obj-$(CONFIG_MCTP_TRANSPORT_I3C) += mctp-i3c.o
|
H A D | mctp-i3c.c | 13 #include <linux/i3c/device.h> 14 #include <linux/i3c/master.h> 73 struct i3c_device *i3c; member in struct:mctp_i3c_device 128 rc = i3c_device_do_priv_xfers(mi->i3c, &xfer, 1); 133 /* Bad i3c bus driver */ 175 static void mctp_i3c_ibi_handler(struct i3c_device *i3c, argument 178 struct mctp_i3c_device *mi = i3cdev_get_drvdata(i3c); 186 /* Not a mctp-i3c interrupt, ignore it */ 193 dev_warn_once(i3cdev_to_dev(i3c), "IBI with missing MDB"); 210 i3c_device_get_info(mi->i3c, 284 mctp_i3c_probe(struct i3c_device *i3c) argument 324 mctp_i3c_remove(struct i3c_device *i3c) argument [all...] |
/linux-master/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)); 55 MODULE_DESCRIPTION("STMicroelectronics st_lsm6dsx i3c driver");
|
/linux-master/include/linux/i3c/ |
H A D | master.h | 15 #include <linux/i3c/ccc.h> 16 #include <linux/i3c/device.h> 226 * @desc: pointer to an i3c device descriptor object. This link is updated 312 * @scl_rate.i3c: maximum rate for the clock signal when doing I3C SDR/priv 316 * @devs.i3c: contains a list of I3C device descriptors representing I3C 345 unsigned long i3c; member in struct:i3c_bus::__anon558 349 struct list_head i3c; member in struct:i3c_bus::__anon559 403 * @i2c_xfers: do one or several I2C transfers. Note that, unlike i3c 480 * @boardinfo.i3c: list of I3C boardinfo objects 504 struct list_head i3c; member in struct:i3c_master_controller::__anon560 [all...] |
H A D | ccc.h | 12 #include <linux/i3c/device.h>
|
/linux-master/drivers/ |
H A D | Makefile | 118 obj-y += i2c/ i3c/ media/
|
/linux-master/include/linux/ |
H A D | regmap.h | 715 struct regmap *__devm_regmap_init_i3c(struct i3c_device *i3c, 1170 * @i3c: Device that will be interacted with 1177 #define devm_regmap_init_i3c(i3c, config) \ 1179 i3c, config)
|