Lines Matching +full:bus +full:- +full:specific

1 .. SPDX-License-Identifier: GPL-2.0
11 everything hardware related (like how things are transmitted on the bus, how
17 https://resources.mipi.org/mipi-i3c-v1-download).
22 The I3C (pronounced 'eye-three-see') is a MIPI standardized protocol designed
24 interrupts, no automatic detection of the devices connected to the bus, ...)
25 while remaining power-efficient.
27 I3C Bus
30 An I3C bus is made of several I3C devices and possibly some I2C devices as
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
36 transactions or deciding who is allowed to talk on the bus (slave generated
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,
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
51 In addition to these per-device addresses, the protocol defines a broadcast
52 address in order to address all devices on the bus.
62 on the bus, their capabilities and the functionalities they provide. In this
63 regard I3C is closer to a discoverable bus like USB than it is to I2C or SPI.
70 * BCR: Bus Characteristic Register. This 8-bit register describes the device bus
72 * DCR: Device Characteristic Register. This 8-bit register describes the
74 * Provisioned ID: A 48-bit unique identifier. On a given bus there should be no
81 them to take temporary control of the bus.
86 During DAA, each device on the bus has been assigned an address, and this
88 devices are generating an interrupt at the same moment on the bus (the lower the
92 request can be broadcast (applies to all devices) or sent to a specific
95 I3C Hot-Join
98 The Hot-Join mechanism is similar to USB hotplug. This mechanism allows
99 slaves to join the bus after it has been initialized by the master.
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 ----------------
125 related to bus management and all features that are common to a set of devices.
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
138 The payload length is not explicitly passed on the bus, and should be extracted
142 (0x61-0x7f and 0xe0-0xef).
145 -------------------------
148 device specific and does not require high transfer speed.
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
171 When sending an HDR command, the whole bus has to enter HDR mode, which is done
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:
189 * bit[0]: reserved/parity-bit
196 on the same bus, though, in order to be really efficient, I2C devices should
201 (both in terms of bus related limitations and functionalities), the software