Lines Matching +full:device +full:- +full:specific
1 .. SPDX-License-Identifier: GPL-2.0
17 https://resources.mipi.org/mipi-i3c-v1-download).
22 The I3C (pronounced 'eye-three-see') is a MIPI standardized protocol designed
25 while remaining power-efficient.
33 An I3C device on the I3C bus can have one of the following roles:
35 * Master: the device is driving the bus. It's the one in charge of initiating
38 * Slave: the device acts as a slave, and is not able to send frames to another
39 slave on the bus. The device can still send events to the master on
42 I3C is a multi-master protocol, so there might be several masters on a bus,
43 though only one device can act as a master at a given time. In order to gain
44 bus ownership, a master has to follow a specific procedure.
46 Each device on the I3C bus has to be assigned a dynamic address to be able to
47 communicate. Until this is done, the device should only respond to a limited
49 the device can reply to I2C transfers.
51 In addition to these per-device addresses, the protocol defines a broadcast
54 Once a dynamic address has been assigned to a device, this address will be used
55 for any direct communication with the device. Note that even after being
56 assigned a dynamic address, the device should still process broadcast messages.
58 I3C Device discovery
68 During DAA, each I3C device reports 3 important things:
70 * BCR: Bus Characteristic Register. This 8-bit register describes the device bus
72 * DCR: Device Characteristic Register. This 8-bit register describes the
73 functionalities provided by the device
74 * Provisioned ID: A 48-bit unique identifier. On a given bus there should be no
86 During DAA, each device on the bus has been assigned an address, and this
92 request can be broadcast (applies to all devices) or sent to a specific
93 device.
95 I3C Hot-Join
98 The Hot-Join mechanism is similar to USB hotplug. This mechanism allows
103 * the device is not powered when the bus is probed
104 * the device is hotplugged on the bus through an extension board
107 device joined the bus and is waiting for a dynamic address.
122 ----------------
127 CCC commands contain an 8-bit CCC ID describing the command that is executed.
135 Note that, when sending a CCC command to a specific device, the device address
142 (0x61-0x7f and 0xe0-0xef).
145 -------------------------
148 device specific and does not require high transfer speed.
151 passed the device address (dynamic address assigned during DAA), a payload
158 ----------------
160 HDR commands should be used for anything that is device specific and requires
167 * HDR-DDR: Double Data Rate mode
168 * HDR-TSP: Ternary Symbol Pure. Only usable on busses with no I2C devices
169 * HDR-TSL: Ternary Symbol Legacy. Usable on busses with I2C devices
173 Once the bus has entered a specific HDR mode, the master sends the HDR command.
176 * one 16-bits command word in big endian
177 * N 16-bits data words in big endian
179 Those words may be wrapped with specific preambles/post-ambles which depend on
183 The 16-bits command word is made of:
188 * bit[7:1]: I3C address of the device this command is addressed to
189 * bit[0]: reserved/parity-bit