# Architecture

Tab QCS6490/QCS5430
Tab QCS9100/QCS9075

The following figure shows the architecture and its components involved in communicating data over Ethernet on RB3 Gen 2 Development Kit.

<?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 ethernet-arch.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" width="6.24306in" height="8.97139in" viewbox="0 0 449.5 645.94" xml:space="preserve" color-interpolation-filters="sRGB" class="st19"><style>.svg-1 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: #4a5a75; stroke: #4a5a75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st3 { fill: #ffffff; font-family: Arial; font-size: 1.00001em }
.svg-1 .st4 { fill: #acbacf; stroke: #acbacf; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st5 { fill: #000000; font-family: Arial; font-size: 1.00001em }
.svg-1 .st6 { fill: #7ba0ff; stroke: #7ba0ff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st7 { fill: #dee3ec; stroke: #dee3ec; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st8 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st9 { stroke: #000000; stroke-dasharray: 3, 3; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st10 { marker-end: url("#mrkr4-37"); marker-start: url("#mrkr4-35"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st11 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.28409090909091 }
.svg-1 .st12 { fill: #ffffff; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st13 { fill: #000000 }
.svg-1 .st14 { stroke: #000000; stroke-dasharray: 0, 4.5; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st15 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st16 { fill: #000000; font-family: Arial; font-size: 1.00001em; font-weight: bold }
.svg-1 .st17 { fill: #ffffff; font-family: Arial; font-size: 0.833336em }
.svg-1 .st18 { fill: #000000; font-family: Arial; font-size: 0.833336em }
.svg-1 .st19 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-35" class="st11" refx="6.68" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(3.52) "></use>	</marker>	<marker id="mrkr4-37" class="st11" refx="-7.04" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-3.52,-3.52) "></use>	</marker></defs><g>	<title>VBackground-1</title>	<g id="shape1000-1">		<title>Solid.1000</title>		<rect x="0" y="0" width="449.5" height="645.94" class="st1"></rect>	</g></g><g>	<title>Page-1</title>	<g id="shape1-3" transform="translate(169.625,-591.69)">		<title>Sheet.1</title>		<desc>Applications</desc>		<rect x="0" y="618.94" width="105.188" height="27" class="st2"></rect>		<text x="20.24" y="636.04" class="st3">Applications</text>		</g>	<g id="shape2-6" transform="translate(83.5625,-483.69)">		<title>Sheet.2</title>		<desc>Linux kernel network stack</desc>		<rect x="0" y="600.94" width="277.313" height="45" class="st4"></rect>		<text x="67.96" y="627.04" class="st5">Linux kernel network stack</text>		</g>	<g id="shape3-9" transform="translate(159.5,-426.19)">		<title>Sheet.3</title>		<desc>Ethernet/switch driver</desc>		<rect x="0" y="618.94" width="124.875" height="27" class="st6"></rect>		<text x="4.75" y="636.04" class="st5">Ethernet/switch driver</text>		</g>	<g id="shape4-12" transform="translate(159.5,-366.69)">		<title>Sheet.4</title>		<desc>PHY driver 1, 2,...n</desc>		<rect x="0" y="618.94" width="124.875" height="27" class="st6"></rect>		<text x="11.75" y="636.04" class="st5">PHY driver 1, 2,...n</text>		</g>	<g id="shape5-15" transform="translate(149.413,-257.145)">		<title>Sheet.5</title>		<desc>Ethernet/switch hardware</desc>		<rect x="0" y="618.94" width="144" height="27" class="st7"></rect>		<text x="4.3" y="636.04" class="st5">Ethernet/switch hardware</text>		</g>	<g id="shape6-18" transform="translate(149.337,-205.69)">		<title>Sheet.6</title>		<desc>PHY hardware 1, 2,...n</desc>		<rect x="0" y="618.94" width="144" height="27" class="st7"></rect>		<text x="11.3" y="636.04" class="st5">PHY hardware 1, 2,...n</text>		</g>	<g id="shape7-21" transform="translate(149.937,-151.271)">		<title>Sheet.7</title>		<desc>RJ45/IX 1, 2,…n</desc>		<rect x="0" y="618.94" width="144" height="27" class="st7"></rect>		<text x="27.98" y="636.04" class="st5">RJ45/IX 1, 2,…n</text>		</g>	<g id="shape8-24" transform="translate(19.375,-349.69)">		<title>Sheet.8</title>		<rect x="0" y="368.19" width="411.25" height="277.75" class="st8"></rect>	</g>	<g id="shape9-26" transform="translate(19.375,-560.94)">		<title>Sheet.9</title>		<path d="M0 645.94 L409.45 645.94" class="st9"></path>	</g>	<g id="shape10-29" transform="translate(868.377,54.5) rotate(90)">		<title>Sheet.10</title>		<path d="M6.68 645.94 L7.04 645.94 L55.33 645.94" class="st10"></path>	</g>	<g id="shape11-38" transform="translate(867.811,171.756) rotate(90.8211)">		<title>Sheet.11</title>		<path d="M6.68 645.94 L7.04 645.94 L23.24 645.94" class="st10"></path>	</g>	<g id="shape12-45" transform="translate(867.877,219.75) rotate(90)">		<title>Sheet.12</title>		<path d="M6.68 645.94 L7.04 645.94 L25.31 645.94" class="st10"></path>	</g>	<g id="shape13-52" transform="translate(18.5,-133.69)">		<title>Sheet.13</title>		<rect x="0" y="482.66" width="412.5" height="163.279" class="st8"></rect>	</g>	<g id="shape14-54" transform="translate(867.315,296.25) rotate(90)">		<title>Sheet.14</title>		<path d="M6.68 645.94 L7.04 645.94 L44.71 645.94" class="st10"></path>	</g>	<g id="shape15-61" transform="translate(867.315,388.795) rotate(90)">		<title>Sheet.15</title>		<path d="M6.68 645.94 L7.04 645.94 L17.41 645.94" class="st10"></path>	</g>	<g id="shape16-68" transform="translate(867.315,440.25) rotate(90)">		<title>Sheet.16</title>		<path d="M6.68 645.94 L7.04 645.94 L19.96 645.94" class="st10"></path>	</g>	<g id="group17-75" transform="translate(154.937,-54.6898)">		<title>Laptop</title>		<g id="shape18-76" transform="translate(0,-4.57335)">			<title>Sheet.18</title>			<path d="M0 645.94 L49 645.94 L49 640.76 L44.8 633.61 L3.95 633.61 L0 640.76 L0 645.94 ZM44.94 632.44 L44.94 609.82						 C44.94 607.54 43.1 605.69 40.84 605.69 L8.05 605.69 C5.78 605.69 3.95 607.54 3.95 609.82 L3.95 632.44						 L44.94 632.44 Z" class="st12"></path>		</g>		<g id="shape19-78" transform="translate(4.82109,-10.3337)">			<title>Sheet.19</title>			<path d="M1.98 642.37 L0 645.94 L39.27 645.94 L37.29 642.37 L1.98 642.37 Z" class="st13"></path>		</g>		<g id="shape20-81" transform="translate(7.90035,-22.378)">			<title>Sheet.20</title>			<rect x="0" y="627.364" width="33.1998" height="18.5757" class="st12"></rect>		</g>	</g>	<g id="group21-83" transform="translate(238.812,-54.6898)">		<title>Laptop.21</title>		<g id="shape22-84" transform="translate(0,-4.57335)">			<title>Sheet.22</title>			<path d="M0 645.94 L49 645.94 L49 640.76 L44.8 633.61 L3.95 633.61 L0 640.76 L0 645.94 ZM44.94 632.44 L44.94 609.82						 C44.94 607.54 43.1 605.69 40.84 605.69 L8.05 605.69 C5.78 605.69 3.95 607.54 3.95 609.82 L3.95 632.44						 L44.94 632.44 Z" class="st12"></path>		</g>		<g id="shape23-86" transform="translate(4.82109,-10.3337)">			<title>Sheet.23</title>			<path d="M1.98 642.37 L0 645.94 L39.27 645.94 L37.29 642.37 L1.98 642.37 Z" class="st13"></path>		</g>		<g id="shape24-89" transform="translate(7.90035,-22.378)">			<title>Sheet.24</title>			<rect x="0" y="627.364" width="33.1998" height="18.5757" class="st12"></rect>		</g>	</g>	<g id="shape25-91" transform="translate(826.815,492.25) rotate(90)">		<title>Sheet.25</title>		<path d="M6.68 645.94 L7.04 645.94 L46.51 645.94" class="st10"></path>	</g>	<g id="shape26-98" transform="translate(907.481,492.25) rotate(90)">		<title>Sheet.26</title>		<path d="M6.68 645.94 L7.04 645.94 L46.58 645.94" class="st10"></path>	</g>	<g id="shape27-105" transform="translate(210.5,-87.4395)">		<title>Sheet.27</title>		<path d="M0 645.94 L22.5 645.94" class="st14"></path>	</g>	<g id="shape28-108" transform="translate(18.875,-567.94)">		<title>Sheet.28</title>		<desc>User space</desc>		<rect x="0" y="632.44" width="72" height="13.5" class="st15"></rect>		<text x="5.65" y="642.79" class="st5">User space</text>		</g>	<g id="shape29-111" transform="translate(18.875,-538.69)">		<title>Sheet.29</title>		<desc>Kernel space</desc>		<rect x="0" y="632.44" width="85.5" height="13.5" class="st15"></rect>		<text x="7.73" y="642.79" class="st5">Kernel space</text>		</g>	<g id="shape30-114" transform="translate(356.375,-606.19)">		<title>Sheet.30</title>		<desc>APSS</desc>		<rect x="0" y="632.44" width="72" height="13.5" class="st15"></rect>		<text x="19.66" y="642.79" class="st16">APSS</text>		</g>	<g id="shape31-117" transform="translate(182.25,-318.19)">		<title>Sheet.31</title>		<desc>PCIe connect</desc>		<rect x="0" y="632.44" width="85.5" height="13.5" class="st1"></rect>		<text x="6.73" y="642.79" class="st5">PCIe connect</text>		</g>	<g id="shape32-120" transform="translate(19.75,-274.875)">		<title>Sheet.32</title>		<desc>Ethernet hardware</desc>		<rect x="0" y="632.44" width="112.5" height="13.5" class="st15"></rect>		<text x="4" y="642.79" class="st5">Ethernet hardware</text>		</g>	<g id="shape1002-123" transform="translate(105.5,-18.375)">		<title>Sheet.1002</title>		<desc>Developer specific</desc>		<rect x="0" y="624.34" width="94.5" height="21.6" class="st2"></rect>		<text x="6.4" y="638.14" class="st17">Developer specific</text>		</g>	<g id="shape1003-126" transform="translate(204.875,-18.375)">		<title>Sheet.1003</title>		<desc>Open-source</desc>		<rect x="0" y="624.34" width="72" height="21.6" class="st4"></rect>		<text x="7.1" y="638.14" class="st18">Open-source</text>		</g>	<g id="shape1004-129" transform="translate(281.75,-18.375)">		<title>Sheet.1004</title>		<desc>Software</desc>		<rect x="0" y="624.34" width="72" height="21.6" class="st6"></rect>		<text x="16.27" y="638.14" class="st18">Software</text>		</g>	<g id="shape1005-132" transform="translate(358.725,-18.625)">		<title>Sheet.1005</title>		<desc>Hardware</desc>		<rect x="0" y="624.34" width="72" height="21.6" class="st7"></rect>		<text x="14.33" y="638.14" class="st18">Hardware</text>		</g></g>
</svg>

Ethernet architecture on RB3 Gen 2 Development Kit

The following table describes the components of Ethernet architecture.

| Component | Description |
| --- | --- |
| Application processor subsystem (APSS) | Runs on a Linux-based operating system. |
| Ethernet driver | <ul class="simple"><br><li><p>A software driver in the Linux kernel.</p></li><br><li><p>Provides data connectivity over a wired Ethernet interface.</p></li><br></ul> |
| PHY driver | <ul class="simple"><br><li><p>A low-level driver dedicated to manage the Ethernet physical layer.</p></li><br><li><p>Implements a software statemachine required to handle the lifecycle of PHY, from initialization to link establishment.</p></li><br><li><p>Interacts with an underlying management data input/output (MDIO) to access the PHY register and perform operations such as detecting alive and/or linked PHYs.</p></li><br></ul> |
| Ethernet hardware (RB3 Gen 2 Development Kit) | <ul class="simple"><br><li><p>Both QEP and AQR PHYs are validated on <a href="https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-251/rb3_mainboard_connectors.html" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-251/rb3_mainboard_connectors.html')">RB3 Gen 2 Development Kit</a>.</p></li><br><li><p>QEP PHY for 2.5 GbE is available by default on SGMII interface. It is enabled and verified on a 1 x QEP8121 IX connector.</p></li><br><li><p>USB2ETH interface with 1 GbE is available by default and verified on RJ45 connector.</p></li><br><li><p>AQR PHY for 10 GbE is optional and may not be available on the development kit. If available, it is verified on a 1 x AQR113C IX connector.</p></li><br></ul><br><br>Note<br><br><br>The sample outputs shown in the subsequent sections are based on the verification of QEP8121 PHY, USB2ETH, and AQR113C PHY.<br><br><ul class="simple"><br><li><p>To bring up hardware configurations other than the configuration provided by Qualcomm, see <a href="https://docs.qualcomm.com/doc/80-70017-26/topic/bring_up_alternate_hardware_configurations.html#bring-up-alternate-hardware-enablement"><span class="std std-ref">Bring up alternate hardware enablement</span></a>.</p></li><br><li><p>For information on how to configure USB2ETH, see <a href="https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#configure-ethernet-with-rj45-port" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#configure-ethernet-with-rj45-port')">Configure Ethernet with RJ45</a></p></li><br></ul> |

The following figure shows both standard and DPDK architectures, and the components involved in communicating data over Ethernet on the IQ-9 Beta EVK.

<?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 ethernet-arch-qcs9100.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" width="10.3976in" height="10.6271in" viewbox="0 0 748.625 765.15" xml:space="preserve" color-interpolation-filters="sRGB" class="st21"><style>.svg-2 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st2 { fill: #4a5a75; stroke: #4a5a75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st3 { fill: #ffffff; font-family: Arial; font-size: 1.00001em }
.svg-2 .st4 { fill: #acbacf; stroke: #acbacf; 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 { fill: #7ba0ff; stroke: #7ba0ff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st7 { fill: #dee3ec; stroke: #dee3ec; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st8 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st9 { stroke: #000000; stroke-dasharray: 3, 3; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st10 { marker-end: url("#mrkr5-37"); marker-start: url("#mrkr5-35"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st11 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.28409090909091 }
.svg-2 .st12 { fill: #ffffff; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st13 { fill: #000000 }
.svg-2 .st14 { stroke: #000000; stroke-dasharray: 0, 4.5; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-2 .st15 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st16 { fill: #000000; font-family: Arial; font-size: 1.00001em; font-weight: bold }
.svg-2 .st17 { font-size: 1em }
.svg-2 .st18 { fill: #ffffff; font-family: Arial; font-size: 0.833336em }
.svg-2 .st19 { fill: #000000; font-family: Arial; font-size: 0.833336em }
.svg-2 .st20 { fill: #acbacf; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st21 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend5">		<path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"></path>	</g>	<marker id="mrkr5-35" class="st11" refx="5.8" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(3.52) "></use>	</marker>	<marker id="mrkr5-37" class="st11" refx="-6.16" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(-3.52,-3.52) "></use>	</marker></defs><g>	<title>VBackground-1</title>	<g id="shape1000-1">		<title>Solid.1000</title>		<rect x="0" y="0" width="748.625" height="765.15" class="st1"></rect>	</g></g><g>	<title>Page-1</title>	<g id="shape1-3" transform="translate(104.25,-667.5)">		<title>Sheet.1</title>		<desc>Applications</desc>		<rect x="0" y="738.15" width="157.5" height="27" class="st2"></rect>		<text x="46.4" y="755.25" class="st3">Applications</text>		</g>	<g id="shape2-6" transform="translate(105,-490.065)">		<title>Sheet.2</title>		<desc>Linux kernel network stack</desc>		<rect x="0" y="720.15" width="157.5" height="45" class="st4"></rect>		<text x="8.05" y="746.25" class="st5">Linux kernel network stack</text>		</g>	<g id="shape3-9" transform="translate(103.875,-432.565)">		<title>Sheet.3</title>		<desc>Ethernet driver</desc>		<rect x="0" y="738.15" width="157.5" height="27" class="st6"></rect>		<text x="39.4" y="755.25" class="st5">Ethernet driver</text>		</g>	<g id="shape4-12" transform="translate(103.875,-373.065)">		<title>Sheet.4</title>		<desc>PHY driver 1, 2,...n</desc>		<rect x="0" y="738.15" width="157.5" height="27" class="st6"></rect>		<text x="28.06" y="755.25" class="st5">PHY driver 1, 2,...n</text>		</g>	<g id="shape5-15" transform="translate(111.976,-263.145)">		<title>Sheet.5</title>		<desc>Ethernet hardware</desc>		<rect x="0" y="738.15" width="144" height="27" class="st7"></rect>		<text x="22.64" y="755.25" class="st5">Ethernet hardware</text>		</g>	<g id="shape6-18" transform="translate(111.899,-211.69)">		<title>Sheet.6</title>		<desc>PHY hardware 1, 2,...n</desc>		<rect x="0" y="738.15" width="144" height="27" class="st7"></rect>		<text x="11.3" y="755.25" class="st5">PHY hardware 1, 2,...n</text>		</g>	<g id="shape7-21" transform="translate(112.5,-157.271)">		<title>Sheet.7</title>		<desc>RJ45/IX 1, 2,…n</desc>		<rect x="0" y="738.15" width="144" height="27" class="st7"></rect>		<text x="27.98" y="755.25" class="st5">RJ45/IX 1, 2,…n</text>		</g>	<g id="shape8-24" transform="translate(18.875,-356.065)">		<title>Sheet.8</title>		<rect x="0" y="401.965" width="318.938" height="363.185" class="st8"></rect>	</g>	<g id="shape9-26" transform="translate(18.875,-567.315)">		<title>Sheet.9</title>		<path d="M0 765.15 L318.94 765.15" class="st9"></path>	</g>	<g id="shape10-29" transform="translate(948.837,97.6498) rotate(90)">		<title>Sheet.10</title>		<path d="M5.8 765.15 L6.16 765.15 L125.9 765.15" class="st10"></path>	</g>	<g id="shape11-38" transform="translate(948.259,286.299) rotate(90.8211)">		<title>Sheet.11</title>		<path d="M5.8 765.15 L6.16 765.15 L24.12 765.15" class="st10"></path>	</g>	<g id="shape12-45" transform="translate(948.337,332.585) rotate(90)">		<title>Sheet.12</title>		<path d="M5.8 765.15 L6.16 765.15 L26.19 765.15" class="st10"></path>	</g>	<g id="shape13-52" transform="translate(18.875,-139.69)">		<title>Sheet.13</title>		<rect x="0" y="601.87" width="318.938" height="163.279" class="st8"></rect>	</g>	<g id="shape14-54" transform="translate(947.775,409.085) rotate(90)">		<title>Sheet.14</title>		<path d="M5.8 765.15 L6.16 765.15 L45.59 765.15" class="st10"></path>	</g>	<g id="shape15-61" transform="translate(949.087,502.005) rotate(90)">		<title>Sheet.15</title>		<path d="M5.8 765.15 L6.16 765.15 L18.29 765.15" class="st10"></path>	</g>	<g id="shape16-68" transform="translate(949.087,553.46) rotate(90)">		<title>Sheet.16</title>		<path d="M5.8 765.15 L6.16 765.15 L20.84 765.15" class="st10"></path>	</g>	<g id="group17-75" transform="translate(117.5,-57.6)">		<title>Laptop</title>		<g id="shape18-76" transform="translate(0,-4.57335)">			<title>Sheet.18</title>			<path d="M0 765.15 L49 765.15 L49 759.97 L44.8 752.82 L3.95 752.82 L0 759.97 L0 765.15 ZM44.94 751.65 L44.94 729.03						 C44.94 726.75 43.1 724.9 40.84 724.9 L8.05 724.9 C5.78 724.9 3.95 726.75 3.95 729.03 L3.95 751.65 L44.94						 751.65 Z" class="st12"></path>		</g>		<g id="shape19-78" transform="translate(4.82109,-10.3337)">			<title>Sheet.19</title>			<path d="M1.98 761.58 L0 765.15 L39.27 765.15 L37.29 761.58 L1.98 761.58 Z" class="st13"></path>		</g>		<g id="shape20-81" transform="translate(7.90035,-22.378)">			<title>Sheet.20</title>			<rect x="0" y="746.574" width="33.1998" height="18.5757" class="st12"></rect>		</g>	</g>	<g id="group21-83" transform="translate(201.375,-57.6)">		<title>Laptop.21</title>		<g id="shape22-84" transform="translate(0,-4.57335)">			<title>Sheet.22</title>			<path d="M0 765.15 L49 765.15 L49 759.97 L44.8 752.82 L3.95 752.82 L0 759.97 L0 765.15 ZM44.94 751.65 L44.94 729.03						 C44.94 726.75 43.1 724.9 40.84 724.9 L8.05 724.9 C5.78 724.9 3.95 726.75 3.95 729.03 L3.95 751.65 L44.94						 751.65 Z" class="st12"></path>		</g>		<g id="shape23-86" transform="translate(4.82109,-10.3337)">			<title>Sheet.23</title>			<path d="M1.98 761.58 L0 765.15 L39.27 765.15 L37.29 761.58 L1.98 761.58 Z" class="st13"></path>		</g>		<g id="shape24-89" transform="translate(7.90035,-22.378)">			<title>Sheet.24</title>			<rect x="0" y="746.574" width="33.1998" height="18.5757" class="st12"></rect>		</g>	</g>	<g id="shape25-91" transform="translate(908.587,608.55) rotate(90)">		<title>Sheet.25</title>		<path d="M5.8 765.15 L6.16 765.15 L47.39 765.15" class="st10"></path>	</g>	<g id="shape26-98" transform="translate(989.254,608.55) rotate(90)">		<title>Sheet.26</title>		<path d="M5.8 765.15 L6.16 765.15 L47.46 765.15" class="st10"></path>	</g>	<g id="shape27-105" transform="translate(173.063,-90.3497)">		<title>Sheet.27</title>		<path d="M0 765.15 L22.5 765.15" class="st14"></path>	</g>	<g id="shape28-108" transform="translate(18.375,-574.315)">		<title>Sheet.28</title>		<desc>User space</desc>		<rect x="0" y="751.65" width="72" height="13.5" class="st15"></rect>		<text x="5.65" y="762" class="st5">User space</text>		</g>	<g id="shape29-111" transform="translate(18.375,-545.065)">		<title>Sheet.29</title>		<desc>Kernel space</desc>		<rect x="0" y="751.65" width="85.5" height="13.5" class="st15"></rect>		<text x="7.73" y="762" class="st5">Kernel space</text>		</g>	<g id="shape30-114" transform="translate(274.5,-698.625)">		<title>Sheet.30</title>		<desc>APSS</desc>		<rect x="0" y="751.65" width="72" height="13.5" class="st15"></rect>		<text x="19.66" y="762" class="st16">APSS</text>		</g>	<g id="shape32-117" transform="translate(20.25,-273.375)">		<title>Sheet.32</title>		<desc>Ethernet hardware</desc>		<rect x="0" y="751.65" width="85.5" height="13.5" class="st15"></rect>		<text x="4" y="754.8" class="st5">Ethernet <tspan x="4" dy="1.2em" class="st17">hardware</tspan></text>		</g>	<g id="shape1002-121" transform="translate(403.367,-18.375)">		<title>Sheet.1002</title>		<desc>Developer specific</desc>		<rect x="0" y="743.55" width="94.5" height="21.6" class="st2"></rect>		<text x="6.4" y="757.35" class="st18">Developer specific</text>		</g>	<g id="shape1003-124" transform="translate(502.742,-18.375)">		<title>Sheet.1003</title>		<desc>Open-source</desc>		<rect x="0" y="743.55" width="72" height="21.6" class="st4"></rect>		<text x="7.1" y="757.35" class="st19">Open-source</text>		</g>	<g id="shape1004-127" transform="translate(579.617,-18.375)">		<title>Sheet.1004</title>		<desc>Software</desc>		<rect x="0" y="743.55" width="72" height="21.6" class="st6"></rect>		<text x="16.27" y="757.35" class="st19">Software</text>		</g>	<g id="shape1005-130" transform="translate(656.592,-18.625)">		<title>Sheet.1005</title>		<desc>Hardware</desc>		<rect x="0" y="743.55" width="72" height="21.6" class="st7"></rect>		<text x="14.33" y="757.35" class="st19">Hardware</text>		</g>	<g id="shape1049-133" transform="translate(142.344,-733.2)">		<title>Sheet.1049</title>		<desc>Standard</desc>		<rect x="0" y="751.65" width="72" height="13.5" class="st15"></rect>		<text x="10" y="762" class="st16">Standard</text>		</g>	<g id="shape1050-136" transform="translate(508.5,-668.093)">		<title>Sheet.1050</title>		<desc>Applications</desc>		<rect x="0" y="738.15" width="157.5" height="27" class="st2"></rect>		<text x="46.4" y="755.25" class="st3">Applications</text>		</g>	<g id="shape1054-139" transform="translate(516.226,-263.737)">		<title>Sheet.1054</title>		<desc>Ethernet hardware</desc>		<rect x="0" y="738.15" width="144" height="27" class="st7"></rect>		<text x="22.64" y="755.25" class="st5">Ethernet hardware</text>		</g>	<g id="shape1055-142" transform="translate(516.149,-212.282)">		<title>Sheet.1055</title>		<desc>PHY hardware 1, 2,...n</desc>		<rect x="0" y="738.15" width="144" height="27" class="st7"></rect>		<text x="11.3" y="755.25" class="st5">PHY hardware 1, 2,...n</text>		</g>	<g id="shape1056-145" transform="translate(516.75,-157.864)">		<title>Sheet.1056</title>		<desc>RJ45/IX 1, 2,…n</desc>		<rect x="0" y="738.15" width="144" height="27" class="st7"></rect>		<text x="27.98" y="755.25" class="st5">RJ45/IX 1, 2,…n</text>		</g>	<g id="shape1057-148" transform="translate(373.219,-356.657)">		<title>Sheet.1057</title>		<rect x="0" y="401.965" width="356.906" height="363.185" class="st8"></rect>	</g>	<g id="shape1058-150" transform="translate(373.219,-567.907)">		<title>Sheet.1058</title>		<path d="M0 765.15 L356.91 765.15" class="st9"></path>	</g>	<g id="shape1059-153" transform="translate(1353.09,97.0572) rotate(90)">		<title>Sheet.1059</title>		<path d="M5.8 765.15 L6.16 765.15 L25.93 765.15" class="st10"></path>	</g>	<g id="shape1062-160" transform="translate(373.219,-140.282)">		<title>Sheet.1062</title>		<rect x="0" y="601.87" width="356.906" height="163.279" class="st8"></rect>	</g>	<g id="shape1063-162" transform="translate(1352.02,174.15) rotate(90)">		<title>Sheet.1063</title>		<path d="M5.8 765.15 L6.16 765.15 L279.93 765.15" class="st10"></path>	</g>	<g id="shape1064-169" transform="translate(1353.34,501.412) rotate(90)">		<title>Sheet.1064</title>		<path d="M5.8 765.15 L6.16 765.15 L18.29 765.15" class="st10"></path>	</g>	<g id="shape1065-176" transform="translate(1353.34,552.867) rotate(90)">		<title>Sheet.1065</title>		<path d="M5.8 765.15 L6.16 765.15 L20.84 765.15" class="st10"></path>	</g>	<g id="group1066-183" transform="translate(522,-58.2824)">		<title>Laptop.1066</title>		<g id="shape1067-184" transform="translate(0,-4.57335)">			<title>Sheet.1067</title>			<path d="M0 765.15 L49 765.15 L49 759.97 L44.8 752.82 L3.95 752.82 L0 759.97 L0 765.15 ZM44.94 751.65 L44.94 729.03						 C44.94 726.75 43.1 724.9 40.84 724.9 L8.05 724.9 C5.78 724.9 3.95 726.75 3.95 729.03 L3.95 751.65 L44.94						 751.65 Z" class="st12"></path>		</g>		<g id="shape1068-186" transform="translate(4.82109,-10.3337)">			<title>Sheet.1068</title>			<path d="M1.98 761.58 L0 765.15 L39.27 765.15 L37.29 761.58 L1.98 761.58 Z" class="st13"></path>		</g>		<g id="shape1069-189" transform="translate(7.90035,-22.378)">			<title>Sheet.1069</title>			<rect x="0" y="746.574" width="33.1998" height="18.5757" class="st12"></rect>		</g>	</g>	<g id="group1070-191" transform="translate(605.875,-58.2824)">		<title>Laptop.1070</title>		<g id="shape1071-192" transform="translate(0,-4.57335)">			<title>Sheet.1071</title>			<path d="M0 765.15 L49 765.15 L49 759.97 L44.8 752.82 L3.95 752.82 L0 759.97 L0 765.15 ZM44.94 751.65 L44.94 729.03						 C44.94 726.75 43.1 724.9 40.84 724.9 L8.05 724.9 C5.78 724.9 3.95 726.75 3.95 729.03 L3.95 751.65 L44.94						 751.65 Z" class="st12"></path>		</g>		<g id="shape1072-194" transform="translate(4.82109,-10.3337)">			<title>Sheet.1072</title>			<path d="M1.98 761.58 L0 765.15 L39.27 765.15 L37.29 761.58 L1.98 761.58 Z" class="st13"></path>		</g>		<g id="shape1073-197" transform="translate(7.90035,-22.378)">			<title>Sheet.1073</title>			<rect x="0" y="746.574" width="33.1998" height="18.5757" class="st12"></rect>		</g>	</g>	<g id="shape1074-199" transform="translate(1312.84,607.867) rotate(90)">		<title>Sheet.1074</title>		<path d="M5.8 765.15 L6.16 765.15 L47.39 765.15" class="st10"></path>	</g>	<g id="shape1075-206" transform="translate(1393.5,607.867) rotate(90)">		<title>Sheet.1075</title>		<path d="M5.8 765.15 L6.16 765.15 L47.46 765.15" class="st10"></path>	</g>	<g id="shape1076-213" transform="translate(576.833,-91.0321)">		<title>Sheet.1076</title>		<path d="M0 765.15 L22.5 765.15" class="st14"></path>	</g>	<g id="shape1077-216" transform="translate(372.719,-574.907)">		<title>Sheet.1077</title>		<desc>User space</desc>		<rect x="0" y="751.65" width="72" height="13.5" class="st15"></rect>		<text x="5.65" y="762" class="st5">User space</text>		</g>	<g id="shape1078-219" transform="translate(372.719,-545.657)">		<title>Sheet.1078</title>		<desc>Kernel space</desc>		<rect x="0" y="751.65" width="85.5" height="13.5" class="st15"></rect>		<text x="7.73" y="762" class="st5">Kernel space</text>		</g>	<g id="shape1079-222" transform="translate(375.75,-273.968)">		<title>Sheet.1079</title>		<desc>Ethernet hardware</desc>		<rect x="0" y="751.65" width="85.5" height="13.5" class="st15"></rect>		<text x="4" y="754.8" class="st5">Ethernet <tspan x="4" dy="1.2em" class="st17">hardware</tspan></text>		</g>	<g id="shape1080-226" transform="translate(496.687,-733.2)">		<title>Sheet.1080</title>		<desc>DPDK</desc>		<rect x="0" y="751.65" width="72" height="13.5" class="st15"></rect>		<text x="19" y="762" class="st16">DPDK</text>		</g>	<g id="shape1081-229" transform="translate(508.5,-591)">		<title>Sheet.1081</title>		<desc>DPDK libraries DPDK PMD</desc>		<rect x="0" y="720.15" width="157.5" height="45" class="st20"></rect>		<text x="39.41" y="739.05" class="st5">DPDK libraries <tspan x="47.08" dy="1.2em" class="st17">DPDK PMD</tspan></text>		</g>	<g id="shape1082-233" transform="translate(674.297,-701.25)">		<title>Sheet.1082</title>		<desc>APSS</desc>		<rect x="0" y="751.65" width="55.4063" height="13.5" class="st15"></rect>		<text x="11.36" y="762" class="st16">APSS</text>		</g>	<g id="shape1083-236" transform="translate(395.812,-489)">		<title>Sheet.1083</title>		<desc>Linux kernel network stack</desc>		<rect x="0" y="720.15" width="157.5" height="45" class="st4"></rect>		<text x="8.05" y="746.25" class="st5">Linux kernel network stack</text>		</g>	<g id="shape1084-239" transform="translate(394.688,-431.5)">		<title>Sheet.1084</title>		<desc>Ethernet driver</desc>		<rect x="0" y="738.15" width="157.5" height="27" class="st6"></rect>		<text x="39.4" y="755.25" class="st5">Ethernet driver</text>		</g>	<g id="shape1085-242" transform="translate(394.688,-372)">		<title>Sheet.1085</title>		<desc>PHY driver 1, 2,...n</desc>		<rect x="0" y="738.15" width="157.5" height="27" class="st6"></rect>		<text x="28.06" y="755.25" class="st5">PHY driver 1, 2,...n</text>		</g>	<g id="shape1086-245" transform="translate(1239.07,287.364) rotate(90.8211)">		<title>Sheet.1086</title>		<path d="M5.8 765.15 L6.16 765.15 L24.12 765.15" class="st10"></path>	</g>	<g id="shape1087-252" transform="translate(1239.15,333.65) rotate(90)">		<title>Sheet.1087</title>		<path d="M5.8 765.15 L6.16 765.15 L26.19 765.15" class="st10"></path>	</g></g>
</svg>

Ethernet architecture on IQ-9 Beta EVK

The following table describes the components on Ethernet architecture.

| Component | Description |
| --- | --- |
| Application processor subsystem (APSS) | Runs on a Linux-based operating system. |
| Ethernet driver | <ul class="simple"><br><li><p>A software driver in the Linux kernel.</p></li><br><li><p>Provides data connectivity over a wired Ethernet interface.</p></li><br></ul> |
| PHY driver | <ul class="simple"><br><li><p>A low-level driver dedicated to manage the Ethernet physical layer.</p></li><br><li><p>Implements a software statemachine required to handle the lifecycle of PHY, from initialization to link establishment.</p></li><br><li><p>Interacts with an underlying management data input/output (MDIO) to access the PHY register and perform operations such as detecting alive and/or linked PHYs.</p></li><br></ul> |
| Ethernet hardware (IQ-9 Beta EVK) | <ul class="simple"><br><li><p>AQR PHYs are validated on IQ-9 Beta EVK.</p></li><br><li><p>2 x AQR115 PHY for 2.5 GbE are available by default.</p></li><br><li><p>Both AQR115 PHYs are enabled by RJ45 connectors.</p></li><br><li><p><a href="https://docs.qualcomm.com/doc/80-70017-26/topic/features.html#dpdk"><span class="std std-ref">DPDK</span></a> is supported on QCS9100 and works only with <a href="https://www.intel.com/content/www/us/en/products/sku/88209/intel-ethernet-converged-network-adapter-x550t2/specifications.html" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://www.intel.com/content/www/us/en/products/sku/88209/intel-ethernet-converged-network-adapter-x550t2/specifications.html')">Intel® Ethernet Converged Network Adapter X550-T2</a>.</p></li><br></ul><br><br>Note<br><br><br>Intel® Ethernet Converged Network Adapter X550-T2 is optional and may not be available on the IQ-9 Beta EVK. |

Last Published: Dec 24, 2024

[Previous Topic
Features](https://docs.qualcomm.com/bundle/publicresource/80-70017-26/topics/features.md) [Next Topic
Tools](https://docs.qualcomm.com/bundle/publicresource/80-70017-26/topics/tools.md)