# I3C

Source: [https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html](https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html)

The improved interintegrated circuit (I3C) interface has been developed to provide a
            fast, low-cost, low-power, 2-wire digital interface for connected I3C devices. The I3C
            interface is intended to improve upon the features of the I2C interface, preserving
            backward compatibility.

The 2-wire serial interface supports up to 12.5 MHz. Legacy I2C devices co-exist on the
            same bus. The I3C bus supports in‑band support, hot join, synchronous timing supports
            and asynchronous time stamping. During the write operation, the transition bit is of
            8‑bit data parity. During read, the controller uses the transition bit to either proceed
            with the next data or abort the read.

The data phase can be either push-pull or open-drain, based on the I3C capability of the
            device (for mixed bus, the I3C controller can address the I2C target).
- The address followed by the START condition is open-drain (arbitration
                    phase).
- The address followed by a repeated START condition is push-pull.

 The following figure illustrates the I3C hardware and software entities.

Figure : I3C block diagram
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export i3c-block-diagram.svg i3c-block-diagram -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.16927in" height="4.06879in" viewbox="0 0 516.187 292.953" xml:space="preserve" color-interpolation-filters="sRGB" class="st17"><v:documentproperties v:langid="1033">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-1 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st2 { fill: #ffffff; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st3 { fill: #000000; font-family: Arial; font-size: 1.00001em }
.svg-1 .st4 { font-size: 1em }
.svg-1 .st5 { fill: none; stroke: none; stroke-width: 0.999999; visibility: hidden }
.svg-1 .st6 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st7 { fill: #000000; font-family: Calibri; font-size: 1.00001em }
.svg-1 .st8 { fill: none; stroke: none; stroke-width: 0.999997 }
.svg-1 .st9 { fill: none; stroke: none; stroke-width: 0.999999 }
.svg-1 .st10 { fill: none }
.svg-1 .st11 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st12 { marker-end: url("#mrkr13-86"); marker-start: url("#mrkr13-84"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st13 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.28409018861769 }
.svg-1 .st14 { marker-end: url("#mrkr13-115"); marker-start: url("#mrkr13-84"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st15 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st16 { fill: #000000; font-family: Arial; font-size: 1.16666em }
.svg-1 .st17 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend13">		<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"></path>	</g>	<marker id="mrkr13-84" class="st13" v:arrowtype="13" v:arrowsize="2" v:setback="0" refx="0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(3.520008926974) "></use>	</marker>	<marker id="mrkr13-86" class="st13" v:arrowtype="13" v:arrowsize="2" v:setback="10.56" refx="-10.560026780922" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-3.520008926974,-3.520008926974) "></use>	</marker>	<marker id="mrkr13-115" class="st13" v:arrowtype="13" v:arrowsize="2" v:setback="0" refx="-0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-3.520008926974,-3.520008926974) "></use>	</marker></defs><g v:mid="1" v:index="1" v:groupcontext="backgroundPage">	<v:userdefs>		<v:ud v:nameu="msvVisioCreated" v:prompt="" v:val="VT0(0):26"></v:ud>	</v:userdefs>	<title>VBackground-1</title>	<v:pageproperties width="7.16927" height="4.06879" v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="8.99997" v:shadowoffsety="-8.99997"></v:pageproperties>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(0.000485421,0.000740545)">		<title>Solid</title>		<v:userdefs>			<v:ud v:nameu="Background" v:val="VT0(0):26"></v:ud>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			<v:ud v:nameu="msvShapeCategories" v:prompt="" v:val="VT4(DoNotContain)"></v:ud>			<v:ud v:nameu="msvVisioCreated" v:prompt="" v:val="VT0(0):26"></v:ud>		</v:userdefs>		<rect x="0" y="59.4999" width="509.374" height="233.453" class="st1"></rect>	</g></g><g v:mid="0" v:index="2" v:groupcontext="foregroundPage">	<title>i3c-block-diagram</title>	<v:pageproperties v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="8.99997" v:shadowoffsety="-8.99997"></v:pageproperties>	<g id="shape1-3" v:mid="1" v:groupcontext="shape" transform="translate(107.937,-223.406)">		<title>Sheet.1</title>		<desc>I3C manager software</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="47.8118" cy="267.43" width="95.63" height="51.0468"></v:textrect>		<rect x="0" y="241.906" width="95.6246" height="51.0468" class="st2"></rect>		<text x="13.13" y="263.83" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C manager <tspan x="25.14" dy="1.2em" class="st4">software</tspan></text>		</g>	<g id="shape2-7" v:mid="2" v:groupcontext="shape" transform="translate(244.925,-223.406)">		<title>Sheet.2</title>		<desc>I3C user software</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="28.2553" cy="267.43" width="56.52" height="51.0468"></v:textrect>		<rect x="0" y="241.906" width="56.5115" height="51.0468" class="st2"></rect>		<text x="5.58" y="263.83" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C user <tspan x="5.58" dy="1.2em" class="st4">software</tspan></text>		</g>	<g id="shape3-11" v:mid="3" v:groupcontext="shape" transform="translate(333.641,-223.406)">		<title>Sheet.3</title>		<desc>I3C user software</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="28.2553" cy="267.43" width="56.52" height="51.0468"></v:textrect>		<rect x="0" y="241.906" width="56.5115" height="51.0468" class="st2"></rect>		<text x="5.58" y="263.83" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C user <tspan x="5.58" dy="1.2em" class="st4">software</tspan></text>		</g>	<g id="shape4-15" v:mid="4" v:groupcontext="shape" transform="translate(417.153,-223.406)">		<title>Sheet.4</title>		<desc>I3C user software</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="28.2553" cy="267.43" width="56.52" height="51.0468"></v:textrect>		<rect x="0" y="241.906" width="56.5115" height="51.0468" class="st2"></rect>		<text x="5.58" y="263.83" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C user <tspan x="5.58" dy="1.2em" class="st4">software</tspan></text>		</g>	<g id="shape5-19" v:mid="5" v:groupcontext="shape" transform="translate(107.937,-134)">		<title>Sheet.5</title>		<desc>I3C controller</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="182.863" cy="272.951" width="365.73" height="40.0013"></v:textrect>		<rect x="0" y="252.951" width="365.726" height="40.0013" class="st2"></rect>		<text x="147.18" y="276.55" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C controller</text>		</g>	<g id="group6-22" transform="translate(107.937,-18.5)" v:mid="6" v:groupcontext="group">		<v:userdefs></v:userdefs>		<title>Sheet.6</title>		<desc>I2C device</desc>		<g id="shape7-23" v:mid="7" v:groupcontext="shape">			<title>Sheet.7</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st5"></rect>		</g>		<g id="shape8-25" v:mid="8" v:groupcontext="shape">			<title>Sheet.8</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st6"></rect>		</g>		<g id="shape6-27" v:mid="6" v:groupcontext="groupContent">			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="31.4995" cy="277.203" width="63" height="31.4999"></v:textrect>			<text x="6.64" y="280.8" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I2C device</text>			</g>	</g>	<g id="group9-29" transform="translate(184.437,-18.5)" v:mid="9" v:groupcontext="group">		<v:userdefs></v:userdefs>		<title>Sheet.9</title>		<desc>I2C device</desc>		<g id="shape10-30" v:mid="10" v:groupcontext="shape">			<title>Sheet.10</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st5"></rect>		</g>		<g id="shape11-32" v:mid="11" v:groupcontext="shape">			<title>Sheet.11</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st6"></rect>		</g>		<g id="shape9-34" v:mid="9" v:groupcontext="groupContent">			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="31.4995" cy="277.203" width="63" height="31.4999"></v:textrect>			<text x="6.64" y="280.8" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I2C device</text>			</g>	</g>	<g id="group12-36" transform="translate(260.937,-18.5)" v:mid="12" v:groupcontext="group">		<v:userdefs></v:userdefs>		<title>Sheet.12</title>		<desc>I3C device</desc>		<g id="shape13-37" v:mid="13" v:groupcontext="shape">			<title>Sheet.13</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st5"></rect>		</g>		<g id="shape14-39" v:mid="14" v:groupcontext="shape">			<title>Sheet.14</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st6"></rect>		</g>		<g id="shape12-41" v:mid="12" v:groupcontext="groupContent">			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="31.4995" cy="277.203" width="63" height="31.4999"></v:textrect>			<text x="6.64" y="280.8" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C device</text>			</g>	</g>	<g id="group15-43" transform="translate(337.437,-18.5)" v:mid="15" v:groupcontext="group">		<v:userdefs></v:userdefs>		<title>Sheet.15</title>		<desc>I3C device</desc>		<g id="shape16-44" v:mid="16" v:groupcontext="shape">			<title>Sheet.16</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st5"></rect>		</g>		<g id="shape17-46" v:mid="17" v:groupcontext="shape">			<title>Sheet.17</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st6"></rect>		</g>		<g id="shape15-48" v:mid="15" v:groupcontext="groupContent">			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="31.4995" cy="277.203" width="63" height="31.4999"></v:textrect>			<text x="6.64" y="280.8" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C device</text>			</g>	</g>	<g id="group18-50" transform="translate(410.664,-18.5)" v:mid="18" v:groupcontext="group">		<v:userdefs></v:userdefs>		<title>Sheet.18</title>		<desc>I3C device</desc>		<g id="shape19-51" v:mid="19" v:groupcontext="shape">			<title>Sheet.19</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st5"></rect>		</g>		<g id="shape20-53" v:mid="20" v:groupcontext="shape">			<title>Sheet.20</title>			<rect x="0" y="261.453" width="62.9998" height="31.4999" class="st6"></rect>		</g>		<g id="shape18-55" v:mid="18" v:groupcontext="groupContent">			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="31.4995" cy="277.203" width="63" height="31.4999"></v:textrect>			<text x="6.64" y="280.8" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C device</text>			</g>	</g>	<g id="group21-57" transform="translate(26.9374,-194.006)" v:mid="21" v:groupcontext="group">		<title>Sheet.21</title>		<g id="shape22-58" v:mid="22" v:groupcontext="shape">			<title>Sheet.22</title>			<path d="M0 292.95 L470.25 292.95 L0 292.95 Z" class="st8"></path>		</g>		<g id="group23-60" v:mid="23" v:groupcontext="group">			<title>Sheet.23</title>			<g id="shape24-61" v:mid="24" v:groupcontext="shape">				<title>Sheet.24</title>				<path d="M0 292.95 L470.25 292.95 L0 292.95 Z" class="st9"></path>			</g>			<g id="shape25-63" v:mid="25" v:groupcontext="shape">				<title>Sheet.25</title>				<path d="M0 292.95 L470.25 292.95 L0 292.95 Z" class="st10"></path>				<path d="M0 292.95 L470.25 292.95" class="st11"></path>			</g>		</g>	</g>	<g id="group26-66" transform="translate(107.937,-90.4067)" v:mid="26" v:groupcontext="group">		<title>Sheet.26</title>		<g id="shape27-67" v:mid="27" v:groupcontext="shape">			<title>Sheet.27</title>			<path d="M0 292.95 L366.75 292.95 L0 292.95 Z" class="st8"></path>		</g>		<g id="group28-69" v:mid="28" v:groupcontext="group">			<title>Sheet.28</title>			<g id="shape29-70" v:mid="29" v:groupcontext="shape">				<title>Sheet.29</title>				<path d="M0 292.95 L366.75 292.95 L0 292.95 Z" class="st9"></path>			</g>			<g id="shape30-72" v:mid="30" v:groupcontext="shape">				<title>Sheet.30</title>				<path d="M0 292.95 L366.75 292.95 L0 292.95 Z" class="st10"></path>				<path d="M0 292.95 L366.75 292.95" class="st11"></path>			</g>		</g>	</g>	<g id="shape31-75" v:mid="31" v:groupcontext="shape" transform="translate(125.437,-143.875)">		<title>Sheet.31</title>		<desc>Device table</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="37.4369" cy="282.828" width="74.88" height="20.25"></v:textrect>		<rect x="0" y="272.703" width="74.8748" height="20.25" class="st2"></rect>		<text x="4.42" y="286.43" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Device table</text>		</g>	<g id="shape32-78" v:mid="32" v:groupcontext="shape" transform="translate(445.899,69.5468) rotate(90)">		<title>Sheet.32</title>		<path d="M0 292.95 L10.2 292.95 L10.56 292.95 L10.92 292.95 L11.6 292.95 L38.12 292.95 L39.16 292.95 L39.16 292.95" class="st12"></path>	</g>	<g id="shape33-87" v:mid="33" v:groupcontext="shape" transform="translate(567.398,69.5468) rotate(90)">		<title>Sheet.33</title>		<path d="M0 292.95 L10.2 292.95 L10.56 292.95 L10.8 292.95 L11.47 292.95 L37.69 292.95 L38.6 292.95 L38.6 292.95" class="st12"></path>	</g>	<g id="shape34-94" v:mid="34" v:groupcontext="shape" transform="translate(655.148,69.5468) rotate(90)">		<title>Sheet.34</title>		<path d="M0 292.95 L10.2 292.95 L10.56 292.95 L10.8 292.95 L11.47 292.95 L37.69 292.95 L38.6 292.95 L38.6 292.95" class="st12"></path>	</g>	<g id="shape35-101" v:mid="35" v:groupcontext="shape" transform="translate(738.397,69.5468) rotate(90)">		<title>Sheet.35</title>		<path d="M0 292.95 L10.2 292.95 L10.56 292.95 L10.8 292.95 L11.47 292.95 L37.69 292.95 L38.6 292.95 L38.6 292.95" class="st12"></path>	</g>	<g id="shape36-108" v:mid="36" v:groupcontext="shape" transform="translate(735.585,202.555) rotate(90)">		<title>Sheet.36</title>		<path d="M0 292.95 L8.75 292.95 L9.3 292.95 L31.6 292.95 L40.9 292.95" class="st14"></path>	</g>	<g id="shape37-116" v:mid="37" v:groupcontext="shape" transform="translate(661.897,202.453) rotate(90)">		<title>Sheet.37</title>		<path d="M0 292.95 L8.77 292.95 L9.32 292.95 L31.68 292.95 L41 292.95" class="st14"></path>	</g>	<g id="shape38-123" v:mid="38" v:groupcontext="shape" transform="translate(585.398,202.453) rotate(90)">		<title>Sheet.38</title>		<path d="M0 292.95 L8.77 292.95 L9.32 292.95 L31.68 292.95 L41 292.95" class="st14"></path>	</g>	<g id="shape39-130" v:mid="39" v:groupcontext="shape" transform="translate(508.899,202.453) rotate(90)">		<title>Sheet.39</title>		<path d="M0 292.95 L8.77 292.95 L9.32 292.95 L31.68 292.95 L41 292.95" class="st14"></path>	</g>	<g id="shape40-137" v:mid="40" v:groupcontext="shape" transform="translate(434.035,202.555) rotate(90)">		<title>Sheet.40</title>		<path d="M0 292.95 L8.75 292.95 L9.3 292.95 L31.6 292.95 L40.9 292.95" class="st14"></path>	</g>	<g id="shape41-144" v:mid="41" v:groupcontext="shape" transform="translate(18.375,-201.375)">		<title>Sheet.41</title>		<desc>Software</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="37.4369" cy="282.828" width="74.88" height="20.25"></v:textrect>		<rect x="0" y="272.703" width="74.8748" height="20.25" class="st15"></rect>		<text x="9.81" y="287.03" class="st16" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Software</text>		</g>	<g id="shape42-147" v:mid="42" v:groupcontext="shape" transform="translate(21.4376,-165.938)">		<title>Sheet.42</title>		<desc>Hardware</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="37.4369" cy="283.671" width="74.88" height="18.5625"></v:textrect>		<rect x="0" y="274.39" width="74.8748" height="18.5625" class="st15"></rect>		<text x="7.09" y="287.87" class="st16" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape43-150" v:mid="43" v:groupcontext="shape" transform="translate(585.398,158.903) rotate(90)">		<title>Sheet.43</title>		<path d="M0 292.95 L10.2 292.95 L10.56 292.95 L12.35 292.95 L13.12 292.95 L30.43 292.95 L32.99 292.95 L32.99 292.95" class="st12"></path>	</g></g>
</svg>

The main features of the I3C architecture are as follows:
- I3C controller driver software: software-privileged entity, capable of
                    enumeration and bus configuration.
- I3C client software: software entities that use the I3C bus for read/write to
                    devices.

### I3C packet frame structure

A frame begins with START, command (8), data (8), transition (1), and STOP.
Figure : I3C packet frame
                    
                    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export i3c-packet-frame-structure.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.70139in" height="1.20139in" viewbox="0 0 554.5 86.5001" xml:space="preserve" color-interpolation-filters="sRGB" class="st7"><v:documentproperties v:langid="1033">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-2 .st1 { fill: #ffffff; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st2 { fill: none }
.svg-2 .st3 { stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st4 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st5 { fill: #000000; font-family: Arial; font-size: 1.00001em }
.svg-2 .st6 { font-size: 1em }
.svg-2 .st7 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Page-1</title>	<v:pageproperties v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(18.5,-18.5)">		<title>Sheet.1</title>		<rect x="0" y="37.0001" width="517.5" height="49.5" class="st1"></rect>	</g>	<g id="shape2-3" v:mid="2" v:groupcontext="shape" transform="translate(163.5,18.5) rotate(90)">		<title>Sheet.2</title>		<path d="M0 86.5 L49.5 86.5 L0 86.5 Z" class="st2"></path>		<path d="M0 86.5 L49.5 86.5" class="st3"></path>	</g>	<g id="shape3-6" v:mid="3" v:groupcontext="shape" transform="translate(296.2,18.5) rotate(90)">		<title>Sheet.3</title>		<path d="M0 86.5 L49.5 86.5 L0 86.5 Z" class="st2"></path>		<path d="M0 86.5 L49.5 86.5" class="st3"></path>	</g>	<g id="shape4-9" v:mid="4" v:groupcontext="shape" transform="translate(357,18.5) rotate(90)">		<title>Sheet.4</title>		<path d="M0 86.5 L49.5 86.5 L0 86.5 Z" class="st2"></path>		<path d="M0 86.5 L49.5 86.5" class="st3"></path>	</g>	<g id="shape5-12" v:mid="5" v:groupcontext="shape" transform="translate(424,18.5) rotate(90)">		<title>Sheet.5</title>		<path d="M0 86.5 L49.5 86.5 L0 86.5 Z" class="st2"></path>		<path d="M0 86.5 L49.5 86.5" class="st3"></path>	</g>	<g id="shape6-15" v:mid="6" v:groupcontext="shape" transform="translate(532,18.5) rotate(90)">		<title>Sheet.6</title>		<path d="M0 86.5 L49.5 86.5 L0 86.5 Z" class="st2"></path>		<path d="M0 86.5 L49.5 86.5" class="st3"></path>	</g>	<g id="shape7-18" v:mid="7" v:groupcontext="shape" transform="translate(577.5,18.5) rotate(90)">		<title>Sheet.7</title>		<path d="M0 86.5 L49.5 86.5 L0 86.5 Z" class="st2"></path>		<path d="M0 86.5 L49.5 86.5" class="st3"></path>	</g>	<g id="shape8-21" v:mid="8" v:groupcontext="shape" transform="translate(30.3125,-34.25)">		<title>Sheet.8</title>		<desc>S or Sr</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="17.4375" cy="77.5" width="34.89" height="18"></v:textrect>		<rect x="0" y="68.5001" width="34.875" height="18" class="st4"></rect>		<text x="6.43" y="73.9" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>S or <tspan x="11.44" dy="1.2em" class="st6">Sr</tspan></text>		</g>	<g id="shape9-25" v:mid="9" v:groupcontext="shape" transform="translate(85.1563,-32)">		<title>Sheet.9</title>		<desc>I3C dynamic slave address</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="60.75" cy="77.5" width="121.51" height="18"></v:textrect>		<rect x="0" y="68.5001" width="121.5" height="18" class="st4"></rect>		<text x="11.73" y="73.9" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>I3C dynamic client <tspan x="39.4" dy="1.2em" class="st6">address</tspan></text>		</g>	<g id="shape10-29" v:mid="10" v:groupcontext="shape" transform="translate(220.438,-34.2)">		<title>Sheet.10</title>		<desc>Read/write</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="20.2812" cy="77.5" width="40.58" height="18"></v:textrect>		<rect x="0" y="68.5001" width="40.5625" height="18" class="st4"></rect>		<text x="4.27" y="73.9" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Read/<tspan x="7.61" dy="1.2em" class="st6">write</tspan></text>		</g>	<g id="shape11-33" v:mid="11" v:groupcontext="shape" transform="translate(286.313,-31.5)">		<title>Sheet.11</title>		<desc>ACK</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="20.2812" cy="77.5" width="40.58" height="18"></v:textrect>		<rect x="0" y="68.5001" width="40.5625" height="18" class="st4"></rect>		<text x="7.94" y="81.1" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>ACK</text>		</g>	<g id="shape12-36" v:mid="12" v:groupcontext="shape" transform="translate(369.562,-33.6)">		<title>Sheet.12</title>		<desc>Data</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="17.4375" cy="77.5" width="34.89" height="18"></v:textrect>		<rect x="0" y="68.5001" width="34.875" height="18" class="st4"></rect>		<text x="4.76" y="81.1" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Data</text>		</g>	<g id="shape13-39" v:mid="13" v:groupcontext="shape" transform="translate(446.563,-32)">		<title>Sheet.13</title>		<desc>T</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="17.4375" cy="77.5" width="34.89" height="18"></v:textrect>		<rect x="0" y="68.5001" width="34.875" height="18" class="st4"></rect>		<text x="13.77" y="81.1" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>T</text>		</g>	<g id="shape14-42" v:mid="14" v:groupcontext="shape" transform="translate(495.5,-32)">		<title>Sheet.14</title>		<desc>P</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="17.4375" cy="77.5" width="34.89" height="18"></v:textrect>		<rect x="0" y="68.5001" width="34.875" height="18" class="st4"></rect>		<text x="13.44" y="81.1" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>P</text>		</g></g>
</svg>
Where,
- ACK: Acknowledge (SDA low)
- S: Start condition
- Sr: Repeat start condition
- P: Stop condition
- T: Transition bit alternative to ACK/NACK

Figure : I3C sequence 
                
                ![](data:image/png;base64,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)

### I3C bus initialization

The I3C bus initialization procedure is as follows:
1. The I3C controller driver software initializes the I3C controller (firmware
                        and configuration settings).
2. The I3C controller driver software reads the I3C configuration and the
                        device database, including:
    - List of I2C static address devices.
    - List of I3C static address devices.
    - List of expected I3C dynamic devices: vendor ID, device ID,
                                predefined dynamic address, and associated drivers.
    - Optional hot-join allowed devices (vendor ID, device ID, and
                                predefined address).
3. Using the I3C controller software, the driver enumerates the devices on the
                        bus (set local addresses).
4. The I3C controller driver software writes an I3C controller with the
                        required devices and the bus characteristic information:
    - Operation frequency
    - Pure/legacy I2C mode
    - SDR/HDR enable/disable (and types)
    - IBI capable devices and expected data bytes
5. The I3C client software stack receives the following information about the
                        I3C configuration and device database.
    - List of I2C, static address devices.
    - List of I3C, static address devices.
    - List of expected I3C dynamic devices: vendor ID, device ID,
                                predefined dynamic address, and associated drivers.
    - Optional hot-join allowed devices (vendor ID, device ID, and
                                predefined address).

## I3C features

Source: [https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html](https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html)

The aDSP/SDC I3C subsystem supports the following features.
- Address phase at frequency 400 kHz.
- Data phase at frequency 12,500 kHz.
- Backward compatibility with legacy I2C.
- Dynamic addressing of targets.
- Single data rate (SDR) mode.
- CCC commands according to the MIPI I3C specification

## I3C interface

Source: [https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html](https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html)

I3C use cases in the aDSP/SLPI software support sensor device communication. 
Note: I3C doesn't support Linux use cases.

The software driver
            and the configuration support for the I3C functionality for device communication are
            listed in the following table.

Table : aDSP/SLPI/SDC

| File type | Description |
| --- | --- |
| QUP v3 serial engine configuration | <ul class="ul" id="i3c-interface__ul_v4h_hjr_k1c"><br>                                <li class="li"><span class="ph filepath">/firmware/qualcomm-linux-spf-1-0_ap_standard_oem_nomodem/ADSP.HT.5.5.c8/adsp_proc/core/settings/buses/qup_common/config/&lt;chipset&gt;/adsp/ssc/qup_devcfg.c</span></li><br><br>                                <li class="li"><span class="ph filepath">/firmware/qualcomm-linux-spf-1-0_ap_standard_oem_nomodem/ADSP.HT.5.5.c8/adsp_proc/core/settings/buses/qup_fw/config/&lt;chipset&gt;/fw_devcfg.c</span></li><br><br>                                <li class="li"><span class="ph filepath">/firmware/qualcomm-linux-spf-1-0_ap_standard_oem_nomodem/ADSP.HT.5.5.c8/adsp_proc/core/settings/buses/qup_common/config/&lt;chipset&gt;/adsp/ssc/qup_devcfg.json</span></li><br><br>                            </ul> |
| Firmware configuration settings | <ul class="ul" id="i3c-interface__ul_wpr_p5j_51c"><br>                                <li class="li"><span class="ph filepath">/firmware/qualcomm-linux-spf-1-0_ap_standard_oem_nomodem/ADSP.HT.5.5.c8/adsp_proc/core/settings/buses/qup_fw/config/&lt;chipset&gt;/fw_devcfg.c</span></li><br><br>                                <li class="li"><span class="ph filepath">/firmware/qualcomm-linux-spf-1-0_ap_standard_oem_nomodem/ADSP.HT.5.5.c8/adsp_proc/core/settings/buses/qup_fw/config/&lt;chipset&gt;/fw_devcfg.xml</span></li><br><br>                            </ul> |
| Public APIs | <ul class="ul" id="i3c-interface__ul_m5h_njr_k1c"><br>                                <li class="li"><span class="ph filepath">api/buses/i2c_api.h</span></li><br><br>                                <li class="li"><span class="ph filepath">api/buses/qup_common.h</span></li><br><br>                            </ul> |

## I3C software

Source: [https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html](https://docs.qualcomm.com/doc/80-70018-8/topic/i3c.html)

The I3C firmware for the QUP v3 serial engine is loaded with SSC QUP during the bootup
            sequence. The configuration file is present in the aDSP build. The source code path to
            enable the I3C configuration for a specific QUP v3 serial engine instance is at /firmware/qualcomm-linux-spf-1-0\_ap\_standard\_oem\_nomodem/ADSP.HT.5.5.c8/adsp\_proc/core/settings/buses/qup\_fw/config/&lt;chipset&gt;/fw\_devcfg.c
            and /firmware/qualcomm-linux-spf-1-0\_ap\_standard\_oem\_nomodem/ADSP.HT.5.5.c8/adsp\_proc/core/settings/buses/qup\_fw/config/&lt;chipset&gt;/fw\_devcfg.xml.

Sample of SSC QUP SE0 or SE1 loaded with the I3C firmware.

    se_cfg se0_cfg = { 0x80000, SE_PROTOCOL_I3C,    GSI,     TRUE, TRUE  };
    se_cfg se1_cfg = { 0x84000, SE_PROTOCOL_I3C,    GSI,     TRUE, TRUE  };Copy to clipboard

**GPIO configuration**: Each serial engine in the QUP common driver is configured with
            the default GPIO configuration. The QUP common driver selects the GPIO configuration
            according to the protocol loaded in the serial engine. The source code path for the GPIO
            configuration of a specific I3C serial engine instance
                is /firmware/qualcomm-linux-spf-1-0\_ap\_standard\_oem\_nomodem/ADSP.HT.5.5.c8/adsp\_proc/core/settings/buses/qup\_common/config/&lt;chipset&gt;/adsp/ssc/qup\_instance\_mapping.c.

The default GPIO configuration can be overwritten as follows:

    { .instance_id = 1 , //Instance ID
    .qup = QUP_SSC, //QUP Type
    .se_index = 0, //SE ID
    .se_data = NULL, //devcfg_map
    .protocol_io_cfg = {
    TLMM_MAP(TLMM_GPIO_KEEPER ,TLMM_GPIO_2MA,TLMM_GPIO_KEEPER ), // SLEEP CFG
    TLMM_MAP(TLMM_GPIO_NO_PULL,TLMM_GPIO_6MA,TLMM_GPIO_KEEPER ),  //SPI CFG
    TLMM_MAP(TLMM_GPIO_NO_PULL,TLMM_GPIO_2MA,TLMM_GPIO_NO_PULL), // UART CFG
    TLMM_MAP(TLMM_GPIO_PULL_UP,TLMM_GPIO_2MA,TLMM_GPIO_NO_PULL), //I2C CFG
    TLMM_MAP(TLMM_GPIO_PULL_UP,TLMM_GPIO_2MA,TLMM_GPIO_KEEPER ) //I3C CFG
    },
    .se_exclusive = TRUE,
    }
    Copy to clipboard

TLMM\_MAP is a macro to initialize the active and sleep state GPIO configurations. For
            example, a sample usage of the TLMM\_MAP macro is as
            follows:

    TLMM_MAP (active state pull type, drive strength, sleep state pull type)Copy to clipboard

Last Published: Mar 26, 2025

[Previous Topic
I2C](https://docs.qualcomm.com/bundle/publicresource/80-70018-8/topics/i2c.md) [Next Topic
PCIe](https://docs.qualcomm.com/bundle/publicresource/80-70018-8/topics/pcie.md)