I3C 特色

I3C protocol process
To access the I3C on-chip Target Device Register Map from each Controller Port, the following access methods are supported:
- Standard I2C read/write transaction formats when in I2C/OD Only mode.
- Standard I3C private read/write transactions frames with/without 7’h7E address header and/or Burst Length,
RSTDAA (Reset Dynamic Address Assignment)
The RSTDAA Broadcast CCC indicates to all I3C Devices that the Controller requires them to clear/reset their Controller-assigned Dynamic Address.
Address 0x7E = 4MHZ 起始I2c轉成i3c後變成12.5Mhz

ENEC/DISEC (Enable/Disable Target Events Command)
The ENEC/DISEC CCC allows the Controller to control when Target-initiated traffic is enabled or disabled on the I3C Bus.
This control governs a Target’s attempts to request an IBI (ENINT/DISINT), to request Controllership (ENMR/DISMR), or to signify a Hot-Join event (ENHJ/DISHJ).
DISEC 是用來disable I3C IBI, hot join and second controller 功能,因為剛開始不需用到這個功能。後來用ENEC 來enable hot join 功能。系統軟體依照硬體需求來決定那些in band interrupt 要enable.

ENTDAA (Enter Dynamic Address Assignment)
The ENTDAA Broadcast CCC indicates to all I3C Devices that the Controller requires them to enter the Dynamic Address Assignment procedure.
Target Devices that already have a Dynamic Address assigned do not respond to this command.
PID (provisional ID) 有6個byte (48 bit) 提供I3C device information, 每一個device 的PID 都不一樣。
ENTDAA 會從每一個I3C device 讀入PID, BCR, DCR然後指定dynamic 地址給I3C device


GETPID (Get Provisioned ID)
The GETPID Direct CCC is a Get request for one I3C Target Device to return its 48-bit Provisioned ID to the Controller. Following transmission of the GETPID CCC, the 48-bit value is transmitted as 6 bytes, with MSB first.
去認ENTDAA 裡的哪一組 address 任PID/ BCR / DCR



GETBCR (Get Bus Characteristics Register)
The GETBCR Direct CCC is a Get request for one I3C Target Device to return its Bus Characteristics Register (BCR) to the Controller, the BCR value is transmitted in one byte, with the MSB transmitted first.

GETDCR (Get Device Characteristics Register)
The GETDCR Direct CCC is a Get request for one I3C Target Device to return its Device Characteristics Register (DCR) to the Controller. The DCR value is transmitted in one byte, with the MSB transmitted first.

GETMRL (Get Maximum Read Length)
GETMRL是用來讀出I3C device 每次最多能讀出bytes.

GETMRL (Get Maximum Write Length)
GETMWL 是用來讀出I3C device 每次最多能寫入bytes.
//NXP temp sensor and Hub會bypass 這二個command。//

ENEC/DISEC (Enable/Disable Target Events Command)
The ENEC/DISEC CCC allows the Controller to control when Target-initiated traffic is enabled or disabled on the I3C Bus. This control governs a Target’s attempts to request an IBI (ENINT/DISINT), to request Controllership (ENMR/DISMR), or to signify a Hot-Join event (ENHJ/DISHJ).

ENEC 是否必要? Ans : 是要看硬體需求,ENEC enable hot join 功能,看起來是需的,如果hot join 功能在硬體上有支援。
Hot join是可以讓TP add-on card做熱插在系統應用。
評論