Home
last modified time | relevance | path

Searched full:i3c (Results 1 – 25 of 46) sorted by relevance

12

/linux/arch/arm64/boot/dts/axiado/
H A Dax3000.dtsi232 /* 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 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 controller will lock up on receiving 4n+1-byte IBIs in ast2600_i3c_set_dat_ibi()
[all …]
H A Damd-i3c-master.c3 * 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 Dsilvaco,i3c-master.yaml4 $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 Daspeed,ast2600-i3c.yaml4 $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 Ddevice.h15 #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 DKconfig3 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 DMakefile2 i3c-y := device.o master.o
3 obj-$(CONFIG_I3C) += i3c.o
/linux/drivers/net/mctp/
H A Dmctp-i3c.c4 * "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 DKconfig42 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 DMakefile3 obj-$(CONFIG_MCTP_TRANSPORT_I3C) += mctp-i3c.o
/linux/drivers/iio/imu/inv_icm45600/
H A Dinv_icm45600_i3c.c8 #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 DKconfig52 tristate "InvenSense ICM-456xx I3C driver"
53 depends on I3C
58 devices over I3C.
70 inv-icm45600-i3c.
H A DMakefile15 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 Dxfer_mode_rate.h9 * 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 Dhci_quirks.c3 * I3C HCI Quirks
11 #include <linux/i3c/master.h>
H A Ddct_v1.c10 #include <linux/i3c/master.h>
/linux/drivers/iio/imu/st_lsm6dsx/
H A Dst_lsm6dsx_i3c.c10 #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 Ddevice-driver-api.rst4 I3C device driver API
7 .. kernel-doc:: include/linux/i3c/device.h
9 .. kernel-doc:: drivers/i3c/device.c
H A Dmaster-driver-api.rst4 I3C master controller driver API
7 .. kernel-doc:: drivers/i3c/master.c
9 .. kernel-doc:: include/linux/i3c/master.h
H A Dindex.rst4 I3C subsystem
/linux/drivers/iio/magnetometer/
H A Dmmc5633.c21 #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 Dsfp-machine.h242 __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 Di3c.h9 /* i3c */
/linux/arch/arm64/boot/dts/cix/
H A Dsky1.dtsi418 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>;

12