| /linux/arch/arm64/boot/dts/axiado/ |
| H A D | ax3000.dtsi | 232 /* I3C Controller 0 - 16 */ 233 i3c0: i3c@80500400 { 234 compatible = "axiado,ax3000-i3c", "cdns,i3c-master"; 241 i3c-scl-hz = <400000>; 247 i3c1: i3c@80500800 { 248 compatible = "axiado,ax3000-i3c", "cdns,i3c-master"; 255 i3c-scl-hz = <400000>; 261 i3c2: i3c@80580400 { 262 compatible = "axiado,ax3000-i3c", "cdns,i3c-master"; 269 i3c-scl-hz = <400000>; [all …]
|
| /linux/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 controller will lock up on receiving 4n+1-byte IBIs in ast2600_i3c_set_dat_ibi() [all …]
|
| H A D | amd-i3c-master.c | 3 * I3C master driver for the AMD I3C controller. 14 #include <linux/i3c/master.h> 31 #define XI3C_CMD_FIFO_OFFSET 0x20 /* I3C Command FIFO Register */ 32 #define XI3C_WR_FIFO_OFFSET 0x24 /* I3C Write Data FIFO Register */ 33 #define XI3C_RD_FIFO_OFFSET 0x28 /* I3C Read Data FIFO Register */ 34 #define XI3C_RESP_STATUS_FIFO_OFFSET 0x2C /* I3C Response status FIFO Register */ 37 #define XI3C_SCL_HIGH_TIME_OFFSET 0x38 /* I3C SCL HIGH Register */ 38 #define XI3C_SCL_LOW_TIME_OFFSET 0x3C /* I3C SCL LOW Register */ 39 #define XI3C_SDA_HOLD_TIME_OFFSET 0x40 /* I3C SDA HOLD Register */ 40 #define XI3C_TSU_START_OFFSET 0x48 /* I3C START SETUP Register */ [all …]
|
| /linux/Documentation/devicetree/bindings/i3c/ |
| H A D | silvaco,i3c-master.yaml | 4 $id: http://devicetree.org/schemas/i3c/silvaco,i3c-master.yaml# 7 title: Silvaco I3C master 16 - nuvoton,npcm845-i3c 17 - silvaco,i3c-master-v1 20 - nxp,imx94-i3c 21 - nxp,imx95-i3c 22 - const: silvaco,i3c-master-v1 55 - $ref: i3c.yaml# 60 - nuvoton,npcm845-i3c 61 - silvaco,i3c-master-v1 [all …]
|
| H A D | aspeed,ast2600-i3c.yaml | 4 $id: http://devicetree.org/schemas/i3c/aspeed,ast2600-i3c.yaml# 7 title: ASPEED AST2600 i3c controller 13 - $ref: i3c.yaml# 17 const: aspeed,ast2600-i3c 41 - description: phandle to i3c global register syscon node 42 - description: index of this i3c controller in the global register set 44 A (phandle, controller index) reference to the i3c global register set 60 i3c@2000 { 61 compatible = "aspeed,ast2600-i3c";
|
| /linux/include/linux/i3c/ |
| H A D | device.h | 15 #include <linux/device-id/i3c.h> 19 * enum i3c_error_code - I3C error codes 21 * @I3C_ERROR_UNKNOWN: unknown error, usually means the error is not I3C 27 * These are the standard error codes as defined by the I3C specification. 42 * enum i3c_xfer_mode - I3C xfer mode ids 58 * struct i3c_xfer - I3C data transfer 66 * @err: I3C error code 83 * enum i3c_dcr - I3C DCR values 84 * @I3C_DCR_GENERIC_DEVICE: generic I3C device 108 * struct i3c_device_info - I3C device information [all …]
|
| /linux/drivers/i3c/ |
| H A D | Kconfig | 3 menuconfig I3C config 4 tristate "I3C support" 7 I3C is a serial protocol standardized by the MIPI alliance. 13 The I3C protocol also standardizes the slave device types and is 16 If you want I3C support, you should say Y here and also to the 19 This I3C support can also be built as a module. If so, the module 20 will be called i3c. 22 if I3C 23 source "drivers/i3c/master/Kconfig" 24 endif # I3C [all …]
|
| H A D | Makefile | 2 i3c-y := device.o master.o 3 obj-$(CONFIG_I3C) += i3c.o
|
| /linux/drivers/net/mctp/ |
| H A D | mctp-i3c.c | 4 * "DSP0233 Management Component Transport Protocol (MCTP) I3C Transport 13 #include <linux/i3c/device.h> 14 #include <linux/i3c/master.h> 73 struct i3c_device *i3c; member 82 /* I3C dynamic address */ 128 /* Make sure netif_rx() is read in the same order as i3c. */ in mctp_i3c_read() 130 rc = i3c_device_do_xfers(mi->i3c, &xfer, 1, I3C_SDR); in mctp_i3c_read() 135 /* Bad i3c bus driver */ in mctp_i3c_read() 179 static void mctp_i3c_ibi_handler(struct i3c_device *i3c, in mctp_i3c_ibi_handler() argument 182 struct mctp_i3c_device *mi = i3cdev_get_drvdata(i3c); in mctp_i3c_ibi_handler() [all …]
|
| H A D | Kconfig | 42 tristate "MCTP I3C transport" 43 depends on I3C 45 Provides a driver to access MCTP devices over I3C transport, 47 A MCTP protocol network device is created for each I3C bus
|
| H A D | Makefile | 3 obj-$(CONFIG_MCTP_TRANSPORT_I3C) += mctp-i3c.o
|
| /linux/drivers/iio/imu/inv_icm45600/ |
| H A D | inv_icm45600_i3c.c | 8 #include <linux/i3c/device.h> 9 #include <linux/i3c/master.h> 23 MODULE_DEVICE_TABLE(i3c, inv_icm45600_i3c_ids); 47 "Failed to register i3c regmap %ld\n", PTR_ERR(regmap)); in inv_icm45600_i3c_probe() 76 MODULE_DESCRIPTION("InvenSense ICM-456xx i3c driver");
|
| H A D | Kconfig | 52 tristate "InvenSense ICM-456xx I3C driver" 53 depends on I3C 58 devices over I3C. 70 inv-icm45600-i3c.
|
| H A D | Makefile | 15 obj-$(CONFIG_INV_ICM45600_I3C) += inv-icm45600-i3c.o 16 inv-icm45600-i3c-y += inv_icm45600_i3c.o
|
| /linux/drivers/i3c/master/mipi-i3c-hci/ |
| H A D | xfer_mode_rate.h | 9 * This applies starting from I3C HCI v2.0. 22 #define XFERMODE_IDX_I3C_SDR 0x00 /* I3C SDR Mode */ 23 #define XFERMODE_IDX_I3C_HDR_DDR 0x01 /* I3C HDR-DDR Mode */ 24 #define XFERMODE_IDX_I3C_HDR_T 0x02 /* I3C HDR-Ternary Mode */ 25 #define XFERMODE_IDX_I3C_HDR_BT 0x03 /* I3C HDR-BT Mode */
|
| H A D | hci_quirks.c | 3 * I3C HCI Quirks 11 #include <linux/i3c/master.h>
|
| H A D | dct_v1.c | 10 #include <linux/i3c/master.h>
|
| /linux/drivers/iio/imu/st_lsm6dsx/ |
| H A D | st_lsm6dsx_i3c.c | 10 #include <linux/i3c/device.h> 21 MODULE_DEVICE_TABLE(i3c, st_lsm6dsx_i3c_ids); 36 dev_err(dev, "Failed to register i3c regmap %ld\n", PTR_ERR(regmap)); in st_lsm6dsx_i3c_probe() 54 MODULE_DESCRIPTION("STMicroelectronics st_lsm6dsx i3c driver");
|
| /linux/Documentation/driver-api/i3c/ |
| H A D | device-driver-api.rst | 4 I3C device driver API 7 .. kernel-doc:: include/linux/i3c/device.h 9 .. kernel-doc:: drivers/i3c/device.c
|
| H A D | master-driver-api.rst | 4 I3C master controller driver API 7 .. kernel-doc:: drivers/i3c/master.c 9 .. kernel-doc:: include/linux/i3c/master.h
|
| H A D | index.rst | 4 I3C subsystem
|
| /linux/drivers/iio/magnetometer/ |
| H A D | mmc5633.c | 21 #include <linux/i3c/device.h> 247 dev_err(dev, "i3c transfer error\n"); in mmc5633_read_measurement() 262 * I3C will early terminate data read if previous data is not in mmc5633_read_measurement() 554 MODULE_DEVICE_TABLE(i3c, mmc5633_i3c_ids); 569 "Failed to register i3c regmap\n"); in mmc5633_i3c_probe()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | sfp-machine.h | 242 __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \ 245 __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \ 248 __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \ 251 __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
|
| /linux/include/linux/device-id/ |
| H A D | i3c.h | 9 /* i3c */
|
| /linux/arch/arm64/boot/dts/cix/ |
| H A D | sky1.dtsi | 418 i3c0: i3c@40f0000 { 419 compatible = "cdns,i3c-master"; 427 i3c-scl-hz = <400000>; 432 i3c1: i3c@4100000 { 433 compatible = "cdns,i3c-master"; 441 i3c-scl-hz = <400000>;
|