€cdocutils.nodes document q)�q}q(U nametypesq}q(Xbaremetal-exampleqˆX1mcasp_bufferformat_multiser_1slot_ser_interleavedqˆXiolink-configuration-structureqˆXrunning the ipclld examplesq NXaudioeq exampleq ˆXbenchmark toolq NXboard-specific-configurationq ˆXpruss-configuration-structureq ˆXrunning-display-dss-wb-exampleqˆX dss examplesqNXfatfs-configuration-structureqˆXexamples & unit testsqNXsupported-platforms-1qˆX init-srioqˆXmodifiedqˆXmemory considerationsqNXresource tableqNXprimingqˆXDhow-to-use-pa-emac-example-to-test-other-ethernet-ports-than-defaultqˆXhardware setupqNX$loopback-capture-and-display-exampleqˆXmcspiqNX vps driversqNXhereqˆXuser interfaceqNXvps-configuration-structureqˆXoverviewq NXpm-configuration-structureq!ˆX integrationq"NXsupport for benchmark testingq#NXapplication integrationq$NX api call flowq%NXapplication integration detailsq&NXoutputq'ˆX6can-pa-be-used-to-forward-all-incoming-packets-to-hostq(ˆXfaqq)NX;typical data-flow in ipclld communication between two coresq*NX debug guideq+NX$detailed-instructions-to-run-exampleq,ˆXrmq-NX serdes diagq.NXedma3_sample_libsq/ˆXsitara processor datasheetq0ˆXsupported-devicesq1ˆXbuilding dss examplesq2NX debug faqq3NX edma-usageq4ˆXinterposer layoutq5ˆXrunning-the-display-dss-exampleq6ˆXsciclient shim layerq7NX build targetsq8NXein-dss-example-two-input-video-files-are-loaded-for-testing-what-is-their-format-and-how-to-play-themq9ˆX.building mmcsd test applications via makefilesq:NXprocessor_boot_api_interfaceq;ˆXcal-configuration-structureq<ˆX?can-i-load-any-jpeg-file-into-the-memory-to-display-through-dssq=ˆX vps examplesq>NXipclldq?NX-mcasp_bufferformat_1ser_multislot_interleavedq@ˆX4benchmarking read/write performance (on am65x/j721e)qANXiolinkqBNX cal examplesqCNXtest applicationqDNXmcaspqENX icss-emacqFNXbuilding serdes diag examplesqGNXemacqHNXsciclient_serviceqIˆX.building fatfs test applications via makefilesqJNXexamplesqKNXuhs-mode-usageqLˆXload using a boot-mediaqMNX endpoint-epqNˆXgpioqONXgpio-configuration-structureqPˆXdirectory structureqQNXrunning-the-udma-examplesqRˆXdisplay dss exampleqSNX dma-usageqTˆXFwhat-is-the-difference-between-internal-loopback-and-external-loopbackqUˆXsysbios-exampleqVˆXdssqWNXadditional referencesqXNX am335xam437xqYˆXfeaturesqZNX/setup-of-multiple-evms-with-one-instance-of-ccsq[ˆXavailable core namesq\NXdriver-configuration-gpioq]ˆXbuilding sa examples/unit testq^NX.building mcasp test applications via makefilesq_NX profilingq`NXbuild-instructions-1qaˆXcalqbNXsample-example-outputqcˆXmcspi-qspi-ospiqdNXsystem firmware logs parseqeNX"running-the-emac-test applicationsqfˆX referencesqgNX description-2qhˆXrunning-loopback-exampleqiˆX0detailed-instructions-to-run-cicinterruptexampleqjˆX handling two or more ccxml filesqkNXcppiqlNX%how-to-test-pa-emac-example-with-a-pcqmˆX1mcasp_bufferformat_1ser_multislot_non_interleavedqnˆXsciclient_loadfirmwareqoˆX usb host mscqpNX installationqqNXresource_managementqrˆX/ospi driver configuration to support qspi flashqsNXuartqtNX udma examplesquNXpcieqvNXospiqwNX description-1qxˆX build and runqyNXloading remote firmwareqzNXorq{NX open-uartq|ˆXmodes of operationq}NXsendreceive-apisq~ˆXexample detailsqNXcsl-fl examplesq€NX!hyperlink-configuration-structureq�ˆXboard specific configurationq‚NXrunning-the-display-examplesqƒˆXbuilding cal examplesq„NXexample and test applicationsq…NXtsipq†NXrunning the echo testsq‡NXcppi lldqˆˆXbuild-instructionsq‰ˆXusbqŠNX key-featuresq‹ˆX introductionqŒˆXrunning-the-cal-examplesq�ˆXqmss lldqŽˆXVwhat are the right pa/netcp/ethernet user guides to use for different keystone devicesq�ˆX eclipse rtscq�ˆXpaq‘NX+running emac examples and test applicationsq’NXedma3q“NXintroduction-1q”ˆX5mcasp_bufferformat_multiser_1slot_ser_non_interleavedq•ˆXpmq–NXfilesq—ˆX boot-modesq˜ˆX;differences-in-operation-between-c66xk2x-and-am57xx-devicesq™ˆXmcasp_bufferformat_1ser_1slotqšˆXpcie-configuration-structureq›ˆX%dependency of external pdk componentsqœNX tidep0069q�ˆXapisqžNXterms and abbreviationqŸNX8mcasp_bufferformat_multiser_multislot_semi_interleaved_2q ˆX interruptsq¡ˆXprocessor sdk resource managerq¢ˆX building-and-running-the-exampleq£ˆX%https://git.ti.com/processor-sdk/pdk/q¤ˆXmcasp-buffer-formatsq¥ˆX"quick-setup-of-xds100-for-two-evmsq¦ˆXsoftware-architectureq§ˆXresource-configurationq¨ˆX-building emac test applications via makefilesq©NX#writing helloworld app using ipclldqªNX8mcasp_bufferformat_multiser_multislot_semi_interleaved_1q«ˆXdriver overviewq¬NXsciclient_initq­ˆXbuilding udma examplesq®NXspiq¯NXbenchmarking stepsq°NXprofiling-post-processingq±ˆXLrtos customization: using an external input to trigger an interrupt on am57xq²ˆXi2c-configuration-structureq³ˆXudmaq´NXtesting-the-exampleqµˆXgpmc-configuration-structureq¶ˆXfatfsq·NXsrioq¸NXsoc specific configurationq¹NXosalqºNXmcasp-wordbits-selectionq»ˆXuart-configuration-structureq¼ˆXhyplnkq½NX0detailed-instructions-to-run-memorymappedexampleq¾ˆXmodes-of-operationq¿ˆXgpmcqÀNXroot-complex-rcqÁˆXsaqÂNXtesting-the-example-1qÈXoperating system extensionqÄNXbuilding vps examplesqÅNXmmcsdqÆNXrebuild the projectqÇNXmmcsd-configuration-structureqȈX sciclientqÉNXinterposer card supportqÊNXrm-instance-typesqˈXqspiqÌNXcslqÍNX emmc-usageqΈXsciclient coreqÏNXfirmwareqЈXqmssqÑNXbuilding uart examplesqÒNX applicationqÓNX debug-faqqÔˆXbuildqÕNXusb device mscqÖNX;how-to-create-a-ccs-project-other-than-vps-loopback-exampleq׈Xdisplay dss wb exampleqØNXspi configuration structureqÙNXti multicore processorsqÚˆXcommand to build ipclldqÛNXexpected outputqÜNXbuilding spi examplesqÝNX api-call-flowqÞˆXudma-configuration-structureq߈X descriptionqàˆXsupported-platformsqáˆX=how-to-reduce-the-vps-test-examples-build-time-using-makefileqâˆXload using ccsqãNXprofiling-processingqäˆXopen spiqåNXbuilding i2c examplesqæNXapi descriptionsqçNXdriver-featuresqèˆXbuilding iolink exampleqéNXpower_managementqêˆXprussqëNXdriver configurationqìNXipclld design detailsqíNXemac-configuration-structureqîˆXdss-configuration-structureqïˆX overview-1qðˆXaudio-test-setupqñˆXreadwrite-apisqòˆXsciclient_deinitqóˆXam57x/k2x/c66x/c674xqôNXtransport-configurationqõˆX#serdes_diag-configuration-structureqöˆXi2cq÷NXbuilding gpio examplesqøNX$building ccs projects based examplesqùNXmcbspqúNuUsubstitution_defsqû}qüUparse_messagesqý]qþ(cdocutils.nodes system_message qÿ)�r}r(U rawsourcerUUparentrcdocutils.nodes section r)�r}r(jUU referencedrKjj)�r}r (jUjKjj)�r }r (jUjhUsourcer XO/home/gtbldadm/nightlybuilds/processor-sdk-doc/source/rtos/index_device_drv.rstr UtagnamerUsectionrU attributesr}r(Udupnamesr]Uclassesr]Ubackrefsr]Uidsr]rUuartraUnamesr]rhtauUlinerK UdocumentrhUchildrenr]r(cdocutils.nodes title r)�r}r (jXUARTr!jj j j jUtitler"j}r#(j]j]j]j]j]ujK jhj]r$cdocutils.nodes Text r%XUARTr&…�r'}r((jj!jjubaubcdocutils.nodes comment r))�r*}r+(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_UARTjj j cdocutils.nodes reprunicode r,X=source/rtos/PDK_Platform_Software/Device_Drivers/UART.rst.incr-…�r.}r/bjUcommentr0j}r1(U xml:spacer2Upreserver3j]j]j]j]j]ujKjhj]r4j%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_UARTr5…�r6}r7(jUjj*ubaubj)�r8}r9(jUjKjj j j.jjj}r:(j]r;Xoverviewr<aj]j]j]r=Uoverviewr>aj]ujKjhj]r?(j)�r@}rA(jXOverviewrBjj8j j.jj"j}rC(j]j]j]j]j]ujKjhj]rDj%XOverviewrE…�rF}rG(jjBjj@ubaubj)�rH}rI(jUjKjj8j j.jjj}rJ(j]rKX introductionrLaj]j]j]rMU introductionrNaj]ujKjhj]rO(j)�rP}rQ(jX IntroductionrRjjHj j.jj"j}rS(j]j]j]j]j]ujKjhj]rTj%X IntroductionrU…�rV}rW(jjRjjPubaubcdocutils.nodes paragraph rX)�rY}rZ(jXžDriver enables UART's available on SOC for reading and writing to any peripherals on board. Additionally it supports simple APIs for Console/STDIO operations.r[jjHj j.jU paragraphr\j}r](j]j]j]j]j]ujK jhj]r^j%XžDriver enables UART's available on SOC for reading and writing to any peripherals on board. Additionally it supports simple APIs for Console/STDIO operations.r_…�r`}ra(jj[jjYubaubcdocutils.nodes rubric rb)�rc}rd(jXModes of OperationrejKjjHj j.jUrubricrfj}rg(j]rhUmodes-of-operationriaj]j]rjXmodes-of-operationrkaj]j]ujNjhj]rlj%XModes of Operationrm…�rn}ro(jjejjcubaubjX)�rp}rq(jX+Following modes of operations are supportedrrjjHj j.jj\j}rs(j]j]j]j]j]ujKjhj]rtj%X+Following modes of operations are supportedru…�rv}rw(jjrjjpubaubjX)�rx}ry(jXp**UART_MODE_BLOCKING**: In this mode, read and write APIs, blocks on semaphore until required operation is complete. By default, UART driver operates in blocking mode. In this mode, code execution of a task blocks until UART transaction is complete. While transaction is in progress additional tasks pending requests will remain in blocked state waiting for semaphore.jjHj j.jj\j}rz(j]j]j]j]j]ujKjhj]r{(cdocutils.nodes strong r|)�r}}r~(jX**UART_MODE_BLOCKING**j}r(j]j]j]j]j]ujjxj]r€j%XUART_MODE_BLOCKINGr�…�r‚}rƒ(jUjj}ubajUstrongr„ubj%XZ: In this mode, read and write APIs, blocks on semaphore until required operation is complete. By default, UART driver operates in blocking mode. In this mode, code execution of a task blocks until UART transaction is complete. While transaction is in progress additional tasks pending requests will remain in blocked state waiting for semaphore.r……�r†}r‡(jXZ: In this mode, read and write APIs, blocks on semaphore until required operation is complete. By default, UART driver operates in blocking mode. In this mode, code execution of a task blocks until UART transaction is complete. While transaction is in progress additional tasks pending requests will remain in blocked state waiting for semaphore.jjxubeubjX)�rˆ}r‰(jXœ**UART_MODE_CALLBACK**: In this mode, read and write operation returns immediately. On trigger of hardware Interrupt (hwi) callback function gets triggered.jjHj j.jj\j}rŠ(j]j]j]j]j]ujKjhj]r‹(j|)�rŒ}r�(jX**UART_MODE_CALLBACK**j}rŽ(j]j]j]j]j]ujjˆj]r�j%XUART_MODE_CALLBACKr�…�r‘}r’(jUjjŒubajj„ubj%X†: In this mode, read and write operation returns immediately. On trigger of hardware Interrupt (hwi) callback function gets triggered.r“…�r”}r•(jX†: In this mode, read and write operation returns immediately. On trigger of hardware Interrupt (hwi) callback function gets triggered.jjˆubeubeubeubjj)�r–}r—(jUjKjj j j.jjj}r˜(j]r™X applicationršaj]j]j]r›U applicationrœaj]ujK¼jhj]r�(j)�rž}rŸ(jX Applicationr jj–j j.jj"j}r¡(j]j]j]j]j]ujK¼jhj]r¢j%X Applicationr£…�r¤}r¥(jj jjžubaubj)�r¦}r§(jUjKjj–j j.jjj}r¨(j]r©Xexamplesrªaj]j]j]r«Uexamplesr¬aj]ujK¿jhj]r­(j)�r®}r¯(jXExamplesr°jj¦j j.jj"j}r±(j]j]j]j]j]ujK¿jhj]r²j%XExamplesr³…�r´}rµ(jj°jj®ubaubcdocutils.nodes table r¶)�r·}r¸(jUjj¦j j.jUtabler¹j}rº(j]j]j]j]j]ujNjhj]r»cdocutils.nodes tgroup r¼)�r½}r¾(jUj}r¿(j]j]j]j]j]UcolsKujj·j]rÀ(cdocutils.nodes colspec rÁ)�rÂ}rÃ(jUj}rÄ(j]j]j]j]j]UcolwidthKujj½j]jUcolspecrÅubjÁ)�rÆ}rÇ(jUj}rÈ(j]j]j]j]j]UcolwidthKujj½j]jjÅubjÁ)�rÉ}rÊ(jUj}rË(j]j]j]j]j]UcolwidthKujj½j]jjÅubjÁ)�rÌ}rÍ(jUj}rÎ(j]j]j]j]j]UcolwidthKujj½j]jjÅubjÁ)�rÏ}rÐ(jUj}rÑ(j]j]j]j]j]UcolwidthKujj½j]jjÅubcdocutils.nodes thead rÒ)�rÓ}rÔ(jUj}rÕ(j]j]j]j]j]ujj½j]rÖcdocutils.nodes row r×)�rØ}rÙ(jUj}rÚ(j]j]j]j]j]ujjÓj]rÛ(cdocutils.nodes entry rÜ)�rÝ}rÞ(jUj}rß(j]j]j]j]j]ujjØj]ràjX)�rá}râ(jXNamerãjjÝj j.jj\j}rä(j]j]j]j]j]ujKÂj]råj%XNameræ…�rç}rè(jjãjjáubaubajUentryréubjÜ)�rê}rë(jUj}rì(j]j]j]j]j]ujjØj]ríjX)�rî}rï(jX Descriptionrðjjêj j.jj\j}rñ(j]j]j]j]j]ujKÂj]ròj%X Descriptionró…�rô}rõ(jjðjjîubaubajjéubjÜ)�rö}r÷(jUj}rø(j]j]j]j]j]ujjØj]rùjX)�rú}rû(jXExpected Resultsrüjjöj j.jj\j}rý(j]j]j]j]j]ujKÂj]rþj%XExpected Resultsrÿ…�r}r(jjüjjúubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjØj]rjX)�r}r(jX SoC Supportedrjjj j.jj\j}r (j]j]j]j]j]ujKÂj]r j%X SoC Supportedr …�r }r (jjjjubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjØj]rjX)�r}r(jX Build Typerjjj j.jj\j}r(j]j]j]j]j]ujKÂj]rj%X Build Typer…�r}r(jjjjubaubajjéubejUrowrubajUtheadrubcdocutils.nodes tbody r)�r}r(jUj}r(j]j]j]j]j]ujj½j]r (j×)�r!}r"(jUj}r#(j]j]j]j]j]ujjj]r$(jÜ)�r%}r&(jUj}r'(j]j]j]j]j]ujj!j]r(jX)�r)}r*(jXUART_Example applicationr+jj%j j.jj\j}r,(j]j]j]j]j]ujKÄj]r-j%XUART_Example applicationr.…�r/}r0(jj+jj)ubaubajjéubjÜ)�r1}r2(jUj}r3(j]j]j]j]j]ujj!j]r4jX)�r5}r6(jXNExample demonstrating *simple* UART use case. Reference example for developersjj1j j.jj\j}r7(j]j]j]j]j]ujKÄj]r8(j%XExample demonstrating r9…�r:}r;(jXExample demonstrating jj5ubcdocutils.nodes emphasis r<)�r=}r>(jX*simple*j}r?(j]j]j]j]j]ujj5j]r@j%XsimplerA…�rB}rC(jUjj=ubajUemphasisrDubj%X0 UART use case. Reference example for developersrE…�rF}rG(jX0 UART use case. Reference example for developersjj5ubeubajjéubjÜ)�rH}rI(jUj}rJ(j]j]j]j]j]ujj!j]rK(jX)�rL}rM(jX8Application prompts user to enter input data in console.rNjjHj j.jj\j}rO(j]j]j]j]j]ujKÄj]rPj%X8Application prompts user to enter input data in console.rQ…�rR}rS(jjNjjLubaubjX)�rT}rU(jXbUser can enter up to 16 characters or terminate with enter key.Application echoes back characters.rVjjHj j.jj\j}rW(j]j]j]j]j]ujKÈj]rXj%XbUser can enter up to 16 characters or terminate with enter key.Application echoes back characters.rY…�rZ}r[(jjVjjTubaubejjéubjÜ)�r\}r](jUj}r^(j]j]j]j]j]ujj!j]r_jX)�r`}ra(jX]AM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk,k2l,k2e,k2l c6657,c6678 omapl137, omapl138,rbjj\j j.jj\j}rc(j]j]j]j]j]ujKÄj]rdj%X]AM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk,k2l,k2e,k2l c6657,c6678 omapl137, omapl138,re…�rf}rg(jjbjj`ubaubajjéubjÜ)�rh}ri(jUj}rj(j]j]j]j]j]ujj!j]rkjX)�rl}rm(jX CCS projectrnjjhj j.jj\j}ro(j]j]j]j]j]ujKÄj]rpj%X CCS projectrq…�rr}rs(jjnjjlubaubajjéubejjubj×)�rt}ru(jUj}rv(j]j]j]j]j]ujjj]rw(jÜ)�rx}ry(jUj}rz(j]j]j]j]UmorerowsKj]ujjtj]r{jX)�r|}r}(jXUART_TestApplicationr~jjxj j.jj\j}r(j]j]j]j]j]ujKÐj]r€j%XUART_TestApplicationr�…�r‚}rƒ(jj~jj|ubaubajjéubjÜ)�r„}r…(jUj}r†(j]j]j]j]UmorerowsKj]ujjtj]r‡jX)�rˆ}r‰(jX&Unit Test application to test all APIsrŠjj„j j.jj\j}r‹(j]j]j]j]j]ujKÐj]rŒj%X&Unit Test application to test all APIsr�…�rŽ}r�(jjŠjjˆubaubajjéubjÜ)�r�}r‘(jUj}r’(j]j]j]j]UmorerowsKj]ujjtj]r“jX)�r”}r•(jXOUser can enter up to 16 characters using serial console.Application echoes backr–jj�j j.jj\j}r—(j]j]j]j]j]ujKÐj]r˜j%XOUser can enter up to 16 characters using serial console.Application echoes backr™…�rš}r›(jj–jj”ubaubajjéubjÜ)�rœ}r�(jUj}rž(j]j]j]j]j]ujjtj]rŸjX)�r }r¡(jXUAM335x,AM437x,AM571x AM572x,AM574X k2g,k2hk,k2l,k2e,k2l c6657,c6678 omapl137,omapl138r¢jjœj j.jj\j}r£(j]j]j]j]j]ujKÐj]r¤j%XUAM335x,AM437x,AM571x AM572x,AM574X k2g,k2hk,k2l,k2e,k2l c6657,c6678 omapl137,omapl138r¥…�r¦}r§(jj¢jj ubaubajjéubjÜ)�r¨}r©(jUj}rª(j]j]j]j]j]ujjtj]r«jX)�r¬}r­(jX CCS projectr®jj¨j j.jj\j}r¯(j]j]j]j]j]ujKÐj]r°j%X CCS projectr±…�r²}r³(jj®jj¬ubaubajjéubejjubj×)�r´}rµ(jUj}r¶(j]j]j]j]j]ujjj]r·(jÜ)�r¸}r¹(jUj}rº(j]j]j]j]j]ujj´j]r»jX)�r¼}r½(jX am65xx,j721er¾jj¸j j.jj\j}r¿(j]j]j]j]j]ujKÖj]rÀj%X am65xx,j721erÁ…�rÂ}rÃ(jj¾jj¼ubaubajjéubjÜ)�rÄ}rÅ(jUj}rÆ(j]j]j]j]j]ujj´j]rÇjX)�rÈ}rÉ(jXmakefilerÊjjÄj j.jj\j}rË(j]j]j]j]j]ujKÖj]rÌj%XmakefilerÍ…�rÎ}rÏ(jjÊjjÈubaubajjéubejjubj×)�rÐ}rÑ(jUj}rÒ(j]j]j]j]j]ujjj]rÓ(jÜ)�rÔ}rÕ(jUj}rÖ(j]j]j]j]UmorerowsKj]ujjÐj]r×jX)�rØ}rÙ(jXUART_DMATestApplicationrÚjjÔj j.jj\j}rÛ(j]j]j]j]j]ujKØj]rÜj%XUART_DMATestApplicationrÝ…�rÞ}rß(jjÚjjØubaubajjéubjÜ)�rà}rá(jUj}râ(j]j]j]j]UmorerowsKj]ujjÐj]rãjX)�rä}rå(jX$Unit Test application with DMA mode.ræjjàj j.jj\j}rç(j]j]j]j]j]ujKØj]rèj%X$Unit Test application with DMA mode.ré…�rê}rë(jjæjjäubaubajjéubjÜ)�rì}rí(jUj}rî(j]j]j]j]UmorerowsKj]ujjÐj]rïjX)�rð}rñ(jXOUser can enter up to 16 characters using serial console.Application echoes backròjjìj j.jj\j}ró(j]j]j]j]j]ujKØj]rôj%XOUser can enter up to 16 characters using serial console.Application echoes backrõ…�rö}r÷(jjòjjðubaubajjéubjÜ)�rø}rù(jUj}rú(j]j]j]j]j]ujjÐj]rûjX)�rü}rý(jXUAM335x,AM437x,AM571x AM572x,AM574X k2g,k2hk,k2l,k2e,k2l c6657,c6678 omapl137,omapl138rþjjøj j.jj\j}rÿ(j]j]j]j]j]ujKØj]rj%XUAM335x,AM437x,AM571x AM572x,AM574X k2g,k2hk,k2l,k2e,k2l c6657,c6678 omapl137,omapl138r…�r}r(jjþjjüubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjÐj]rjX)�r}r (jX CCS projectr jjj j.jj\j}r (j]j]j]j]j]ujKØj]r j%X CCS projectr …�r}r(jj jjubaubajjéubejjubj×)�r}r(jUj}r(j]j]j]j]j]ujjj]r(jÜ)�r}r(jUj}r(j]j]j]j]j]ujjj]rjX)�r}r(jX am65xx,j721erjjj j.jj\j}r(j]j]j]j]j]ujKÞj]rj%X am65xx,j721er…�r}r(jjjjubaubajjéubjÜ)�r }r!(jUj}r"(j]j]j]j]j]ujjj]r#jX)�r$}r%(jXmakefiler&jj j j.jj\j}r'(j]j]j]j]j]ujKÞj]r(j%Xmakefiler)…�r*}r+(jj&jj$ubaubajjéubejjubj×)�r,}r-(jUj}r.(j]j]j]j]j]ujjj]r/(jÜ)�r0}r1(jUj}r2(j]j]j]j]UmorerowsKj]ujj,j]r3jX)�r4}r5(jXUART_SMP_TestApplicationr6jj0j j.jj\j}r7(j]j]j]j]j]ujKàj]r8j%XUART_SMP_TestApplicationr9…�r:}r;(jj6jj4ubaubajjéubjÜ)�r<}r=(jUj}r>(j]j]j]j]UmorerowsKj]ujj,j]r?jX)�r@}rA(jXFUnit Test application to test all APIs in SMP mode *(A15 & A53 cores)*jj<j j.jj\j}rB(j]j]j]j]j]ujKàj]rC(j%X3Unit Test application to test all APIs in SMP mode rD…�rE}rF(jX3Unit Test application to test all APIs in SMP mode jj@ubj<)�rG}rH(jX*(A15 & A53 cores)*j}rI(j]j]j]j]j]ujj@j]rJj%X(A15 & A53 cores)rK…�rL}rM(jUjjGubajjDubeubajjéubjÜ)�rN}rO(jUj}rP(j]j]j]j]UmorerowsKj]ujj,j]rQjX)�rR}rS(jXOUser can enter up to 16 characters using serial console.Application echoes backrTjjNj j.jj\j}rU(j]j]j]j]j]ujKàj]rVj%XOUser can enter up to 16 characters using serial console.Application echoes backrW…�rX}rY(jjTjjRubaubajjéubjÜ)�rZ}r[(jUj}r\(j]j]j]j]j]ujj,j]r]jX)�r^}r_(jX AM572x-EVMr`jjZj j.jj\j}ra(j]j]j]j]j]ujKàj]rbj%X AM572x-EVMrc…�rd}re(jj`jj^ubaubajjéubjÜ)�rf}rg(jUj}rh(j]j]j]j]j]ujj,j]rijX)�rj}rk(jX CCS projectrljjfj j.jj\j}rm(j]j]j]j]j]ujKàj]rnj%X CCS projectro…�rp}rq(jjljjjubaubajjéubejjubj×)�rr}rs(jUj}rt(j]j]j]j]j]ujjj]ru(jÜ)�rv}rw(jUj}rx(j]j]j]j]j]ujjrj]ryjX)�rz}r{(jX am65xx,j721er|jjvj j.jj\j}r}(j]j]j]j]j]ujKæj]r~j%X am65xx,j721er…�r€}r�(jj|jjzubaubajjéubjÜ)�r‚}rƒ(jUj}r„(j]j]j]j]j]ujjrj]r…jX)�r†}r‡(jXmakefilerˆjj‚j j.jj\j}r‰(j]j]j]j]j]ujKæj]rŠj%Xmakefiler‹…�rŒ}r�(jjˆjj†ubaubajjéubejjubj×)�rŽ}r�(jUj}r�(j]j]j]j]j]ujjj]r‘(jÜ)�r’}r“(jUj}r”(j]j]j]j]UmorerowsKj]ujjŽj]r•jX)�r–}r—(jXUART_SMP_DMATestApplica tionr˜jj’j j.jj\j}r™(j]j]j]j]j]ujKèj]ršj%XUART_SMP_DMATestApplica tionr›…�rœ}r�(jj˜jj–ubaubajjéubjÜ)�rž}rŸ(jUj}r (j]j]j]j]UmorerowsKj]ujjŽj]r¡jX)�r¢}r£(jXFUnit Test application in SMP mode with DMA enabled *(A15 & A53 cores)*jjžj j.jj\j}r¤(j]j]j]j]j]ujKèj]r¥(j%X3Unit Test application in SMP mode with DMA enabled r¦…�r§}r¨(jX3Unit Test application in SMP mode with DMA enabled jj¢ubj<)�r©}rª(jX*(A15 & A53 cores)*j}r«(j]j]j]j]j]ujj¢j]r¬j%X(A15 & A53 cores)r­…�r®}r¯(jUjj©ubajjDubeubajjéubjÜ)�r°}r±(jUj}r²(j]j]j]j]UmorerowsKj]ujjŽj]r³jX)�r´}rµ(jXOUser can enter up to 16 characters using serial console.Application echoes backr¶jj°j j.jj\j}r·(j]j]j]j]j]ujKèj]r¸j%XOUser can enter up to 16 characters using serial console.Application echoes backr¹…�rº}r»(jj¶jj´ubaubajjéubjÜ)�r¼}r½(jUj}r¾(j]j]j]j]j]ujjŽj]r¿jX)�rÀ}rÁ(jX AM572x-EVMrÂjj¼j j.jj\j}rÃ(j]j]j]j]j]ujKèj]rÄj%X AM572x-EVMrÅ…�rÆ}rÇ(jjÂjjÀubaubajjéubjÜ)�rÈ}rÉ(jUj}rÊ(j]j]j]j]j]ujjŽj]rËjX)�rÌ}rÍ(jX CCS projectrÎjjÈj j.jj\j}rÏ(j]j]j]j]j]ujKèj]rÐj%X CCS projectrÑ…�rÒ}rÓ(jjÎjjÌubaubajjéubejjubj×)�rÔ}rÕ(jUj}rÖ(j]j]j]j]j]ujjj]r×(jÜ)�rØ}rÙ(jUj}rÚ(j]j]j]j]j]ujjÔj]rÛjX)�rÜ}rÝ(jX am65xx,j721erÞjjØj j.jj\j}rß(j]j]j]j]j]ujKîj]ràj%X am65xx,j721erá…�râ}rã(jjÞjjÜubaubajjéubjÜ)�rä}rå(jUj}ræ(j]j]j]j]j]ujjÔj]rçjX)�rè}ré(jXmakefilerêjjäj j.jj\j}rë(j]j]j]j]j]ujKîj]rìj%Xmakefilerí…�rî}rï(jjêjjèubaubajjéubejjubejUtbodyrðubejUtgrouprñubaubeubeubj)�rò}ró(jUjj j j.jjj}rô(j]j]j]j]rõUbuilding-uart-examplesröaj]r÷hÒaujKòjhj]rø(j)�rù}rú(jXBuilding UART examplesrûjjòj j.jj"j}rü(j]j]j]j]j]ujKòjhj]rýj%XBuilding UART examplesrþ…�rÿ}r(jjûjjùubaubcdocutils.nodes bullet_list r)�r}r(jUjjòj j.jU bullet_listrj}r(UbulletrX-j]j]j]j]j]ujKôjhj]rcdocutils.nodes list_item r)�r }r (jXMMakefile based examples and dependent libraries can be built from the top level or module level UART makefile, refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r jjj j.jU list_itemr j}r (j]j]j]j]j]ujNjhj]rjX)�r}r(jj jj j j.jj\j}r(j]j]j]j]j]ujKôj]r(j%X|Makefile based examples and dependent libraries can be built from the top level or module level UART makefile, refer to the r…�r}r(jX|Makefile based examples and dependent libraries can be built from the top level or module level UART makefile, refer to the jjubcdocutils.nodes reference r)�r}r(jXT`Processor SDK RTOS Getting Started Guide `__j}r(UnameX(Processor SDK RTOS Getting Started GuideUrefurirX%index_overview.html#setup-environmentj]j]j]j]j]ujjj]rj%X(Processor SDK RTOS Getting Started Guider…�r}r(jUjjubajU referencerubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r …�r!}r"(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jjubeubaubaubcdocutils.nodes literal_block r#)�r$}r%(jXÍTo build and clean libs/apps from top-level makefile: cd /packages make uart make uart_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/uart make all make cleanjjòj j.jU literal_blockr&j}r'(j2j3j]j]j]j]j]ujM¹jhj]r(j%XÍTo build and clean libs/apps from top-level makefile: cd /packages make uart make uart_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/uart make all make cleanr)…�r*}r+(jUjj$ubaubj)�r,}r-(jUjjòj j.jjj}r.(jX-j]j]j]j]j]ujMjhj]r/j)�r0}r1(jX2RTSC CCS project based examples are built from CCSr2jj,j j.jj j}r3(j]j]j]j]j]ujNjhj]r4jX)�r5}r6(jj2jj0j j.jj\j}r7(j]j]j]j]j]ujMj]r8j%X2RTSC CCS project based examples are built from CCSr9…�r:}r;(jj2jj5ubaubaubaubj#)�r<}r=(jX¹cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] uart [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/jjòj j.jj&j}r>(j2j3j]j]j]j]j]ujMÇjhj]r?j%X¹cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] uart [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/r@…�rA}rB(jUjj<ubaubeubj)�rC}rD(jUjKjj j j.jjj}rE(j]rFXadditional referencesrGaj]j]j]rHUadditional-referencesrIaj]ujM jhj]rJ(j)�rK}rL(jXAdditional ReferencesrMjjCj j.jj"j}rN(j]j]j]j]j]ujM jhj]rOj%XAdditional ReferencesrP…�rQ}rR(jjMjjKubaubj¶)�rS}rT(jUjjCj j.jj¹j}rU(j]j]j]j]j]ujNjhj]rVj¼)�rW}rX(jUj}rY(j]j]j]j]j]UcolsKujjSj]rZ(jÁ)�r[}r\(jUj}r](j]j]j]j]j]UcolwidthKujjWj]jjÅubjÁ)�r^}r_(jUj}r`(j]j]j]j]j]UcolwidthK#ujjWj]jjÅubj)�ra}rb(jUj}rc(j]j]j]j]j]ujjWj]rd(j×)�re}rf(jUj}rg(j]j]j]j]j]ujjaj]rh(jÜ)�ri}rj(jUj}rk(j]j]j]j]j]ujjej]rljX)�rm}rn(jX **Document**rojjij j.jj\j}rp(j]j]j]j]j]ujMj]rqj|)�rr}rs(jjoj}rt(j]j]j]j]j]ujjmj]ruj%XDocumentrv…�rw}rx(jUjjrubajj„ubaubajjéubjÜ)�ry}rz(jUj}r{(j]j]j]j]j]ujjej]r|jX)�r}}r~(jX **Location**rjjyj j.jj\j}r€(j]j]j]j]j]ujMj]r�j|)�r‚}rƒ(jjj}r„(j]j]j]j]j]ujj}j]r…j%XLocationr†…�r‡}rˆ(jUjj‚ubajj„ubaubajjéubejjubj×)�r‰}rŠ(jUj}r‹(j]j]j]j]j]ujjaj]rŒ(jÜ)�r�}rŽ(jUj}r�(j]j]j]j]j]ujj‰j]r�jX)�r‘}r’(jXAPI Reference Manualr“jj�j j.jj\j}r”(j]j]j]j]j]ujMj]r•j%XAPI Reference Manualr–…�r—}r˜(jj“jj‘ubaubajjéubjÜ)�r™}rš(jUj}r›(j]j]j]j]j]ujj‰j]rœjX)�r�}rž(jXI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/doxygen/html/index .htmlrŸjj™j j.jj\j}r (j]j]j]j]j]ujMj]r¡j%XI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/doxygen/html/index .htmlr¢…�r£}r¤(jjŸjj�ubaubajjéubejjubj×)�r¥}r¦(jUj}r§(j]j]j]j]j]ujjaj]r¨(jÜ)�r©}rª(jUj}r«(j]j]j]j]j]ujj¥j]r¬jX)�r­}r®(jX Release Notesr¯jj©j j.jj\j}r°(j]j]j]j]j]ujMj]r±j%X Release Notesr²…�r³}r´(jj¯jj­ubaubajjéubjÜ)�rµ}r¶(jUj}r·(j]j]j]j]j]ujj¥j]r¸jX)�r¹}rº(jXK$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/ReleaseNotes_UART _LLD.pdfr»jjµj j.jj\j}r¼(j]j]j]j]j]ujMj]r½j%XK$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/ReleaseNotes_UART _LLD.pdfr¾…�r¿}rÀ(jj»jj¹ubaubajjéubejjubejjðubejjñubaubcdocutils.nodes line_block rÁ)�rÂ}rÃ(jUjjCj j.jU line_blockrÄj}rÅ(j]j]j]j]j]ujMjhj]rÆcdocutils.nodes line rÇ)�rÈ}rÉ(jUUindentrÊKjjÂj j.jjj}rË(j]j]j]j]j]ujKjhj]ubaubeubeubj j.jjj}rÌ(j]rÍXuser interfacerÎaj]j]j]rÏUuser-interfacerÐaj]ujKjhj]rÑ(j)�rÒ}rÓ(jXUser InterfacerÔjjj j.jj"j}rÕ(j]j]j]j]j]ujKjhj]rÖj%XUser Interfacer×…�rØ}rÙ(jjÔjjÒubaubj)�rÚ}rÛ(jUjKjjj j.jjj}rÜ(j]rÝXdriver configurationrÞaj]j]j]rßUdriver-configurationràaj]ujK!jhj]rá(j)�râ}rã(jXDriver ConfigurationräjjÚj j.jj"j}rå(j]j]j]j]j]ujK!jhj]ræj%XDriver Configurationrç…�rè}ré(jjäjjâubaubjb)�rê}rë(jX **Board Specific Configuration**rìjKjjÚj j.jjfj}rí(j]rîUboard-specific-configurationrïaj]j]rðXboard-specific-configurationrñaj]j]ujNjhj]ròj|)�ró}rô(jjìj}rõ(j]j]j]j]j]ujjêj]röj%XBoard Specific Configurationr÷…�rø}rù(jUjjóubajj„ubaubjX)�rú}rû(jXÒAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer `Processor SDK RTOS Board Support `__ for additional details.Once board specific configuration is complete UART_init() API can be called to initialize driver.jjÚj j.jj\j}rü(j]j]j]j]j]ujK&jhj]rý(j%XAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer rþ…�rÿ}r(jXAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer jjúubj)�r}r(jXE`Processor SDK RTOS Board Support `__j}r(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujjúj]rj%X Processor SDK RTOS Board Supportr…�r}r(jUjjubajjubj%Xz for additional details.Once board specific configuration is complete UART_init() API can be called to initialize driver.r…�r }r (jXz for additional details.Once board specific configuration is complete UART_init() API can be called to initialize driver.jjúubeubjb)�r }r (jX **UART Configuration Structure**r jjÚj j.jjfj}r(j]rUuart-configuration-structureraj]j]j]j]rh¼aujNjhj]rj|)�r}r(jj j}r(j]j]j]j]j]ujj j]rj%XUART Configuration Structurer…�r}r(jUjjubajj„ubaubjX)�r}r(jX’The UART_soc.c file binds driver with hardware attributes on the board through UART_config structure. This structure must be provided to UART driver. It must be initialized before the UART_init() function is called and cannot be changed afterwards. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\uart\docs\doxygen\html\index.html.jjÚj j.jj\j}r(j]j]j]j]j]ujK1jhj]rj%XŠThe UART_soc.c file binds driver with hardware attributes on the board through UART_config structure. This structure must be provided to UART driver. It must be initialized before the UART_init() function is called and cannot be changed afterwards. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIRpackagestidrvuartdocsdoxygenhtmlindex.html.r…�r}r (jX’The UART_soc.c file binds driver with hardware attributes on the board through UART_config structure. This structure must be provided to UART driver. It must be initialized before the UART_init() function is called and cannot be changed afterwards. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\uart\docs\doxygen\html\index.html.jjubaubeubjeubj j.jjj}r!(j]r"Xapisr#aj]j]j]r$Uapisr%aj]ujK9jhj]r&(j)�r'}r((jXAPIsr)jjj j.jj"j}r*(j]j]j]j]j]ujK9jhj]r+j%XAPIsr,…�r-}r.(jj)jj'ubaubjX)�r/}r0(jXAPI reference for application:r1jjj j.jj\j}r2(j]j]j]j]j]ujK;jhj]r3j%XAPI reference for application:r4…�r5}r6(jj1jj/ubaubj#)�r7}r8(jX#include jjj j.jj&j}r9(j2j3j]j]j]j]j]ujMjhj]r:j%X#include r;…�r<}r=(jUjj7ubaubjX)�r>}r?(jX$STDIO API reference for application:r@jjj j.jj\j}rA(j]j]j]j]j]ujKAjhj]rBj%X$STDIO API reference for application:rC…�rD}rE(jj@jj>ubaubj#)�rF}rG(jX##include jjj j.jj&j}rH(j2j3j]j]j]j]j]ujMjhj]rIj%X##include rJ…�rK}rL(jUjjFubaubjb)�rM}rN(jX Open UARTrOjjj j.jjfj}rP(j]rQU open-uartrRaj]j]j]j]rSh|aujNjhj]rTj%X Open UARTrU…�rV}rW(jjOjjMubaubjX)�rX}rY(jX-There are three ways to open a UART instance:rZjjj j.jj\j}r[(j]j]j]j]j]ujKJjhj]r\j%X-There are three ways to open a UART instance:r]…�r^}r_(jjZjjXubaubcdocutils.nodes enumerated_list r`)�ra}rb(jUjjj j.jUenumerated_listrcj}rd(UsuffixreU.j]j]j]UprefixrfUj]j]UenumtypergUarabicrhujKLjhj]rij)�rj}rk(jX UART_open() jjaj j.jj j}rl(j]j]j]j]j]ujNjhj]rmjX)�rn}ro(jX UART_open()rpjjjj j.jj\j}rq(j]j]j]j]j]ujKLj]rrj%X UART_open()rs…�rt}ru(jjpjjnubaubaubaubj#)�rv}rw(jXÌ... Board_init(boardCfg); ... UART_socGetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_socSetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_Params_init(¶ms); ... handle = UART_open(UART_INSTANCE, ¶ms);jjj j.jj&j}rx(j2j3j]j]j]j]j]ujMjhj]ryj%XÌ... Board_init(boardCfg); ... UART_socGetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_socSetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_Params_init(¶ms); ... handle = UART_open(UART_INSTANCE, ¶ms);rz…�r{}r|(jUjjvubaubjX)�r}}r~(jX¡At this point UART driver is ready for data transfer on specific instance identified by handle. Application can call UART_read/write API for read/write operationrjjj j.jj\j}r€(j]j]j]j]j]ujK[jhj]r�j%X¡At this point UART driver is ready for data transfer on specific instance identified by handle. Application can call UART_read/write API for read/write operationr‚…�rƒ}r„(jjjj}ubaubj`)�r…}r†(jUjjj j.jjcj}r‡(jeU.UstartrˆKj]j]j]jfUj]j]jgjhujK_jhj]r‰j)�rŠ}r‹(jX3UART_stdioInit() using the default UART parameters jj…j j.jj j}rŒ(j]j]j]j]j]ujNjhj]r�jX)�rŽ}r�(jX2UART_stdioInit() using the default UART parametersr�jjŠj j.jj\j}r‘(j]j]j]j]j]ujK_j]r’j%X2UART_stdioInit() using the default UART parametersr“…�r”}r•(jj�jjŽubaubaubaubj#)�r–}r—(jX ... Board_init(boardCfg); ... UART_socGetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_socSetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_stdioInit(UART_INSTANCE);jjj j.jj&j}r˜(j2j3j]j]j]j]j]ujM%jhj]r™j%X ... Board_init(boardCfg); ... UART_socGetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_socSetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_stdioInit(UART_INSTANCE);rš…�r›}rœ(jUjj–ubaubjX)�r�}rž(jX�At this point UART driver is ready for data transfer on specific instance. Application can call UART_printf/scanFmt API for read/write operationrŸjjj j.jj\j}r (j]j]j]j]j]ujKljhj]r¡j%X�At this point UART driver is ready for data transfer on specific instance. Application can call UART_printf/scanFmt API for read/write operationr¢…�r£}r¤(jjŸjj�ubaubj`)�r¥}r¦(jUjjj j.jjcj}r§(jeU.jˆKj]j]j]jfUj]j]jgjhujKpjhj]r¨j)�r©}rª(jX>UART_stdioInit2() using Application specified UART parameters jj¥j j.jj j}r«(j]j]j]j]j]ujNjhj]r¬jX)�r­}r®(jX=UART_stdioInit2() using Application specified UART parametersr¯jj©j j.jj\j}r°(j]j]j]j]j]ujKpj]r±j%X=UART_stdioInit2() using Application specified UART parametersr²…�r³}r´(jj¯jj­ubaubaubaubj#)�rµ}r¶(jXÉ... Board_init(boardCfg); ... UART_socGetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_socSetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_Params_init(¶ms); ... UART_stdioInit2(UART_INSTANCE, ¶ms);jjj j.jj&j}r·(j2j3j]j]j]j]j]ujM6jhj]r¸j%XÉ... Board_init(boardCfg); ... UART_socGetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_socSetInitCfg(UART_INSTANCE, &uart_cfg); ... UART_Params_init(¶ms); ... UART_stdioInit2(UART_INSTANCE, ¶ms);r¹…�rº}r»(jUjjµubaubjX)�r¼}r½(jX�At this point UART driver is ready for data transfer on specific instance. Application can call UART_printf/scanFmt API for read/write operationr¾jjj j.jj\j}r¿(j]j]j]j]j]ujKjhj]rÀj%X�At this point UART driver is ready for data transfer on specific instance. Application can call UART_printf/scanFmt API for read/write operationrÁ…�rÂ}rÃ(jj¾jj¼ubaubjb)�rÄ}rÅ(jXRead/Write APIsrÆjjj j.jjfj}rÇ(j]rÈUreadwrite-apisrÉaj]j]j]j]rÊhòaujNjhj]rËj%XRead/Write APIsrÌ…�rÍ}rÎ(jjÆjjÄubaubjX)�rÏ}rÐ(jX**Interrupt**:rÑjjj j.jj\j}rÒ(j]j]j]j]j]ujK†jhj]rÓ(j|)�rÔ}rÕ(jX **Interrupt**j}rÖ(j]j]j]j]j]ujjÏj]r×j%X InterruptrØ…�rÙ}rÚ(jUjjÔubajj„ubj%X:…�rÛ}rÜ(jX:jjÏubeubj#)�rÝ}rÞ(jX¼UART_read(handle,scanPrompt, sizeof(scanPrompt));/* Read API */ ... UART_write(handle, bufferPrompt, sizeof(bufferPrompt));/* Write API */ Or UART_transactionInit(&transaction); transaction.buf = (void *)scanPrompt; transaction.count = sizeof(scanPrompt); UART_read2(uart, &transaction); ... UART_transactionInit(&transaction); transaction.buf = (void *)bufferPrompt; transaction.count = sizeof(bufferPrompt); UART_write2(uart, &transaction);jjj j.jj&j}rß(j2j3j]j]j]j]j]ujMLjhj]ràj%X¼UART_read(handle,scanPrompt, sizeof(scanPrompt));/* Read API */ ... UART_write(handle, bufferPrompt, sizeof(bufferPrompt));/* Write API */ Or UART_transactionInit(&transaction); transaction.buf = (void *)scanPrompt; transaction.count = sizeof(scanPrompt); UART_read2(uart, &transaction); ... UART_transactionInit(&transaction); transaction.buf = (void *)bufferPrompt; transaction.count = sizeof(bufferPrompt); UART_write2(uart, &transaction);rá…�râ}rã(jUjjÝubaubjX)�rä}rå(jX **Polling**:ræjjj j.jj\j}rç(j]j]j]j]j]ujKšjhj]rè(j|)�ré}rê(jX **Polling**j}rë(j]j]j]j]j]ujjäj]rìj%XPollingrí…�rî}rï(jUjjéubajj„ubj%X:…�rð}rñ(jX:jjäubeubj#)�rò}ró(jX­UART_readPolling(handle,scanPrompt, sizeof(scanPrompt));/* Read Polling mode API */ ... UART_writePolling(handle, bufferPrompt, sizeof(bufferPrompt));/* Write Polling API */jjj j.jj&j}rô(j2j3j]j]j]j]j]ujM`jhj]rõj%X­UART_readPolling(handle,scanPrompt, sizeof(scanPrompt));/* Read Polling mode API */ ... UART_writePolling(handle, bufferPrompt, sizeof(bufferPrompt));/* Write Polling API */rö…�r÷}rø(jUjjòubaubjb)�rù}rú(jX DMA Usage :rûjjj j.jjfj}rü(j]rýU dma-usagerþaj]j]j]j]rÿhTaujNjhj]rj%X DMA Usage :r…�r}r(jjûjjùubaubjX)�r}r(jX<UART driver supports DMA operations to transfer data betweenrjjj j.jj\j}r(j]j]j]j]j]ujK¥jhj]rj%X<UART driver supports DMA operations to transfer data betweenr …�r }r (jjjjubaubj)�r }r (jUjjj j.jjj}r(jX-j]j]j]j]j]ujK§jhj]r(j)�r}r(jX$Memory and RX FIFO for read transferrjj j j.jj j}r(j]j]j]j]j]ujNjhj]rjX)�r}r(jjjjj j.jj\j}r(j]j]j]j]j]ujK§j]rj%X$Memory and RX FIFO for read transferr…�r}r(jjjjubaubaubj)�r}r(jX'Memory and TX FIFO for write transfer. jj j j.jj j}r(j]j]j]j]j]ujNjhj]rjX)�r }r!(jX&Memory and TX FIFO for write transfer.r"jjj j.jj\j}r#(j]j]j]j]j]ujK¨j]r$j%X&Memory and TX FIFO for write transfer.r%…�r&}r'(jj"jj ubaubaubeubjX)�r(}r)(jXÚDMA Driver is DMA family IP (EDMA and UDMA) and UART IP (V0 and V1) specific. Refer soc/dma/v#/UART_dma.c for these operations. Application need to create DMA handle and update the configuration before UART_init() API.r*jjj j.jj\j}r+(j]j]j]j]j]ujKªjhj]r,j%XÚDMA Driver is DMA family IP (EDMA and UDMA) and UART IP (V0 and V1) specific. Refer soc/dma/v#/UART_dma.c for these operations. Application need to create DMA handle and update the configuration before UART_init() API.r-…�r.}r/(jj*jj(ubaubj#)�r0}r1(jX¸uartInitCfg[UART_INSTANCE].edmaHandle = UartApp_edmaInit();/* For AM/K1/K2 devices */ or uartInitCfg[UART_INSTANCE].udmaHandle = UartApp_udmaInit();/* For K3 devices */ UART_init();jjj j.jj&j}r2(j2j3j]j]j]j]j]ujMrjhj]r3j%X¸uartInitCfg[UART_INSTANCE].edmaHandle = UartApp_edmaInit();/* For AM/K1/K2 devices */ or uartInitCfg[UART_INSTANCE].udmaHandle = UartApp_udmaInit();/* For K3 devices */ UART_init();r4…�r5}r6(jUjj0ubaubjX)�r7}r8(jX�Refer “UART_BasicExample_[SOC]_[cpu]DMATestprojectâ€� or "UART_DMA_[evm]_[cpu]TestApp" for additional reference. Refer SDK Release Note for supported EVMs.r9jjj j.jj\j}r:(j]j]j]j]j]ujK¸jhj]r;j%X�Refer “UART_BasicExample_[SOC]_[cpu]DMATestprojectâ€� or "UART_DMA_[evm]_[cpu]TestApp" for additional reference. Refer SDK Release Note for supported EVMs.r<…�r=}r>(jj9jj7ubaubeubj j.jUsystem_messager?j}r@(j]UlevelKj]j]Usourcej j]j]UlineK UtypeUINFOrAujK_jhj]rBjX)�rC}rD(jX:Enumerated list start value not ordinal-1: "2" (ordinal 2)j}rE(j]j]j]j]j]ujjj]rFj%X:Enumerated list start value not ordinal-1: "2" (ordinal 2)rG…�rH}rI(jUjjCubajj\ubaubhÿ)�rJ}rK(jUjjj j.jj?j}rL(j]UlevelKj]j]Usourcej j]j]UlineK UtypejAujKpjhj]rMjX)�rN}rO(jX:Enumerated list start value not ordinal-1: "3" (ordinal 3)j}rP(j]j]j]j]j]ujjJj]rQj%X:Enumerated list start value not ordinal-1: "3" (ordinal 3)rR…�rS}rT(jUjjNubajj\ubaubhÿ)�rU}rV(jUjjòj j.jj?j}rW(j]UlevelKj]j]Usourcej.j]j]UlineKõUtypeUWARNINGrXujKôjhj]rYjX)�rZ}r[(jX;Bullet list ends without a blank line; unexpected unindent.j}r\(j]j]j]j]j]ujjUj]r]j%X;Bullet list ends without a blank line; unexpected unindent.r^…�r_}r`(jUjjZubajj\ubaubhÿ)�ra}rb(jUjjòj j.jj?j}rc(j]UlevelKj]j]Usourcej.j]j]UlineMUtypejXujMjhj]rdjX)�re}rf(jX;Bullet list ends without a blank line; unexpected unindent.j}rg(j]j]j]j]j]ujjaj]rhj%X;Bullet list ends without a blank line; unexpected unindent.ri…�rj}rk(jUjjeubajj\ubaubhÿ)�rl}rm(jUjj)�rn}ro(jUjKjj)�rp}rq(jUjhj j jjj}rr(j]j]j]j]rsUusbrtaj]ruhŠaujKjhj]rv(j)�rw}rx(jXUSBryjjpj j jj"j}rz(j]j]j]j]j]ujKjhj]r{j%XUSBr|…�r}}r~(jjyjjwubaubj))�r}r€(jX>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_USBjjpj j,X<source/rtos/PDK_Platform_Software/Device_Drivers/USB.rst.incr�…�r‚}rƒbjj0j}r„(j2j3j]j]j]j]j]ujKjhj]r…j%X>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_USBr†…�r‡}rˆ(jUjjubaubjnj)�r‰}rŠ(jUjKjjpj j‚jjj}r‹(j]rŒjÎaj]j]j]r�Uid3rŽaj]ujKžjhj]r�(j)�r�}r‘(jXUser Interfacer’jj‰j j‚jj"j}r“(j]j]j]j]j]ujKžjhj]r”j%XUser Interfacer•…�r–}r—(jj’jj�ubaubj)�r˜}r™(jUjKjj‰j j‚jjj}rš(j]r›jÞaj]j]j]rœUid4r�aj]ujK¡jhj]rž(j)�rŸ}r (jXDriver Configurationr¡jj˜j j‚jj"j}r¢(j]j]j]j]j]ujK¡jhj]r£j%XDriver Configurationr¤…�r¥}r¦(jj¡jjŸubaubj)�r§}r¨(jUjj˜j j‚jjj}r©(jX-j]j]j]j]j]ujK£jhj]rªj)�r«}r¬(jX†**Data Structures**: - **tUSBDMSCDevice**: Defined in usbdmsc.h. It is used in USB device mode application. This structure must be filled with the intended vendor and product ID as well as other product information and also the function pointers to functions that handle the disk functions (open/read/write/close, etc.). These product information will show up in the device and interface USB descriptors that are used during device enumeration. This device MSC class data is then assigned to the field usbClassData of the USB_Params bellow. - **USB params**: USB_Params structure is declared in usb_drv.h. This structure must be provided to the USB driver. It must be initialized before the USB_open() function is called. - **USB APIs**: main USB LLD and USB MSC API’s are declared in usb_drv.h and usbdmsc.h and usbhmsc.h provided in the root USB LLD directory. jj§j Njj j}r­(j]j]j]j]j]ujNjhj]r®(jX)�r¯}r°(jX**Data Structures**:jj«j j‚jj\j}r±(j]j]j]j]j]ujK£j]r²(j|)�r³}r´(jX**Data Structures**j}rµ(j]j]j]j]j]ujj¯j]r¶j%XData Structuresr·…�r¸}r¹(jUjj³ubajj„ubj%X:…�rº}r»(jX:jj¯ubeubj)�r¼}r½(jUj}r¾(jX-j]j]j]j]j]ujj«j]r¿(j)�rÀ}rÁ(jX**tUSBDMSCDevice**: Defined in usbdmsc.h. It is used in USB device mode application. This structure must be filled with the intended vendor and product ID as well as other product information and also the function pointers to functions that handle the disk functions (open/read/write/close, etc.). These product information will show up in the device and interface USB descriptors that are used during device enumeration. This device MSC class data is then assigned to the field usbClassData of the USB_Params bellow.j}rÂ(j]j]j]j]j]ujj¼j]rÃjX)�rÄ}rÅ(jX**tUSBDMSCDevice**: Defined in usbdmsc.h. It is used in USB device mode application. This structure must be filled with the intended vendor and product ID as well as other product information and also the function pointers to functions that handle the disk functions (open/read/write/close, etc.). These product information will show up in the device and interface USB descriptors that are used during device enumeration. This device MSC class data is then assigned to the field usbClassData of the USB_Params bellow.jjÀj j‚jj\j}rÆ(j]j]j]j]j]ujK¥j]rÇ(j|)�rÈ}rÉ(jX**tUSBDMSCDevice**j}rÊ(j]j]j]j]j]ujjÄj]rËj%XtUSBDMSCDevicerÌ…�rÍ}rÎ(jUjjÈubajj„ubj%Xó: Defined in usbdmsc.h. It is used in USB device mode application. This structure must be filled with the intended vendor and product ID as well as other product information and also the function pointers to functions that handle the disk functions (open/read/write/close, etc.). These product information will show up in the device and interface USB descriptors that are used during device enumeration. This device MSC class data is then assigned to the field usbClassData of the USB_Params bellow.rÏ…�rÐ}rÑ(jXó: Defined in usbdmsc.h. It is used in USB device mode application. This structure must be filled with the intended vendor and product ID as well as other product information and also the function pointers to functions that handle the disk functions (open/read/write/close, etc.). These product information will show up in the device and interface USB descriptors that are used during device enumeration. This device MSC class data is then assigned to the field usbClassData of the USB_Params bellow.jjÄubeubajj ubj)�rÒ}rÓ(jX²**USB params**: USB_Params structure is declared in usb_drv.h. This structure must be provided to the USB driver. It must be initialized before the USB_open() function is called.j}rÔ(j]j]j]j]j]ujj¼j]rÕjX)�rÖ}r×(jX²**USB params**: USB_Params structure is declared in usb_drv.h. This structure must be provided to the USB driver. It must be initialized before the USB_open() function is called.jjÒj j‚jj\j}rØ(j]j]j]j]j]ujK­j]rÙ(j|)�rÚ}rÛ(jX**USB params**j}rÜ(j]j]j]j]j]ujjÖj]rÝj%X USB paramsrÞ…�rß}rà(jUjjÚubajj„ubj%X¤: USB_Params structure is declared in usb_drv.h. This structure must be provided to the USB driver. It must be initialized before the USB_open() function is called.rá…�râ}rã(jX¤: USB_Params structure is declared in usb_drv.h. This structure must be provided to the USB driver. It must be initialized before the USB_open() function is called.jjÖubeubajj ubj)�rä}rå(jX�**USB APIs**: main USB LLD and USB MSC API’s are declared in usb_drv.h and usbdmsc.h and usbhmsc.h provided in the root USB LLD directory. j}ræ(j]j]j]j]j]ujj¼j]rçjX)�rè}ré(jXŒ**USB APIs**: main USB LLD and USB MSC API’s are declared in usb_drv.h and usbdmsc.h and usbhmsc.h provided in the root USB LLD directory.jjäj j‚jj\j}rê(j]j]j]j]j]ujK°j]rë(j|)�rì}rí(jX **USB APIs**j}rî(j]j]j]j]j]ujjèj]rïj%XUSB APIsrð…�rñ}rò(jUjjìubajj„ubj%X€: main USB LLD and USB MSC API’s are declared in usb_drv.h and usbdmsc.h and usbhmsc.h provided in the root USB LLD directory.ró…�rô}rõ(jX€: main USB LLD and USB MSC API’s are declared in usb_drv.h and usbdmsc.h and usbhmsc.h provided in the root USB LLD directory.jjèubeubajj ubejjubeubaubjÁ)�rö}r÷(jUjj˜j j‚jjÄj}rø(j]j]j]j]j]ujK´jhj]rùjÇ)�rú}rû(jUjÊKjjöj j‚jjj}rü(j]j]j]j]j]ujKjhj]ubaubj)�rý}rþ(jUjj˜j j‚jjj}rÿ(jX-j]j]j]j]j]ujK¶jhj]rj)�r}r(jX"**General USB LLD expectations**: jjýj j‚jj j}r(j]j]j]j]j]ujNjhj]rjX)�r}r(jX!**General USB LLD expectations**:jjj j‚jj\j}r(j]j]j]j]j]ujK¶j]r(j|)�r }r (jX **General USB LLD expectations**j}r (j]j]j]j]j]ujjj]r j%XGeneral USB LLD expectationsr …�r}r(jUjj ubajj„ubj%X:…�r}r(jX:jjubeubaubaubjX)�r}r(jXžThe USB LLD will setup appropriate USB clock and power domains for the particular SOC being in used as part of its “device specific peripheralâ€� functions.rjj˜j j‚jj\j}r(j]j]j]j]j]ujK¸jhj]rj%XžThe USB LLD will setup appropriate USB clock and power domains for the particular SOC being in used as part of its “device specific peripheralâ€� functions.r…�r}r(jjjjubaubjX)�r}r(jX¾After the USB_open() is called, the driver expects the application code to sets up USB interrupts with the interrupt handler being the USB LLD provided interrupt handler. Then the application have to call the USB LLD provided API USB_irqConfig() which enables USB module’s interrupts. In device mode, both USB core and USB misc interrupts are used in the USB device MSC application. In host mode, the USB host MSC only uses USB core interrupts.rjj˜j j‚jj\j}r(j]j]j]j]j]ujK¼jhj]rj%X¾After the USB_open() is called, the driver expects the application code to sets up USB interrupts with the interrupt handler being the USB LLD provided interrupt handler. Then the application have to call the USB LLD provided API USB_irqConfig() which enables USB module’s interrupts. In device mode, both USB core and USB misc interrupts are used in the USB device MSC application. In host mode, the USB host MSC only uses USB core interrupts.r…�r }r!(jjjjubaubjX)�r"}r#(jX‚After these steps, application code then can expect to have USB enumeration done and start USB transfer through the provided APIs.r$jj˜j j‚jj\j}r%(j]j]j]j]j]ujKÄjhj]r&j%X‚After these steps, application code then can expect to have USB enumeration done and start USB transfer through the provided APIs.r'…�r(}r)(jj$jj"ubaubeubj)�r*}r+(jUjKjj‰j j‚jjj}r,(j]r-X api call flowr.aj]j]j]r/U api-call-flowr0aj]ujKÈjhj]r1(j)�r2}r3(jX API Call Flowr4jj*j j‚jj"j}r5(j]j]j]j]j]ujKÈjhj]r6j%X API Call Flowr7…�r8}r9(jj4jj2ubaubj)�r:}r;(jUjj*j j‚jjj}r<(jX-j]j]j]j]j]ujKÊjhj]r=j)�r>}r?(jX**USB Device MSC** jj:j j‚jj j}r@(j]j]j]j]j]ujNjhj]rAjX)�rB}rC(jX**USB Device MSC**rDjj>j j‚jj\j}rE(j]j]j]j]j]ujKÊj]rFj|)�rG}rH(jjDj}rI(j]j]j]j]j]ujjBj]rJj%XUSB Device MSCrK…�rL}rM(jUjjGubajj„ubaubaubaubjX)�rN}rO(jXNThe example application code uses the USB library, configures it as a USB device with MSC function. The example also provides functional codes that access a RAM disk (included from the Utils library in the included Starterware). The LLD calls these MSC back-ends functions to access the RAM disk. User can replace these functions with other functions that access other types of media or devices (MMCSD for example). The RAM disk image provided in the example demo application is not currently formatted. Thus the once enumerated, the PC will require the USB disc to be formatted before use.rPjj*j j‚jj\j}rQ(j]j]j]j]j]ujKÌjhj]rRj%XNThe example application code uses the USB library, configures it as a USB device with MSC function. The example also provides functional codes that access a RAM disk (included from the Utils library in the included Starterware). The LLD calls these MSC back-ends functions to access the RAM disk. User can replace these functions with other functions that access other types of media or devices (MMCSD for example). The RAM disk image provided in the example demo application is not currently formatted. Thus the once enumerated, the PC will require the USB disc to be formatted before use.rS…�rT}rU(jjPjjNubaubjX)�rV}rW(jX¥Below diagram is the sequence of API calls that starts the USB device MSC application. All USB events are handled internally in the LLD and in the interrupt context.rXjj*j j‚jj\j}rY(j]j]j]j]j]ujKÖjhj]rZj%X¥Below diagram is the sequence of API calls that starts the USB device MSC application. All USB events are handled internally in the LLD and in the interrupt context.r[…�r\}r](jjXjjVubaubcdocutils.nodes image r^)�r_}r`(jX1.. Image:: ../images/USB_MSC_device_API_flow.PNG jj*j j‚jUimageraj}rb(UuriX*rtos/../images/USB_MSC_device_API_flow.PNGrcj]j]j]j]U candidatesrd}reU*jcsj]ujKÛjhj]ubjX)�rf}rg(jX—User provided disk functions will be called from the LLD to handle the actual physical disk access. The overview of USB Device MSC example application:rhjj*j j‚jj\j}ri(j]j]j]j]j]ujKÜjhj]rjj%X—User provided disk functions will be called from the LLD to handle the actual physical disk access. The overview of USB Device MSC example application:rk…�rl}rm(jjhjjfubaubj^)�rn}ro(jX7.. Image:: ../images/USB_MSC_device_example_blocks.PNG jj*j j‚jjaj}rp(UuriX0rtos/../images/USB_MSC_device_example_blocks.PNGrqj]j]j]j]jd}rrU*jqsj]ujKájhj]ubjX)�rs}rt(jX}The content of the file: usb_msc_structs.c can be replaced with customer USB device information (PID/VID, device names, etc.)rujj*j j‚jj\j}rv(j]j]j]j]j]ujKâjhj]rwj%X}The content of the file: usb_msc_structs.c can be replaced with customer USB device information (PID/VID, device names, etc.)rx…�ry}rz(jjujjsubaubj)�r{}r|(jUjj*j j‚jjj}r}(jX-j]j]j]j]j]ujKåjhj]r~j)�r}r€(jX**USB Host MSC** jj{j j‚jj j}r�(j]j]j]j]j]ujNjhj]r‚jX)�rƒ}r„(jX**USB Host MSC**r…jjj j‚jj\j}r†(j]j]j]j]j]ujKåj]r‡j|)�rˆ}r‰(jj…j}rŠ(j]j]j]j]j]ujjƒj]r‹j%X USB Host MSCrŒ…�r�}rŽ(jUjjˆubajj„ubaubaubaubjX)�r�}r�(jXThe LLD also provides a USB host MSC example. The USB LLD is acting as a USB host, waiting for a USB thumb drive/memory stick to be plugged in. A console with a simple shell command is also provided so that the demo example can display and manipulate content of the USB device.r‘jj*j j‚jj\j}r’(j]j]j]j]j]ujKçjhj]r“j%XThe LLD also provides a USB host MSC example. The USB LLD is acting as a USB host, waiting for a USB thumb drive/memory stick to be plugged in. A console with a simple shell command is also provided so that the demo example can display and manipulate content of the USB device.r”…�r•}r–(jj‘jj�ubaubjX)�r—}r˜(jX@The following is how the USB host MSC example demo is organized:r™jj*j j‚jj\j}rš(j]j]j]j]j]ujKìjhj]r›j%X@The following is how the USB host MSC example demo is organized:rœ…�r�}rž(jj™jj—ubaubj^)�rŸ}r (jX5.. Image:: ../images/USB_MSC_host_example_blocks.PNG jj*j j‚jjaj}r¡(UuriX.rtos/../images/USB_MSC_host_example_blocks.PNGr¢j]j]j]j]jd}r£U*j¢sj]ujKïjhj]ubjX)�r¤}r¥(jX9The following is the sequence of the APIs that were used:r¦jj*j j‚jj\j}r§(j]j]j]j]j]ujKðjhj]r¨j%X9The following is the sequence of the APIs that were used:r©…�rª}r«(jj¦jj¤ubaubj^)�r¬}r­(jX/.. Image:: ../images/USB_MSC_host_API_flow.PNG jj*j j‚jjaj}r®(UuriX(rtos/../images/USB_MSC_host_API_flow.PNGr¯j]j]j]j]jd}r°U*j¯sj]ujKójhj]ubjÁ)�r±}r²(jUjj*j j‚jjÄj}r³(j]j]j]j]j]ujKôjhj]r´jÇ)�rµ}r¶(jUjÊKjj±j j‚jjj}r·(j]j]j]j]j]ujKjhj]ubaubj)�r¸}r¹(jUjj*j j‚jjj}rº(jX-j]j]j]j]j]ujKöjhj]r»j)�r¼}r½(jX**USB Device Audio** jj¸j j‚jj j}r¾(j]j]j]j]j]ujNjhj]r¿jX)�rÀ}rÁ(jX**USB Device Audio**rÂjj¼j j‚jj\j}rÃ(j]j]j]j]j]ujKöj]rÄj|)�rÅ}rÆ(jjÂj}rÇ(j]j]j]j]j]ujjÀj]rÈj%XUSB Device AudiorÉ…�rÊ}rË(jUjjÅubajj„ubaubaubaubjX)�rÌ}rÍ(jX(The example application code uses the USB library, configures it as a USB device with Audio class function. USB LLD along with the application enumerates as the USB audio class device and allows accessing the audio ports on the EVM from USB host. It supports audio playback and record operations.rÎjj*j j‚jj\j}rÏ(j]j]j]j]j]ujKøjhj]rÐj%X(The example application code uses the USB library, configures it as a USB device with Audio class function. USB LLD along with the application enumerates as the USB audio class device and allows accessing the audio ports on the EVM from USB host. It supports audio playback and record operations.rÑ…�rÒ}rÓ(jjÎjjÌubaubjX)�rÔ}rÕ(jX§Below diagram is the sequence of API calls that starts the USB device audio application. All USB events are handled internally in the LLD and in the interrupt context.rÖjj*j j‚jj\j}r×(j]j]j]j]j]ujKþjhj]rØj%X§Below diagram is the sequence of API calls that starts the USB device audio application. All USB events are handled internally in the LLD and in the interrupt context.rÙ…�rÚ}rÛ(jjÖjjÔubaubj^)�rÜ}rÝ(jX4.. Image:: ../images/USB_Audio_class_flowchart.jpg jj*j j‚jjaj}rÞ(UuriX,rtos/../images/USB_Audio_class_flowchart.jpgrßj]j]j]j]jd}ràU*jßsj]ujMjhj]ubjÁ)�rá}râ(jUjj*j j‚jjÄj}rã(j]j]j]j]j]ujMjhj]räjÇ)�rå}ræ(jUjÊKjjáj j‚jjj}rç(j]j]j]j]j]ujKjhj]ubaubj)�rè}ré(jUjj*j j‚jjj}rê(jX-j]j]j]j]j]ujMjhj]rëj)�rì}rí(jX**USB Device Bulk** jjèj j‚jj j}rî(j]j]j]j]j]ujNjhj]rïjX)�rð}rñ(jX**USB Device Bulk**ròjjìj j‚jj\j}ró(j]j]j]j]j]ujMj]rôj|)�rõ}rö(jjòj}r÷(j]j]j]j]j]ujjðj]røj%XUSB Device Bulkrù…�rú}rû(jUjjõubajj„ubaubaubaubjX)�rü}rý(jX]Sequence of API calls as long as what the example application looks like are described bellowrþjj*j j‚jj\j}rÿ(j]j]j]j]j]ujM jhj]rj%X]Sequence of API calls as long as what the example application looks like are described bellowr…�r}r(jjþjjüubaubj^)�r}r(jXE.. Image:: ../images/usb_device_generic_bulk_example_application.png jj*j j‚jjaj}r(UuriX>rtos/../images/usb_device_generic_bulk_example_application.pngrj]j]j]j]jd}rU*jsj]ujM jhj]ubj)�r }r (jUjj*j j‚jjj}r (jX-j]j]j]j]j]ujMjhj]r j)�r }r(jXoMain APIs that are used to read/write from and to the USB bulk device are USBD_bulkRead() and USBD_bulkWrite().rjj j j‚jj j}r(j]j]j]j]j]ujNjhj]rjX)�r}r(jjjj j j‚jj\j}r(j]j]j]j]j]ujMj]rj%XoMain APIs that are used to read/write from and to the USB bulk device are USBD_bulkRead() and USBD_bulkWrite().r…�r}r(jjjjubaubaubaubjX)�r}r(jXLThese two functions will block the caller until they finish their operation.rjj*j j‚jj\j}r(j]j]j]j]j]ujMjhj]rj%XLThese two functions will block the caller until they finish their operation.r…�r}r (jjjjubaubj)�r!}r"(jUjj*j j‚jjj}r#(jX-j]j]j]j]j]ujMjhj]r$j)�r%}r&(jXÇThe main application should wait for about 500ms after the USB host sends the SetConfig request to make sure that the enumeration is completely finished before calling USBD_bulkRead/Write functions jj!j j‚jj j}r'(j]j]j]j]j]ujNjhj]r(jX)�r)}r*(jXÅThe main application should wait for about 500ms after the USB host sends the SetConfig request to make sure that the enumeration is completely finished before calling USBD_bulkRead/Write functionsr+jj%j j‚jj\j}r,(j]j]j]j]j]ujMj]r-j%XÅThe main application should wait for about 500ms after the USB host sends the SetConfig request to make sure that the enumeration is completely finished before calling USBD_bulkRead/Write functionsr.…�r/}r0(jj+jj)ubaubaubaubeubeubj)�r1}r2(jUjKjjpj j‚jjj}r3(j]r4jšaj]j]j]r5Uid5r6aj]ujMjhj]r7(j)�r8}r9(jX Applicationr:jj1j j‚jj"j}r;(j]j]j]j]j]ujMjhj]r<j%X Applicationr=…�r>}r?(jj:jj8ubaubj)�r@}rA(jUjKjj1j j‚jjj}rB(j]rCjªaj]j]j]rDUid6rEaj]ujMjhj]rF(j)�rG}rH(jXExamplesrIjj@j j‚jj"j}rJ(j]j]j]j]j]ujMjhj]rKj%XExamplesrL…�rM}rN(jjIjjGubaubjX)�rO}rP(jXèExamples are CCS projects. Generated with pdkProjectCreate scripts. Please refer `Processor SDK RTOS Getting Started Guide `__ for how to create and build examples projectsjj@j j‚jj\j}rQ(j]j]j]j]j]ujMjhj]rR(j%XRExamples are CCS projects. Generated with pdkProjectCreate scripts. Please refer rS…�rT}rU(jXRExamples are CCS projects. Generated with pdkProjectCreate scripts. Please refer jjOubj)�rV}rW(jXh`Processor SDK RTOS Getting Started Guide `__j}rX(UnameX(Processor SDK RTOS Getting Started GuidejX9index_overview.html#pdk-example-and-test-project-creationj]j]j]j]j]ujjOj]rYj%X(Processor SDK RTOS Getting Started GuiderZ…�r[}r\(jUjjVubajjubj%X. for how to create and build examples projectsr]…�r^}r_(jX. for how to create and build examples projectsjjOubeubj¶)�r`}ra(jUjj@j j‚jj¹j}rb(j]j]j]j]j]ujNjhj]rcj¼)�rd}re(jUj}rf(j]j]j]j]j]UcolsKujj`j]rg(jÁ)�rh}ri(jUj}rj(j]j]j]j]j]UcolwidthKujjdj]jjÅubjÁ)�rk}rl(jUj}rm(j]j]j]j]j]UcolwidthKujjdj]jjÅubjÁ)�rn}ro(jUj}rp(j]j]j]j]j]UcolwidthKujjdj]jjÅubjÒ)�rq}rr(jUj}rs(j]j]j]j]j]ujjdj]rtj×)�ru}rv(jUj}rw(j]j]j]j]j]ujjqj]rx(jÜ)�ry}rz(jUj}r{(j]j]j]j]j]ujjuj]r|jX)�r}}r~(jX Example Namerjjyj j‚jj\j}r€(j]j]j]j]j]ujMj]r�j%X Example Namer‚…�rƒ}r„(jjjj}ubaubajjéubjÜ)�r…}r†(jUj}r‡(j]j]j]j]j]ujjuj]rˆjX)�r‰}rŠ(jXEVM's supportedr‹jj…j j‚jj\j}rŒ(j]j]j]j]j]ujMj]r�j%XEVM's supportedrŽ…�r�}r�(jj‹jj‰ubaubajjéubjÜ)�r‘}r’(jUj}r“(j]j]j]j]j]ujjuj]r”jX)�r•}r–(jXNotesr—jj‘j j‚jj\j}r˜(j]j]j]j]j]ujM j]r™j%XNotesrš…�r›}rœ(jj—jj•ubaubajjéubejjubajjubj)�r�}rž(jUj}rŸ(j]j]j]j]j]ujjdj]r (j×)�r¡}r¢(jUj}r£(j]j]j]j]j]ujj�j]r¤(jÜ)�r¥}r¦(jUj}r§(j]j]j]j]j]ujj¡j]r¨jX)�r©}rª(jX**USB_DevMsc_mmcsd**r«jj¥j j‚jj\j}r¬(j]j]j]j]j]ujM"j]r­j|)�r®}r¯(jj«j}r°(j]j]j]j]j]ujj©j]r±j%XUSB_DevMsc_mmcsdr²…�r³}r´(jUjj®ubajj„ubaubajjéubjÜ)�rµ}r¶(jUj}r·(j]j]j]j]j]ujj¡j]r¸jX)�r¹}rº(jX'AM335GP EVM, BeagleBoneBlack, AM572 EVMr»jjµj j‚jj\j}r¼(j]j]j]j]j]ujM"j]r½j%X'AM335GP EVM, BeagleBoneBlack, AM572 EVMr¾…�r¿}rÀ(jj»jj¹ubaubajjéubjÜ)�rÁ}rÂ(jUj}rÃ(j]j]j]j]j]ujj¡j]rÄjX)�rÅ}rÆ(jX‚eMMC is used on AM572 and BealgeBoneBlack examples This example can be used to format eMMC, just like any other USB storage devicerÇjjÁj j‚jj\j}rÈ(j]j]j]j]j]ujM"j]rÉj%X‚eMMC is used on AM572 and BealgeBoneBlack examples This example can be used to format eMMC, just like any other USB storage devicerÊ…�rË}rÌ(jjÇjjÅubaubajjéubejjubj×)�rÍ}rÎ(jUj}rÏ(j]j]j]j]j]ujj�j]rÐ(jÜ)�rÑ}rÒ(jUj}rÓ(j]j]j]j]j]ujjÍj]rÔjX)�rÕ}rÖ(jX**USB_DevMsc**r×jjÑj j‚jj\j}rØ(j]j]j]j]j]ujM*j]rÙj|)�rÚ}rÛ(jj×j}rÜ(j]j]j]j]j]ujjÕj]rÝj%X USB_DevMscrÞ…�rß}rà(jUjjÚubajj„ubaubajjéubjÜ)�rá}râ(jUj}rã(j]j]j]j]j]ujjÍj]räjX)�rå}ræ(jXdAM335GP, AM437xGP, OMAP137EVM, OMAPL138LCDK, AM57xIDK, AM572 EVM, K2G EVM, DRA7xx EVM, AM65x EVM/IDKrçjjáj j‚jj\j}rè(j]j]j]j]j]ujM*j]réj%XdAM335GP, AM437xGP, OMAP137EVM, OMAPL138LCDK, AM57xIDK, AM572 EVM, K2G EVM, DRA7xx EVM, AM65x EVM/IDKrê…�rë}rì(jjçjjåubaubajjéubjÜ)�rí}rî(jUj}rï(j]j]j]j]j]ujjÍj]rðjX)�rñ}rò(jX>OMAPL13 LCDK host and device examples share the same USB port.rójjíj j‚jj\j}rô(j]j]j]j]j]ujM*j]rõj%X>OMAPL13 LCDK host and device examples share the same USB port.rö…�r÷}rø(jjójjñubaubajjéubejjubj×)�rù}rú(jUj}rû(j]j]j]j]j]ujj�j]rü(jÜ)�rý}rþ(jUj}rÿ(j]j]j]j]j]ujjùj]r jX)�r }r (jX**USB_HostMsc**r jjýj j‚jj\j}r (j]j]j]j]j]ujM2j]r j|)�r }r (jj j}r (j]j]j]j]j]ujj j]r j%X USB_HostMscr …�r }r (jUjj ubajj„ubaubajjéubjÜ)�r }r (jUj}r (j]j]j]j]j]ujjùj]r jX)�r }r (jXYAM335GP, AM437xGP, OMAP136EVM, OMAPL137LCDK, AM57xIDK, K2G EVM, DRA7xx EVM, AM65x EVM/IDKr jj j j‚jj\j}r (j]j]j]j]j]ujM2j]r j%XYAM335GP, AM437xGP, OMAP136EVM, OMAPL137LCDK, AM57xIDK, K2G EVM, DRA7xx EVM, AM65x EVM/IDKr …�r }r (jj jj ubaubajjéubjÜ)�r }r (jUj}r (j]j]j]j]j]ujjùj]r (jX)�r }r (jXyOMAPL13 LCDK host and device examples share the same USB port. Need OTG cable for EVM with OTG port to work in host mode.r jj j j‚jj\j}r (j]j]j]j]j]ujM2j]r! j%XyOMAPL13 LCDK host and device examples share the same USB port. Need OTG cable for EVM with OTG port to work in host mode.r" …�r# }r$ (jj jj ubaubjX)�r% }r& (jX"USB3.0 host supported on AM572IDK.r' jj j j‚jj\j}r( (j]j]j]j]j]ujM9j]r) j%X"USB3.0 host supported on AM572IDK.r* …�r+ }r, (jj' jj% ubaubejjéubejjubj×)�r- }r. (jUj}r/ (j]j]j]j]j]ujj�j]r0 (jÜ)�r1 }r2 (jUj}r3 (j]j]j]j]j]ujj- j]r4 jX)�r5 }r6 (jX**USB_DevAudio**r7 jj1 j j‚jj\j}r8 (j]j]j]j]j]ujM<j]r9 j|)�r: }r; (jj7 j}r< (j]j]j]j]j]ujj5 j]r= j%X USB_DevAudior> …�r? }r@ (jUjj: ubajj„ubaubajjéubjÜ)�rA }rB (jUj}rC (j]j]j]j]j]ujj- j]rD jX)�rE }rF (jX#AM335xGP,OMAPL137 EVM,OMAPL138 LCDKrG jjA j j‚jj\j}rH (j]j]j]j]j]ujM<j]rI j%X#AM335xGP,OMAPL137 EVM,OMAPL138 LCDKrJ …�rK }rL (jjG jjE ubaubajjéubjÜ)�rM }rN (jUj}rO (j]j]j]j]j]ujj- j]rP jX)�rQ }rR (jX>Refer to Hardware Setup and How to Run the Demo sections belowrS jjM j j‚jj\j}rT (j]j]j]j]j]ujM<j]rU j%X>Refer to Hardware Setup and How to Run the Demo sections belowrV …�rW }rX (jjS jjQ ubaubajjéubejjubj×)�rY }rZ (jUj}r[ (j]j]j]j]j]ujj�j]r\ (jÜ)�r] }r^ (jUj}r_ (j]j]j]j]j]ujjY j]r` jX)�ra }rb (jX**USB_DevBulk**rc jj] j j‚jj\j}rd (j]j]j]j]j]ujMAj]re j|)�rf }rg (jjc j}rh (j]j]j]j]j]ujja j]ri j%X USB_DevBulkrj …�rk }rl (jUjjf ubajj„ubaubajjéubjÜ)�rm }rn (jUj}ro (j]j]j]j]j]ujjY j]rp jX)�rq }rr (jXeAM335xGP, AM437xGP, AM572xIDK, AM571xIDK, AM574xIDK, K2GEVM, OMAPL137EVM, OMAP138LCDK, AM654x EVM/IDKrs jjm j j‚jj\j}rt (j]j]j]j]j]ujMAj]ru j%XeAM335xGP, AM437xGP, AM572xIDK, AM571xIDK, AM574xIDK, K2GEVM, OMAPL137EVM, OMAP138LCDK, AM654x EVM/IDKrv …�rw }rx (jjs jjq ubaubajjéubjÜ)�ry }rz (jUj}r{ (j]j]j]j]j]ujjY j]jjéubejjubejjðubejjñubaubeubj)�r| }r} (jUjj1j j‚jjj}r~ (j]j]j]j]r Utest-applicationr€ aj]r� hDaujMMjhj]r‚ (j)�rƒ }r„ (jXTest Applicationr… jj| j j‚jj"j}r† (j]j]j]j]j]ujMMjhj]r‡ j%XTest Applicationrˆ …�r‰ }rŠ (jj… jjƒ ubaubjX)�r‹ }rŒ (jXÏUSB test applications are built using makefile. Some of the test application are RTOS/BIOS apps, other are bare metal apps. They are replica of the USB examples but built by makefile instead of CCS projects.r� jj| j j‚jj\j}rŽ (j]j]j]j]j]ujMOjhj]r� j%XÏUSB test applications are built using makefile. Some of the test application are RTOS/BIOS apps, other are bare metal apps. They are replica of the USB examples but built by makefile instead of CCS projects.r� …�r‘ }r’ (jj� jj‹ ubaubjX)�r“ }r” (jXÞRefer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj| j j‚jj\j}r• (j]j]j]j]j]ujMSjhj]r– (j%X Refer to the r— …�r˜ }r™ (jX Refer to the jj“ ubj)�rš }r› (jXT`Processor SDK RTOS Getting Started Guide `__j}rœ (UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj“ j]r� j%X(Processor SDK RTOS Getting Started Guiderž …�rŸ }r  (jUjjš ubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r¡ …�r¢ }r£ (jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj“ ubeubcdocutils.nodes block_quote r¤ )�r¥ }r¦ (jUjj| j NjU block_quoter§ j}r¨ (j]j]j]j]j]ujNjhj]r© j)�rª }r« (jUj}r¬ (jX-j]j]j]j]j]ujj¥ j]r­ (j)�r® }r¯ (jXcd /packages/r° j}r± (j]j]j]j]j]ujjª j]r² jX)�r³ }r´ (jj° jj® j j‚jj\j}rµ (j]j]j]j]j]ujMVj]r¶ j%Xcd /packages/r· …�r¸ }r¹ (jj° jj³ ubaubajj ubj)�rº }r» (jXTo build: make usbr¼ j}r½ (j]j]j]j]j]ujjª j]r¾ jX)�r¿ }rÀ (jj¼ jjº j j‚jj\j}rÁ (j]j]j]j]j]ujMWj]r j%XTo build: make usbrà …�rÄ }rÅ (jj¼ jj¿ ubaubajj ubj)�rÆ }rÇ (jXTo clean: make usb_cleanrÈ j}rÉ (j]j]j]j]j]ujjª j]rÊ jX)�rË }rÌ (jjÈ jjÆ j j‚jj\j}rÍ (j]j]j]j]j]ujMXj]rÎ j%XTo clean: make usb_cleanrÏ …�rÐ }rÑ (jjÈ jjË ubaubajj ubj)�rÒ }rÓ (jXJTest applications are then under (TI_PDK_INSTALL_DIR)/packages/ti/binary/ j}rÔ (j]j]j]j]j]ujjª j]rÕ jX)�rÖ }r× (jXITest applications are then under (TI_PDK_INSTALL_DIR)/packages/ti/binary/rØ jjÒ j j‚jj\j}rÙ (j]j]j]j]j]ujMYj]rÚ j%XITest applications are then under (TI_PDK_INSTALL_DIR)/packages/ti/binary/rÛ …�rÜ }rÝ (jjØ jjÖ ubaubajj ubejjubaubj¶)�rÞ }rß (jUjj| j j‚jj¹j}rà (j]j]j]j]j]ujNjhj]rá j¼)�râ }rã (jUj}rä (j]j]j]j]j]UcolsKujjÞ j]rå (jÁ)�ræ }rç (jUj}rè (j]j]j]j]j]UcolwidthK#ujjâ j]jjÅubjÁ)�ré }rê (jUj}rë (j]j]j]j]j]UcolwidthKujjâ j]jjÅubjÁ)�rì }rí (jUj}rî (j]j]j]j]j]UcolwidthKujjâ j]jjÅubjÁ)�rï }rð (jUj}rñ (j]j]j]j]j]UcolwidthK!ujjâ j]jjÅubjÒ)�rò }ró (jUj}rô (j]j]j]j]j]ujjâ j]rõ j×)�rö }r÷ (jUj}rø (j]j]j]j]j]ujjò j]rù (jÜ)�rú }rû (jUj}rü (j]j]j]j]j]ujjö j]rý jX)�rþ }rÿ (jX Test App Namer jjú j j‚jj\j}r (j]j]j]j]j]ujM\j]r j%X Test App Namer …�r }r (jj jjþ ubaubajjéubjÜ)�r }r (jUj}r (j]j]j]j]j]ujjö j]r jX)�r }r (jXEVM's supportedr jj j j‚jj\j}r (j]j]j]j]j]ujM\j]r j%XEVM's supportedr …�r }r (jj jj ubaubajjéubjÜ)�r }r (jUj}r (j]j]j]j]j]ujjö j]r jX)�r }r (jX Bare metalr jj j j‚jj\j}r (j]j]j]j]j]ujM\j]r j%X Bare metalr …�r }r (jj jj ubaubajjéubjÜ)�r }r (jUj}r (j]j]j]j]j]ujjö j]r! jX)�r" }r# (jXNotesr$ jj j j‚jj\j}r% (j]j]j]j]j]ujM]j]r& j%XNotesr' …�r( }r) (jj$ jj" ubaubajjéubejjubajjubj)�r* }r+ (jUj}r, (j]j]j]j]j]ujjâ j]r- (j×)�r. }r/ (jUj}r0 (j]j]j]j]j]ujj* j]r1 (jÜ)�r2 }r3 (jUj}r4 (j]j]j]j]j]ujj. j]r5 jX)�r6 }r7 (jX **USB_Baremetal_DevMsc_TestApp**r8 jj2 j j‚jj\j}r9 (j]j]j]j]j]ujM_j]r: j|)�r; }r< (jj8 j}r= (j]j]j]j]j]ujj6 j]r> j%XUSB_Baremetal_DevMsc_TestAppr? …�r@ }rA (jUjj; ubajj„ubaubajjéubjÜ)�rB }rC (jUj}rD (j]j]j]j]j]ujj. j]rE jX)�rF }rG (jXAM65xx EVM/IDKrH jjB j j‚jj\j}rI (j]j]j]j]j]ujM_j]rJ j%XAM65xx EVM/IDKrK …�rL }rM (jjH jjF ubaubajjéubjÜ)�rN }rO (jUj}rP (j]j]j]j]j]ujj. j]rQ jX)�rR }rS (jXyesrT jjN j j‚jj\j}rU (j]j]j]j]j]ujM_j]rV j%XyesrW …�rX }rY (jjT jjR ubaubajjéubjÜ)�rZ }r[ (jUj}r\ (j]j]j]j]j]ujj. j]r] jX)�r^ }r_ (jXEquivalent to DevMsc exampler` jjZ j j‚jj\j}ra (j]j]j]j]j]ujM_j]rb j%XEquivalent to DevMsc examplerc …�rd }re (jj` jj^ ubaubajjéubejjubj×)�rf }rg (jUj}rh (j]j]j]j]j]ujj* j]ri (jÜ)�rj }rk (jUj}rl (j]j]j]j]j]ujjf j]rm jX)�rn }ro (jX!**USB_Baremetal_HostMsc_TestApp**rp jjj j j‚jj\j}rq (j]j]j]j]j]ujMaj]rr j|)�rs }rt (jjp j}ru (j]j]j]j]j]ujjn j]rv j%XUSB_Baremetal_HostMsc_TestApprw …�rx }ry (jUjjs ubajj„ubaubajjéubjÜ)�rz }r{ (jUj}r| (j]j]j]j]j]ujjf j]r} jX)�r~ }r (jXAM654x EVM/IDKr€ jjz j j‚jj\j}r� (j]j]j]j]j]ujMaj]r‚ j%XAM654x EVM/IDKrƒ …�r„ }r… (jj€ jj~ ubaubajjéubjÜ)�r† }r‡ (jUj}rˆ (j]j]j]j]j]ujjf j]r‰ jX)�rŠ }r‹ (jXyesrŒ jj† j j‚jj\j}r� (j]j]j]j]j]ujMaj]rŽ j%Xyesr� …�r� }r‘ (jjŒ jjŠ ubaubajjéubjÜ)�r’ }r“ (jUj}r” (j]j]j]j]j]ujjf j]r• jX)�r– }r— (jX Same function as HostMsc exampler˜ jj’ j j‚jj\j}r™ (j]j]j]j]j]ujMaj]rš j%X Same function as HostMsc exampler› …�rœ }r� (jj˜ jj– ubaubajjéubejjubj×)�rž }rŸ (jUj}r  (j]j]j]j]j]ujj* j]r¡ (jÜ)�r¢ }r£ (jUj}r¤ (j]j]j]j]j]ujjž j]r¥ jX)�r¦ }r§ (jX**USB_HostMsc_TestApp**r¨ jj¢ j j‚jj\j}r© (j]j]j]j]j]ujMcj]rª j|)�r« }r¬ (jj¨ j}r­ (j]j]j]j]j]ujj¦ j]r® j%XUSB_HostMsc_TestAppr¯ …�r° }r± (jUjj« ubajj„ubaubajjéubjÜ)�r² }r³ (jUj}r´ (j]j]j]j]j]ujjž j]rµ jX)�r¶ }r· (jXAM654x EVM/IDKr¸ jj² j j‚jj\j}r¹ (j]j]j]j]j]ujMcj]rº j%XAM654x EVM/IDKr» …�r¼ }r½ (jj¸ jj¶ ubaubajjéubjÜ)�r¾ }r¿ (jUj}rÀ (j]j]j]j]j]ujjž j]rÁ jX)�r }rà (jXnorÄ jj¾ j j‚jj\j}rÅ (j]j]j]j]j]ujMcj]rÆ j%XnorÇ …�rÈ }rÉ (jjÄ jj ubaubajjéubjÜ)�rÊ }rË (jUj}rÌ (j]j]j]j]j]ujjž j]rÍ jX)�rÎ }rÏ (jXSame as HostMsc examplerÐ jjÊ j j‚jj\j}rÑ (j]j]j]j]j]ujMcj]rÒ j%XSame as HostMsc examplerÓ …�rÔ }rÕ (jjÐ jjÎ ubaubajjéubejjubj×)�rÖ }r× (jUj}rØ (j]j]j]j]j]ujj* j]rÙ (jÜ)�rÚ }rÛ (jUj}rÜ (j]j]j]j]j]ujjÖ j]rÝ jX)�rÞ }rß (jX**USB_DevMsc_TestApp**rà jjÚ j j‚jj\j}rá (j]j]j]j]j]ujMej]râ j|)�rã }rä (jjà j}rå (j]j]j]j]j]ujjÞ j]ræ j%XUSB_DevMsc_TestApprç …�rè }ré (jUjjã ubajj„ubaubajjéubjÜ)�rê }rë (jUj}rì (j]j]j]j]j]ujjÖ j]rí jX)�rî }rï (jXAM654x EVM/IDKrð jjê j j‚jj\j}rñ (j]j]j]j]j]ujMej]rò j%XAM654x EVM/IDKró …�rô }rõ (jjð jjî ubaubajjéubjÜ)�rö }r÷ (jUj}rø (j]j]j]j]j]ujjÖ j]rù jX)�rú }rû (jXnorü jjö j j‚jj\j}rý (j]j]j]j]j]ujMej]rþ j%Xnorÿ …�r }r (jjü jjú ubaubajjéubjÜ)�r }r (jUj}r (j]j]j]j]j]ujjÖ j]r jX)�r }r (jXSame as DevMsc exampler jj j j‚jj\j}r (j]j]j]j]j]ujMej]r j%XSame as DevMsc exampler …�r }r (jj jj ubaubajjéubejjubj×)�r }r (jUj}r (j]j]j]j]j]ujj* j]r (jÜ)�r }r (jUj}r (j]j]j]j]j]ujj j]r jX)�r }r (jX**USB_DevBulk_TestApp**r jj j j‚jj\j}r (j]j]j]j]j]ujMgj]r j|)�r }r (jj j}r (j]j]j]j]j]ujj j]r j%XUSB_DevBulk_TestAppr …�r }r! (jUjj ubajj„ubaubajjéubjÜ)�r" }r# (jUj}r$ (j]j]j]j]j]ujj j]r% jX)�r& }r' (jXAM654x EVM/IDKr( jj" j j‚jj\j}r) (j]j]j]j]j]ujMgj]r* j%XAM654x EVM/IDKr+ …�r, }r- (jj( jj& ubaubajjéubjÜ)�r. }r/ (jUj}r0 (j]j]j]j]j]ujj j]r1 jX)�r2 }r3 (jXnor4 jj. j j‚jj\j}r5 (j]j]j]j]j]ujMgj]r6 j%Xnor7 …�r8 }r9 (jj4 jj2 ubaubajjéubjÜ)�r: }r; (jUj}r< (j]j]j]j]j]ujj j]r= jX)�r> }r? (jXSame as DevBulk exampler@ jj: j j‚jj\j}rA (j]j]j]j]j]ujMgj]rB j%XSame as DevBulk examplerC …�rD }rE (jj@ jj> ubaubajjéubejjubj×)�rF }rG (jUj}rH (j]j]j]j]j]ujj* j]rI (jÜ)�rJ }rK (jUj}rL (j]j]j]j]j]ujjF j]rM jX)�rN }rO (jX**usb_d_msc_**rP jjJ j j‚jj\j}rQ (j]j]j]j]j]ujMkj]rR j|)�rS }rT (jjP j}rU (j]j]j]j]j]ujjN j]rV j%Xusb_d_msc_rW …�rX }rY (jUjjS ubajj„ubaubajjéubjÜ)�rZ }r[ (jUj}r\ (j]j]j]j]j]ujjF j]r] jX)�r^ }r_ (jX-AM335xGP,AM437xEVM OMAPL137 EVM OMAPL138 LCDKr` jjZ j j‚jj\j}ra (j]j]j]j]j]ujMkj]rb j%X-AM335xGP,AM437xEVM OMAPL137 EVM OMAPL138 LCDKrc …�rd }re (jj` jj^ ubaubajjéubjÜ)�rf }rg (jUj}rh (j]j]j]j]j]ujjF j]ri jX)�rj }rk (jXyesrl jjf j j‚jj\j}rm (j]j]j]j]j]ujMlj]rn j%Xyesro …�rp }rq (jjl jjj ubaubajjéubjÜ)�rr }rs (jUj}rt (j]j]j]j]j]ujjF j]ru (jX)�rv }rw (jXSame as USB DevMsc example.rx jjr j j‚jj\j}ry (j]j]j]j]j]ujMij]rz j%XSame as USB DevMsc example.r{ …�r| }r} (jjx jjv ubaubjX)�r~ }r (jX7Build by going to example/usb_dev/msc/ build/r€ jjr j j‚jj\j}r� (j]j]j]j]j]ujMkj]r‚ j%X7Build by going to example/usb_dev/msc/ build/rƒ …�r„ }r… (jj€ jj~ ubaubejjéubejjubj×)�r† }r‡ (jUj}rˆ (j]j]j]j]j]ujj* j]r‰ (jÜ)�rŠ }r‹ (jUj}rŒ (j]j]j]j]j]ujj† j]r� jX)�rŽ }r� (jX**usb_h_msc_**r� jjŠ j j‚jj\j}r‘ (j]j]j]j]j]ujMsj]r’ j|)�r“ }r” (jj� j}r• (j]j]j]j]j]ujjŽ j]r– j%Xusb_h_msc_r— …�r˜ }r™ (jUjj“ ubajj„ubaubajjéubjÜ)�rš }r› (jUj}rœ (j]j]j]j]j]ujj† j]r� jX)�rž }rŸ (jX-AM335xGP,AM437xEVM OMAPL137 EVM OMAPL138 LCDKr  jjš j j‚jj\j}r¡ (j]j]j]j]j]ujMsj]r¢ j%X-AM335xGP,AM437xEVM OMAPL137 EVM OMAPL138 LCDKr£ …�r¤ }r¥ (jj  jjž ubaubajjéubjÜ)�r¦ }r§ (jUj}r¨ (j]j]j]j]j]ujj† j]r© jX)�rª }r« (jXyesr¬ jj¦ j j‚jj\j}r­ (j]j]j]j]j]ujMtj]r® j%Xyesr¯ …�r° }r± (jj¬ jjª ubaubajjéubjÜ)�r² }r³ (jUj}r´ (j]j]j]j]j]ujj† j]rµ (jX)�r¶ }r· (jXSame as USB HostMsc exampler¸ jj² j j‚jj\j}r¹ (j]j]j]j]j]ujMqj]rº j%XSame as USB HostMsc exampler» …�r¼ }r½ (jj¸ jj¶ ubaubjX)�r¾ }r¿ (jX7Build by going to example/usb_dev/msc/ build/rÀ jj² j j‚jj\j}rÁ (j]j]j]j]j]ujMsj]r j%X7Build by going to example/usb_dev/msc/ build/rà …�rÄ }rÅ (jjÀ jj¾ ubaubejjéubejjubejjðubejjñubaubcdocutils.nodes definition_list rÆ )�rÇ }rÈ (jUjj| j j‚jUdefinition_listrÉ j}rÊ (j]j]j]j]j]ujNjhj]rË cdocutils.nodes definition_list_item rÌ )�rÍ }rÎ (jXñBoth examples and test applications can be loaded and run on their intended EVM via - CCS JTAG connector, or - Via SBL: the "app" file under CCS project's debug directory (/Debug>) is SBL loadable file of the built project. -- Project Memory layout must be considered and following SBL guideline so that examples can run safely via SBL. Please refer to `SBL Component `__ for more detail jjÇ j j‚jUdefinition_list_itemrÏ j}rÐ (j]j]j]j]j]ujMj]rÑ (cdocutils.nodes term rÒ )�rÓ }rÔ (jXSBoth examples and test applications can be loaded and run on their intended EVM viarÕ jjÍ j j‚jUtermrÖ j}r× (j]j]j]j]j]ujMj]rØ j%XSBoth examples and test applications can be loaded and run on their intended EVM viarÙ …�rÚ }rÛ (jjÕ jjÓ ubaubcdocutils.nodes definition rÜ )�rÝ }rÞ (jUj}rß (j]j]j]j]j]ujjÍ j]rà (j)�rá }râ (jUj}rã (jX-j]j]j]j]j]ujjÝ j]rä (j)�rå }ræ (jXCCS JTAG connector, orrç j}rè (j]j]j]j]j]ujjá j]ré jX)�rê }rë (jjç jjå j j‚jj\j}rì (j]j]j]j]j]ujM{j]rí j%XCCS JTAG connector, orrî …�rï }rð (jjç jjê ubaubajj ubj)�rñ }rò (jX­Via SBL: the "app" file under CCS project's debug directory (/Debug>) is SBL loadable file of the built project.ró j}rô (j]j]j]j]j]ujjá j]rõ jX)�rö }r÷ (jjó jjñ j j‚jj\j}rø (j]j]j]j]j]ujM|j]rù j%X­Via SBL: the "app" file under CCS project's debug directory (/Debug>) is SBL loadable file of the built project.rú …�rû }rü (jjó jjö ubaubajj ubejjubjX)�rý }rþ (jXÏ-- Project Memory layout must be considered and following SBL guideline so that examples can run safely via SBL. Please refer to `SBL Component `__ for more detailjjÝ j j‚jj\j}rÿ (j]j]j]j]j]ujM}j]r (j%X‚-- Project Memory layout must be considered and following SBL guideline so that examples can run safely via SBL. Please refer to r …�r }r (jX‚-- Project Memory layout must be considered and following SBL guideline so that examples can run safely via SBL. Please refer to jjý ubj)�r }r (jX;`SBL Component `__j}r (UnameX SBL ComponentjX'index_Foundational_Components.html#bootj]j]j]j]j]ujjý j]r j%X SBL Componentr …�r }r (jUjj ubajjubj%X for more detailr …�r }r (jX for more detailjjý ubeubejU definitionr ubeubaubeubeubj)�r }r (jUjjpj j‚jjj}r (j]j]j]j]r Ubenchmark-toolr aj]r h aujM‚jhj]r (j)�r }r (jXBenchmark toolr jj j j‚jj"j}r (j]j]j]j]j]ujM‚jhj]r j%XBenchmark toolr …�r }r (jj jj ubaubj)�r }r (jUjj j j‚jjj}r (j]j]j]j]r! U usb-host-mscr" aj]r# hpaujM…jhj]r$ (j)�r% }r& (jX USB host MSCr' jj j j‚jj"j}r( (j]j]j]j]j]ujM…jhj]r) j%X USB host MSCr* …�r+ }r, (jj' jj% ubaubj¤ )�r- }r. (jUjj j Njj§ j}r/ (j]j]j]j]j]ujNjhj]r0 j)�r1 }r2 (jUj}r3 (jX-j]j]j]j]j]ujj- j]r4 (j)�r5 }r6 (jXyTo measure the USB host MSC throughput, a new command (bm) is added into the USB host mode example (or test application).r7 j}r8 (j]j]j]j]j]ujj1 j]r9 jX)�r: }r; (jj7 jj5 j j‚jj\j}r< (j]j]j]j]j]ujM†j]r= j%XyTo measure the USB host MSC throughput, a new command (bm) is added into the USB host mode example (or test application).r> …�r? }r@ (jj7 jj: ubaubajj ubj)�rA }rB (jX\This command is to run with a good known fast USB thumb drive attached to the USB host port.rC j}rD (j]j]j]j]j]ujj1 j]rE jX)�rF }rG (jjC jjA j j‚jj\j}rH (j]j]j]j]j]ujM‡j]rI j%X\This command is to run with a good known fast USB thumb drive attached to the USB host port.rJ …�rK }rL (jjC jjF ubaubajj ubj)�rM }rN (jXwThe throughput measurement result varies greatly depends on which USB device is plugged in and which filesystem is usedrO j}rP (j]j]j]j]j]ujj1 j]rQ jX)�rR }rS (jjO jjM j j‚jj\j}rT (j]j]j]j]j]ujMˆj]rU j%XwThe throughput measurement result varies greatly depends on which USB device is plugged in and which filesystem is usedrV …�rW }rX (jjO jjR ubaubajj ubj)�rY }rZ (jX²The USB drive needs to be formated as FAT32 (since the USB host example only supports FAT filesystem) and has at least 100MB free space. Fast blank USB thumb drive is recomended.r[ j}r\ (j]j]j]j]j]ujj1 j]r] jX)�r^ }r_ (jj[ jjY j j‚jj\j}r` (j]j]j]j]j]ujM‰j]ra j%X²The USB drive needs to be formated as FAT32 (since the USB host example only supports FAT filesystem) and has at least 100MB free space. Fast blank USB thumb drive is recomended.rb …�rc }rd (jj[ jj^ ubaubajj ubj)�re }rf (jX¾The command, when run, writes a 100MB file into the thumb drive and measures the time it takes to do so. It then reads back this 100MB file with time measurement to find the read throughput.rg j}rh (j]j]j]j]j]ujj1 j]ri jX)�rj }rk (jjg jje j j‚jj\j}rl (j]j]j]j]j]ujMŠj]rm j%X¾The command, when run, writes a 100MB file into the thumb drive and measures the time it takes to do so. It then reads back this 100MB file with time measurement to find the read throughput.rn …�ro }rp (jjg jjj ubaubajj ubj)�rq }rr (jX„The write and read are done in block size of 100KB, 256KB, 1MB, and 5MB. It prints throughput measurements for each of these blocks.rs j}rt (j]j]j]j]j]ujj1 j]ru jX)�rv }rw (jjs jjq j j‚jj\j}rx (j]j]j]j]j]ujM‹j]ry j%X„The write and read are done in block size of 100KB, 256KB, 1MB, and 5MB. It prints throughput measurements for each of these blocks.rz …�r{ }r| (jjs jjv ubaubajj ubj)�r} }r~ (jX7This command is only supported in AM65xx at the moment.r j}r€ (j]j]j]j]j]ujj1 j]r� jX)�r‚ }rƒ (jj jj} j j‚jj\j}r„ (j]j]j]j]j]ujMŒj]r… j%X7This command is only supported in AM65xx at the moment.r† …�r‡ }rˆ (jj jj‚ ubaubajj ubj)�r‰ }rŠ (jXSyntax: j}r‹ (j]j]j]j]j]ujj1 j]rŒ jX)�r� }rŽ (jXSyntax:r� jj‰ j j‚jj\j}r� (j]j]j]j]j]ujM�j]r‘ j%XSyntax:r’ …�r“ }r” (jj� jj� ubaubajj ubejjubaubj#)�r• }r– (jXbm jj j j‚jj&j}r— (j2j3j]j]j]j]j]ujMujhj]r˜ j%Xbm r™ …�rš }r› (jUjj• ubaubeubj)�rœ }r� (jUjj j j‚jjj}rž (j]j]j]j]rŸ Uusb-device-mscr  aj]r¡ hÖaujM•jhj]r¢ (j)�r£ }r¤ (jXUSB device MSCr¥ jjœ j j‚jj"j}r¦ (j]j]j]j]j]ujM•jhj]r§ j%XUSB device MSCr¨ …�r© }rª (jj¥ jj£ ubaubj¤ )�r« }r¬ (jUjjœ j Njj§ j}r­ (j]j]j]j]j]ujNjhj]r® j)�r¯ }r° (jUj}r± (jX-j]j]j]j]j]ujj« j]r² (j)�r³ }r´ (jX‘To measure USB device MSC throughtput a simple linux shell script usb_dev_msc_perf.sh is provided in PDK/packages/ti/drv/usb/example/usb_dev/msc/rµ j}r¶ (j]j]j]j]j]ujj¯ j]r· jX)�r¸ }r¹ (jjµ jj³ j j‚jj\j}rº (j]j]j]j]j]ujM–j]r» j%X‘To measure USB device MSC throughtput a simple linux shell script usb_dev_msc_perf.sh is provided in PDK/packages/ti/drv/usb/example/usb_dev/msc/r¼ …�r½ }r¾ (jjµ jj¸ ubaubajj ubj)�r¿ }rÀ (jX‹This script assumes the USB Dev MSC drive (PDK-USBDEV) is already mounted on the Linux host PC (under /media/$USER/PDK-USBDEV) when it runsrÁ j}r (j]j]j]j]j]ujj¯ j]rà jX)�rÄ }rÅ (jjÁ jj¿ j j‚jj\j}rÆ (j]j]j]j]j]ujM—j]rÇ j%X‹This script assumes the USB Dev MSC drive (PDK-USBDEV) is already mounted on the Linux host PC (under /media/$USER/PDK-USBDEV) when it runsrÈ …�rÉ }rÊ (jjÁ jjÄ ubaubajj ubj)�rË }rÌ (jX,It uses "dd" command to report the thoughputrÍ j}rÎ (j]j]j]j]j]ujj¯ j]rÏ jX)�rÐ }rÑ (jjÍ jjË j j‚jj\j}rÒ (j]j]j]j]j]ujM˜j]rÓ j%X,It uses "dd" command to report the thoughputrÔ …�rÕ }rÖ (jjÍ jjÐ ubaubajj ubj)�r× }rØ (jX†Tested on Ubuntu 16.04. Different version of Linux might mount the MSC drive at different place. Please adjust the script accordingly.rÙ j}rÚ (j]j]j]j]j]ujj¯ j]rÛ jX)�rÜ }rÝ (jjÙ jj× j j‚jj\j}rÞ (j]j]j]j]j]ujM™j]rß j%X†Tested on Ubuntu 16.04. Different version of Linux might mount the MSC drive at different place. Please adjust the script accordingly.rà …�rá }râ (jjÙ jjÜ ubaubajj ubj)�rã }rä (jXÞThe script writes a file to the PDK-USBDEV drive with a number of blocksize. By default it creates a 15MB test file by writing 150 blocks of 100K each (which would fit inside the 16MB RAM disk provided by the USB Dev MSC.)rå j}ræ (j]j]j]j]j]ujj¯ j]rç jX)�rè }ré (jjå jjã j j‚jj\j}rê (j]j]j]j]j]ujMšj]rë j%XÞThe script writes a file to the PDK-USBDEV drive with a number of blocksize. By default it creates a 15MB test file by writing 150 blocks of 100K each (which would fit inside the 16MB RAM disk provided by the USB Dev MSC.)rì …�rí }rî (jjå jjè ubaubajj ubj)�rï }rð (jXŸUser is free to change the block size and number of blocks for the test. However it doens't check if the end result file would fit the PDK-USBDEV drive or not.rñ j}rò (j]j]j]j]j]ujj¯ j]ró jX)�rô }rõ (jjñ jjï j j‚jj\j}rö (j]j]j]j]j]ujM›j]r÷ j%XŸUser is free to change the block size and number of blocks for the test. However it doens't check if the end result file would fit the PDK-USBDEV drive or not.rø …�rù }rú (jjñ jjô ubaubajj ubj)�rû }rü (jXSyntax: j}rý (j]j]j]j]j]ujj¯ j]rþ jX)�rÿ }r (jXSyntax:r jjû j j‚jj\j}r (j]j]j]j]j]ujMœj]r j%XSyntax:r …�r }r (jj jjÿ ubaubajj ubejjubaubj#)�r }r (jX)usb_dev_msc_perf.sh [ ]jjœ j j‚jj&j}r (j2j3j]j]j]j]j]ujM„jhj]r j%X)usb_dev_msc_perf.sh [ ]r …�r }r (jUjj ubaubeubeubj)�r }r (jUjjpj j‚jjj}r (j]j]j]j]r Uhardware-setupr aj]r haujM¥jhj]r (j)�r }r (jXHardware Setupr jj j j‚jj"j}r (j]j]j]j]j]ujM¥jhj]r j%XHardware Setupr …�r }r (jj jj ubaubjX)�r }r (jXMThis section provides the specific HW setup required to run the USB examples.r jj j j‚jj\j}r (j]j]j]j]j]ujM§jhj]r! j%XMThis section provides the specific HW setup required to run the USB examples.r" …�r# }r$ (jj jj ubaubjÁ)�r% }r& (jUjj j j‚jjÄj}r' (j]j]j]j]j]ujMªjhj]r( jÇ)�r) }r* (jUjÊKjj% j j‚jjj}r+ (j]j]j]j]j]ujKjhj]ubaubj)�r, }r- (jUjj j j‚jjj}r. (jX-j]j]j]j]j]ujM¬jhj]r/ j)�r0 }r1 (jX**USB Device Audio** jj, j j‚jj j}r2 (j]j]j]j]j]ujNjhj]r3 jX)�r4 }r5 (jX**USB Device Audio**r6 jj0 j j‚jj\j}r7 (j]j]j]j]j]ujM¬j]r8 j|)�r9 }r: (jj6 j}r; (j]j]j]j]j]ujj4 j]r< j%XUSB Device Audior= …�r> }r? (jUjj9 ubajj„ubaubaubaubjX)�r@ }rA (jX USB audio class demo requires additional setup for running playback and record operations. Below sections provide the setup details for each platform supported.rB jj j j‚jj\j}rC (j]j]j]j]j]ujM®jhj]rD j%X USB audio class demo requires additional setup for running playback and record operations. Below sections provide the setup details for each platform supported.rE …�rF }rG (jjB jj@ ubaubjÁ)�rH }rI (jUjj j j‚jjÄj}rJ (j]j]j]j]j]ujM²jhj]rK jÇ)�rL }rM (jUjÊKjjH j j‚jjj}rN (j]j]j]j]j]ujKjhj]ubaubjX)�rO }rP (jX**AM335x GP EVM**rQ jj j j‚jj\j}rR (j]j]j]j]j]ujM´jhj]rS j|)�rT }rU (jjQ j}rV (j]j]j]j]j]ujjO j]rW j%X AM335x GP EVMrX …�rY }rZ (jUjjT ubajj„ubaubj^)�r[ }r\ (jX-.. Image:: ../images/Am335x_usb_ac_setup.jpg jj j j‚jjaj}r] (UuriX&rtos/../images/Am335x_usb_ac_setup.jpgr^ j]j]j]j]jd}r_ U*j^ sj]ujM·jhj]ubjX)�r` }ra (jX**OMAPL137 EVM**rb jj j j‚jj\j}rc (j]j]j]j]j]ujM¸jhj]rd j|)�re }rf (jjb j}rg (j]j]j]j]j]ujj` j]rh j%X OMAPL137 EVMri …�rj }rk (jUjje ubajj„ubaubj^)�rl }rm (jX... Image:: ../images/Omapl137_usb_ac_setup.jpgrn jj j j‚jjaj}ro (UuriX(rtos/../images/Omapl137_usb_ac_setup.jpgrp j]j]j]j]jd}rq U*jp sj]ujMºjhj]ubjX)�rr }rs (jX**OMAPL138 LCDK**rt jj j j‚jj\j}ru (j]j]j]j]j]ujM»jhj]rv j|)�rw }rx (jjt j}ry (j]j]j]j]j]ujjr j]rz j%X OMAPL138 LCDKr{ …�r| }r} (jUjjw ubajj„ubaubj^)�r~ }r (jX/.. Image:: ../images/Omapl138_usb_ac_setup.jpg jj j j‚jjaj}r€ (UuriX(rtos/../images/Omapl138_usb_ac_setup.jpgr� j]j]j]j]jd}r‚ U*j� sj]ujM¾jhj]ubjX)�rƒ }r„ (jX**How to Run the Demo**r… jj j j‚jj\j}r† (j]j]j]j]j]ujM¿jhj]r‡ j|)�rˆ }r‰ (jj… j}rŠ (j]j]j]j]j]ujjƒ j]r‹ j%XHow to Run the DemorŒ …�r� }rŽ (jUjjˆ ubajj„ubaubj)�r� }r� (jUjj j j‚jjj}r‘ (jX-j]j]j]j]j]ujMÁjhj]r’ (j)�r“ }r” (jXœFollow this link `Processor SDK RTOS Setup CCS `__ to get target configuration setup correctly.jj� j j‚jj j}r• (j]j]j]j]j]ujNjhj]r– jX)�r— }r˜ (jXœFollow this link `Processor SDK RTOS Setup CCS `__ to get target configuration setup correctly.jj“ j j‚jj\j}r™ (j]j]j]j]j]ujMÁj]rš (j%XFollow this link r› …�rœ }r� (jXFollow this link jj— ubj)�rž }rŸ (jX^`Processor SDK RTOS Setup CCS `__j}r  (UnameXProcessor SDK RTOS Setup CCSjX;How_to_Guides.html#setup-ccs-for-evm-and-processor-sdk-rtosj]j]j]j]j]ujj— j]r¡ j%XProcessor SDK RTOS Setup CCSr¢ …�r£ }r¤ (jUjjž ubajjubj%X- to get target configuration setup correctly.r¥ …�r¦ }r§ (jX- to get target configuration setup correctly.jj— ubeubaubj)�r¨ }r© (jXzUse CCS to import the USB_DevAudio__ExampleProject under pdk__/packages/MyExampleProjects.jj� j j‚jj j}rª (j]j]j]j]j]ujNjhj]r« jX)�r¬ }r­ (jXzUse CCS to import the USB_DevAudio__ExampleProject under pdk__/packages/MyExampleProjects.r® jj¨ j j‚jj\j}r¯ (j]j]j]j]j]ujMÃj]r° j%XzUse CCS to import the USB_DevAudio__ExampleProject under pdk__/packages/MyExampleProjects.r± …�r² }r³ (jj® jj¬ ubaubaubj)�r´ }rµ (jX˜Build the imported project. the OUT file will be at pdk__/packages/MyExampleProjects/USB_DevAudio__ExampleProject/Debug.jj� j j‚jj j}r¶ (j]j]j]j]j]ujNjhj]r· jX)�r¸ }r¹ (jX˜Build the imported project. the OUT file will be at pdk__/packages/MyExampleProjects/USB_DevAudio__ExampleProject/Debug.rº jj´ j j‚jj\j}r» (j]j]j]j]j]ujMÅj]r¼ j%X˜Build the imported project. the OUT file will be at pdk__/packages/MyExampleProjects/USB_DevAudio__ExampleProject/Debug.r½ …�r¾ }r¿ (jjº jj¸ ubaubaubj)�rÀ }rÁ (jXeMake the HW connections as shown in `Hardware Setup `__ sectionjj� j j‚jj j}r (j]j]j]j]j]ujNjhj]rà jX)�rÄ }rÅ (jXeMake the HW connections as shown in `Hardware Setup `__ sectionjjÀ j j‚jj\j}rÆ (j]j]j]j]j]ujMÇj]rÇ (j%X$Make the HW connections as shown in rÈ …�rÉ }rÊ (jX$Make the HW connections as shown in jjÄ ubj)�rË }rÌ (jX9`Hardware Setup `__j}rÍ (UnameXHardware SetupjX$index_device_drv.html#hardware-setupj]j]j]j]j]ujjÄ j]rÎ j%XHardware SetuprÏ …�rÐ }rÑ (jUjjË ubajjubj%X sectionrÒ …�rÓ }rÔ (jX sectionjjÄ ubeubaubj)�rÕ }rÖ (jX9Launch the target configuration for the EVM from CCS 7.x.r× jj� j j‚jj j}rØ (j]j]j]j]j]ujNjhj]rÙ jX)�rÚ }rÛ (jj× jjÕ j j‚jj\j}rÜ (j]j]j]j]j]ujMÉj]rÝ j%X9Launch the target configuration for the EVM from CCS 7.x.rÞ …�rß }rà (jj× jjÚ ubaubaubj)�rá }râ (jX)Connect to ARM or DSP core as applicable.rã jj� j j‚jj j}rä (j]j]j]j]j]ujNjhj]rå jX)�ræ }rç (jjã jjá j j‚jj\j}rè (j]j]j]j]j]ujMÊj]ré j%X)Connect to ARM or DSP core as applicable.rê …�rë }rì (jjã jjæ ubaubaubj)�rí }rî (jX˜Load the pdk__/packages/MyExampleProjects/USB_DevAudio__ExampleProject/Debug/USB_DevAudio__armExampleProject.out.jj� j j‚jj j}rï (j]j]j]j]j]ujNjhj]rð jX)�rñ }rò (jX˜Load the pdk__/packages/MyExampleProjects/USB_DevAudio__ExampleProject/Debug/USB_DevAudio__armExampleProject.out.ró jjí j j‚jj\j}rô (j]j]j]j]j]ujMËj]rõ j%X˜Load the pdk__/packages/MyExampleProjects/USB_DevAudio__ExampleProject/Debug/USB_DevAudio__armExampleProject.out.rö …�r÷ }rø (jjó jjñ ubaubaubj)�rù }rú (jX2Run the program (loaded previously) by pressing F8rû jj� j j‚jj j}rü (j]j]j]j]j]ujNjhj]rý jX)�rþ }rÿ (jjû jjù j j‚jj\j}r(j]j]j]j]j]ujMÍj]rj%X2Run the program (loaded previously) by pressing F8r…�r}r(jjû jjþ ubaubaubj)�r}r(jX.The CCS ConsoleIO will display the following: jj� j j‚jj j}r(j]j]j]j]j]ujNjhj]rjX)�r }r (jX-The CCS ConsoleIO will display the following:r jjj j‚jj\j}r (j]j]j]j]j]ujMÎj]r j%X-The CCS ConsoleIO will display the following:r…�r}r(jj jj ubaubaubeubj^)�r}r(jX,.. Image:: ../images/CCS_console_output.png jj j j‚jjaj}r(UuriX%rtos/../images/CCS_console_output.pngrj]j]j]j]jd}rU*jsj]ujMÑjhj]ubj)�r}r(jUjj j j‚jjj}r(jX-j]j]j]j]j]ujMÒjhj]r(j)�r}r(jXmRight click on the "Speaker Icon" on the USB Host (right side of the toolbar), then select "Playback devices"jjj j‚jj j}r(j]j]j]j]j]ujNjhj]rjX)�r}r(jXmRight click on the "Speaker Icon" on the USB Host (right side of the toolbar), then select "Playback devices"r jjj j‚jj\j}r!(j]j]j]j]j]ujMÒj]r"j%XmRight click on the "Speaker Icon" on the USB Host (right side of the toolbar), then select "Playback devices"r#…�r$}r%(jj jjubaubaubj)�r&}r'(jXJWait until the "Speakers USB Audio Device" shows up in the "Sound" dialog jjj j‚jj j}r((j]j]j]j]j]ujNjhj]r)jX)�r*}r+(jXIWait until the "Speakers USB Audio Device" shows up in the "Sound" dialogr,jj&j j‚jj\j}r-(j]j]j]j]j]ujMÔj]r.j%XIWait until the "Speakers USB Audio Device" shows up in the "Sound" dialogr/…�r0}r1(jj,jj*ubaubaubeubj^)�r2}r3(jX.. Image:: ../images/Sound.png jj j j‚jjaj}r4(UuriXrtos/../images/Sound.pngr5j]j]j]j]jd}r6U*j5sj]ujMØjhj]ubj)�r7}r8(jUjj j j‚jjj}r9(jX-j]j]j]j]j]ujMÙjhj]r:j)�r;}r<(jXXSelect the "Speakers USB Audio Device" in the "Sound" dialog, then click the "Configure"jj7j j‚jj j}r=(j]j]j]j]j]ujNjhj]r>jX)�r?}r@(jXXSelect the "Speakers USB Audio Device" in the "Sound" dialog, then click the "Configure"rAjj;j j‚jj\j}rB(j]j]j]j]j]ujMÙj]rCj%XXSelect the "Speakers USB Audio Device" in the "Sound" dialog, then click the "Configure"rD…�rE}rF(jjAjj?ubaubaubaubj^)�rG}rH(jX'.. Image:: ../images/Speaker_setup.png jj j j‚jjaj}rI(UuriX rtos/../images/Speaker_setup.pngrJj]j]j]j]jd}rKU*jJsj]ujMÜjhj]ubj)�rL}rM(jUjj j j‚jjj}rN(jX-j]j]j]j]j]ujMÝjhj]rOj)�rP}rQ(jXlClick the "Test" in "Speaker Setup", you should hear the testing tone in the headphone connected to the EVM jjLj j‚jj j}rR(j]j]j]j]j]ujNjhj]rSjX)�rT}rU(jXkClick the "Test" in "Speaker Setup", you should hear the testing tone in the headphone connected to the EVMrVjjPj j‚jj\j}rW(j]j]j]j]j]ujMÝj]rXj%XkClick the "Test" in "Speaker Setup", you should hear the testing tone in the headphone connected to the EVMrY…�rZ}r[(jjVjjTubaubaubaubcdocutils.nodes note r\)�r]}r^(jXQ'board' can be evmAM335x, evmOMAPL137 or lcdkOMAPL138 'core' can be arm or c674xjj j j‚jUnoter_j}r`(j]j]j]j]j]ujNjhj]ra(jX)�rb}rc(jX5'board' can be evmAM335x, evmOMAPL137 or lcdkOMAPL138rdjj]j j‚jj\j}re(j]j]j]j]j]ujMâj]rfj%X5'board' can be evmAM335x, evmOMAPL137 or lcdkOMAPL138rg…�rh}ri(jjdjjbubaubjX)�rj}rk(jX'core' can be arm or c674xrljj]j j‚jj\j}rm(j]j]j]j]j]ujMäj]rnj%X'core' can be arm or c674xro…�rp}rq(jjljjjubaubeubeubeubj j‚jjj}rr(j]rsj<aj]j]j]rtUid1ruaj]ujKjhj]rv(j)�rw}rx(jXOverviewryjjnj j‚jj"j}rz(j]j]j]j]j]ujKjhj]r{j%XOverviewr|…�r}}r~(jjyjjwubaubj)�r}r€(jUjKjjnj j‚jjj}r�(j]r‚Xdriver overviewrƒaj]j]j]r„Udriver-overviewr…aj]ujKjhj]r†(j)�r‡}rˆ(jXDriver Overviewr‰jjj j‚jj"j}rŠ(j]j]j]j]j]ujKjhj]r‹j%XDriver OverviewrŒ…�r�}rŽ(jj‰jj‡ubaubjX)�r�}r�(jX�PDK USB driver (USB LLD) provides the following USB class/functions while isolating application from the complexity of low level USB and USB class protocols:r‘jjj j‚jj\j}r’(j]j]j]j]j]ujK jhj]r“j%X�PDK USB driver (USB LLD) provides the following USB class/functions while isolating application from the complexity of low level USB and USB class protocols:r”…�r•}r–(jj‘jj�ubaubj)�r—}r˜(jUjjj j‚jjj}r™(jX-j]j]j]j]j]ujK jhj]rš(j)�r›}rœ(jXUSB device Mass Storage Classr�jj—j j‚jj j}rž(j]j]j]j]j]ujNjhj]rŸjX)�r }r¡(jj�jj›j j‚jj\j}r¢(j]j]j]j]j]ujK j]r£j%XUSB device Mass Storage Classr¤…�r¥}r¦(jj�jj ubaubaubj)�r§}r¨(jXUSB host Mass Storage Classr©jj—j j‚jj j}rª(j]j]j]j]j]ujNjhj]r«jX)�r¬}r­(jj©jj§j j‚jj\j}r®(j]j]j]j]j]ujKj]r¯j%XUSB host Mass Storage Classr°…�r±}r²(jj©jj¬ubaubaubj)�r³}r´(jXUSB device Audio Classrµjj—j j‚jj j}r¶(j]j]j]j]j]ujNjhj]r·jX)�r¸}r¹(jjµjj³j j‚jj\j}rº(j]j]j]j]j]ujKj]r»j%XUSB device Audio Classr¼…�r½}r¾(jjµjj¸ubaubaubj)�r¿}rÀ(jXUSB generic bulk device class jj—j j‚jj j}rÁ(j]j]j]j]j]ujNjhj]rÂjX)�rÃ}rÄ(jXUSB generic bulk device classrÅjj¿j j‚jj\j}rÆ(j]j]j]j]j]ujKj]rÇj%XUSB generic bulk device classrÈ…�rÉ}rÊ(jjÅjjÃubaubaubeubjX)�rË}rÌ(jX�In rest of the page AM437x EVM is being refered as an example. Please check Release Notes for list of supported EVMs for driver.rÍjjj j‚jj\j}rÎ(j]j]j]j]j]ujKjhj]rÏj%X�In rest of the page AM437x EVM is being refered as an example. Please check Release Notes for list of supported EVMs for driver.rÐ…�rÑ}rÒ(jjÍjjËubaubjb)�rÓ}rÔ(jXModes of OperationrÕjKjjj j‚jjfj}rÖ(j]r×Uid2rØaj]j]rÙjkaj]j]ujNjhj]rÚj%XModes of OperationrÛ…�rÜ}rÝ(jjÕjjÓubaubj)�rÞ}rß(jUjjj j‚jjj}rà(jX-j]j]j]j]j]ujKjhj]ráj)�râ}rã(jXV**USB device Mass Storage Class** - **USB device Mass Storage Class with RAM DISK** jjÞj Njj j}rä(j]j]j]j]j]ujNjhj]rå(jX)�ræ}rç(jX!**USB device Mass Storage Class**rèjjâj j‚jj\j}ré(j]j]j]j]j]ujKj]rêj|)�rë}rì(jjèj}rí(j]j]j]j]j]ujjæj]rîj%XUSB device Mass Storage Classrï…�rð}rñ(jUjjëubajj„ubaubj)�rò}ró(jUj}rô(jX-j]j]j]j]j]ujjâj]rõj)�rö}r÷(jX0**USB device Mass Storage Class with RAM DISK** j}rø(j]j]j]j]j]ujjòj]rùjX)�rú}rû(jX/**USB device Mass Storage Class with RAM DISK**rüjjöj j‚jj\j}rý(j]j]j]j]j]ujKj]rþj|)�rÿ}r(jjüj}r(j]j]j]j]j]ujjúj]rj%X+USB device Mass Storage Class with RAM DISKr…�r}r(jUjjÿubajj„ubaubajj ubajjubeubaubjX)�r}r(jX©In this mode, a user-selected USB instance of the EVM will be working in device mode and will behave like a USB thumb drive. It uses part of the EVM DDR memory and exposes it as a physical storage for another USB host application. After the host PC enumerates this EVM-thumb drive, the PC will see a USB storage device. This EVM-thumb drive is not yet formatted with any file system and requires user to format it before use.rjjj j‚jj\j}r (j]j]j]j]j]ujKjhj]r j%X©In this mode, a user-selected USB instance of the EVM will be working in device mode and will behave like a USB thumb drive. It uses part of the EVM DDR memory and exposes it as a physical storage for another USB host application. After the host PC enumerates this EVM-thumb drive, the PC will see a USB storage device. This EVM-thumb drive is not yet formatted with any file system and requires user to format it before use.r …�r }r (jjjjubaubj^)�r}r(jX(.. Image:: ../images/USB_MSC_device.PNG jjj j‚jjaj}r(UuriX!rtos/../images/USB_MSC_device.PNGrj]j]j]j]jd}rU*jsj]ujK$jhj]ubjX)�r}r(jX°The following screen shots show what one would expect when running the device mode demo application and plugging in a USB cable from the EVM USB port #0 to a PC running Windowsrjjj j‚jj\j}r(j]j]j]j]j]ujK%jhj]rj%X°The following screen shots show what one would expect when running the device mode demo application and plugging in a USB cable from the EVM USB port #0 to a PC running Windowsr…�r}r(jjjjubaubjX)�r}r(jXPrintout from demo application:rjjj j‚jj\j}r(j]j]j]j]j]ujK)jhj]rj%XPrintout from demo application:r …�r!}r"(jjjjubaubj^)�r#}r$(jX... Image:: ../images/Device_mode_printout.png jjj j‚jjaj}r%(UuriX'rtos/../images/Device_mode_printout.pngr&j]j]j]j]jd}r'U*j&sj]ujK,jhj]ubjX)�r(}r)(jXúThe MSC device is detected in Windows, and a FAT formatted USB drive named "PDK-USBDEV" should be seen in the "Window Explorer". The content of the drive is just a readme.txt file. This USB drive can be manipulated like any other removable USB drive.r*jjj j‚jj\j}r+(j]j]j]j]j]ujK-jhj]r,j%XúThe MSC device is detected in Windows, and a FAT formatted USB drive named "PDK-USBDEV" should be seen in the "Window Explorer". The content of the drive is just a readme.txt file. This USB drive can be manipulated like any other removable USB drive.r-…�r.}r/(jj*jj(ubaubj^)�r0}r1(jX).. Image:: ../images/Windows_pdk_usb.png jjj j‚jjaj}r2(UuriX"rtos/../images/Windows_pdk_usb.pngr3j]j]j]j]jd}r4U*j3sj]ujK3jhj]ubjX)�r5}r6(jX}Windows might show a message saying it should be scanned and fixed. We can just ignore it and just continue without scanning.r7jjj j‚jj\j}r8(j]j]j]j]j]ujK4jhj]r9j%X}Windows might show a message saying it should be scanned and fixed. We can just ignore it and just continue without scanning.r:…�r;}r<(jj7jj5ubaubjÁ)�r=}r>(jUjjj j‚jjÄj}r?(j]j]j]j]j]ujK7jhj]r@jÇ)�rA}rB(jUjÊKjj=j j‚jjj}rC(j]j]j]j]j]ujKjhj]ubaubj¤ )�rD}rE(jUjjj Njj§ j}rF(j]j]j]j]j]ujNjhj]rGj)�rH}rI(jUj}rJ(jX-j]j]j]j]j]ujjDj]rKj)�rL}rM(jX2**USB device Mass Storage Class with MMCSD card** j}rN(j]j]j]j]j]ujjHj]rOjX)�rP}rQ(jX1**USB device Mass Storage Class with MMCSD card**rRjjLj j‚jj\j}rS(j]j]j]j]j]ujK9j]rTj|)�rU}rV(jjRj}rW(j]j]j]j]j]ujjPj]rXj%X-USB device Mass Storage Class with MMCSD cardrY…�rZ}r[(jUjjUubajj„ubaubajj ubajjubaubjX)�r\}r](jX�This example acts like a USB - MMCSD card reader. The example exposes the EVM's MMCSD card to the Host PC via USB MSC. The Host PC can manipulate files on the attached MMCSD card on the EVM. This example is currently supported on AM335GP EVM. This is how it looks. Its code is similar to that of the USB device MSC example but with the call back functions calling MMCSD API's instead of RamDisk APIsr^jjj j‚jj\j}r_(j]j]j]j]j]ujK;jhj]r`j%X�This example acts like a USB - MMCSD card reader. The example exposes the EVM's MMCSD card to the Host PC via USB MSC. The Host PC can manipulate files on the attached MMCSD card on the EVM. This example is currently supported on AM335GP EVM. This is how it looks. Its code is similar to that of the USB device MSC example but with the call back functions calling MMCSD API's instead of RamDisk APIsra…�rb}rc(jj^jj\ubaubj^)�rd}re(jX*.. Image:: ../images/Usb_device_mmcsd.PNG jjj j‚jjaj}rf(UuriX#rtos/../images/Usb_device_mmcsd.PNGrgj]j]j]j]jd}rhU*jgsj]ujKCjhj]ubjÁ)�ri}rj(jUjjj j‚jjÄj}rk(j]j]j]j]j]ujKDjhj]rljÇ)�rm}rn(jUjÊKjjij j‚jjj}ro(j]j]j]j]j]ujKjhj]ubaubj)�rp}rq(jUjjj j‚jjj}rr(jX-j]j]j]j]j]ujKFjhj]rsj)�rt}ru(jX **USB host Mass Storage Class** jjpj j‚jj j}rv(j]j]j]j]j]ujNjhj]rwjX)�rx}ry(jX**USB host Mass Storage Class**rzjjtj j‚jj\j}r{(j]j]j]j]j]ujKFj]r|j|)�r}}r~(jjzj}r(j]j]j]j]j]ujjxj]r€j%XUSB host Mass Storage Classr�…�r‚}rƒ(jUjj}ubajj„ubaubaubaubjX)�r„}r…(jXuIn this mode, the USB instance will act as a USB host communicating with a USB device that supports Mass Storage Class function (USB thumb drive or a small USB hard drive). The demo example code utilizes a shell interface via the EVM via UART for interaction with the example. The shell provides some basic commands to manipulate the content of the attached USB disk drive.r†jjj j‚jj\j}r‡(j]j]j]j]j]ujKHjhj]rˆj%XuIn this mode, the USB instance will act as a USB host communicating with a USB device that supports Mass Storage Class function (USB thumb drive or a small USB hard drive). The demo example code utilizes a shell interface via the EVM via UART for interaction with the example. The shell provides some basic commands to manipulate the content of the attached USB disk drive.r‰…�rŠ}r‹(jj†jj„ubaubj^)�rŒ}r�(jX&.. Image:: ../images/USB_MSC_host.PNG jjj j‚jjaj}rŽ(UuriXrtos/../images/USB_MSC_host.PNGr�j]j]j]j]jd}r�U*j�sj]ujKPjhj]ubjÁ)�r‘}r’(jUjjj j‚jjÄj}r“(j]j]j]j]j]ujKQjhj]r”jÇ)�r•}r–(jUjÊKjj‘j j‚jjj}r—(j]j]j]j]j]ujKjhj]ubaubjX)�r˜}r™(jXjScreenshot of a MSC host mode example running in RTOS after plugging in a USB thumb drive into USB port #1ršjjj j‚jj\j}r›(j]j]j]j]j]ujKSjhj]rœj%XjScreenshot of a MSC host mode example running in RTOS after plugging in a USB thumb drive into USB port #1r�…�rž}rŸ(jjšjj˜ubaubj^)�r }r¡(jX0.. Image:: ../images/Host_shell_screen_shot.png jjj j‚jjaj}r¢(UuriX)rtos/../images/Host_shell_screen_shot.pngr£j]j]j]j]jd}r¤U*j£sj]ujKWjhj]ubjÁ)�r¥}r¦(jUjjj j‚jjÄj}r§(j]j]j]j]j]ujKXjhj]r¨jÇ)�r©}rª(jUjÊKjj¥j j‚jjj}r«(j]j]j]j]j]ujKjhj]ubaubj)�r¬}r­(jUjjj j‚jjj}r®(jX-j]j]j]j]j]ujKZjhj]r¯j)�r°}r±(jX**USB device Audio Class** jj¬j j‚jj j}r²(j]j]j]j]j]ujNjhj]r³jX)�r´}rµ(jX**USB device Audio Class**r¶jj°j j‚jj\j}r·(j]j]j]j]j]ujKZj]r¸j|)�r¹}rº(jj¶j}r»(j]j]j]j]j]ujj´j]r¼j%XUSB device Audio Classr½…�r¾}r¿(jUjj¹ubajj„ubaubaubaubjX)�rÀ}rÁ(jXRIn this mode, USB instance of the EVM will be working in device mode and will behave like a USB headset with MIC. It uses audio codec on the EVM for running playback and record initiated by the USB host. McASP module will be used to transfer the data between USB device and audio codec on the board. EVM will appear as a new USB audio device on the host PC. Changing the default audio device on the host PC to EVM USB device will allow the playback and record operations between EVM and USB host. This mode of operation is currently supported on AM335X GP EVM, OMAP-L137 EVM and OMAP-L138 LCDK.rÂjjj j‚jj\j}rÃ(j]j]j]j]j]ujK\jhj]rÄj%XRIn this mode, USB instance of the EVM will be working in device mode and will behave like a USB headset with MIC. It uses audio codec on the EVM for running playback and record initiated by the USB host. McASP module will be used to transfer the data between USB device and audio codec on the board. EVM will appear as a new USB audio device on the host PC. Changing the default audio device on the host PC to EVM USB device will allow the playback and record operations between EVM and USB host. This mode of operation is currently supported on AM335X GP EVM, OMAP-L137 EVM and OMAP-L138 LCDK.rÅ…�rÆ}rÇ(jjÂjjÀubaubjÁ)�rÈ}rÉ(jUjjj j‚jjÄj}rÊ(j]j]j]j]j]ujKfjhj]rËjÇ)�rÌ}rÍ(jUjÊKjjÈj j‚jjj}rÎ(j]j]j]j]j]ujKjhj]ubaubj^)�rÏ}rÐ(jX*.. Image:: ../images/Am335x_usb_ac_bd.jpg jjj j‚jjaj}rÑ(UuriX#rtos/../images/Am335x_usb_ac_bd.jpgrÒj]j]j]j]jd}rÓU*jÒsj]ujKhjhj]ubjÁ)�rÔ}rÕ(jUjjj j‚jjÄj}rÖ(j]j]j]j]j]ujKijhj]r×jÇ)�rØ}rÙ(jUjÊKjjÔj j‚jjj}rÚ(j]j]j]j]j]ujKjhj]ubaubj)�rÛ}rÜ(jUjjj j‚jjj}rÝ(jX-j]j]j]j]j]ujKkjhj]rÞj)�rß}rà(jX"**USB generic bulk device class** jjÛj j‚jj j}rá(j]j]j]j]j]ujNjhj]râjX)�rã}rä(jX!**USB generic bulk device class**råjjßj j‚jj\j}ræ(j]j]j]j]j]ujKkj]rçj|)�rè}ré(jjåj}rê(j]j]j]j]j]ujjãj]rëj%XUSB generic bulk device classrì…�rí}rî(jUjjèubajj„ubaubaubaubjX)�rï}rð(jX7In this mode, a user-selected USB instance of the EVM will be working in device mode. The mentioned USB device will show up in the host PC as a generic USB bulk device with one single interface containing a bulk IN and a bulk OUT endpoints. The configuration and interface descriptors published by the device contain vendor-specific class identifiers, so an application on the host will have to communicate with the device using either a custom driver or a subsystem such as WinUSB or libusb-win32 on Windows (or just libusb on Linux) to read and write to the device.rñjjj j‚jj\j}rò(j]j]j]j]j]ujKmjhj]rój%X7In this mode, a user-selected USB instance of the EVM will be working in device mode. The mentioned USB device will show up in the host PC as a generic USB bulk device with one single interface containing a bulk IN and a bulk OUT endpoints. The configuration and interface descriptors published by the device contain vendor-specific class identifiers, so an application on the host will have to communicate with the device using either a custom driver or a subsystem such as WinUSB or libusb-win32 on Windows (or just libusb on Linux) to read and write to the device.rô…�rõ}rö(jjñjjïubaubj¤ )�r÷}rø(jUjjj Njj§ j}rù(j]j]j]j]j]ujNjhj]rúj)�rû}rü(jUj}rý(jX-j]j]j]j]j]ujj÷j]rþj)�rÿ}r(jX-**Running USB bulk device demo application** j}r(j]j]j]j]j]ujjûj]rjX)�r}r(jX,**Running USB bulk device demo application**rjjÿj j‚jj\j}r(j]j]j]j]j]ujKwj]rj|)�r}r (jjj}r (j]j]j]j]j]ujjj]r j%X(Running USB bulk device demo applicationr …�r }r(jUjjubajj„ubaubajj ubajjubaubjX)�r}r(jX°The bulk demo application requires a host PC with USB host plugged to the USB device port on the EVM. Depending on the platform, the USB device port might be USB port #0 or #1.rjjj j‚jj\j}r(j]j]j]j]j]ujKyjhj]rj%X°The bulk demo application requires a host PC with USB host plugged to the USB device port on the EVM. Depending on the platform, the USB device port might be USB port #0 or #1.r…�r}r(jjjjubaubj^)�r}r(jX(.. Image:: ../images/USB_MSC_device.PNG jjj j‚jjaj}r(UuriX!rtos/../images/USB_MSC_device.PNGrj]j]j]j]jd}rU*jsj]ujK~jhj]ubjX)�r}r(jXŸPlease refer to PDK user guide for how to generate USB example projects. Once the demo application is loaded and run, the EVM UART console shows the following:rjjj j‚jj\j}r(j]j]j]j]j]ujKjhj]r j%XŸPlease refer to PDK user guide for how to generate USB example projects. Once the demo application is loaded and run, the EVM UART console shows the following:r!…�r"}r#(jjjjubaubj^)�r$}r%(jX... Image:: ../images/usb_dev_bulk_console.png jjj j‚jjaj}r&(UuriX'rtos/../images/usb_dev_bulk_console.pngr'j]j]j]j]jd}r(U*j'sj]ujKƒjhj]ubjX)�r)}r*(jXtA Python host PC example application is provided in ti/drv/usb/example/usb_dev/bulk/usb_dev_bulk_host_application.pyr+jjj j‚jj\j}r,(j]j]j]j]j]ujK„jhj]r-j%XtA Python host PC example application is provided in ti/drv/usb/example/usb_dev/bulk/usb_dev_bulk_host_application.pyr.…�r/}r0(jj+jj)ubaubjÁ)�r1}r2(jUjjj j‚jjÄj}r3(j]j]j]j]j]ujK‡jhj]r4jÇ)�r5}r6(jUjÊKjj1j j‚jjj}r7(j]j]j]j]j]ujKjhj]ubaubjX)�r8}r9(jXpThe example Python script requires PyUSB to run. On Linux host, proper UDEV rule is also required in order to access the USB bulk device as non-sudo user. The script itself also lists the requirements to run it as well as what command options available. The example UDEV rule is also placed in the same place where the Python script is located. It does the following:r:jjj j‚jj\j}r;(j]j]j]j]j]ujK‰jhj]r<j%XpThe example Python script requires PyUSB to run. On Linux host, proper UDEV rule is also required in order to access the USB bulk device as non-sudo user. The script itself also lists the requirements to run it as well as what command options available. The example UDEV rule is also placed in the same place where the Python script is located. It does the following:r=…�r>}r?(jj:jj8ubaubj)�r@}rA(jUjjj j‚jjj}rB(jX-j]j]j]j]j]ujK�jhj]rC(j)�rD}rE(jXDThe Python script looks for the USB device with the example PID:VID,rFjj@j j‚jj j}rG(j]j]j]j]j]ujNjhj]rHjX)�rI}rJ(jjFjjDj j‚jj\j}rK(j]j]j]j]j]ujK�j]rLj%XDThe Python script looks for the USB device with the example PID:VID,rM…�rN}rO(jjFjjIubaubaubj)�rP}rQ(jXNSends an ASCII text string to the USB bulk demo application running on the EVMrRjj@j j‚jj j}rS(j]j]j]j]j]ujNjhj]rTjX)�rU}rV(jjRjjPj j‚jj\j}rW(j]j]j]j]j]ujK�j]rXj%XNSends an ASCII text string to the USB bulk demo application running on the EVMrY…�rZ}r[(jjRjjUubaubaubj)�r\}r](jXNExpects the same text string with reversed case letter returned back, and alsor^jj@j j‚jj j}r_(j]j]j]j]j]ujNjhj]r`jX)�ra}rb(jj^jj\j j‚jj\j}rc(j]j]j]j]j]ujK‘j]rdj%XNExpects the same text string with reversed case letter returned back, and alsore…�rf}rg(jj^jjaubaubaubj)�rh}ri(jXVVerifies the received data with the data that it has sent and report the test result. jj@j j‚jj j}rj(j]j]j]j]j]ujNjhj]rkjX)�rl}rm(jXUVerifies the received data with the data that it has sent and report the test result.rnjjhj j‚jj\j}ro(j]j]j]j]j]ujK’j]rpj%XUVerifies the received data with the data that it has sent and report the test result.rq…�rr}rs(jjnjjlubaubaubeubjX)�rt}ru(jX4A screen shot of what the Python test script outputsrvjjj j‚jj\j}rw(j]j]j]j]j]ujK”jhj]rxj%X4A screen shot of what the Python test script outputsry…�rz}r{(jjvjjtubaubj^)�r|}r}(jX7.. Image:: ../images/usb_dev_bulk_host_tool_output.png jjj j‚jjaj}r~(UuriX0rtos/../images/usb_dev_bulk_host_tool_output.pngrj]j]j]j]jd}r€U*jsj]ujK—jhj]ubjX)�r�}r‚(jXiThe USB bulk demo application configures the USB endpoints as high speed endpoints with 512B packet size.rƒjjj j‚jj\j}r„(j]j]j]j]j]ujK˜jhj]r…j%XiThe USB bulk demo application configures the USB endpoints as high speed endpoints with 512B packet size.r†…�r‡}rˆ(jjƒjj�ubaubjÁ)�r‰}rŠ(jUjjj j‚jjÄj}r‹(j]j]j]j]j]ujKšjhj]rŒ(jÇ)�r�}rŽ(jUjÊKjj‰j j‚jjj}r�(j]j]j]j]j]ujKjhj]ubjÇ)�r�}r‘(jUjÊKjj‰j j‚jjj}r’(j]j]j]j]j]ujKjhj]ubeubeubeubj j‚jj?j}r“(j]UlevelKj]j]r”juaUsourcej‚j]j]UlineKUtypejAujKjhj]r•jX)�r–}r—(jX+Duplicate implicit target name: "overview".j}r˜(j]j]j]j]j]ujjlj]r™j%X+Duplicate implicit target name: "overview".rš…�r›}rœ(jUjj–ubajj\ubaubhÿ)�r�}rž(jUj}rŸ(j]UlevelKj]j]r jØaUsourcej j]j]UlineKUtypejXujjÓj]r¡jX)�r¢}r£(jX5Duplicate explicit target name: "modes-of-operation".j}r¤(j]j]j]j]j]ujj�j]r¥j%X5Duplicate explicit target name: "modes-of-operation".r¦…�r§}r¨(jUjj¢ubajj\ubajj?ubhÿ)�r©}rª(jUjjj j‚jj?j}r«(j]UlevelKj]j]Usourcej‚j]j]UlineKgUtypejXujKfjhj]r¬jX)�r­}r®(jX%Line block ends without a blank line.j}r¯(j]j]j]j]j]ujj©j]r°j%X%Line block ends without a blank line.r±…�r²}r³(jUjj­ubajj\ubaubhÿ)�r´}rµ(jUjj‰j j‚jj?j}r¶(j]UlevelKj]j]r·jŽaUsourcej‚j]j]UlineKžUtypejAujKžjhj]r¸jX)�r¹}rº(jX1Duplicate implicit target name: "user interface".j}r»(j]j]j]j]j]ujj´j]r¼j%X1Duplicate implicit target name: "user interface".r½…�r¾}r¿(jUjj¹ubajj\ubaubhÿ)�rÀ}rÁ(jUjj˜j j‚jj?j}rÂ(j]UlevelKj]j]rÃj�aUsourcej‚j]j]UlineK¡UtypejAujK¡jhj]rÄjX)�rÅ}rÆ(jX7Duplicate implicit target name: "driver configuration".j}rÇ(j]j]j]j]j]ujjÀj]rÈj%X7Duplicate implicit target name: "driver configuration".rÉ…�rÊ}rË(jUjjÅubajj\ubaubhÿ)�rÌ}rÍ(jUjj*j j‚jj?j}rÎ(j]UlevelKj]j]Usourcej‚j]j]UlineMUtypejXujMjhj]rÏjX)�rÐ}rÑ(jX;Bullet list ends without a blank line; unexpected unindent.j}rÒ(j]j]j]j]j]ujjÌj]rÓj%X;Bullet list ends without a blank line; unexpected unindent.rÔ…�rÕ}rÖ(jUjjÐubajj\ubaubhÿ)�r×}rØ(jUjj1j j‚jj?j}rÙ(j]UlevelKj]j]rÚj6aUsourcej‚j]j]UlineMUtypejAujMjhj]rÛjX)�rÜ}rÝ(jX.Duplicate implicit target name: "application".j}rÞ(j]j]j]j]j]ujj×j]rßj%X.Duplicate implicit target name: "application".rà…�rá}râ(jUjjÜubajj\ubaubhÿ)�rã}rä(jUjj@j j‚jj?j}rå(j]UlevelKj]j]ræjEaUsourcej‚j]j]UlineMUtypejAujMjhj]rçjX)�rè}ré(jX+Duplicate implicit target name: "examples".j}rê(j]j]j]j]j]ujjãj]rëj%X+Duplicate implicit target name: "examples".rì…�rí}rî(jUjjèubajj\ubaubhÿ)�rï}rð(jUjj| j j‚jj?j}rñ(j]UlevelKj]j]Usourcej‚j]j]UlineMVUtypeUERRORròujMUjhj]rójX)�rô}rõ(jXUnexpected indentation.j}rö(j]j]j]j]j]ujjïj]r÷j%XUnexpected indentation.rø…�rù}rú(jUjjôubajj\ubaubhÿ)�rû}rü(jUj}rý(j]UlevelKj]j]Usourcej‚j]j]UlineM}UtypejXujjÝ j]rþjX)�rÿ}r(jX;Bullet list ends without a blank line; unexpected unindent.j}r(j]j]j]j]j]ujjûj]rj%X;Bullet list ends without a blank line; unexpected unindent.r…�r}r(jUjjÿubajj\ubajj?ubhÿ)�r}r(jUjj j j‚jj?j}r(j]UlevelKj]j]Usourcej‚j]j]UlineM»UtypejXujMºjhj]r jX)�r }r (jX?Explicit markup ends without a blank line; unexpected unindent.j}r (j]j]j]j]j]ujjj]r j%X?Explicit markup ends without a blank line; unexpected unindent.r…�r}r(jUjj ubajj\ubaubhÿ)�r}r(jUjj j j‚jj?j}r(j]UlevelKj]j]Usourcej‚j]j]UlineMÛUtypejXujMÚjhj]rjX)�r}r(jX;Bullet list ends without a blank line; unexpected unindent.j}r(j]j]j]j]j]ujjj]rj%X;Bullet list ends without a blank line; unexpected unindent.r…�r}r(jUjjubajj\ubaubhÿ)�r}r(jUjj)�r}r(jUjKjj)�r }r!(jUjhj j jjj}r"(j]j]j]j]r#Upcier$aj]r%hvaujKjhj]r&(j)�r'}r((jXPCIer)jj j j jj"j}r*(j]j]j]j]j]ujKjhj]r+j%XPCIer,…�r-}r.(jj)jj'ubaubj))�r/}r0(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PCIejj j j,X=source/rtos/PDK_Platform_Software/Device_Drivers/PCIe.rst.incr1…�r2}r3bjj0j}r4(j2j3j]j]j]j]j]ujKjhj]r5j%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PCIer6…�r7}r8(jUjj/ubaubjj)�r9}r:(jUjKjj j j2jjj}r;(j]r<Xuser interfacer=aj]j]j]r>Uid9r?aj]ujKJjhj]r@(j)�rA}rB(jXUser InterfacerCjj9j j2jj"j}rD(j]j]j]j]j]ujKJjhj]rEj%XUser InterfacerF…�rG}rH(jjCjjAubaubj)�rI}rJ(jUjKjj9j j2jjj}rK(j]rLXdriver configurationrMaj]j]j]rNUid10rOaj]ujKMjhj]rP(j)�rQ}rR(jXDriver ConfigurationrSjjIj j2jj"j}rT(j]j]j]j]j]ujKMjhj]rUj%XDriver ConfigurationrV…�rW}rX(jjSjjQubaubjb)�rY}rZ(jXBoard-specific configurationr[jKjjIj j2jjfj}r\(j]r]Uid11r^aj]j]r_jñaj]j]ujNjhj]r`j%XBoard-specific configurationra…�rb}rc(jj[jjYubaubjX)�rd}re(jX¾PCIe's board specific configuration is in the example in PDK_INSTALL_DIR/packages/ti/drv/pcie/example/sample/am57x/src/pcie_sample_board.c. Calling sequence is in example and repeated below.rfjjIj j2jj\j}rg(j]j]j]j]j]ujKRjhj]rhj%X¾PCIe's board specific configuration is in the example in PDK_INSTALL_DIR/packages/ti/drv/pcie/example/sample/am57x/src/pcie_sample_board.c. Calling sequence is in example and repeated below.ri…�rj}rk(jjfjjdubaubjb)�rl}rm(jXPCIe configuration structurernjjIj j2jjfj}ro(j]rpUpcie-configuration-structurerqaj]j]j]j]rrh›aujNjhj]rsj%XPCIe configuration structurert…�ru}rv(jjnjjlubaubjX)�rw}rx(jXwThe pcie_soc.c binds the driver to the hardware on the board. It is passed into the driver via the call to Pcie_init().ryjjIj j2jj\j}rz(j]j]j]j]j]ujKYjhj]r{j%XwThe pcie_soc.c binds the driver to the hardware on the board. It is passed into the driver via the call to Pcie_init().r|…�r}}r~(jjyjjwubaubeubj)�r}r€(jUjKjj9j j2jjj}r�(j]r‚j.aj]j]j]rƒUid12r„aj]ujK]jhj]r…(j)�r†}r‡(jX API Call Flowrˆjjj j2jj"j}r‰(j]j]j]j]j]ujK]jhj]rŠj%X API Call Flowr‹…�rŒ}r�(jjˆjj†ubaubjX)�rŽ}r�(jX.The API call flow is covered in pcie_sample.c.r�jjj j2jj\j}r‘(j]j]j]j]j]ujK_jhj]r’j%X.The API call flow is covered in pcie_sample.c.r“…�r”}r•(jj�jjŽubaubjX)�r–}r—(jXThe overall components are:r˜jjj j2jj\j}r™(j]j]j]j]j]ujKajhj]ršj%XThe overall components are:r›…�rœ}r�(jj˜jj–ubaubj`)�rž}rŸ(jUjjj j2jjcj}r (jeU.j]j]j]jfUj]j]jgjhujKcjhj]r¡(j)�r¢}r£(jXInitialize the driverr¤jjžj j2jj j}r¥(j]j]j]j]j]ujNjhj]r¦jX)�r§}r¨(jj¤jj¢j j2jj\j}r©(j]j]j]j]j]ujKcj]rªj%XInitialize the driverr«…�r¬}r­(jj¤jj§ubaubaubj)�r®}r¯(jX[Initialize the SERDES and Power the peripheral (see example code for order for each device)jjžj j2jj j}r°(j]j]j]j]j]ujNjhj]r±jX)�r²}r³(jX[Initialize the SERDES and Power the peripheral (see example code for order for each device)r´jj®j j2jj\j}rµ(j]j]j]j]j]ujKdj]r¶j%X[Initialize the SERDES and Power the peripheral (see example code for order for each device)r·…�r¸}r¹(jj´jj²ubaubaubj)�rº}r»(jXBConfigure RC or EP symmetrically to talk to another similar devicer¼jjžj j2jj j}r½(j]j]j]j]j]ujNjhj]r¾jX)�r¿}rÀ(jj¼jjºj j2jj\j}rÁ(j]j]j]j]j]ujKfj]rÂj%XBConfigure RC or EP symmetrically to talk to another similar devicerÃ…�rÄ}rÅ(jj¼jj¿ubaubaubj)�rÆ}rÇ(jXPerform data IO and interrupt. jjžj j2jj j}rÈ(j]j]j]j]j]ujNjhj]rÉjX)�rÊ}rË(jXPerform data IO and interrupt.rÌjjÆj j2jj\j}rÍ(j]j]j]j]j]ujKgj]rÎj%XPerform data IO and interrupt.rÏ…�rÐ}rÑ(jjÌjjÊubaubaubeubeubeubj)�rÒ}rÓ(jUjKjj j j2jjj}rÔ(j]rÕX applicationrÖaj]j]j]r×Uid13rØaj]ujKjjhj]rÙ(j)�rÚ}rÛ(jX ApplicationrÜjjÒj j2jj"j}rÝ(j]j]j]j]j]ujKjjhj]rÞj%X Applicationrß…�rà}rá(jjÜjjÚubaubj)�râ}rã(jUjKjjÒj j2jjj}rä(j]råXexamplesræaj]j]j]rçUid14rèaj]ujKmjhj]ré(j)�rê}rë(jXExamplesrìjjâj j2jj"j}rí(j]j]j]j]j]ujKmjhj]rîj%XExamplesrï…�rð}rñ(jjìjjêubaubj¶)�rò}ró(jUjjâj j2jj¹j}rô(j]j]j]j]j]ujNjhj]rõj¼)�rö}r÷(jUj}rø(j]j]j]j]j]UcolsKujjòj]rù(jÁ)�rú}rû(jUj}rü(j]j]j]j]j]UcolwidthKujjöj]jjÅubjÁ)�rý}rþ(jUj}rÿ(j]j]j]j]j]UcolwidthKujjöj]jjÅubjÁ)�r}r(jUj}r(j]j]j]j]j]UcolwidthKujjöj]jjÅubjÁ)�r}r(jUj}r(j]j]j]j]j]UcolwidthKujjöj]jjÅubjÒ)�r}r(jUj}r(j]j]j]j]j]ujjöj]r j×)�r }r (jUj}r (j]j]j]j]j]ujjj]r (jÜ)�r}r(jUj}r(j]j]j]j]j]ujj j]rjX)�r}r(jXNamerjjj j2jj\j}r(j]j]j]j]j]ujKpj]rj%XNamer…�r}r(jjjjubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujj j]rjX)�r}r(jX Descriptionr jjj j2jj\j}r!(j]j]j]j]j]ujKpj]r"j%X Descriptionr#…�r$}r%(jj jjubaubajjéubjÜ)�r&}r'(jUj}r((j]j]j]j]j]ujj j]r)jX)�r*}r+(jXEVM Configurationr,jj&j j2jj\j}r-(j]j]j]j]j]ujKpj]r.j%XEVM Configurationr/…�r0}r1(jj,jj*ubaubajjéubjÜ)�r2}r3(jUj}r4(j]j]j]j]j]ujj j]r5jX)�r6}r7(jXExpected Resultsr8jj2j j2jj\j}r9(j]j]j]j]j]ujKpj]r:j%XExpected Resultsr;…�r<}r=(jj8jj6ubaubajjéubejjubajjubj)�r>}r?(jUj}r@(j]j]j]j]j]ujjöj]rA(j×)�rB}rC(jUj}rD(j]j]j]j]j]ujj>j]rE(jÜ)�rF}rG(jUj}rH(j]j]j]j]j]ujjBj]rIjX)�rJ}rK(jX%PCIE_idkAM57[1\ 24]x*ExamplePr\ ojectjjFj j2jj\j}rL(j]j]j]j]j]ujKsj]rMj%X!PCIE_idkAM57[124]x*ExampleProjectrN…�rO}rP(jX%PCIE_idkAM57[1\ 24]x*ExamplePr\ ojectjjJubaubajjéubjÜ)�rQ}rR(jUj}rS(j]j]j]j]j]ujjBj]rTjX)�rU}rV(jX2-device PCIe connectionrWjjQj j2jj\j}rX(j]j]j]j]j]ujKsj]rYj%X2-device PCIe connectionrZ…�r[}r\(jjWjjUubaubajjéubjÜ)�r]}r^(jUj}r_(j]j]j]j]j]ujjBj]r`(jX)�ra}rb(jXa**IMPORTANT:** Cable must be `MODIFIED`_ in order to avoid damaging the clock drivers in the SoC!jj]j j2jj\j}rc(j]j]j]j]j]ujKsj]rd(j|)�re}rf(jX**IMPORTANT:**j}rg(j]j]j]j]j]ujjaj]rhj%X IMPORTANT:ri…�rj}rk(jUjjeubajj„ubj%X Cable must be rl…�rm}rn(jX Cable must be jjaubj)�ro}rp(jX `MODIFIED`_UresolvedrqKjjajjj}rr(UnameXMODIFIEDjX5http://processors.wiki.ti.com/index.php/PCIe_CableModrsj]j]j]j]j]uj]rtj%XMODIFIEDru…�rv}rw(jUjjoubaubj%X9 in order to avoid damaging the clock drivers in the SoC!rx…�ry}rz(jX9 in order to avoid damaging the clock drivers in the SoC!jjaubeubjX)�r{}r|(jXConnect two like AM57xx IDK EVMs J22 `MODIFIED`_ male-male crossover PCIe x1 or x4 cable and optional straight-through extender. For AM572x/AM574x we used a one-lane cross cable; for AM571x we used a 4-lane cross cable. | Projects available for C66, A15, and M4.jj]j j2jj\j}r}(j]j]j]j]j]ujK}j]r~(j%X%Connect two like AM57xx IDK EVMs J22 r…�r€}r�(jX%Connect two like AM57xx IDK EVMs J22 jj{ubj)�r‚}rƒ(jX `MODIFIED`_jqKjj{jjj}r„(UnameXMODIFIEDjjsj]j]j]j]j]uj]r…j%XMODIFIEDr†…�r‡}rˆ(jUjj‚ubaubj%XÖ male-male crossover PCIe x1 or x4 cable and optional straight-through extender. For AM572x/AM574x we used a one-lane cross cable; for AM571x we used a 4-lane cross cable. | Projects available for C66, A15, and M4.r‰…�rŠ}r‹(jXÖ male-male crossover PCIe x1 or x4 cable and optional straight-through extender. For AM572x/AM574x we used a one-lane cross cable; for AM571x we used a 4-lane cross cable. | Projects available for C66, A15, and M4.jj{ubeubejjéubjÜ)�rŒ}r�(jUj}rŽ(j]j]j]j]j]ujjBj]r�jX)�r�}r‘(jX¡**AM572x/AM574x or AM571x EVM** : One board is EP/other is RC; link is established and data/interrupts exchanged. All printed output goes to the serial console.jjŒj j2jj\j}r’(j]j]j]j]j]ujKsj]r“(j|)�r”}r•(jX**AM572x/AM574x or AM571x EVM**j}r–(j]j]j]j]j]ujj�j]r—j%XAM572x/AM574x or AM571x EVMr˜…�r™}rš(jUjj”ubajj„ubj%X‚ : One board is EP/other is RC; link is established and data/interrupts exchanged. All printed output goes to the serial console.r›…�rœ}r�(jX‚ : One board is EP/other is RC; link is established and data/interrupts exchanged. All printed output goes to the serial console.jj�ubeubajjéubejjubj×)�rž}rŸ(jUj}r (j]j]j]j]j]ujj>j]r¡(jÜ)�r¢}r£(jUj}r¤(j]j]j]j]j]ujjžj]r¥(jX)�r¦}r§(jXPCIE_sample_Ex\ ampleProjectjj¢j j2jj\j}r¨(j]j]j]j]j]ujK•j]r©j%XPCIE_sample_ExampleProjectrª…�r«}r¬(jXPCIE_sample_Ex\ ampleProjectjj¦ubaubjX)�r­}r®(jX(for AM65xx IDK)r¯jj¢j j2jj\j}r°(j]j]j]j]j]ujK˜j]r±j%X(for AM65xx IDK)r²…�r³}r´(jj¯jj­ubaubejjéubjÜ)�rµ}r¶(jUj}r·(j]j]j]j]j]ujjžj]r¸jX)�r¹}rº(jX2-device PCIe connectionr»jjµj j2jj\j}r¼(j]j]j]j]j]ujK•j]r½j%X2-device PCIe connectionr¾…�r¿}rÀ(jj»jj¹ubaubajjéubjÜ)�rÁ}rÂ(jUj}rÃ(j]j]j]j]j]ujjžj]rÄ(jX)�rÅ}rÆ(jXa**IMPORTANT:** Cable must be `MODIFIED`_ in order to avoid damaging the clock drivers in the SoC!jjÁj j2jj\j}rÇ(j]j]j]j]j]ujK•j]rÈ(j|)�rÉ}rÊ(jX**IMPORTANT:**j}rË(j]j]j]j]j]ujjÅj]rÌj%X IMPORTANT:rÍ…�rÎ}rÏ(jUjjÉubajj„ubj%X Cable must be rÐ…�rÑ}rÒ(jX Cable must be jjÅubj)�rÓ}rÔ(jX `MODIFIED`_jqKjjÅjjj}rÕ(UnameXMODIFIEDjjsj]j]j]j]j]uj]rÖj%XMODIFIEDr×…�rØ}rÙ(jUjjÓubaubj%X9 in order to avoid damaging the clock drivers in the SoC!rÚ…�rÛ}rÜ(jX9 in order to avoid damaging the clock drivers in the SoC!jjÅubeubjX)�rÝ}rÞ(jX‰Connect two like AM65xx IDK EVMs PCIe using a `MODIFIED`_ male-male crossover PCIe x1 or x4 cable and optional straight-through extender.jjÁj j2jj\j}rß(j]j]j]j]j]ujKŸj]rà(j%X.Connect two like AM65xx IDK EVMs PCIe using a rá…�râ}rã(jX.Connect two like AM65xx IDK EVMs PCIe using a jjÝubj)�rä}rå(jX `MODIFIED`_jqKjjÝjjj}ræ(UnameXMODIFIEDjjsj]j]j]j]j]uj]rçj%XMODIFIEDrè…�ré}rê(jUjjäubaubj%XP male-male crossover PCIe x1 or x4 cable and optional straight-through extender.rë…�rì}rí(jXP male-male crossover PCIe x1 or x4 cable and optional straight-through extender.jjÝubeubjX)�rî}rï(jXWe used a one-lane cross cable.rðjjÁj j2jj\j}rñ(j]j]j]j]j]ujK¬j]ròj%XWe used a one-lane cross cable.ró…�rô}rõ(jjðjjîubaubjX)�rö}r÷(jX1Executables for A53 (mpu) and R5 (mcu) available.røjjÁj j2jj\j}rù(j]j]j]j]j]ujK°j]rúj%X1Executables for A53 (mpu) and R5 (mcu) available.rû…�rü}rý(jjøjjöubaubjX)�rþ}rÿ(jX‰Note: this is NOT a CCS project. It is built from running ``make pcie`` from $(TI_PDK\ _INSTALL_DIR)/\ packages. Result is in ti/binary.jjÁj j2jj\j}r(j]j]j]j]j]ujKµj]r(j%X;Note: this is NOT a CCS project. It is built from running r…�r}r(jX;Note: this is NOT a CCS project. It is built from running jjþubcdocutils.nodes literal r)�r}r(jX ``make pcie``j}r(j]j]j]j]j]ujjþj]r j%X make pcier …�r }r (jUjjubajUliteralr ubj%X= from $(TI_PDK_INSTALL_DIR)/packages. Result is in ti/binary.r…�r}r(jXA from $(TI_PDK\ _INSTALL_DIR)/\ packages. Result is in ti/binary.jjþubeubejjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjžj]rjX)�r}r(jXƒ**AM65xx IDK** One board is EP/ other is RC; link is established and data exchanged. All printed output goes to the serial console.jjj j2jj\j}r(j]j]j]j]j]ujK•j]r(j|)�r}r(jX**AM65xx IDK**j}r(j]j]j]j]j]ujjj]rj%X AM65xx IDKr…�r}r(jUjjubajj„ubj%Xu One board is EP/ other is RC; link is established and data exchanged. All printed output goes to the serial console.r …�r!}r"(jXu One board is EP/ other is RC; link is established and data exchanged. All printed output goes to the serial console.jjubeubajjéubejjubj×)�r#}r$(jUj}r%(j]j]j]j]j]ujj>j]r&(jÜ)�r'}r((jUj}r)(j]j]j]j]j]ujj#j]r*jX)�r+}r,(jXPCIE_evmK2G*Ex\ ampleProjectjj'j j2jj\j}r-(j]j]j]j]j]ujKÂj]r.j%XPCIE_evmK2G*ExampleProjectr/…�r0}r1(jXPCIE_evmK2G*Ex\ ampleProjectjj+ubaubajjéubjÜ)�r2}r3(jUj}r4(j]j]j]j]j]ujj#j]r5jX)�r6}r7(jX2-device PCIe connectionr8jj2j j2jj\j}r9(j]j]j]j]j]ujKÂj]r:j%X2-device PCIe connectionr;…�r<}r=(jj8jj6ubaubajjéubjÜ)�r>}r?(jUj}r@(j]j]j]j]j]ujj#j]rA(jX)�rB}rC(jXa**IMPORTANT:** Cable must be `MODIFIED`_ in order to avoid damaging the clock drivers in the SoC!jj>j j2jj\j}rD(j]j]j]j]j]ujKÂj]rE(j|)�rF}rG(jX**IMPORTANT:**j}rH(j]j]j]j]j]ujjBj]rIj%X IMPORTANT:rJ…�rK}rL(jUjjFubajj„ubj%X Cable must be rM…�rN}rO(jX Cable must be jjBubj)�rP}rQ(jX `MODIFIED`_jqKjjBjjj}rR(UnameXMODIFIEDjjsj]j]j]j]j]uj]rSj%XMODIFIEDrT…�rU}rV(jUjjPubaubj%X9 in order to avoid damaging the clock drivers in the SoC!rW…�rX}rY(jX9 in order to avoid damaging the clock drivers in the SoC!jjBubeubjX)�rZ}r[(jXƒConnect two K2G  EVMs J5 using a `MODIFIED`_ male-male crossover PCIe x1 cable and optional straight-through extender. We used a one-lane cross cable. Ensure that jumper J15 is positioned to the left hand two pins as viewed with "J15" silkscreen right side up (pin 0 isn't clearly marked). In the right hand position, the PCIe PLL will NOT get clock. Projects available for C66 and A15.jj>j j2jj\j}r\(j]j]j]j]j]ujKÍj]r](j%X"Connect two K2G  EVMs J5 using a r^…�r_}r`(jX"Connect two K2G  EVMs J5 using a jjZubj)�ra}rb(jX `MODIFIED`_jqKjjZjjj}rc(UnameXMODIFIEDjjsj]j]j]j]j]uj]rdj%XMODIFIEDre…�rf}rg(jUjjaubaubj%XV male-male crossover PCIe x1 cable and optional straight-through extender. We used a one-lane cross cable. Ensure that jumper J15 is positioned to the left hand two pins as viewed with "J15" silkscreen right side up (pin 0 isn't clearly marked). In the right hand position, the PCIe PLL will NOT get clock. Projects available for C66 and A15.rh…�ri}rj(jXV male-male crossover PCIe x1 cable and optional straight-through extender. We used a one-lane cross cable. Ensure that jumper J15 is positioned to the left hand two pins as viewed with "J15" silkscreen right side up (pin 0 isn't clearly marked). In the right hand position, the PCIe PLL will NOT get clock. Projects available for C66 and A15.jjZubeubejjéubjÜ)�rk}rl(jUj}rm(j]j]j]j]j]ujj#j]rnjX)�ro}rp(jX�**K2G EVM** : One board is EP/other is RC; link is established and data is exchanged. All printed output goes to serial console.jjkj j2jj\j}rq(j]j]j]j]j]ujKÂj]rr(j|)�rs}rt(jX **K2G EVM**j}ru(j]j]j]j]j]ujjoj]rvj%XK2G EVMrw…�rx}ry(jUjjsubajj„ubj%Xv : One board is EP/other is RC; link is established and data is exchanged. All printed output goes to serial console.rz…�r{}r|(jXv : One board is EP/other is RC; link is established and data is exchanged. All printed output goes to serial console.jjoubeubajjéubejjubj×)�r}}r~(jUj}r(j]j]j]j]j]ujj>j]r€(jÜ)�r�}r‚(jUj}rƒ(j]j]j]j]j]ujj}j]r„jX)�r…}r†(jXXPCIE_idkAM571x\ _*armEdmaPktEx\ ampleProject *(Available starting in Processor-SDK 3.1)*jj�j j2jj\j}r‡(j]j]j]j]j]ujKðj]rˆ(j%X)PCIE_idkAM571x_*armEdmaPktExampleProject r‰…�rŠ}r‹(jX-PCIE_idkAM571x\ _*armEdmaPktEx\ ampleProject jj…ubj<)�rŒ}r�(jX+*(Available starting in Processor-SDK 3.1)*j}rŽ(j]j]j]j]j]ujj…j]r�j%X)(Available starting in Processor-SDK 3.1)r�…�r‘}r’(jUjjŒubajjDubeubajjéubjÜ)�r“}r”(jUj}r•(j]j]j]j]j]ujj}j]r–jX)�r—}r˜(jX#Packet Exchange over PCIe Benchmarkr™jj“j j2jj\j}rš(j]j]j]j]j]ujKðj]r›j%X#Packet Exchange over PCIe Benchmarkrœ…�r�}rž(jj™jj—ubaubajjéubjÜ)�rŸ}r (jUj}r¡(j]j]j]j]j]ujj}j]r¢(jX)�r£}r¤(jXa**IMPORTANT:** Cable must be `MODIFIED`_ in order to avoid damaging the clock drivers in the SoC!jjŸj j2jj\j}r¥(j]j]j]j]j]ujKðj]r¦(j|)�r§}r¨(jX**IMPORTANT:**j}r©(j]j]j]j]j]ujj£j]rªj%X IMPORTANT:r«…�r¬}r­(jUjj§ubajj„ubj%X Cable must be r®…�r¯}r°(jX Cable must be jj£ubj)�r±}r²(jX `MODIFIED`_jqKjj£jjj}r³(UnameXMODIFIEDjjsj]j]j]j]j]uj]r´j%XMODIFIEDrµ…�r¶}r·(jUjj±ubaubj%X9 in order to avoid damaging the clock drivers in the SoC!r¸…�r¹}rº(jX9 in order to avoid damaging the clock drivers in the SoC!jj£ubeubjX)�r»}r¼(jXþConnect two like >=REV1.3A AM571x  IDK EVMs J22 using a `MODIFIED`_ male-male crossover PCIe x4 cable and optional straight-through extender. We used a 4-lane cross cable. Projects available for A15 only. >=REV1.3A EVM required (for x4 PCIe connectors).jjŸj j2jj\j}r½(j]j]j]j]j]ujKýj]r¾(j%X9Connect two like >=REV1.3A AM571x  IDK EVMs J22 using a r¿…�rÀ}rÁ(jX9Connect two like >=REV1.3A AM571x  IDK EVMs J22 using a jj»ubj)�rÂ}rÃ(jX `MODIFIED`_jqKjj»jjj}rÄ(UnameXMODIFIEDjjsj]j]j]j]j]uj]rÅj%XMODIFIEDrÆ…�rÇ}rÈ(jUjjÂubaubj%Xº male-male crossover PCIe x4 cable and optional straight-through extender. We used a 4-lane cross cable. Projects available for A15 only. >=REV1.3A EVM required (for x4 PCIe connectors).rÉ…�rÊ}rË(jXº male-male crossover PCIe x4 cable and optional straight-through extender. We used a 4-lane cross cable. Projects available for A15 only. >=REV1.3A EVM required (for x4 PCIe connectors).jj»ubeubejjéubjÜ)�rÌ}rÍ(jUj}rÎ(j]j]j]j]j]ujj}j]rÏjX)�rÐ}rÑ(jXÍ**AM571X >=REV1.3A IDK** : One board is EP/other is RC; link is established and data is exchanged. Produces same output as standard ExampleProject, except EP also prints packet exchange benchmark results.jjÌj j2jj\j}rÒ(j]j]j]j]j]ujKðj]rÓ(j|)�rÔ}rÕ(jX**AM571X >=REV1.3A IDK**j}rÖ(j]j]j]j]j]ujjÐj]r×j%XAM571X >=REV1.3A IDKrØ…�rÙ}rÚ(jUjjÔubajj„ubj%XµÂ : One board is EP/other is RC; link is established and data is exchanged. Produces same output as standard ExampleProject, except EP also prints packet exchange benchmark results.rÛ…�rÜ}rÝ(jXµÂ : One board is EP/other is RC; link is established and data is exchanged. Produces same output as standard ExampleProject, except EP also prints packet exchange benchmark results.jjÐubeubajjéubejjubj×)�rÞ}rß(jUj}rà(j]j]j]j]j]ujj>j]rá(jÜ)�râ}rã(jUj}rä(j]j]j]j]j]ujjÞj]råjX)�ræ}rç(jX Remaining PCIE_*ExampleP\ rojectjjâj j2jj\j}rè(j]j]j]j]j]ujMj]réj%XRemaining PCIE_*ExampleProjectrê…�rë}rì(jX Remaining PCIE_*ExampleP\ rojectjjæubaubajjéubjÜ)�rí}rî(jUj}rï(j]j]j]j]j]ujjÞj]rðjX)�rñ}rò(jX2-device PCIe connectionrójjíj j2jj\j}rô(j]j]j]j]j]ujMj]rõj%X2-device PCIe connectionrö…�r÷}rø(jjójjñubaubajjéubjÜ)�rù}rú(jUj}rû(j]j]j]j]j]ujjÞj]rüjX)�rý}rþ(jXConnect two like C66x/K2x (except K2G, see previous row) EVMs using an AMC breakout card. For K2L, it is necessary to configure the mux via the BMC console with "interface_muxs el pcie" command. Projects available for A15 and/or C66 as present in each device.rÿjjùj j2jj\j}r(j]j]j]j]j]ujMj]rj%XConnect two like C66x/K2x (except K2G, see previous row) EVMs using an AMC breakout card. For K2L, it is necessary to configure the mux via the BMC console with "interface_muxs el pcie" command. Projects available for A15 and/or C66 as present in each device.r…�r}r(jjÿjjýubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjÞj]rjX)�r }r (jXÜ**6678, 6657, K2E, K2H, K2L** : One board is EP/other is RC; link is established and data exchanged. For A15 projects, all printed output goes to serial console. For C66 projects, all printed output goes to CCS console.jjj j2jj\j}r (j]j]j]j]j]ujMj]r (j|)�r }r(jX**6678, 6657, K2E, K2H, K2L**j}r(j]j]j]j]j]ujj j]rj%X6678, 6657, K2E, K2H, K2Lr…�r}r(jUjj ubajj„ubj%X¿Â : One board is EP/other is RC; link is established and data exchanged. For A15 projects, all printed output goes to serial console. For C66 projects, all printed output goes to CCS console.r…�r}r(jX¿Â : One board is EP/other is RC; link is established and data exchanged. For A15 projects, all printed output goes to serial console. For C66 projects, all printed output goes to CCS console.jj ubeubajjéubejjubj×)�r}r(jUj}r(j]j]j]j]j]ujj>j]r(jÜ)�r}r(jUj}r(j]j]j]j]j]ujjj]r(jX)�r}r (jXPCIE_Qos_Examp\ leProjectjjj j2jj\j}r!(j]j]j]j]j]ujM)j]r"j%XPCIE_Qos_ExampleProjectr#…�r$}r%(jXPCIE_Qos_Examp\ leProjectjjubaubjX)�r&}r'(jX(for AM65xx IDK)r(jjj j2jj\j}r)(j]j]j]j]j]ujM,j]r*j%X(for AM65xx IDK)r+…�r,}r-(jj(jj&ubaubejjéubjÜ)�r.}r/(jUj}r0(j]j]j]j]j]ujjj]r1jX)�r2}r3(jX2-device PCIe connectionr4jj.j j2jj\j}r5(j]j]j]j]j]ujM)j]r6j%X2-device PCIe connectionr7…�r8}r9(jj4jj2ubaubajjéubjÜ)�r:}r;(jUj}r<(j]j]j]j]j]ujjj]r=(jX)�r>}r?(jXa**IMPORTANT:** Cable must be `MODIFIED`_ in order to avoid damaging the clock drivers in the SoC!jj:j j2jj\j}r@(j]j]j]j]j]ujM)j]rA(j|)�rB}rC(jX**IMPORTANT:**j}rD(j]j]j]j]j]ujj>j]rEj%X IMPORTANT:rF…�rG}rH(jUjjBubajj„ubj%X Cable must be rI…�rJ}rK(jX Cable must be jj>ubj)�rL}rM(jX `MODIFIED`_jqKjj>jjj}rN(UnameXMODIFIEDjjsj]j]j]j]j]uj]rOj%XMODIFIEDrP…�rQ}rR(jUjjLubaubj%X9 in order to avoid damaging the clock drivers in the SoC!rS…�rT}rU(jX9 in order to avoid damaging the clock drivers in the SoC!jj>ubeubjX)�rV}rW(jX‰Connect two like AM65xx IDK EVMs PCIe using a `MODIFIED`_ male-male crossover PCIe x1 or x4 cable and optional straight-through extender.jj:j j2jj\j}rX(j]j]j]j]j]ujM3j]rY(j%X.Connect two like AM65xx IDK EVMs PCIe using a rZ…�r[}r\(jX.Connect two like AM65xx IDK EVMs PCIe using a jjVubj)�r]}r^(jX `MODIFIED`_jqKjjVjjj}r_(UnameXMODIFIEDjjsj]j]j]j]j]uj]r`j%XMODIFIEDra…�rb}rc(jUjj]ubaubj%XP male-male crossover PCIe x1 or x4 cable and optional straight-through extender.rd…�re}rf(jXP male-male crossover PCIe x1 or x4 cable and optional straight-through extender.jjVubeubjX)�rg}rh(jXWe used a one-lane cross cable.rijj:j j2jj\j}rj(j]j]j]j]j]ujM@j]rkj%XWe used a one-lane cross cable.rl…�rm}rn(jjijjgubaubjX)�ro}rp(jX1Executables for A53 (mpu) and R5 (mcu) available.rqjj:j j2jj\j}rr(j]j]j]j]j]ujMDj]rsj%X1Executables for A53 (mpu) and R5 (mcu) available.rt…�ru}rv(jjqjjoubaubjX)�rw}rx(jX‰Note: this is NOT a CCS project. It is built from running ``make pcie`` from $(TI_PDK\ _INSTALL_DIR)/\ packages. Result is in ti/binary.jj:j j2jj\j}ry(j]j]j]j]j]ujMIj]rz(j%X;Note: this is NOT a CCS project. It is built from running r{…�r|}r}(jX;Note: this is NOT a CCS project. It is built from running jjwubj)�r~}r(jX ``make pcie``j}r€(j]j]j]j]j]ujjwj]r�j%X make pcier‚…�rƒ}r„(jUjj~ubajj ubj%X= from $(TI_PDK_INSTALL_DIR)/packages. Result is in ti/binary.r……�r†}r‡(jXA from $(TI_PDK\ _INSTALL_DIR)/\ packages. Result is in ti/binary.jjwubeubejjéubjÜ)�rˆ}r‰(jUj}rŠ(j]j]j]j]j]ujjj]r‹jX)�rŒ}r�(jX**AM65xx IDK** One board is EP/ other is RC; link is established and data exchanged with TC0/TC1/TC2(DDR) /TC3(MSMC). Then PCIE CPU read latency with TC3 is measured with background PCIE read traffic over TC0 using DMA. All printed output goes to serial console.jjˆj j2jj\j}rŽ(j]j]j]j]j]ujM)j]r�(j|)�r�}r‘(jX**AM65xx IDK**j}r’(j]j]j]j]j]ujjŒj]r“j%X AM65xx IDKr”…�r•}r–(jUjj�ubajj„ubj%Xø One board is EP/ other is RC; link is established and data exchanged with TC0/TC1/TC2(DDR) /TC3(MSMC). Then PCIE CPU read latency with TC3 is measured with background PCIE read traffic over TC0 using DMA. All printed output goes to serial console.r—…�r˜}r™(jXø One board is EP/ other is RC; link is established and data exchanged with TC0/TC1/TC2(DDR) /TC3(MSMC). Then PCIE CPU read latency with TC3 is measured with background PCIE read traffic over TC0 using DMA. All printed output goes to serial console.jjŒubeubajjéubejjubejjðubejjñubaubcdocutils.nodes target rš)�r›}rœ(jXC.. _MODIFIED: http://processors.wiki.ti.com/index.php/PCIe_CableModjKjjâj j2jUtargetr�j}rž(jjsj]rŸUmodifiedr aj]j]j]j]r¡haujM(jhj]ubjb)�r¢}r£(jX"Quick setup of xds100 for two EVMsr¤jjâj j2jjfj}r¥(j]r¦U"quick-setup-of-xds100-for-two-evmsr§aj]j]j]j]r¨h¦aujNjhj]r©j%X"Quick setup of xds100 for two EVMsrª…�r«}r¬(jj¤jj¢ubaubj`)�r­}r®(jUjjâj j2jjcj}r¯(jeU.j]j]j]jfUj]j]jgjhujM\jhj]r°(j)�r±}r²(jXYcreate new target configuration using XDS100v2 and AM572x (or AM571x) from the basic tab.jj­j j2jj j}r³(j]j]j]j]j]ujNjhj]r´jX)�rµ}r¶(jXYcreate new target configuration using XDS100v2 and AM572x (or AM571x) from the basic tab.r·jj±j j2jj\j}r¸(j]j]j]j]j]ujM\j]r¹j%XYcreate new target configuration using XDS100v2 and AM572x (or AM571x) from the basic tab.rº…�r»}r¼(jj·jjµubaubaubj)�r½}r¾(jXSelect Advanced tab.r¿jj­j j2jj j}rÀ(j]j]j]j]j]ujNjhj]rÁjX)�rÂ}rÃ(jj¿jj½j j2jj\j}rÄ(j]j]j]j]j]ujM^j]rÅj%XSelect Advanced tab.rÆ…�rÇ}rÈ(jj¿jjÂubaubaubj)�rÉ}rÊ(jXKHighlight the XDS100v2, and click the "new" button and add second XDS100v2.jj­j j2jj j}rË(j]j]j]j]j]ujNjhj]rÌjX)�rÍ}rÎ(jXKHighlight the XDS100v2, and click the "new" button and add second XDS100v2.rÏjjÉj j2jj\j}rÐ(j]j]j]j]j]ujM_j]rÑj%XKHighlight the XDS100v2, and click the "new" button and add second XDS100v2.rÒ…�rÓ}rÔ(jjÏjjÍubaubaubj)�rÕ}rÖ(jXVHighlight the newly added XDS100v2, click the "add" button and select a second Am572x.jj­j j2jj j}r×(j]j]j]j]j]ujNjhj]rØjX)�rÙ}rÚ(jXVHighlight the newly added XDS100v2, click the "add" button and select a second Am572x.rÛjjÕj j2jj\j}rÜ(j]j]j]j]j]ujMaj]rÝj%XVHighlight the newly added XDS100v2, click the "add" button and select a second Am572x.rÞ…�rß}rà(jjÛjjÙubaubaubj)�rá}râ(jX]open command prompt, and run ti\ccs_base\common\uscif\xds100serial to get your serial numbersjj­j j2jj j}rã(j]j]j]j]j]ujNjhj]räjX)�rå}ræ(jX]open command prompt, and run ti\ccs_base\common\uscif\xds100serial to get your serial numbersjjáj j2jj\j}rç(j]j]j]j]j]ujMcj]rèj%XYopen command prompt, and run ticcs_basecommonuscifxds100serial to get your serial numbersré…�rê}rë(jX]open command prompt, and run ti\ccs_base\common\uscif\xds100serial to get your serial numbersjjåubaubaubj)�rì}rí(jX{Highlight first XDS100v2, select "Debug Probe Selection" to "Select by Serial number" and enter one of the 2 serial numbersjj­j j2jj j}rî(j]j]j]j]j]ujNjhj]rïjX)�rð}rñ(jX{Highlight first XDS100v2, select "Debug Probe Selection" to "Select by Serial number" and enter one of the 2 serial numbersròjjìj j2jj\j}ró(j]j]j]j]j]ujMej]rôj%X{Highlight first XDS100v2, select "Debug Probe Selection" to "Select by Serial number" and enter one of the 2 serial numbersrõ…�rö}r÷(jjòjjðubaubaubj)�rø}rù(jX@Repeat second XDS100v2, setting to to the second serial number. jj­j j2jj j}rú(j]j]j]j]j]ujNjhj]rûjX)�rü}rý(jX?Repeat second XDS100v2, setting to to the second serial number.rþjjøj j2jj\j}rÿ(j]j]j]j]j]ujMgj]rj%X?Repeat second XDS100v2, setting to to the second serial number.r…�r}r(jjþjjüubaubaubeubjX)�r}r(jXÑGeneral instructions for configuring multiple EVMs with any emulator type are available in `Debugging with Multiple Debug Probes `__jjâj j2jj\j}r(j]j]j]j]j]ujMijhj]r(j%X[General instructions for configuring multiple EVMs with any emulator type are available in r…�r }r (jX[General instructions for configuring multiple EVMs with any emulator type are available in jjubj)�r }r (jXv`Debugging with Multiple Debug Probes `__j}r (UnameX$Debugging with Multiple Debug ProbesjXKhttp://software-dl.ti.com/ccs/esd/documents/sdto_ccs_multi-probe-debug.htmlj]j]j]j]j]ujjj]rj%X$Debugging with Multiple Debug Probesr…�r}r(jUjj ubajjubeubjb)�r}r(jX$Detailed instructions to run examplerjjâj j2jjfj}r(j]rU$detailed-instructions-to-run-exampleraj]j]j]j]rh,aujNjhj]rj%X$Detailed instructions to run exampler…�r}r(jjjjubaubjX)�r}r(jX|Ensure 2 Like EVMs are connected with a x1 PCIe male/male cross cable (for AM5XX) or a breakout card (for C667x, C665x, K2x)rjjâj j2jj\j}r (j]j]j]j]j]ujMpjhj]r!j%X|Ensure 2 Like EVMs are connected with a x1 PCIe male/male cross cable (for AM5XX) or a breakout card (for C667x, C665x, K2x)r"…�r#}r$(jjjjubaubjX)�r%}r&(jX~Build project(s) appropriate for your EVM. Projects for A15 and C66 are provided based on core types available on each device.r'jjâj j2jj\j}r((j]j]j]j]j]ujMsjhj]r)j%X~Build project(s) appropriate for your EVM. Projects for A15 and C66 are provided based on core types available on each device.r*…�r+}r,(jj'jj%ubaubjX)�r-}r.(jXžLoad via jtag either the ARM or DSP projects (but don't mix and match) onto the first arm or dsp core of each the 2 EVMs. Same .out file supports both RC and EP. Use an "expressions" window to set PcieModeGbl to PCIE_RC_MODE on one EVM (it makes that EVM RC). Leave the second EVM alone (pcie_EP_MODE). Run the loaded cores. See table above to determine whether output is expected on serial console or CCS console.r/jjâj j2jj\j}r0(j]j]j]j]j]ujMvjhj]r1j%XžLoad via jtag either the ARM or DSP projects (but don't mix and match) onto the first arm or dsp core of each the 2 EVMs. Same .out file supports both RC and EP. Use an "expressions" window to set PcieModeGbl to PCIE_RC_MODE on one EVM (it makes that EVM RC). Leave the second EVM alone (pcie_EP_MODE). Run the loaded cores. See table above to determine whether output is expected on serial console or CCS console.r2…�r3}r4(jj/jj-ubaubjb)�r5}r6(jXSample example outputr7jKjjâj j2jjfj}r8(j]r9Usample-example-outputr:aj]j]r;Xsample-example-outputr<aj]j]ujNjhj]r=j%XSample example outputr>…�r?}r@(jj7jj5ubaubjX)�rA}rB(jXNote that output will vary slightly based on device type. The following is from A57XX. The output from the RC and EP are interleaved since this is run from a 2*XDS1000 double config as described in `Quick setup of xds100 for two EVMs <#quick-setup-of-xds100-for-two-evms>`__jjâj j2jj\j}rC(j]j]j]j]j]ujM€jhj]rD(j%XÆNote that output will vary slightly based on device type. The following is from A57XX. The output from the RC and EP are interleaved since this is run from a 2*XDS1000 double config as described in rE…�rF}rG(jXÆNote that output will vary slightly based on device type. The following is from A57XX. The output from the RC and EP are interleaved since this is run from a 2*XDS1000 double config as described in jjAubj)�rH}rI(jXL`Quick setup of xds100 for two EVMs <#quick-setup-of-xds100-for-two-evms>`__j}rJ(UnameX"Quick setup of xds100 for two EVMsjX##quick-setup-of-xds100-for-two-evmsj]j]j]j]j]ujjAj]rKj%X"Quick setup of xds100 for two EVMsrL…�rM}rN(jUjjHubajjubeubj#)�rO}rP(jXT********************************************** * PCIe Test Start * * RC mode * ********************************************** Version #: 0x02020003; string PCIE LLD Revision: 02.02.00.03:Dec 24 2015:17:38:37 PCIe Power Up. PLL configured. Successfully configured Inbound Translation! Successfully configured Outbound Translation! Starting link training... ********************************************** * PCIe Test Start * * EP mode * ********************************************** Version #: 0x02020003; string PCIE LLD Revision: 02.02.00.03:Dec 24 2015:17:38:37 PCIe Power Up. PLL configured. Successfully configured Inbound Translation! Successfully configured Outbound Translation! Starting link training... Link is up. Link is up. End Point received data. End Point sent data to Root Complex, completing the loopback. EP sending interrupts to RC Root Complex received data. RC waiting for 10 of each of 2 types of interrupts RC got all 20 interrupts Test passed. End of Test.jjâj j2jj&j}rQ(j2j3j]j]j]j]j]ujMXjhj]rRj%XT********************************************** * PCIe Test Start * * RC mode * ********************************************** Version #: 0x02020003; string PCIE LLD Revision: 02.02.00.03:Dec 24 2015:17:38:37 PCIe Power Up. PLL configured. Successfully configured Inbound Translation! Successfully configured Outbound Translation! Starting link training... ********************************************** * PCIe Test Start * * EP mode * ********************************************** Version #: 0x02020003; string PCIE LLD Revision: 02.02.00.03:Dec 24 2015:17:38:37 PCIe Power Up. PLL configured. Successfully configured Inbound Translation! Successfully configured Outbound Translation! Starting link training... Link is up. Link is up. End Point received data. End Point sent data to Root Complex, completing the loopback. EP sending interrupts to RC Root Complex received data. RC waiting for 10 of each of 2 types of interrupts RC got all 20 interrupts Test passed. End of Test.rS…�rT}rU(jUjjOubaubjÁ)�rV}rW(jUjjâj j2jjÄj}rX(j]j]j]j]j]ujMªjhj]rYjÇ)�rZ}r[(jUjÊKjjVj j2jjj}r\(j]j]j]j]j]ujKjhj]ubaubeubeubj)�r]}r^(jUjKjj j j2jjj}r_(j]r`X debug faqraaj]j]j]rbU debug-faqrcaj]ujM­jhj]rd(j)�re}rf(jX Debug FAQrgjj]j j2jj"j}rh(j]j]j]j]j]ujM­jhj]rij%X Debug FAQrj…�rk}rl(jjgjjeubaubjX)�rm}rn(jX#**If example fails to get link up**rojj]j j2jj\j}rp(j]j]j]j]j]ujM¯jhj]rqj|)�rr}rs(jjoj}rt(j]j]j]j]j]ujjmj]ruj%XIf example fails to get link uprv…�rw}rx(jUjjrubajj„ubaubj¤ )�ry}rz(jUjj]j Njj§ j}r{(j]j]j]j]j]ujNjhj]r|j`)�r}}r~(jUj}r(jeU.j]j]j]jfUj]j]jgjhujjyj]r€(j)�r�}r‚(jXLConfirm that male/male cross cable or breakout board is correctly connected.j}rƒ(j]j]j]j]j]ujj}j]r„jX)�r…}r†(jXLConfirm that male/male cross cable or breakout board is correctly connected.r‡jj�j j2jj\j}rˆ(j]j]j]j]j]ujM±j]r‰j%XLConfirm that male/male cross cable or breakout board is correctly connected.rŠ…�r‹}rŒ(jj‡jj…ubaubajj ubj)�r�}rŽ(jX˜If running from ARM cores, confirm that immediately after reset/reload that both devices have PcieModeGbl=PCIE_EP_MODE. If the PCIE_RC_MODE seems to survive reset/reload, it seems to mean watch window failed to refresh. Click the "Refresh" button for the watch window and it should flip back to EP, where you can reset it to RC. Simply running will cause both sides to run as EP, which leads to test failure.j}r�(j]j]j]j]j]ujj}j]r�jX)�r‘}r’(jX˜If running from ARM cores, confirm that immediately after reset/reload that both devices have PcieModeGbl=PCIE_EP_MODE. If the PCIE_RC_MODE seems to survive reset/reload, it seems to mean watch window failed to refresh. Click the "Refresh" button for the watch window and it should flip back to EP, where you can reset it to RC. Simply running will cause both sides to run as EP, which leads to test failure.r“jj�j j2jj\j}r”(j]j]j]j]j]ujM³j]r•j%X˜If running from ARM cores, confirm that immediately after reset/reload that both devices have PcieModeGbl=PCIE_EP_MODE. If the PCIE_RC_MODE seems to survive reset/reload, it seems to mean watch window failed to refresh. Click the "Refresh" button for the watch window and it should flip back to EP, where you can reset it to RC. Simply running will cause both sides to run as EP, which leads to test failure.r–…�r—}r˜(jj“jj‘ubaubajj ubj)�r™}rš(jXEConfirm that one side of the example has PcieModeGbl=PCIE_RC_MODE and the other is PCIE_EP_MODE. .. note:: When changing to RC you must click somewhere outside the expression value to make the modification for RC to "take effect". Simply pressing F8 after modifying the value will run without actually modifying the variable! The modification will be done when the ARM or DSP is stopped, **so everything looks right, except that the log will show "PCIe test start EP mode" twice** instead of "PCIe test start EP mode" once and "PCIe test start RC mode" once. j}r›(j]j]j]j]j]ujj}j]rœ(jX)�r�}rž(jX`Confirm that one side of the example has PcieModeGbl=PCIE_RC_MODE and the other is PCIE_EP_MODE.rŸjj™j j2jj\j}r (j]j]j]j]j]ujMºj]r¡j%X`Confirm that one side of the example has PcieModeGbl=PCIE_RC_MODE and the other is PCIE_EP_MODE.r¢…�r£}r¤(jjŸjj�ubaubj\)�r¥}r¦(jXÃWhen changing to RC you must click somewhere outside the expression value to make the modification for RC to "take effect". Simply pressing F8 after modifying the value will run without actually modifying the variable! The modification will be done when the ARM or DSP is stopped, **so everything looks right, except that the log will show "PCIe test start EP mode" twice** instead of "PCIe test start EP mode" once and "PCIe test start RC mode" once.j}r§(j]j]j]j]j]ujj™j]r¨jX)�r©}rª(jXÃWhen changing to RC you must click somewhere outside the expression value to make the modification for RC to "take effect". Simply pressing F8 after modifying the value will run without actually modifying the variable! The modification will be done when the ARM or DSP is stopped, **so everything looks right, except that the log will show "PCIe test start EP mode" twice** instead of "PCIe test start EP mode" once and "PCIe test start RC mode" once.jj¥j j2jj\j}r«(j]j]j]j]j]ujM½j]r¬(j%XWhen changing to RC you must click somewhere outside the expression value to make the modification for RC to "take effect". Simply pressing F8 after modifying the value will run without actually modifying the variable! The modification will be done when the ARM or DSP is stopped, r­…�r®}r¯(jXWhen changing to RC you must click somewhere outside the expression value to make the modification for RC to "take effect". Simply pressing F8 after modifying the value will run without actually modifying the variable! The modification will be done when the ARM or DSP is stopped, jj©ubj|)�r°}r±(jX\**so everything looks right, except that the log will show "PCIe test start EP mode" twice**j}r²(j]j]j]j]j]ujj©j]r³j%XXso everything looks right, except that the log will show "PCIe test start EP mode" twicer´…�rµ}r¶(jUjj°ubajj„ubj%XN instead of "PCIe test start EP mode" once and "PCIe test start RC mode" once.r·…�r¸}r¹(jXN instead of "PCIe test start EP mode" once and "PCIe test start RC mode" once.jj©ubeubajj_ubejj ubejjcubaubjX)�rº}r»(jX#**How to debug common PCIe issues**r¼jj]j j2jj\j}r½(j]j]j]j]j]ujMÆjhj]r¾j|)�r¿}rÀ(jj¼j}rÁ(j]j]j]j]j]ujjºj]rÂj%XHow to debug common PCIe issuesrÃ…�rÄ}rÅ(jUjj¿ubajj„ubaubjX)�rÆ}rÇ(jXqPlease refer to `PCI Express (PCIe) FAQ `__ for Keystone devices.jj]j j2jj\j}rÈ(j]j]j]j]j]ujMÈjhj]rÉ(j%XPlease refer to rÊ…�rË}rÌ(jXPlease refer to jjÆubj)�rÍ}rÎ(jXK`PCI Express (PCIe) FAQ `__j}rÏ(UnameXPCI Express (PCIe) FAQjX.http://www.ti.com/lit/an/sprac59a/sprac59a.pdfj]j]j]j]j]ujjÆj]rÐj%XPCI Express (PCIe) FAQrÑ…�rÒ}rÓ(jUjjÍubajjubj%X for Keystone devices.rÔ…�rÕ}rÖ(jX for Keystone devices.jjÆubeubeubj)�r×}rØ(jUjKjj j j2jjj}rÙ(j]rÚjGaj]j]j]rÛUid15rÜaj]ujMÍjhj]rÝ(j)�rÞ}rß(jXAdditional Referencesràjj×j j2jj"j}rá(j]j]j]j]j]ujMÍjhj]râj%XAdditional Referencesrã…�rä}rå(jjàjjÞubaubjX)�ræ}rç(jX)Additional documentation can be found in:rèjj×j j2jj\j}ré(j]j]j]j]j]ujMÏjhj]rêj%X)Additional documentation can be found in:rë…�rì}rí(jjèjjæubaubj¶)�rî}rï(jUjj×j j2jj¹j}rð(j]j]j]j]j]ujNjhj]rñj¼)�rò}ró(jUj}rô(j]j]j]j]j]UcolsKujjîj]rõ(jÁ)�rö}r÷(jUj}rø(j]j]j]j]j]UcolwidthK#ujjòj]jjÅubjÁ)�rù}rú(jUj}rû(j]j]j]j]j]UcolwidthK-ujjòj]jjÅubj)�rü}rý(jUj}rþ(j]j]j]j]j]ujjòj]rÿ(j×)�r}r(jUj}r(j]j]j]j]j]ujjüj]r(jÜ)�r}r(jUj}r(j]j]j]j]j]ujjj]rjX)�r}r (jX **Document**r jjj j2jj\j}r (j]j]j]j]j]ujMÒj]r j|)�r }r(jj j}r(j]j]j]j]j]ujjj]rj%XDocumentr…�r}r(jUjj ubajj„ubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjj]rjX)�r}r(jX **Location**rjjj j2jj\j}r(j]j]j]j]j]ujMÒj]rj|)�r}r(jjj}r(j]j]j]j]j]ujjj]r j%XLocationr!…�r"}r#(jUjjubajj„ubaubajjéubejjubj×)�r$}r%(jUj}r&(j]j]j]j]j]ujjüj]r'(jÜ)�r(}r)(jUj}r*(j]j]j]j]j]ujj$j]r+jX)�r,}r-(jXHardware Peripheral Users Guider.jj(j j2jj\j}r/(j]j]j]j]j]ujMÔj]r0j%XHardware Peripheral Users Guider1…�r2}r3(jj.jj,ubaubajjéubjÜ)�r4}r5(jUj}r6(j]j]j]j]j]ujj$j]r7j)�r8}r9(jUj}r:(jX-j]j]j]j]j]ujj4j]r;(j)�r<}r=(jX9C66x/K2x: `User Guide `__ j}r>(j]j]j]j]j]ujj8j]r?jX)�r@}rA(jX8C66x/K2x: `User Guide `__jj<j j2jj\j}rB(j]j]j]j]j]ujMÔj]rC(j%X C66x/K2x: rD…�rE}rF(jX C66x/K2x: jj@ubj)�rG}rH(jX.`User Guide `__j}rI(UnameX User GuidejXhttp://www.ti.com/lit/sprugs6j]j]j]j]j]ujj@j]rJj%X User GuiderK…�rL}rM(jUjjGubajjubeubajj ubj)�rN}rO(jX2AM57XX: TRM Chapter 24.9 titled "PCIe Controller" j}rP(j]j]j]j]j]ujj8j]rQjX)�rR}rS(jX1AM57XX: TRM Chapter 24.9 titled "PCIe Controller"rTjjNj j2jj\j}rU(j]j]j]j]j]ujM×j]rVj%X1AM57XX: TRM Chapter 24.9 titled "PCIe Controller"rW…�rX}rY(jjTjjRubaubajj ubj)�rZ}r[(jXjAM65XX: TRM Chapter 12.2.2 titled "Peripheral Component Controller Interconnect Express (PCIe) Subsystem" j}r\(j]j]j]j]j]ujj8j]r]jX)�r^}r_(jXiAM65XX: TRM Chapter 12.2.2 titled "Peripheral Component Controller Interconnect Express (PCIe) Subsystem"r`jjZj j2jj\j}ra(j]j]j]j]j]ujMÚj]rbj%XiAM65XX: TRM Chapter 12.2.2 titled "Peripheral Component Controller Interconnect Express (PCIe) Subsystem"rc…�rd}re(jj`jj^ubaubajj ubejjubajjéubejjubj×)�rf}rg(jUj}rh(j]j]j]j]j]ujjüj]ri(jÜ)�rj}rk(jUj}rl(j]j]j]j]j]ujjfj]rmjX)�rn}ro(jXAPI Reference Manualrpjjjj j2jj\j}rq(j]j]j]j]j]ujMàj]rrj%XAPI Reference Manualrs…�rt}ru(jjpjjnubaubajjéubjÜ)�rv}rw(jUj}rx(j]j]j]j]j]ujjfj]ryjX)�rz}r{(jXI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/pcie/docs/doxygen/html/index .htmlr|jjvj j2jj\j}r}(j]j]j]j]j]ujMàj]r~j%XI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/pcie/docs/doxygen/html/index .htmlr…�r€}r�(jj|jjzubaubajjéubejjubj×)�r‚}rƒ(jUj}r„(j]j]j]j]j]ujjüj]r…(jÜ)�r†}r‡(jUj}rˆ(j]j]j]j]j]ujj‚j]r‰jX)�rŠ}r‹(jX Release NotesrŒjj†j j2jj\j}r�(j]j]j]j]j]ujMäj]rŽj%X Release Notesr�…�r�}r‘(jjŒjjŠubaubajjéubjÜ)�r’}r“(jUj}r”(j]j]j]j]j]ujj‚j]r•jX)�r–}r—(jXJ$(TI_PDK_INSTALL_DIR)/packages/ti /drv/pcie/docs/ReleaseNotes_PCIE_LLD.pdfr˜jj’j j2jj\j}r™(j]j]j]j]j]ujMäj]ršj%XJ$(TI_PDK_INSTALL_DIR)/packages/ti /drv/pcie/docs/ReleaseNotes_PCIE_LLD.pdfr›…�rœ}r�(jj˜jj–ubaubajjéubejjubejjðubejjñubaubjÁ)�rž}rŸ(jUjj×j j2jjÄj}r (j]j]j]j]j]ujMèjhj]r¡jÇ)�r¢}r£(jUjÊKjjžj j2jjj}r¤(j]j]j]j]j]ujKjhj]ubaubeubeubj j2jjj}r¥(j]r¦Xoverviewr§aj]j]j]r¨Uid7r©aj]ujKjhj]rª(j)�r«}r¬(jXOverviewr­jjj j2jj"j}r®(j]j]j]j]j]ujKjhj]r¯j%XOverviewr°…�r±}r²(jj­jj«ubaubjX)�r³}r´(jX?PCIe module supports dual operation mode: End Point (EP or Type0) or Root Complex (RC or Type1). This driver focuses on EP mode but it also provides access to some basic RC configuration/functionality. For RC this is the lowest level; additional software is needed to perform generic enumeration of third party devices.rµjjj j2jj\j}r¶(j]j]j]j]j]ujKjhj]r·j%X?PCIe module supports dual operation mode: End Point (EP or Type0) or Root Complex (RC or Type1). This driver focuses on EP mode but it also provides access to some basic RC configuration/functionality. For RC this is the lowest level; additional software is needed to perform generic enumeration of third party devices.r¸…�r¹}rº(jjµjj³ubaubjX)�r»}r¼(jX¼The PCIe subsystem has two address spaces. The first (Address Space 0) is dedicated for local application registers, local configuration accesses and remote configuration accesses. The second (Address Space 1) is dedicated for data transfer. This PCIe driver focuses on configuration of the interface and sending/receiving interrupts via Address Space 0. Data is transferred outside the scope of the LLD using CPU or EDMA through the data area.r½jjj j2jj\j}r¾(j]j]j]j]j]ujK jhj]r¿j%X¼The PCIe subsystem has two address spaces. The first (Address Space 0) is dedicated for local application registers, local configuration accesses and remote configuration accesses. The second (Address Space 1) is dedicated for data transfer. This PCIe driver focuses on configuration of the interface and sending/receiving interrupts via Address Space 0. Data is transferred outside the scope of the LLD using CPU or EDMA through the data area.rÀ…�rÁ}rÂ(jj½jj»ubaubjX)�rÃ}rÄ(jXRThere are three revisions of the pcie hardware. The first, v0, in KeyStone devices (C66x, K2x). The second, v1, is in AM57xx devices. The third, v2, is in AM65xx devices. The LLD abstacts the configuration of standards-based PCIe registers (Type 0, Type 1 and Capabilities registers) so same user code can be used on both device types. However, there are different interfaces for the registers not based on PCIe standards (port logic and ti-conf which generally covers interrupts and address translation). That portion of user code needs to differ between C66x/K2x, AM57xx, and AM65xx devices.rÅjjj j2jj\j}rÆ(j]j]j]j]j]ujKjhj]rÇj%XRThere are three revisions of the pcie hardware. The first, v0, in KeyStone devices (C66x, K2x). The second, v1, is in AM57xx devices. The third, v2, is in AM65xx devices. The LLD abstacts the configuration of standards-based PCIe registers (Type 0, Type 1 and Capabilities registers) so same user code can be used on both device types. However, there are different interfaces for the registers not based on PCIe standards (port logic and ti-conf which generally covers interrupts and address translation). That portion of user code needs to differ between C66x/K2x, AM57xx, and AM65xx devices.rÈ…�rÉ}rÊ(jjÅjjÃubaubjX)�rË}rÌ(jXUThe example includes configuration of one SoC as EP and a second as RC. It then performs a simple CPU-based memory transfer (EDMA can be used via the same addresses used by the CPU), and interrupt generation (from EP) and reception (to RC). It also shows differences in user code required to support both C66x/K2x, AM57xx and AM65xx devices.rÍjjj j2jj\j}rÎ(j]j]j]j]j]ujKjhj]rÏj%XUThe example includes configuration of one SoC as EP and a second as RC. It then performs a simple CPU-based memory transfer (EDMA can be used via the same addresses used by the CPU), and interrupt generation (from EP) and reception (to RC). It also shows differences in user code required to support both C66x/K2x, AM57xx and AM65xx devices.rÐ…�rÑ}rÒ(jjÍjjËubaubjb)�rÓ}rÔ(jX<Differences in Operation between C66x/K2x and AM57xx devicesrÕjjj j2jjfj}rÖ(j]r×U;differences-in-operation-between-c66xk2x-and-am57xx-devicesrØaj]j]j]j]rÙh™aujNjhj]rÚj%X<Differences in Operation between C66x/K2x and AM57xx devicesrÛ…�rÜ}rÝ(jjÕjjÓubaubjX)�rÞ}rß(jXÅC66x/K2x, AM57xx, and AM65xx are functionally identical, except that interrupts are handled by example and lld only on AM57xx. Also older devices only support gen 1/2, while AM65xx supports gen 3.ràjjj j2jj\j}rá(j]j]j]j]j]ujK'jhj]râj%XÅC66x/K2x, AM57xx, and AM65xx are functionally identical, except that interrupts are handled by example and lld only on AM57xx. Also older devices only support gen 1/2, while AM65xx supports gen 3.rã…�rä}rå(jjàjjÞubaubjb)�ræ}rç(jXModes of OperationrèjKjjj j2jjfj}ré(j]rêUid8rëaj]j]rìXmodes-of-operationríaj]j]ujNjhj]rîj%XModes of Operationrï…�rð}rñ(jjèjjæubaubjX)�rò}ró(jXgThe LLD is intended to bring up the PCIe peripheral, open memory mappings, and send/receive interrupts.rôjjj j2jj\j}rõ(j]j]j]j]j]ujK.jhj]röj%XgThe LLD is intended to bring up the PCIe peripheral, open memory mappings, and send/receive interrupts.r÷…�rø}rù(jjôjjòubaubjb)�rú}rû(jXRoot Complex (RC)rüjjj j2jjfj}rý(j]rþUroot-complex-rcrÿaj]j]j]j]rhÁaujNjhj]rj%XRoot Complex (RC)r…�r}r(jjüjjúubaubjX)�r}r(jXoThe PCIe peripheral can be used as a root complex. One or more other endpoints can be connected (more than one requires a PCIe switch on the board). The LLD configures the peripheral in RC mode. It doesn't attempt to emulate the full enumeration capability of a Linux driver. Instead the user will need to supply code specific to each endpoint they intend to support.rjjj j2jj\j}r(j]j]j]j]j]ujK4jhj]r j%XoThe PCIe peripheral can be used as a root complex. One or more other endpoints can be connected (more than one requires a PCIe switch on the board). The LLD configures the peripheral in RC mode. It doesn't attempt to emulate the full enumeration capability of a Linux driver. Instead the user will need to supply code specific to each endpoint they intend to support.r …�r }r (jjjjubaubjb)�r }r(jX Endpoint (EP)rjjj j2jjfj}r(j]rU endpoint-epraj]j]j]j]rhNaujNjhj]rj%X Endpoint (EP)r…�r}r(jjjj ubaubjX)�r}r(jX¾The PCIe peripheral can be used as an endpoint. This is the more intended usecase for the LLD. Once the link is initialized, the LLD can provide data addresses and send interrupts to the RC.rjjj j2jj\j}r(j]j]j]j]j]ujK>jhj]rj%X¾The PCIe peripheral can be used as an endpoint. This is the more intended usecase for the LLD. Once the link is initialized, the LLD can provide data addresses and send interrupts to the RC.r…�r}r(jjjjubaubjb)�r }r!(jX Interruptsr"jKjjj j2jjfj}r#(j]r$U interruptsr%aj]j]r&X interruptsr'aj]j]ujNjhj]r(j%X Interruptsr)…�r*}r+(jj"jj ubaubjX)�r,}r-(jX³The example for AM57XX provides code to send interrupts from an endpoint, and the LLD/example together contain code to receive/demux the interrupts (both MSI and Legacy) on an RC.r.jjj j2jj\j}r/(j]j]j]j]j]ujKEjhj]r0j%X³The example for AM57XX provides code to send interrupts from an endpoint, and the LLD/example together contain code to receive/demux the interrupts (both MSI and Legacy) on an RC.r1…�r2}r3(jj.jj,ubaubeubj j2jj?j}r4(j]UlevelKj]j]r5j©aUsourcej2j]j]UlineKUtypejAujKjhj]r6jX)�r7}r8(jX+Duplicate implicit target name: "overview".j}r9(j]j]j]j]j]ujjj]r:j%X+Duplicate implicit target name: "overview".r;…�r<}r=(jUjj7ubajj\ubaubhÿ)�r>}r?(jUj}r@(j]UlevelKj]j]rAjëaUsourcej j]j]UlineKUtypejXujjæj]rBjX)�rC}rD(jX5Duplicate explicit target name: "modes-of-operation".j}rE(j]j]j]j]j]ujj>j]rFj%X5Duplicate explicit target name: "modes-of-operation".rG…�rH}rI(jUjjCubajj\ubajj?ubhÿ)�rJ}rK(jUjj9j j2jj?j}rL(j]UlevelKj]j]rMj?aUsourcej2j]j]UlineKJUtypejAujKJjhj]rNjX)�rO}rP(jX1Duplicate implicit target name: "user interface".j}rQ(j]j]j]j]j]ujjJj]rRj%X1Duplicate implicit target name: "user interface".rS…�rT}rU(jUjjOubajj\ubaubhÿ)�rV}rW(jUjjIj j2jj?j}rX(j]UlevelKj]j]rYjOaUsourcej2j]j]UlineKMUtypejAujKMjhj]rZjX)�r[}r\(jX7Duplicate implicit target name: "driver configuration".j}r](j]j]j]j]j]ujjVj]r^j%X7Duplicate implicit target name: "driver configuration".r_…�r`}ra(jUjj[ubajj\ubaubhÿ)�rb}rc(jUj}rd(j]UlevelKj]j]rej^aUsourcej j]j]UlineKUtypejXujjYj]rfjX)�rg}rh(jX?Duplicate explicit target name: "board-specific-configuration".j}ri(j]j]j]j]j]ujjbj]rjj%X?Duplicate explicit target name: "board-specific-configuration".rk…�rl}rm(jUjjgubajj\ubajj?ubhÿ)�rn}ro(jUjjj j2jj?j}rp(j]UlevelKj]j]rqj„aUsourcej2j]j]UlineK]UtypejAujK]jhj]rrjX)�rs}rt(jX0Duplicate implicit target name: "api call flow".j}ru(j]j]j]j]j]ujjnj]rvj%X0Duplicate implicit target name: "api call flow".rw…�rx}ry(jUjjsubajj\ubaubhÿ)�rz}r{(jUjjÒj j2jj?j}r|(j]UlevelKj]j]r}jØaUsourcej2j]j]UlineKjUtypejAujKjjhj]r~jX)�r}r€(jX.Duplicate implicit target name: "application".j}r�(j]j]j]j]j]ujjzj]r‚j%X.Duplicate implicit target name: "application".rƒ…�r„}r…(jUjjubajj\ubaubhÿ)�r†}r‡(jUjjâj j2jj?j}rˆ(j]UlevelKj]j]r‰jèaUsourcej2j]j]UlineKmUtypejAujKmjhj]rŠjX)�r‹}rŒ(jX+Duplicate implicit target name: "examples".j}r�(j]j]j]j]j]ujj†j]rŽj%X+Duplicate implicit target name: "examples".r�…�r�}r‘(jUjj‹ubajj\ubaubhÿ)�r’}r“(jUjj×j j2jj?j}r”(j]UlevelKj]j]r•jÜaUsourcej2j]j]UlineMÍUtypejAujMÍjhj]r–jX)�r—}r˜(jX8Duplicate implicit target name: "additional references".j}r™(j]j]j]j]j]ujj’j]ršj%X8Duplicate implicit target name: "additional references".r›…�rœ}r�(jUjj—ubajj\ubaubhÿ)�rž}rŸ(jUjj)�r }r¡(jUjKjj)�r¢}r£(jUjhj j jjj}r¤(j]j]j]j]r¥Ugpior¦aj]r§hOaujKjhj]r¨(j)�r©}rª(jXGPIOr«jj¢j j jj"j}r¬(j]j]j]j]j]ujKjhj]r­j%XGPIOr®…�r¯}r°(jj«jj©ubaubj))�r±}r²(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_GPIOjj¢j j,X=source/rtos/PDK_Platform_Software/Device_Drivers/GPIO.rst.incr³…�r´}rµbjj0j}r¶(j2j3j]j]j]j]j]ujKjhj]r·j%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_GPIOr¸…�r¹}rº(jUjj±ubaubj j)�r»}r¼(jUjKjj¢j j´jjj}r½(j]r¾X applicationr¿aj]j]j]rÀUid21rÁaj]ujKPjhj]rÂ(j)�rÃ}rÄ(jX ApplicationrÅjj»j j´jj"j}rÆ(j]j]j]j]j]ujKPjhj]rÇj%X ApplicationrÈ…�rÉ}rÊ(jjÅjjÃubaubj)�rË}rÌ(jUjKjj»j j´jjj}rÍ(j]rÎXexamplesrÏaj]j]j]rÐUid22rÑaj]ujKSjhj]rÒ(j)�rÓ}rÔ(jXExamplesrÕjjËj j´jj"j}rÖ(j]j]j]j]j]ujKSjhj]r×j%XExamplesrØ…�rÙ}rÚ(jjÕjjÓubaubjX)�rÛ}rÜ(jX>Refer SDK Release Note for GPIO support across different EVMs.rÝjjËj j´jj\j}rÞ(j]j]j]j]j]ujKUjhj]rßj%X>Refer SDK Release Note for GPIO support across different EVMs.rà…�rá}râ(jjÝjjÛubaubj¶)�rã}rä(jUjjËj j´jj¹j}rå(j]j]j]j]j]ujNjhj]ræj¼)�rç}rè(jUj}ré(j]j]j]j]j]UcolsKujjãj]rê(jÁ)�rë}rì(jUj}rí(j]j]j]j]j]UcolwidthKujjçj]jjÅubjÁ)�rî}rï(jUj}rð(j]j]j]j]j]UcolwidthKujjçj]jjÅubjÁ)�rñ}rò(jUj}ró(j]j]j]j]j]UcolwidthKujjçj]jjÅubjÁ)�rô}rõ(jUj}rö(j]j]j]j]j]UcolwidthKujjçj]jjÅubjÁ)�r÷}rø(jUj}rù(j]j]j]j]j]UcolwidthKujjçj]jjÅubjÒ)�rú}rû(jUj}rü(j]j]j]j]j]ujjçj]rýj×)�rþ}rÿ(jUj}r(j]j]j]j]j]ujjúj]r(jÜ)�r}r(jUj}r(j]j]j]j]j]ujjþj]rjX)�r}r(jXNamerjjj j´jj\j}r (j]j]j]j]j]ujKXj]r j%XNamer …�r }r (jjjjubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjþj]rjX)�r}r(jX Descriptionrjjj j´jj\j}r(j]j]j]j]j]ujKXj]rj%X Descriptionr…�r}r(jjjjubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjþj]rjÁ)�r}r(jUj}r (j]j]j]j]j]ujjj]r!jÇ)�r"}r#(jXExpected Resultsr$jÊKjjj j´jjj}r%(j]j]j]j]j]ujKj]r&j%XExpected Resultsr'…�r(}r)(jj$jj"ubaubajjÄubajjéubjÜ)�r*}r+(jUj}r,(j]j]j]j]j]ujjþj]r-jX)�r.}r/(jX SoC Supportedr0jj*j j´jj\j}r1(j]j]j]j]j]ujKXj]r2j%X SoC Supportedr3…�r4}r5(jj0jj.ubaubajjéubjÜ)�r6}r7(jUj}r8(j]j]j]j]j]ujjþj]r9jX)�r:}r;(jX Build Typer<jj6j j´jj\j}r=(j]j]j]j]j]ujKXj]r>j%X Build Typer?…�r@}rA(jj<jj:ubaubajjéubejjubajjubj)�rB}rC(jUj}rD(j]j]j]j]j]ujjçj]rE(j×)�rF}rG(jUj}rH(j]j]j]j]j]ujjBj]rI(jÜ)�rJ}rK(jUj}rL(j]j]j]j]UmorerowsKj]ujjFj]rMjX)�rN}rO(jX GPIO_LedBlinkrPjjJj j´jj\j}rQ(j]j]j]j]j]ujKZj]rRj%X GPIO_LedBlinkrS…�rT}rU(jjPjjNubaubajjéubjÜ)�rV}rW(jUj}rX(j]j]j]j]UmorerowsKj]ujjFj]rYjX)�rZ}r[(jX)Simple example demonstrating LED Togglingr\jjVj j´jj\j}r](j]j]j]j]j]ujKZj]r^j%X)Simple example demonstrating LED Togglingr_…�r`}ra(jj\jjZubaubajjéubjÜ)�rb}rc(jUj}rd(j]j]j]j]UmorerowsKj]ujjFj]re(jÁ)�rf}rg(jUj}rh(j]j]j]j]j]ujjbj]rijÇ)�rj}rk(jX-Following LED blinks based on EVM being used.rljÊKjjfj j´jjj}rm(j]j]j]j]j]ujKj]rnj%X-Following LED blinks based on EVM being used.ro…�rp}rq(jjljjjubaubajjÄubjÁ)�rr}rs(jUj}rt(j]j]j]j]j]ujjbj]rujÇ)�rv}rw(jX**AM335x ICEv2**: USER  LED 1jÊKjjrj j´jjj}rx(j]j]j]j]j]ujKj]ry(j|)�rz}r{(jX**AM335x ICEv2**j}r|(j]j]j]j]j]ujjvj]r}j%X AM335x ICEv2r~…�r}r€(jUjjzubajj„ubj%X: USER  LED 1r�…�r‚}rƒ(jX: USER  LED 1jjvubeubajjÄubjÁ)�r„}r…(jUj}r†(j]j]j]j]j]ujjbj]r‡jÇ)�rˆ}r‰(jX**AM437x EVM**: USER  LED 1jÊKjj„j j´jjj}rŠ(j]j]j]j]j]ujKj]r‹(j|)�rŒ}r�(jX**AM437x EVM**j}rŽ(j]j]j]j]j]ujjˆj]r�j%X AM437x EVMr�…�r‘}r’(jUjjŒubajj„ubj%X: USER  LED 1r“…�r”}r•(jX: USER  LED 1jjˆubeubajjÄubjÁ)�r–}r—(jUj}r˜(j]j]j]j]j]ujjbj]r™jÇ)�rš}r›(jX±**AM572x IDK** : STATUS LED 1 Yellow **AM572x GP EVM** : USER LED1 **AM574x IDK** : STATUS LED 1 Yellow **AM572x GP EVM** : USER LED1 **AM571x IDK** : Industrial LED 3 RedjÊKjj–j j´jjj}rœ(j]j]j]j]j]ujKj]r�(j|)�rž}rŸ(jX**AM572x IDK**j}r (j]j]j]j]j]ujjšj]r¡j%X AM572x IDKr¢…�r£}r¤(jUjjžubajj„ubj%X : STATUS LED 1 Yellow r¥…�r¦}r§(jX : STATUS LED 1 Yellow jjšubj|)�r¨}r©(jX**AM572x GP EVM**j}rª(j]j]j]j]j]ujjšj]r«j%X AM572x GP EVMr¬…�r­}r®(jUjj¨ubajj„ubj%X : USER LED1 r¯…�r°}r±(jX : USER LED1 jjšubj|)�r²}r³(jX**AM574x IDK**j}r´(j]j]j]j]j]ujjšj]rµj%X AM574x IDKr¶…�r·}r¸(jUjj²ubajj„ubj%X : STATUS LED 1 Yellow r¹…�rº}r»(jX : STATUS LED 1 Yellow jjšubj|)�r¼}r½(jX**AM572x GP EVM**j}r¾(j]j]j]j]j]ujjšj]r¿j%X AM572x GP EVMrÀ…�rÁ}rÂ(jUjj¼ubajj„ubj%X : USER LED1 rÃ…�rÄ}rÅ(jX : USER LED1 jjšubj|)�rÆ}rÇ(jX**AM571x IDK**j}rÈ(j]j]j]j]j]ujjšj]rÉj%X AM571x IDKrÊ…�rË}rÌ(jUjjÆubajj„ubj%X : Industrial LED 3 RedrÍ…�rÎ}rÏ(jX : Industrial LED 3 RedjjšubeubajjÄubjÁ)�rÐ}rÑ(jUj}rÒ(j]j]j]j]j]ujjbj]rÓjÇ)�rÔ}rÕ(jX**K2H EVM:** USER LED 2 BluejÊKjjÐj j´jjj}rÖ(j]j]j]j]j]ujKj]r×(j|)�rØ}rÙ(jX **K2H EVM:**j}rÚ(j]j]j]j]j]ujjÔj]rÛj%XK2H EVM:rÜ…�rÝ}rÞ(jUjjØubajj„ubj%X USER LED 2 Bluerß…�rà}rá(jX USER LED 2 BluejjÔubeubajjÄubjÁ)�râ}rã(jUj}rä(j]j]j]j]j]ujjbj]råjÇ)�ræ}rç(jX**K2E EVM:** USER LED 1 BluejÊKjjâj j´jjj}rè(j]j]j]j]j]ujKj]ré(j|)�rê}rë(jX **K2E EVM:**j}rì(j]j]j]j]j]ujjæj]ríj%XK2E EVM:rî…�rï}rð(jUjjêubajj„ubj%X USER LED 1 Bluerñ…�rò}ró(jX USER LED 1 BluejjæubeubajjÄubjÁ)�rô}rõ(jUj}rö(j]j]j]j]j]ujjbj]r÷jÇ)�rø}rù(jX**K2G EVM:** USER LED 1 YellowjÊKjjôj j´jjj}rú(j]j]j]j]j]ujKj]rû(j|)�rü}rý(jX **K2G EVM:**j}rþ(j]j]j]j]j]ujjøj]rÿj%XK2G EVM:r…�r}r(jUjjüubajj„ubj%X USER LED 1 Yellowr…�r}r(jX USER LED 1 YellowjjøubeubajjÄubjÁ)�r}r(jUj}r(j]j]j]j]j]ujjbj]r jÇ)�r }r (jX**AM65xx EVM:** USER LD16, LD17jÊKjjj j´jjj}r (j]j]j]j]j]ujKj]r (j|)�r}r(jX**AM65xx EVM:**j}r(j]j]j]j]j]ujj j]rj%X AM65xx EVM:r…�r}r(jUjjubajj„ubj%X USER LD16, LD17r…�r}r(jX USER LD16, LD17jj ubeubajjÄubjÁ)�r}r(jUj}r(j]j]j]j]j]ujjbj]rjÇ)�r}r(jX**J721E EVM:** USER LED 1jÊKjjj j´jjj}r(j]j]j]j]j]ujKj]r(j|)�r }r!(jX**J721E EVM:**j}r"(j]j]j]j]j]ujjj]r#j%X J721E EVM:r$…�r%}r&(jUjj ubajj„ubj%X USER LED 1r'…�r(}r)(jX USER LED 1jjubeubajjÄubejjéubjÜ)�r*}r+(jUj}r,(j]j]j]j]j]ujjFj]r-jX)�r.}r/(jXTAM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk, k2l, k2e, c6657, c6678, omapl137,r0jj*j j´jj\j}r1(j]j]j]j]j]ujKZj]r2j%XTAM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk, k2l, k2e, c6657, c6678, omapl137,r3…�r4}r5(jj0jj.ubaubajjéubjÜ)�r6}r7(jUj}r8(j]j]j]j]j]ujjFj]r9jX)�r:}r;(jX CCS projectr<jj6j j´jj\j}r=(j]j]j]j]j]ujKZj]r>j%X CCS projectr?…�r@}rA(jj<jj:ubaubajjéubejjubj×)�rB}rC(jUj}rD(j]j]j]j]j]ujjBj]rE(jÜ)�rF}rG(jUj}rH(j]j]j]j]j]ujjBj]rIjX)�rJ}rK(jX am65xx j721erLjjFj j´jj\j}rM(j]j]j]j]j]ujKhj]rNj%X am65xx j721erO…�rP}rQ(jjLjjJubaubajjéubjÜ)�rR}rS(jUj}rT(j]j]j]j]j]ujjBj]rUjX)�rV}rW(jXmakefilerXjjRj j´jj\j}rY(j]j]j]j]j]ujKhj]rZj%Xmakefiler[…�r\}r](jjXjjVubaubajjéubejjubejjðubejjñubaubj\)�r^}r_(jXYThere are no user mode LEDs directly connected to GPIO pins on K2L, C6678 and C6657 EVMs.r`jjËj j´jj_j}ra(j]j]j]j]j]ujNjhj]rbjX)�rc}rd(jj`jj^j j´jj\j}re(j]j]j]j]j]ujK…j]rfj%XYThere are no user mode LEDs directly connected to GPIO pins on K2L, C6678 and C6657 EVMs.rg…�rh}ri(jj`jjcubaubaubeubeubj)�rj}rk(jUjj¢j j´jjj}rl(j]j]j]j]rmUbuilding-gpio-examplesrnaj]rohøaujKˆjhj]rp(j)�rq}rr(jXBuilding GPIO examplesrsjjjj j´jj"j}rt(j]j]j]j]j]ujKˆjhj]ruj%XBuilding GPIO examplesrv…�rw}rx(jjsjjqubaubj)�ry}rz(jUjjjj j´jjj}r{(jX-j]j]j]j]j]ujKŠjhj]r|j)�r}}r~(jXMMakefile based examples and dependent libraries can be built from the top level or module level GPIO makefile, refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:rjjyj j´jj j}r€(j]j]j]j]j]ujNjhj]r�jX)�r‚}rƒ(jjjj}j j´jj\j}r„(j]j]j]j]j]ujKŠj]r…(j%X|Makefile based examples and dependent libraries can be built from the top level or module level GPIO makefile, refer to the r†…�r‡}rˆ(jX|Makefile based examples and dependent libraries can be built from the top level or module level GPIO makefile, refer to the jj‚ubj)�r‰}rŠ(jXT`Processor SDK RTOS Getting Started Guide `__j}r‹(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj‚j]rŒj%X(Processor SDK RTOS Getting Started Guider�…�rŽ}r�(jUjj‰ubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r�…�r‘}r’(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj‚ubeubaubaubj#)�r“}r”(jXÍTo build and clean libs/apps from top-level makefile: cd /packages make gpio make gpio_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/gpio make all make cleanjjjj j´jj&j}r•(j2j3j]j]j]j]j]ujMNjhj]r–j%XÍTo build and clean libs/apps from top-level makefile: cd /packages make gpio make gpio_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/gpio make all make cleanr—…�r˜}r™(jUjj“ubaubj)�rš}r›(jUjjjj j´jjj}rœ(jX-j]j]j]j]j]ujK˜jhj]r�j)�rž}rŸ(jX2RTSC CCS project based examples are built from CCSr jjšj j´jj j}r¡(j]j]j]j]j]ujNjhj]r¢jX)�r£}r¤(jj jjžj j´jj\j}r¥(j]j]j]j]j]ujK˜j]r¦j%X2RTSC CCS project based examples are built from CCSr§…�r¨}r©(jj jj£ubaubaubaubj#)�rª}r«(jX¹cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] gpio [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/jjjj j´jj&j}r¬(j2j3j]j]j]j]j]ujM\jhj]r­j%X¹cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] gpio [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/r®…�r¯}r°(jUjjªubaubeubj)�r±}r²(jUjKjj¢j j´jjj}r³(j]r´Xfaqrµaj]j]j]r¶Ufaqr·aj]ujK jhj]r¸(j)�r¹}rº(jXFAQr»jj±j j´jj"j}r¼(j]j]j]j]j]ujK jhj]r½j%XFAQr¾…�r¿}rÀ(jj»jj¹ubaubjX)�rÁ}rÂ(jX,**Is there any example using GPIO as input**rÃjj±j j´jj\j}rÄ(j]j]j]j]j]ujK¢jhj]rÅj|)�rÆ}rÇ(jjÃj}rÈ(j]j]j]j]j]ujjÁj]rÉj%X(Is there any example using GPIO as inputrÊ…�rË}rÌ(jUjjÆubajj„ubaubjX)�rÍ}rÎ(jXÓPlease refer to `RTOS Customization: using an external input to trigger an interrupt on AM57x `_ for details.jj±j j´jj\j}rÏ(j]j]j]j]j]ujK¤jhj]rÐ(j%XPlease refer to rÑ…�rÒ}rÓ(jXPlease refer to jjÍubj)�rÔ}rÕ(jX¶`RTOS Customization: using an external input to trigger an interrupt on AM57x `_j}rÖ(UnameXLRTOS Customization: using an external input to trigger an interrupt on AM57xjXdindex_how_to_guides.html#rtos-customization-using-an-external-input-to-trigger-an-interrupt-on-am57xr×j]j]j]j]j]ujjÍj]rØj%XLRTOS Customization: using an external input to trigger an interrupt on AM57xrÙ…�rÚ}rÛ(jUjjÔubajjubjš)�rÜ}rÝ(jXg jKjjÍjj�j}rÞ(Urefurij×j]rßUKrtos-customization-using-an-external-input-to-trigger-an-interrupt-on-am57xràaj]j]j]j]ráh²auj]ubj%X for details.râ…�rã}rä(jX for details.jjÍubeubeubj)�rå}ræ(jUjKjj¢j j´jjj}rç(j]rèXadditional referencesréaj]j]j]rêUid23rëaj]ujK¨jhj]rì(j)�rí}rî(jXAdditional Referencesrïjjåj j´jj"j}rð(j]j]j]j]j]ujK¨jhj]rñj%XAdditional Referencesrò…�ró}rô(jjïjjíubaubj¶)�rõ}rö(jUjjåj j´jj¹j}r÷(j]j]j]j]j]ujNjhj]røj¼)�rù}rú(jUj}rû(j]j]j]j]j]UcolsKujjõj]rü(jÁ)�rý}rþ(jUj}rÿ(j]j]j]j]j]UcolwidthKujjùj]jjÅubjÁ)�r}r(jUj}r(j]j]j]j]j]UcolwidthK#ujjùj]jjÅubj)�r}r(jUj}r(j]j]j]j]j]ujjùj]r(j×)�r}r(jUj}r (j]j]j]j]j]ujjj]r (jÜ)�r }r (jUj}r (j]j]j]j]j]ujjj]rjX)�r}r(jX **Document**rjj j j´jj\j}r(j]j]j]j]j]ujK«j]rj|)�r}r(jjj}r(j]j]j]j]j]ujjj]rj%XDocumentr…�r}r(jUjjubajj„ubaubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjj]rjX)�r}r (jX **Location**r!jjj j´jj\j}r"(j]j]j]j]j]ujK«j]r#j|)�r$}r%(jj!j}r&(j]j]j]j]j]ujjj]r'j%XLocationr(…�r)}r*(jUjj$ubajj„ubaubajjéubejjubj×)�r+}r,(jUj}r-(j]j]j]j]j]ujjj]r.(jÜ)�r/}r0(jUj}r1(j]j]j]j]j]ujj+j]r2jX)�r3}r4(jXAPI Reference Manualr5jj/j j´jj\j}r6(j]j]j]j]j]ujK­j]r7j%XAPI Reference Manualr8…�r9}r:(jj5jj3ubaubajjéubjÜ)�r;}r<(jUj}r=(j]j]j]j]j]ujj+j]r>jX)�r?}r@(jXI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/doxygen/html/index .htmlrAjj;j j´jj\j}rB(j]j]j]j]j]ujK­j]rCj%XI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/doxygen/html/index .htmlrD…�rE}rF(jjAjj?ubaubajjéubejjubj×)�rG}rH(jUj}rI(j]j]j]j]j]ujjj]rJ(jÜ)�rK}rL(jUj}rM(j]j]j]j]j]ujjGj]rNjX)�rO}rP(jX Release NotesrQjjKj j´jj\j}rR(j]j]j]j]j]ujK±j]rSj%X Release NotesrT…�rU}rV(jjQjjOubaubajjéubjÜ)�rW}rX(jUj}rY(j]j]j]j]j]ujjGj]rZjX)�r[}r\(jXK$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/ReleaseNotes_GPIO _LLD.pdfr]jjWj j´jj\j}r^(j]j]j]j]j]ujK±j]r_j%XK$(TI_PDK_INSTALL_DIR)/packages/ti /drv/gpio/docs/ReleaseNotes_GPIO _LLD.pdfr`…�ra}rb(jj]jj[ubaubajjéubejjubejjðubejjñubaubjÁ)�rc}rd(jUjjåj j´jjÄj}re(j]j]j]j]j]ujK¶jhj]rfjÇ)�rg}rh(jUjÊKjjcj j´jjj}ri(j]j]j]j]j]ujKjhj]ubaubeubeubj j´jjj}rj(j]rkXoverviewrlaj]j]j]rmUid16rnaj]ujKjhj]ro(j)�rp}rq(jXOverviewrrjj j j´jj"j}rs(j]j]j]j]j]ujKjhj]rtj%XOverviewru…�rv}rw(jjrjjpubaubj)�rx}ry(jUjKjj j j´jjj}rz(j]r{jLaj]j]j]r|Uid17r}aj]ujKjhj]r~(j)�r}r€(jX Introductionr�jjxj j´jj"j}r‚(j]j]j]j]j]ujKjhj]rƒj%X Introductionr„…�r…}r†(jj�jjubaubjX)�r‡}rˆ(jXòGPIO module allows application to manage General Purpose I/O  instances and pins via simple portable APIs. Because of its simplicity, APIs are pin based and does not follow model of other drivers inside PDK which requires handle abstraction.r‰jjxj j´jj\j}rŠ(j]j]j]j]j]ujK jhj]r‹j%XòGPIO module allows application to manage General Purpose I/O  instances and pins via simple portable APIs. Because of its simplicity, APIs are pin based and does not follow model of other drivers inside PDK which requires handle abstraction.rŒ…�r�}rŽ(jj‰jj‡ubaubjb)�r�}r�(jXModes of Operationr‘jKjjxj j´jjfj}r’(j]r“Uid18r”aj]j]r•Xmodes-of-operationr–aj]j]ujNjhj]r—j%XModes of Operationr˜…�r™}rš(jj‘jj�ubaubjX)�r›}rœ(jXêFollowing modes of operations are supported **Input or Output** Each gpio pin can be configured as either input: GPIO_CFG_INPUT or output: GPIO_CFG_OUTPUT. If it is configured as an output then pin level can be additionally configuredjjxj j´jj\j}r�(j]j]j]j]j]ujKjhj]rž(j%X,Following modes of operations are supported rŸ…�r }r¡(jX,Following modes of operations are supported jj›ubj|)�r¢}r£(jX**Input or Output**j}r¤(j]j]j]j]j]ujj›j]r¥j%XInput or Outputr¦…�r§}r¨(jUjj¢ubajj„ubj%X« Each gpio pin can be configured as either input: GPIO_CFG_INPUT or output: GPIO_CFG_OUTPUT. If it is configured as an output then pin level can be additionally configuredr©…�rª}r«(jX« Each gpio pin can be configured as either input: GPIO_CFG_INPUT or output: GPIO_CFG_OUTPUT. If it is configured as an output then pin level can be additionally configuredjj›ubeubjX)�r¬}r­(jXÆ**Interrupt support** Each gpio pin can be configured to generate interrupts based on event type GPIO_CFG_IN_INT_XXX configuration. To generate interrupt, gpio pin has to be configured as input pin.jjxj j´jj\j}r®(j]j]j]j]j]ujKjhj]r¯(j|)�r°}r±(jX**Interrupt support**j}r²(j]j]j]j]j]ujj¬j]r³j%XInterrupt supportr´…�rµ}r¶(jUjj°ubajj„ubj%X± Each gpio pin can be configured to generate interrupts based on event type GPIO_CFG_IN_INT_XXX configuration. To generate interrupt, gpio pin has to be configured as input pin.r·…�r¸}r¹(jX± Each gpio pin can be configured to generate interrupts based on event type GPIO_CFG_IN_INT_XXX configuration. To generate interrupt, gpio pin has to be configured as input pin.jj¬ubeubjb)�rº}r»(jXDriver Configurationr¼jjxj j´jjfj}r½(j]r¾Udriver-configuration-gpior¿aj]j]j]j]rÀh]aujNjhj]rÁj%XDriver ConfigurationrÂ…�rÃ}rÄ(jj¼jjºubaubjb)�rÅ}rÆ(jX **Board Specific Configuration**rÇjKjjxj j´jjfj}rÈ(j]rÉUid19rÊaj]j]rËXboard-specific-configurationrÌaj]j]ujNjhj]rÍj|)�rÎ}rÏ(jjÇj}rÐ(j]j]j]j]j]ujjÅj]rÑj%XBoard Specific ConfigurationrÒ…�rÓ}rÔ(jUjjÎubajj„ubaubjX)�rÕ}rÖ(jXƒAll board specific configurations like enabling clock and pin-mux are required before calling any driver APIs. By default Board_Init() API available under board module supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO. Refer `Processor SDK RTOS Board Support `__ for additional details.jjxj j´jj\j}r×(j]j]j]j]j]ujK"jhj]rØ(j%X&All board specific configurations like enabling clock and pin-mux are required before calling any driver APIs. By default Board_Init() API available under board module supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO. Refer rÙ…�rÚ}rÛ(jX&All board specific configurations like enabling clock and pin-mux are required before calling any driver APIs. By default Board_Init() API available under board module supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO. Refer jjÕubj)�rÜ}rÝ(jXE`Processor SDK RTOS Board Support `__j}rÞ(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujjÕj]rßj%X Processor SDK RTOS Board Supportrà…�rá}râ(jUjjÜubajjubj%X for additional details.rã…�rä}rå(jX for additional details.jjÕubeubjb)�ræ}rç(jX **GPIO Configuration Structure**rèjjxj j´jjfj}ré(j]rêUgpio-configuration-structurerëaj]j]j]j]rìhPaujNjhj]ríj|)�rî}rï(jjèj}rð(j]j]j]j]j]ujjæj]rñj%XGPIO Configuration Structurerò…�ró}rô(jUjjîubajj„ubaubjX)�rõ}rö(jXÜGPIO_soc.c binds driver with hardware attributes on the board. Hardware attributes includes base address, interrupt number etc. GPIO pin behavior can be configured statically, or alternatively dynamically during runtime.r÷jjxj j´jj\j}rø(j]j]j]j]j]ujK-jhj]rùj%XÜGPIO_soc.c binds driver with hardware attributes on the board. Hardware attributes includes base address, interrupt number etc. GPIO pin behavior can be configured statically, or alternatively dynamically during runtime.rú…�rû}rü(jj÷jjõubaubjX)�rý}rþ(jX¿GPIO_init () API triggers all static configuration information available through hardware attributes. Once initialization is complete additional APIs can be used to configure and access pins.rÿjjxj j´jj\j}r(j]j]j]j]j]ujK2jhj]rj%X¿GPIO_init () API triggers all static configuration information available through hardware attributes. Once initialization is complete additional APIs can be used to configure and access pins.r…�r}r(jjÿjjýubaubeubj)�r}r(jUjKjj j j´jjj}r(j]rj#aj]j]j]r Uid20r aj]ujK7jhj]r (j)�r }r (jXAPIsrjjj j´jj"j}r(j]j]j]j]j]ujK7jhj]rj%XAPIsr…�r}r(jjjj ubaubjX)�r}r(jXAPI reference for Application:rjjj j´jj\j}r(j]j]j]j]j]ujK9jhj]rj%XAPI reference for Application:r…�r}r(jjjjubaubj#)�r}r(jX#include jjj j´jj&j}r(Ulinenosr‰Ulanguager Xcj2j3j]j]j]Uhighlight_argsr!}j]j]ujK;jhj]r"j%X#include r#…�r$}r%(jUjjubaubjX)�r&}r'(jXTBelow sequence indicates API calling sequence for a simple use case of LED togglingr(jjj j´jj\j}r)(j]j]j]j]j]ujK?jhj]r*j%XTBelow sequence indicates API calling sequence for a simple use case of LED togglingr+…�r,}r-(jj(jj&ubaubj#)�r.}r/(jXš... Board_init(boardCfg); GPIO_init(); While(1) { GPIO_write(Board_LED1, GPIO_PIN_VAL_HIGH); Delay(); GPIO_write(Board_LED1, GPIO_PIN_VAL_LOW); Delay(); }jjj j´jj&j}r0(j‰j Xcj2j3j]j]j]j!}j]j]ujKBjhj]r1j%Xš... Board_init(boardCfg); GPIO_init(); While(1) { GPIO_write(Board_LED1, GPIO_PIN_VAL_HIGH); Delay(); GPIO_write(Board_LED1, GPIO_PIN_VAL_LOW); Delay(); }r2…�r3}r4(jUjj.ubaubeubeubj j´jj?j}r5(j]UlevelKj]j]r6jnaUsourcej´j]j]UlineKUtypejAujKjhj]r7jX)�r8}r9(jX+Duplicate implicit target name: "overview".j}r:(j]j]j]j]j]ujjžj]r;j%X+Duplicate implicit target name: "overview".r<…�r=}r>(jUjj8ubajj\ubaubhÿ)�r?}r@(jUjjxj j´jj?j}rA(j]UlevelKj]j]rBj}aUsourcej´j]j]UlineKUtypejAujKjhj]rCjX)�rD}rE(jX/Duplicate implicit target name: "introduction".j}rF(j]j]j]j]j]ujj?j]rGj%X/Duplicate implicit target name: "introduction".rH…�rI}rJ(jUjjDubajj\ubaubhÿ)�rK}rL(jUj}rM(j]UlevelKj]j]rNj”aUsourcej j]j]UlineKUtypejXujj�j]rOjX)�rP}rQ(jX5Duplicate explicit target name: "modes-of-operation".j}rR(j]j]j]j]j]ujjKj]rSj%X5Duplicate explicit target name: "modes-of-operation".rT…�rU}rV(jUjjPubajj\ubajj?ubhÿ)�rW}rX(jUj}rY(j]UlevelKj]j]rZjÊaUsourcej j]j]UlineKUtypejXujjÅj]r[jX)�r\}r](jX?Duplicate explicit target name: "board-specific-configuration".j}r^(j]j]j]j]j]ujjWj]r_j%X?Duplicate explicit target name: "board-specific-configuration".r`…�ra}rb(jUjj\ubajj\ubajj?ubhÿ)�rc}rd(jUjjj j´jj?j}re(j]UlevelKj]j]rfj aUsourcej´j]j]UlineK7UtypejAujK7jhj]rgjX)�rh}ri(jX'Duplicate implicit target name: "apis".j}rj(j]j]j]j]j]ujjcj]rkj%X'Duplicate implicit target name: "apis".rl…�rm}rn(jUjjhubajj\ubaubhÿ)�ro}rp(jUjj»j j´jj?j}rq(j]UlevelKj]j]rrjÁaUsourcej´j]j]UlineKPUtypejAujKPjhj]rsjX)�rt}ru(jX.Duplicate implicit target name: "application".j}rv(j]j]j]j]j]ujjoj]rwj%X.Duplicate implicit target name: "application".rx…�ry}rz(jUjjtubajj\ubaubhÿ)�r{}r|(jUjjËj j´jj?j}r}(j]UlevelKj]j]r~jÑaUsourcej´j]j]UlineKSUtypejAujKSjhj]rjX)�r€}r�(jX+Duplicate implicit target name: "examples".j}r‚(j]j]j]j]j]ujj{j]rƒj%X+Duplicate implicit target name: "examples".r„…�r…}r†(jUjj€ubajj\ubaubhÿ)�r‡}rˆ(jUjjjj j´jj?j}r‰(j]UlevelKj]j]Usourcej´j]j]UlineK‹UtypejXujKŠjhj]rŠjX)�r‹}rŒ(jX;Bullet list ends without a blank line; unexpected unindent.j}r�(j]j]j]j]j]ujj‡j]rŽj%X;Bullet list ends without a blank line; unexpected unindent.r�…�r�}r‘(jUjj‹ubajj\ubaubhÿ)�r’}r“(jUjjjj j´jj?j}r”(j]UlevelKj]j]Usourcej´j]j]UlineK™UtypejXujK˜jhj]r•jX)�r–}r—(jX;Bullet list ends without a blank line; unexpected unindent.j}r˜(j]j]j]j]j]ujj’j]r™j%X;Bullet list ends without a blank line; unexpected unindent.rš…�r›}rœ(jUjj–ubajj\ubaubhÿ)�r�}rž(jUjjåj j´jj?j}rŸ(j]UlevelKj]j]r jëaUsourcej´j]j]UlineK¨UtypejAujK¨jhj]r¡jX)�r¢}r£(jX8Duplicate implicit target name: "additional references".j}r¤(j]j]j]j]j]ujj�j]r¥j%X8Duplicate implicit target name: "additional references".r¦…�r§}r¨(jUjj¢ubajj\ubaubhÿ)�r©}rª(jUjj)�r«}r¬(jUjKjj)�r­}r®(jUjhj j jjj}r¯(j]j]j]j]r°Ui2cr±aj]r²h÷aujK!jhj]r³(j)�r´}rµ(jXI2Cr¶jj­j j jj"j}r·(j]j]j]j]j]ujK!jhj]r¸j%XI2Cr¹…�rº}r»(jj¶jj´ubaubj))�r¼}r½(jX>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_I2Cjj­j j,X<source/rtos/PDK_Platform_Software/Device_Drivers/I2C.rst.incr¾…�r¿}rÀbjj0j}rÁ(j2j3j]j]j]j]j]ujKjhj]rÂj%X>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_I2CrÃ…�rÄ}rÅ(jUjj¼ubaubj«j)�rÆ}rÇ(jUjKjj­j j¿jjj}rÈ(j]rÉXuser interfacerÊaj]j]j]rËUid26rÌaj]ujK5jhj]rÍ(j)�rÎ}rÏ(jXUser InterfacerÐjjÆj j¿jj"j}rÑ(j]j]j]j]j]ujK5jhj]rÒj%XUser InterfacerÓ…�rÔ}rÕ(jjÐjjÎubaubj)�rÖ}r×(jUjKjjÆj j¿jjj}rØ(j]rÙXdriver configurationrÚaj]j]j]rÛUid27rÜaj]ujK8jhj]rÝ(j)�rÞ}rß(jXDriver ConfigurationràjjÖj j¿jj"j}rá(j]j]j]j]j]ujK8jhj]râj%XDriver Configurationrã…�rä}rå(jjàjjÞubaubjb)�ræ}rç(jX **Board Specific Configuration**rèjKjjÖj j¿jjfj}ré(j]rêUid28rëaj]j]rìXboard-specific-configurationríaj]j]ujNjhj]rîj|)�rï}rð(jjèj}rñ(j]j]j]j]j]ujjæj]ròj%XBoard Specific Configurationró…�rô}rõ(jUjjïubajj„ubaubjX)�rö}r÷(jX7All the board specific configurations eg:enabling and pin-mux of I2C pins should be performed before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer `Processor SDK RTOS Board Support `__ for additional details.jjÖj j¿jj\j}rø(j]j]j]j]j]ujK=jhj]rù(j%XÚAll the board specific configurations eg:enabling and pin-mux of I2C pins should be performed before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer rú…�rû}rü(jXÚAll the board specific configurations eg:enabling and pin-mux of I2C pins should be performed before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer jjöubj)�rý}rþ(jXE`Processor SDK RTOS Board Support `__j}rÿ(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujjöj]rj%X Processor SDK RTOS Board Supportr…�r}r(jUjjýubajjubj%X for additional details.r…�r}r(jX for additional details.jjöubeubjX)�r}r(jXjOnce the board specific configuration is complete driver API I2C_init() can be called to initialize driverr jjÖj j¿jj\j}r (j]j]j]j]j]ujKDjhj]r j%XjOnce the board specific configuration is complete driver API I2C_init() can be called to initialize driverr …�r }r(jj jjubaubjb)�r}r(jX**I2C Configuration Structure**rjjÖj j¿jjfj}r(j]rUi2c-configuration-structureraj]j]j]j]rh³aujNjhj]rj|)�r}r(jjj}r(j]j]j]j]j]ujjj]rj%XI2C Configuration Structurer…�r}r(jUjjubajj„ubaubjX)�r}r(jX•I2C_soc.c file binds driver with hardware attributes on the board through I2C_config structure. This structure must be provided to I2C driver. It must be initialized before the I2C_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\i2c\\docs\\doxygen\\html\\index.html.jjÖj j¿jj\j}r (j]j]j]j]j]ujKJjhj]r!j%X�I2C_soc.c file binds driver with hardware attributes on the board through I2C_config structure. This structure must be provided to I2C driver. It must be initialized before the I2C_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\i2c\docs\doxygen\html\index.html.r"…�r#}r$(jX•I2C_soc.c file binds driver with hardware attributes on the board through I2C_config structure. This structure must be provided to I2C driver. It must be initialized before the I2C_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\i2c\\docs\\doxygen\\html\\index.html.jjubaubeubj)�r%}r&(jUjKjjÆj j¿jjj}r'(j]r(Xapisr)aj]j]j]r*Uid29r+aj]ujKRjhj]r,(j)�r-}r.(jXAPIsr/jj%j j¿jj"j}r0(j]j]j]j]j]ujKRjhj]r1j%XAPIsr2…�r3}r4(jj/jj-ubaubjX)�r5}r6(jXAPI reference for application:r7jj%j j¿jj\j}r8(j]j]j]j]j]ujKTjhj]r9j%XAPI reference for application:r:…�r;}r<(jj7jj5ubaubj#)�r=}r>(jX#include jj%j j¿jj&j}r?(j2j3j]j]j]j]j]ujM×jhj]r@j%X#include rA…�rB}rC(jUjj=ubaubjX)�rD}rE(jX. Sample code for initiating I2C transaction:rFjj%j j¿jj\j}rG(j]j]j]j]j]ujKZjhj]rHj%X. Sample code for initiating I2C transaction:rI…�rJ}rK(jjFjjDubaubj#)�rL}rM(jX®... Board_init(boardCfg); ... I2C_socGetInitCfg(peripheralNum, &i2c_cfg); ... I2C_socSetInitCfg(peripheralNum, &i2c_cfg); ... i2c = I2C_open(peripheralNum, &i2cParams); ... ... /* Initiate I2C transfers. Refer Example for details */ I2C_transactionInit(&i2cTransaction); transaction.masterMode = true; ... ... transferOK = I2C_transfer(i2c, &i2cTransaction); if (transferOK != I2C_STS_SUCCESS) { /* I2C transaction failed */ }jj%j j¿jj&j}rN(j2j3j]j]j]j]j]ujMÝjhj]rOj%X®... Board_init(boardCfg); ... I2C_socGetInitCfg(peripheralNum, &i2c_cfg); ... I2C_socSetInitCfg(peripheralNum, &i2c_cfg); ... i2c = I2C_open(peripheralNum, &i2cParams); ... ... /* Initiate I2C transfers. Refer Example for details */ I2C_transactionInit(&i2cTransaction); transaction.masterMode = true; ... ... transferOK = I2C_transfer(i2c, &i2cTransaction); if (transferOK != I2C_STS_SUCCESS) { /* I2C transaction failed */ }rP…�rQ}rR(jUjjLubaubeubeubj)�rS}rT(jUjKjj­j j¿jjj}rU(j]rVX applicationrWaj]j]j]rXUid30rYaj]ujKujhj]rZ(j)�r[}r\(jX Applicationr]jjSj j¿jj"j}r^(j]j]j]j]j]ujKujhj]r_j%X Applicationr`…�ra}rb(jj]jj[ubaubj)�rc}rd(jUjKjjSj j¿jjj}re(j]rfXexamplesrgaj]j]j]rhUid31riaj]ujKxjhj]rj(j)�rk}rl(jXExamplesrmjjcj j¿jj"j}rn(j]j]j]j]j]ujKxjhj]roj%XExamplesrp…�rq}rr(jjmjjkubaubjX)�rs}rt(jX8Refer Release Note for I2C support across different EVMsrujjcj j¿jj\j}rv(j]j]j]j]j]ujKzjhj]rwj%X8Refer Release Note for I2C support across different EVMsrx…�ry}rz(jjujjsubaubj¶)�r{}r|(jUjjcj j¿jj¹j}r}(j]j]j]j]j]ujNjhj]r~j¼)�r}r€(jUj}r�(j]j]j]j]j]UcolsKujj{j]r‚(jÁ)�rƒ}r„(jUj}r…(j]j]j]j]j]UcolwidthKujjj]jjÅubjÁ)�r†}r‡(jUj}rˆ(j]j]j]j]j]UcolwidthKujjj]jjÅubjÁ)�r‰}rŠ(jUj}r‹(j]j]j]j]j]UcolwidthKujjj]jjÅubjÁ)�rŒ}r�(jUj}rŽ(j]j]j]j]j]UcolwidthKujjj]jjÅubjÁ)�r�}r�(jUj}r‘(j]j]j]j]j]UcolwidthKujjj]jjÅubjÒ)�r’}r“(jUj}r”(j]j]j]j]j]ujjj]r•j×)�r–}r—(jUj}r˜(j]j]j]j]j]ujj’j]r™(jÜ)�rš}r›(jUj}rœ(j]j]j]j]j]ujj–j]r�jÁ)�rž}rŸ(jUj}r (j]j]j]j]j]ujjšj]r¡jÇ)�r¢}r£(jXNamer¤jÊKjjžj j¿jjj}r¥(j]j]j]j]j]ujKj]r¦j%XNamer§…�r¨}r©(jj¤jj¢ubaubajjÄubajjéubjÜ)�rª}r«(jUj}r¬(j]j]j]j]j]ujj–j]r­jÁ)�r®}r¯(jUj}r°(j]j]j]j]j]ujjªj]r±jÇ)�r²}r³(jX Descriptionr´jÊKjj®j j¿jjj}rµ(j]j]j]j]j]ujKj]r¶j%X Descriptionr·…�r¸}r¹(jj´jj²ubaubajjÄubajjéubjÜ)�rº}r»(jUj}r¼(j]j]j]j]j]ujj–j]r½jÁ)�r¾}r¿(jUj}rÀ(j]j]j]j]j]ujjºj]rÁjÇ)�rÂ}rÃ(jXExpected ResultsrÄjÊKjj¾j j¿jjj}rÅ(j]j]j]j]j]ujKj]rÆj%XExpected ResultsrÇ…�rÈ}rÉ(jjÄjjÂubaubajjÄubajjéubjÜ)�rÊ}rË(jUj}rÌ(j]j]j]j]j]ujj–j]rÍjX)�rÎ}rÏ(jX SoC SupportedrÐjjÊj j¿jj\j}rÑ(j]j]j]j]j]ujK}j]rÒj%X SoC SupportedrÓ…�rÔ}rÕ(jjÐjjÎubaubajjéubjÜ)�rÖ}r×(jUj}rØ(j]j]j]j]j]ujj–j]rÙjX)�rÚ}rÛ(jX Build TyperÜjjÖj j¿jj\j}rÝ(j]j]j]j]j]ujK}j]rÞj%X Build Typerß…�rà}rá(jjÜjjÚubaubajjéubejjubajjubj)�râ}rã(jUj}rä(j]j]j]j]j]ujjj]rå(j×)�ræ}rç(jUj}rè(j]j]j]j]j]ujjâj]ré(jÜ)�rê}rë(jUj}rì(j]j]j]j]j]ujjæj]ríjX)�rî}rï(jX"I2C_EepromRead Example applicationrðjjêj j¿jj\j}rñ(j]j]j]j]j]ujKj]ròj%X"I2C_EepromRead Example applicationró…�rô}rõ(jjðjjîubaubajjéubjÜ)�rö}r÷(jUj}rø(j]j]j]j]j]ujjæj]rùjÁ)�rú}rû(jUj}rü(j]j]j]j]j]ujjöj]rýjÇ)�rþ}rÿ(jXeSimple example to read fixed number of bytes from EEPROM on board and compares it with expected data.rjÊKjjúj j¿jjj}r(j]j]j]j]j]ujKj]rj%XeSimple example to read fixed number of bytes from EEPROM on board and compares it with expected data.r…�r}r(jjjjþubaubajjÄubajjéubjÜ)�r}r(jUj}r(j]j]j]j]j]ujjæj]r jÁ)�r }r (jUj}r (j]j]j]j]j]ujjj]r (jÇ)�r}r(jXBFollowing prints will come on console based on pass/fail criteria:rjÊKjj j j¿jjj}r(j]j]j]j]j]ujKj]rj%XBFollowing prints will come on console based on pass/fail criteria:r…�r}r(jjjjubaubjÇ)�r}r(jUjÊKjj j j¿jjj}r(j]j]j]j]j]ujKj]ubjÇ)�r}r(jX**Pass criteria:**rjÊKjj j j¿jjj}r(j]j]j]j]j]ujKj]rj|)�r}r(jjj}r (j]j]j]j]j]ujjj]r!j%XPass criteria:r"…�r#}r$(jUjjubajj„ubaubjÇ)�r%}r&(jUjÊKjj j j¿jjj}r'(j]j]j]j]j]ujKj]ubjÇ)�r(}r)(jX*EEPROM data matched All tests have passed.r*jÊKjj j j¿jjj}r+(j]j]j]j]j]ujKj]r,j%X*EEPROM data matched All tests have passed.r-…�r.}r/(jj*jj(ubaubejjÄubajjéubjÜ)�r0}r1(jUj}r2(j]j]j]j]j]ujjæj]r3jX)�r4}r5(jXSAM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk,k2l,k2e,k2l c6657,c6678 omapl137,r6jj0j j¿jj\j}r7(j]j]j]j]j]ujKj]r8j%XSAM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk,k2l,k2e,k2l c6657,c6678 omapl137,r9…�r:}r;(jj6jj4ubaubajjéubjÜ)�r<}r=(jUj}r>(j]j]j]j]j]ujjæj]r?jX)�r@}rA(jX CCS projectrBjj<j j¿jj\j}rC(j]j]j]j]j]ujKj]rDj%X CCS projectrE…�rF}rG(jjBjj@ubaubajjéubejjubj×)�rH}rI(jUj}rJ(j]j]j]j]j]ujjâj]rK(jÜ)�rL}rM(jUj}rN(j]j]j]j]UmorerowsKj]ujjHj]rOjX)�rP}rQ(jXI2C_TestApplicationrRjjLj j¿jj\j}rS(j]j]j]j]j]ujKŠj]rTj%XI2C_TestApplicationrU…�rV}rW(jjRjjPubaubajjéubjÜ)�rX}rY(jUj}rZ(j]j]j]j]UmorerowsKj]ujjHj]r[jÁ)�r\}r](jUj}r^(j]j]j]j]j]ujjXj]r_jÇ)�r`}ra(jXFDriver Unit Test application for additional I2C speed and other testsrbjÊKjj\j j¿jjj}rc(j]j]j]j]j]ujKj]rdj%XFDriver Unit Test application for additional I2C speed and other testsre…�rf}rg(jjbjj`ubaubajjÄubajjéubjÜ)�rh}ri(jUj}rj(j]j]j]j]UmorerowsKj]ujjHj]rkjÁ)�rl}rm(jUj}rn(j]j]j]j]j]ujjhj]ro(jÇ)�rp}rq(jXBFollowing prints will come on console based on pass/fail criteria:rrjÊKjjlj j¿jjj}rs(j]j]j]j]j]ujKj]rtj%XBFollowing prints will come on console based on pass/fail criteria:ru…�rv}rw(jjrjjpubaubjÇ)�rx}ry(jUjÊKjjlj j¿jjj}rz(j]j]j]j]j]ujKj]ubjÇ)�r{}r|(jX**Pass criteria:**r}jÊKjjlj j¿jjj}r~(j]j]j]j]j]ujKj]rj|)�r€}r�(jj}j}r‚(j]j]j]j]j]ujj{j]rƒj%XPass criteria:r„…�r…}r†(jUjj€ubajj„ubaubjÇ)�r‡}rˆ(jUjÊKjjlj j¿jjj}r‰(j]j]j]j]j]ujKj]ubjÇ)�rŠ}r‹(jXI2C Test: 100Kbps: PASSrŒjÊKjjlj j¿jjj}r�(j]j]j]j]j]ujKj]rŽj%XI2C Test: 100Kbps: PASSr�…�r�}r‘(jjŒjjŠubaubjÇ)�r’}r“(jUjÊKjjlj j¿jjj}r”(j]j]j]j]j]ujKj]ubjÇ)�r•}r–(jXI2C Test: 400Kbps: PASSr—jÊKjjlj j¿jjj}r˜(j]j]j]j]j]ujKj]r™j%XI2C Test: 400Kbps: PASSrš…�r›}rœ(jj—jj•ubaubjÇ)�r�}rž(jUjÊKjjlj j¿jjj}rŸ(j]j]j]j]j]ujKj]ubjÇ)�r }r¡(jXI2C Test: timeout test passedr¢jÊKjjlj j¿jjj}r£(j]j]j]j]j]ujKj]r¤j%XI2C Test: timeout test passedr¥…�r¦}r§(jj¢jj ubaubjÇ)�r¨}r©(jUjÊKjjlj j¿jjj}rª(j]j]j]j]j]ujKj]ubjÇ)�r«}r¬(jXAll tests have passed.r­jÊKjjlj j¿jjj}r®(j]j]j]j]j]ujKj]r¯j%XAll tests have passed.r°…�r±}r²(jj­jj«ubaubejjÄubajjéubjÜ)�r³}r´(jUj}rµ(j]j]j]j]j]ujjHj]r¶jX)�r·}r¸(jXTAM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk, k2l, k2e, c6657, c6678, omapl137,r¹jj³j j¿jj\j}rº(j]j]j]j]j]ujKŠj]r»j%XTAM335x, AM437x, AM571x, AM572x, AM574x, k2g, k2hk, k2l, k2e, c6657, c6678, omapl137,r¼…�r½}r¾(jj¹jj·ubaubajjéubjÜ)�r¿}rÀ(jUj}rÁ(j]j]j]j]j]ujjHj]rÂjX)�rÃ}rÄ(jX CCS projectrÅjj¿j j¿jj\j}rÆ(j]j]j]j]j]ujKŠj]rÇj%X CCS projectrÈ…�rÉ}rÊ(jjÅjjÃubaubajjéubejjubj×)�rË}rÌ(jUj}rÍ(j]j]j]j]j]ujjâj]rÎ(jÜ)�rÏ}rÐ(jUj}rÑ(j]j]j]j]j]ujjËj]rÒjX)�rÓ}rÔ(jX am65xx j721erÕjjÏj j¿jj\j}rÖ(j]j]j]j]j]ujK˜j]r×j%X am65xx j721erØ…�rÙ}rÚ(jjÕjjÓubaubajjéubjÜ)�rÛ}rÜ(jUj}rÝ(j]j]j]j]j]ujjËj]rÞjX)�rß}rà(jXmakefilerájjÛj j¿jj\j}râ(j]j]j]j]j]ujK˜j]rãj%Xmakefilerä…�rå}ræ(jjájjßubaubajjéubejjubj×)�rç}rè(jUj}ré(j]j]j]j]j]ujjâj]rê(jÜ)�rë}rì(jUj}rí(j]j]j]j]UmorerowsKj]ujjçj]rîjX)�rï}rð(jXI2C_SMP_Test Applicationrñjjëj j¿jj\j}rò(j]j]j]j]j]ujK�j]rój%XI2C_SMP_Test Applicationrô…�rõ}rö(jjñjjïubaubajjéubjÜ)�r÷}rø(jUj}rù(j]j]j]j]UmorerowsKj]ujjçj]rújÁ)�rû}rü(jUj}rý(j]j]j]j]j]ujj÷j]rþjÇ)�rÿ}r(jXlDriver Unit Test application for additional I2C speed and other tests with SMP enabled. (A15 and A53 cores)rjÊKjjûj j¿jjj}r(j]j]j]j]j]ujKj]rj%XlDriver Unit Test application for additional I2C speed and other tests with SMP enabled. (A15 and A53 cores)r…�r}r(jjjjÿubaubajjÄubajjéubjÜ)�r}r(jUj}r (j]j]j]j]UmorerowsKj]ujjçj]r jÁ)�r }r (jUj}r (j]j]j]j]j]ujjj]r(jÇ)�r}r(jXBFollowing prints will come on console based on pass/fail criteria:rjÊKjj j j¿jjj}r(j]j]j]j]j]ujKj]rj%XBFollowing prints will come on console based on pass/fail criteria:r…�r}r(jjjjubaubjÇ)�r}r(jUjÊKjj j j¿jjj}r(j]j]j]j]j]ujKj]ubjÇ)�r}r(jX**Pass criteria:**rjÊKjj j j¿jjj}r(j]j]j]j]j]ujKj]rj|)�r}r (jjj}r!(j]j]j]j]j]ujjj]r"j%XPass criteria:r#…�r$}r%(jUjjubajj„ubaubjÇ)�r&}r'(jUjÊKjj j j¿jjj}r((j]j]j]j]j]ujKj]ubjÇ)�r)}r*(jXI2C Test: 100Kbps: PASSr+jÊKjj j j¿jjj}r,(j]j]j]j]j]ujKj]r-j%XI2C Test: 100Kbps: PASSr.…�r/}r0(jj+jj)ubaubjÇ)�r1}r2(jUjÊKjj j j¿jjj}r3(j]j]j]j]j]ujKj]ubjÇ)�r4}r5(jXI2C Test: 400Kbps: PASSr6jÊKjj j j¿jjj}r7(j]j]j]j]j]ujKj]r8j%XI2C Test: 400Kbps: PASSr9…�r:}r;(jj6jj4ubaubjÇ)�r<}r=(jUjÊKjj j j¿jjj}r>(j]j]j]j]j]ujKj]ubjÇ)�r?}r@(jXI2C Test: timeout test passedrAjÊKjj j j¿jjj}rB(j]j]j]j]j]ujKj]rCj%XI2C Test: timeout test passedrD…�rE}rF(jjAjj?ubaubjÇ)�rG}rH(jUjÊKjj j j¿jjj}rI(j]j]j]j]j]ujKj]ubjÇ)�rJ}rK(jXAll tests have passed.rLjÊKjj j j¿jjj}rM(j]j]j]j]j]ujKj]rNj%XAll tests have passed.rO…�rP}rQ(jjLjjJubaubejjÄubajjéubjÜ)�rR}rS(jUj}rT(j]j]j]j]j]ujjçj]rUjX)�rV}rW(jX am572x-evmrXjjRj j¿jj\j}rY(j]j]j]j]j]ujK�j]rZj%X am572x-evmr[…�r\}r](jjXjjVubaubajjéubjÜ)�r^}r_(jUj}r`(j]j]j]j]j]ujjçj]rajX)�rb}rc(jX CCS projectrdjj^j j¿jj\j}re(j]j]j]j]j]ujK�j]rfj%X CCS projectrg…�rh}ri(jjdjjbubaubajjéubejjubj×)�rj}rk(jUj}rl(j]j]j]j]j]ujjâj]rm(jÜ)�rn}ro(jUj}rp(j]j]j]j]j]ujjjj]rqjX)�rr}rs(jX am65xx j721ertjjnj j¿jj\j}ru(j]j]j]j]j]ujK«j]rvj%X am65xx j721erw…�rx}ry(jjtjjrubaubajjéubjÜ)�rz}r{(jUj}r|(j]j]j]j]j]ujjjj]r}jX)�r~}r(jXmakefiler€jjzj j¿jj\j}r�(j]j]j]j]j]ujK«j]r‚j%Xmakefilerƒ…�r„}r…(jj€jj~ubaubajjéubejjubj×)�r†}r‡(jUj}rˆ(j]j]j]j]j]ujjâj]r‰(jÜ)�rŠ}r‹(jUj}rŒ(j]j]j]j]j]ujj†j]r�jX)�rŽ}r�(jXI2C_TemperatureSensorr�jjŠj j¿jj\j}r‘(j]j]j]j]j]ujK°j]r’j%XI2C_TemperatureSensorr“…�r”}r•(jj�jjŽubaubajjéubjÜ)�r–}r—(jUj}r˜(j]j]j]j]j]ujj†j]r™jÁ)�rš}r›(jUj}rœ(j]j]j]j]j]ujj–j]r�jÇ)�rž}rŸ(jXdExample to get the temperature value from the temperature sensor and displays on the serial console.r jÊKjjšj j¿jjj}r¡(j]j]j]j]j]ujKj]r¢j%XdExample to get the temperature value from the temperature sensor and displays on the serial console.r£…�r¤}r¥(jj jjžubaubajjÄubajjéubjÜ)�r¦}r§(jUj}r¨(j]j]j]j]j]ujj†j]r©jÁ)�rª}r«(jUj}r¬(j]j]j]j]j]ujj¦j]r­(jÇ)�r®}r¯(jXBFollowing prints will come on console based on pass/fail criteria:r°jÊKjjªj j¿jjj}r±(j]j]j]j]j]ujKj]r²j%XBFollowing prints will come on console based on pass/fail criteria:r³…�r´}rµ(jj°jj®ubaubjÇ)�r¶}r·(jUjÊKjjªj j¿jjj}r¸(j]j]j]j]j]ujKj]ubjÇ)�r¹}rº(jX**Pass criteria:**r»jÊKjjªj j¿jjj}r¼(j]j]j]j]j]ujKj]r½j|)�r¾}r¿(jj»j}rÀ(j]j]j]j]j]ujj¹j]rÁj%XPass criteria:rÂ…�rÃ}rÄ(jUjj¾ubajj„ubaubjÇ)�rÅ}rÆ(jUjÊKjjªj j¿jjj}rÇ(j]j]j]j]j]ujKj]ubjÇ)�rÈ}rÉ(jX=Temperature = "value in centigrades" C All tests have passed.rÊjÊKjjªj j¿jjj}rË(j]j]j]j]j]ujKj]rÌj%X=Temperature = "value in centigrades" C All tests have passed.rÍ…�rÎ}rÏ(jjÊjjÈubaubejjÄubajjéubjÜ)�rÐ}rÑ(jUj}rÒ(j]j]j]j]j]ujj†j]rÓjX)�rÔ}rÕ(jXAM572x,rÖjjÐj j¿jj\j}r×(j]j]j]j]j]ujK°j]rØj%XAM572x,rÙ…�rÚ}rÛ(jjÖjjÔubaubajjéubjÜ)�rÜ}rÝ(jUj}rÞ(j]j]j]j]j]ujj†j]rßjX)�rà}rá(jX CCS projectrâjjÜj j¿jj\j}rã(j]j]j]j]j]ujK°j]räj%X CCS projectrå…�ræ}rç(jjâjjàubaubajjéubejjubj×)�rè}ré(jUj}rê(j]j]j]j]j]ujjâj]rë(jÜ)�rì}rí(jUj}rî(j]j]j]j]j]ujjèj]rïjX)�rð}rñ(jXI2C_master/slaveròjjìj j¿jj\j}ró(j]j]j]j]j]ujK½j]rôj%XI2C_master/slaverõ…�rö}r÷(jjòjjðubaubajjéubjÜ)�rø}rù(jUj}rú(j]j]j]j]j]ujjèj]rû(jÁ)�rü}rý(jUj}rþ(j]j]j]j]j]ujjøj]rÿ(jÇ)�r}r(jXËApplication demonstrates master/slave transfer of I2C. Application use case requires two EVMs. One acts as Master and the other as slave. I2C connections information and addtional details are as follows:rjÊKjjüj j¿jjj}r(j]j]j]j]j]ujKj]rj%XËApplication demonstrates master/slave transfer of I2C. Application use case requires two EVMs. One acts as Master and the other as slave. I2C connections information and addtional details are as follows:r…�r}r(jjjjubaubjÇ)�r}r (jUjÊKjjüj j¿jjj}r (j]j]j]j]j]ujKj]ubjÇ)�r }r (jXFAM57xx boards I2C bus connection on J9 (master board <--> slave board)r jÊKjjüj j¿jjj}r(j]j]j]j]j]ujKj]rj%XFAM57xx boards I2C bus connection on J9 (master board <--> slave board)r…�r}r(jj jj ubaubjÇ)�r}r(jUjÊKjjüj j¿jjj}r(j]j]j]j]j]ujKj]ubjÇ)�r}r(jXpin22 (SCL)<--> pin22 (SCL)rjÊKjjüj j¿jjj}r(j]j]j]j]j]ujKj]rj%Xpin22 (SCL)<--> pin22 (SCL)r…�r}r(jjjjubaubjÇ)�r}r(jUjÊKjjüj j¿jjj}r (j]j]j]j]j]ujKj]ubjÇ)�r!}r"(jXpin24 (SDA)<--> pin24 (SDA)r#jÊKjjüj j¿jjj}r$(j]j]j]j]j]ujKj]r%j%Xpin24 (SDA)<--> pin24 (SDA)r&…�r'}r((jj#jj!ubaubjÇ)�r)}r*(jUjÊKjjüj j¿jjj}r+(j]j]j]j]j]ujKj]ubjÇ)�r,}r-(jXpin21 (GND)<--> pin21 (GND)r.jÊKjjüj j¿jjj}r/(j]j]j]j]j]ujKj]r0j%Xpin21 (GND)<--> pin21 (GND)r1…�r2}r3(jj.jj,ubaubjÇ)�r4}r5(jUjÊKjjüj j¿jjj}r6(j]j]j]j]j]ujKj]ubjÇ)�r7}r8(jX˜K2G boards I2C bus connection on J12 (master board <--> slave board) pin28 (SCL)<--> pin28 (SCL) pin30 (SDA)<--> pin30 (SDA) pin50 (GND)<--> pin50 (GND)r9jÊKjjüj j¿jjj}r:(j]j]j]j]j]ujKj]r;j%X˜K2G boards I2C bus connection on J12 (master board <--> slave board) pin28 (SCL)<--> pin28 (SCL) pin30 (SDA)<--> pin30 (SDA) pin50 (GND)<--> pin50 (GND)r<…�r=}r>(jj9jj7ubaubjÇ)�r?}r@(jUjÊKjjüj j¿jjj}rA(j]j]j]j]j]ujKj]ubejjÄubjÁ)�rB}rC(jUj}rD(j]j]j]j]j]ujjøj]rE(jÇ)�rF}rG(jX£OMAPL138/C6748 boards I2C bus connection on J15 (master board <--> slave board) pin13 (SCL)<--> pin13 (SCL) pin15 (SDA)<--> pin15 (SDA) pin35 (GND)<--> pin35 (GND)rHjÊKjjBj j¿jjj}rI(j]j]j]j]j]ujKj]rJj%X£OMAPL138/C6748 boards I2C bus connection on J15 (master board <--> slave board) pin13 (SCL)<--> pin13 (SCL) pin15 (SDA)<--> pin15 (SDA) pin35 (GND)<--> pin35 (GND)rK…�rL}rM(jjHjjFubaubjÇ)�rN}rO(jUjÊKjjBj j¿jjj}rP(j]j]j]j]j]ujKj]ubjÇ)�rQ}rR(jX•Run "I2C_Slave__Test Project" first on Slave EVM and then "I2C_Master__Tes tProject" on Master EVM.rSjÊKjjBj j¿jjj}rT(j]j]j]j]j]ujKj]rUj%X•Run "I2C_Slave__Test Project" first on Slave EVM and then "I2C_Master__Tes tProject" on Master EVM.rV…�rW}rX(jjSjjQubaubejjÄubejjéubjÜ)�rY}rZ(jUj}r[(j]j]j]j]j]ujjèj]r\jÁ)�r]}r^(jUj}r_(j]j]j]j]j]ujjYj]r`(jÇ)�ra}rb(jXBFollowing prints will come on console based on pass/fail criteria:rcjÊKjj]j j¿jjj}rd(j]j]j]j]j]ujKj]rej%XBFollowing prints will come on console based on pass/fail criteria:rf…�rg}rh(jjcjjaubaubjÇ)�ri}rj(jUjÊKjj]j j¿jjj}rk(j]j]j]j]j]ujKj]ubjÇ)�rl}rm(jX**Pass criteria:**rnjÊKjj]j j¿jjj}ro(j]j]j]j]j]ujKj]rpj|)�rq}rr(jjnj}rs(j]j]j]j]j]ujjlj]rtj%XPass criteria:ru…�rv}rw(jUjjqubajj„ubaubjÇ)�rx}ry(jUjÊKjj]j j¿jjj}rz(j]j]j]j]j]ujKj]ubjÇ)�r{}r|(jXAll tests have passed.r}jÊKjj]j j¿jjj}r~(j]j]j]j]j]ujKj]rj%XAll tests have passed.r€…�r�}r‚(jj}jj{ubaubejjÄubajjéubjÜ)�rƒ}r„(jUj}r…(j]j]j]j]j]ujjèj]r†jX)�r‡}rˆ(jXAM572x, AM574x, k2g, omapl138,r‰jjƒj j¿jj\j}rŠ(j]j]j]j]j]ujK½j]r‹j%XAM572x, AM574x, k2g, omapl138,rŒ…�r�}rŽ(jj‰jj‡ubaubajjéubjÜ)�r�}r�(jUj}r‘(j]j]j]j]j]ujjèj]r’jX)�r“}r”(jX CCS projectr•jj�j j¿jj\j}r–(j]j]j]j]j]ujK½j]r—j%X CCS projectr˜…�r™}rš(jj•jj“ubaubajjéubejjubejjðubejjñubaubj\)�r›}rœ(jXI2C_Test Application supports write test on Keystone II EVMs, by default write test is disabled, user can enable the write test by defining I2C_EEPROM_WRITE_ENABLE in test/eeprom_read/src/I2C_board.h. I2C_TemperatureSensor Application is supported only on AM572x GP EVM.jjcj j¿jj_j}r�(j]j]j]j]j]ujNjhj]ržjX)�rŸ}r (jXI2C_Test Application supports write test on Keystone II EVMs, by default write test is disabled, user can enable the write test by defining I2C_EEPROM_WRITE_ENABLE in test/eeprom_read/src/I2C_board.h. I2C_TemperatureSensor Application is supported only on AM572x GP EVM.r¡jj›j j¿jj\j}r¢(j]j]j]j]j]ujKÿj]r£j%XI2C_Test Application supports write test on Keystone II EVMs, by default write test is disabled, user can enable the write test by defining I2C_EEPROM_WRITE_ENABLE in test/eeprom_read/src/I2C_board.h. I2C_TemperatureSensor Application is supported only on AM572x GP EVM.r¤…�r¥}r¦(jj¡jjŸubaubaubeubeubj)�r§}r¨(jUjj­j j¿jjj}r©(j]j]j]j]rªUbuilding-i2c-examplesr«aj]r¬hæaujMjhj]r­(j)�r®}r¯(jXBuilding I2C examplesr°jj§j j¿jj"j}r±(j]j]j]j]j]ujMjhj]r²j%XBuilding I2C examplesr³…�r´}rµ(jj°jj®ubaubj)�r¶}r·(jUjj§j j¿jjj}r¸(jX-j]j]j]j]j]ujMjhj]r¹j)�rº}r»(jXLMakefile based examples and dependent libraries can be built from the top level or module level I2C makefile, refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r¼jj¶j j¿jj j}r½(j]j]j]j]j]ujNjhj]r¾jX)�r¿}rÀ(jj¼jjºj j¿jj\j}rÁ(j]j]j]j]j]ujMj]rÂ(j%X{Makefile based examples and dependent libraries can be built from the top level or module level I2C makefile, refer to the rÃ…�rÄ}rÅ(jX{Makefile based examples and dependent libraries can be built from the top level or module level I2C makefile, refer to the jj¿ubj)�rÆ}rÇ(jXT`Processor SDK RTOS Getting Started Guide `__j}rÈ(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj¿j]rÉj%X(Processor SDK RTOS Getting Started GuiderÊ…�rË}rÌ(jUjjÆubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:rÍ…�rÎ}rÏ(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj¿ubeubaubaubj#)�rÐ}rÑ(jXÊTo build and clean libs/apps from top-level makefile: cd /packages make i2c make i2c_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/i2c make all make cleanjj§j j¿jj&j}rÒ(j2j3j]j]j]j]j]ujM‰jhj]rÓj%XÊTo build and clean libs/apps from top-level makefile: cd /packages make i2c make i2c_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/i2c make all make cleanrÔ…�rÕ}rÖ(jUjjÐubaubj)�r×}rØ(jUjj§j j¿jjj}rÙ(jX-j]j]j]j]j]ujMjhj]rÚj)�rÛ}rÜ(jX2RTSC CCS project based examples are built from CCSrÝjj×j j¿jj j}rÞ(j]j]j]j]j]ujNjhj]rßjX)�rà}rá(jjÝjjÛj j¿jj\j}râ(j]j]j]j]j]ujMj]rãj%X2RTSC CCS project based examples are built from CCSrä…�rå}ræ(jjÝjjàubaubaubaubj#)�rç}rè(jX¸cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] i2c [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/jj§j j¿jj&j}ré(j2j3j]j]j]j]j]ujM—jhj]rêj%X¸cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] i2c [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/rë…�rì}rí(jUjjçubaubeubj)�rî}rï(jUjKjj­j j¿jjj}rð(j]rñXadditional referencesròaj]j]j]róUid32rôaj]ujMjhj]rõ(j)�rö}r÷(jXAdditional Referencesrøjjîj j¿jj"j}rù(j]j]j]j]j]ujMjhj]rúj%XAdditional Referencesrû…�rü}rý(jjøjjöubaubj¶)�rþ}rÿ(jUjjîj j¿jj¹j}r (j]j]j]j]j]ujNjhj]r j¼)�r }r (jUj}r (j]j]j]j]j]UcolsKujjþj]r (jÁ)�r }r (jUj}r (j]j]j]j]j]UcolwidthKujj j]jjÅubjÁ)�r }r (jUj}r (j]j]j]j]j]UcolwidthK*ujj j]jjÅubj)�r }r (jUj}r (j]j]j]j]j]ujj j]r (j×)�r }r (jUj}r (j]j]j]j]j]ujj j]r (jÜ)�r }r (jUj}r (j]j]j]j]j]ujj j]r jX)�r }r (jX **Document**r jj j j¿jj\j}r (j]j]j]j]j]ujM!j]r j|)�r }r (jj j}r (j]j]j]j]j]ujj j]r j%XDocumentr! …�r" }r# (jUjj ubajj„ubaubajjéubjÜ)�r$ }r% (jUj}r& (j]j]j]j]j]ujj j]r' jX)�r( }r) (jX **Location**r* jj$ j j¿jj\j}r+ (j]j]j]j]j]ujM!j]r, j|)�r- }r. (jj* j}r/ (j]j]j]j]j]ujj( j]r0 j%XLocationr1 …�r2 }r3 (jUjj- ubajj„ubaubajjéubejjubj×)�r4 }r5 (jUj}r6 (j]j]j]j]j]ujj j]r7 (jÜ)�r8 }r9 (jUj}r: (j]j]j]j]j]ujj4 j]r; jX)�r< }r= (jXAPI Reference Manualr> jj8 j j¿jj\j}r? (j]j]j]j]j]ujM#j]r@ j%XAPI Reference ManualrA …�rB }rC (jj> jj< ubaubajjéubjÜ)�rD }rE (jUj}rF (j]j]j]j]j]ujj4 j]rG jX)�rH }rI (jXP$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\i2c\\docs\\doxygen\\html\\index. htmljjD j j¿jj\j}rJ (j]j]j]j]j]ujM#j]rK j%XH$(TI_PDK_INSTALL_DIR)\packages\ti \drv\i2c\docs\doxygen\html\index. htmlrL …�rM }rN (jXP$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\i2c\\docs\\doxygen\\html\\index. htmljjH ubaubajjéubejjubj×)�rO }rP (jUj}rQ (j]j]j]j]j]ujj j]rR (jÜ)�rS }rT (jUj}rU (j]j]j]j]j]ujjO j]rV jX)�rW }rX (jX Release NotesrY jjS j j¿jj\j}rZ (j]j]j]j]j]ujM'j]r[ j%X Release Notesr\ …�r] }r^ (jjY jjW ubaubajjéubjÜ)�r_ }r` (jUj}ra (j]j]j]j]j]ujjO j]rb jX)�rc }rd (jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\i2c\\docs\\ReleaseNotes_I2C_LL D.pdfjj_ j j¿jj\j}re (j]j]j]j]j]ujM'j]rf j%XI$(TI_PDK_INSTALL_DIR)\packages\ti \drv\i2c\docs\ReleaseNotes_I2C_LL D.pdfrg …�rh }ri (jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\i2c\\docs\\ReleaseNotes_I2C_LL D.pdfjjc ubaubajjéubejjubejjðubejjñubaubjÁ)�rj }rk (jUjjîj j¿jjÄj}rl (j]j]j]j]j]ujM,jhj]rm jÇ)�rn }ro (jUjÊKjjj j j¿jjj}rp (j]j]j]j]j]ujKjhj]ubaubeubeubj j¿jjj}rq (j]rr Xoverviewrs aj]j]j]rt Uid24ru aj]ujKjhj]rv (j)�rw }rx (jXOverviewry jj«j j¿jj"j}rz (j]j]j]j]j]ujKjhj]r{ j%XOverviewr| …�r} }r~ (jjy jjw ubaubj)�r }r€ (jUjKjj«j j¿jjj}r� (j]r‚ X introductionrƒ aj]j]j]r„ Uid25r… aj]ujKjhj]r† (j)�r‡ }rˆ (jX Introductionr‰ jj j j¿jj"j}rŠ (j]j]j]j]j]ujKjhj]r‹ j%X IntroductionrŒ …�r� }rŽ (jj‰ jj‡ ubaubjX)�r� }r� (jX'I2C module provides an interface to any I2C-bus-compatible device accessible via I2C serial bus. External components attached to I2C bus can serially transmit/receive data to/from the CPU through two-wire interface. Driver supports three types of transfers in both I2C master mode and slave moder‘ jj j j¿jj\j}r’ (j]j]j]j]j]ujK jhj]r“ j%X'I2C module provides an interface to any I2C-bus-compatible device accessible via I2C serial bus. External components attached to I2C bus can serially transmit/receive data to/from the CPU through two-wire interface. Driver supports three types of transfers in both I2C master mode and slave moder” …�r• }r– (jj‘ jj� ubaubj)�r— }r˜ (jUjj j j¿jjj}r™ (jX-j]j]j]j]j]ujKjhj]rš (j)�r› }rœ (jXReadr� jj— j j¿jj j}rž (j]j]j]j]j]ujNjhj]rŸ jX)�r  }r¡ (jj� jj› j j¿jj\j}r¢ (j]j]j]j]j]ujKj]r£ j%XReadr¤ …�r¥ }r¦ (jj� jj  ubaubaubj)�r§ }r¨ (jXWriter© jj— j j¿jj j}rª (j]j]j]j]j]ujNjhj]r« jX)�r¬ }r­ (jj© jj§ j j¿jj\j}r® (j]j]j]j]j]ujKj]r¯ j%XWriter° …�r± }r² (jj© jj¬ ubaubaubj)�r³ }r´ (jXWrite followed by read jj— j j¿jj j}rµ (j]j]j]j]j]ujNjhj]r¶ jX)�r· }r¸ (jXWrite followed by readr¹ jj³ j j¿jj\j}rº (j]j]j]j]j]ujKj]r» j%XWrite followed by readr¼ …�r½ }r¾ (jj¹ jj· ubaubaubeubjX)�r¿ }rÀ (jX9In addition driver supports following modes of operation:rÁ jj j j¿jj\j}r (j]j]j]j]j]ujKjhj]rà j%X9In addition driver supports following modes of operation:rÄ …�rÅ }rÆ (jjÁ jj¿ ubaubj)�rÇ }rÈ (jUjj j j¿jjj}rÉ (jX-j]j]j]j]j]ujKjhj]rÊ (j)�rË }rÌ (jX**I2C_MODE_BLOCKING:** By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.jjÇ j j¿jj j}rÍ (j]j]j]j]j]ujNjhj]rÎ jX)�rÏ }rÐ (jX**I2C_MODE_BLOCKING:** By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.jjË j j¿jj\j}rÑ (j]j]j]j]j]ujKj]rÒ (j|)�rÓ }rÔ (jX**I2C_MODE_BLOCKING:**j}rÕ (j]j]j]j]j]ujjÏ j]rÖ j%XI2C_MODE_BLOCKING:r× …�rØ }rÙ (jUjjÓ ubajj„ubj%X By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.rÚ …�rÛ }rÜ (jX By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.jjÏ ubeubaubj)�rÝ }rÞ (jX**I2C_MODE_CALLBACK** In callback mode, an I2C transaction functions asynchronously, which means that it does not block a Task’s code execution. After an I2C transaction is complete, I2C driver calls a user-provided hook function. Only interrupt based callback is supported. jjÇ j j¿jj j}rß (j]j]j]j]j]ujNjhj]rà jX)�rá }râ (jX**I2C_MODE_CALLBACK** In callback mode, an I2C transaction functions asynchronously, which means that it does not block a Task’s code execution. After an I2C transaction is complete, I2C driver calls a user-provided hook function. Only interrupt based callback is supported.jjÝ j j¿jj\j}rã (j]j]j]j]j]ujKj]rä (j|)�rå }ræ (jX**I2C_MODE_CALLBACK**j}rç (j]j]j]j]j]ujjá j]rè j%XI2C_MODE_CALLBACKré …�rê }rë (jUjjå ubajj„ubj%Xÿ In callback mode, an I2C transaction functions asynchronously, which means that it does not block a Task’s code execution. After an I2C transaction is complete, I2C driver calls a user-provided hook function. Only interrupt based callback is supported.rì …�rí }rî (jXÿ In callback mode, an I2C transaction functions asynchronously, which means that it does not block a Task’s code execution. After an I2C transaction is complete, I2C driver calls a user-provided hook function. Only interrupt based callback is supported.jjá ubeubaubeubj\)�rï }rð (jXbIf I2C peripheral is in reset during a transfer, it can cause the I2C bus to hang. I2C V0 IP (Keystone SoCs) does not have hardware support to recover the I2C bus from hanging, user needs to power cycle the board as a workaround. For I2C V1 IP (AM3/4/5 SoCs), the application can call I2C_control() API and use I2C_CMD_RECOVER_BUS to recover the I2C bus.jj j j¿jj_j}rñ (j]j]j]j]j]ujNjhj]rò jX)�ró }rô (jXbIf I2C peripheral is in reset during a transfer, it can cause the I2C bus to hang. I2C V0 IP (Keystone SoCs) does not have hardware support to recover the I2C bus from hanging, user needs to power cycle the board as a workaround. For I2C V1 IP (AM3/4/5 SoCs), the application can call I2C_control() API and use I2C_CMD_RECOVER_BUS to recover the I2C bus.rõ jjï j j¿jj\j}rö (j]j]j]j]j]ujK"j]r÷ j%XbIf I2C peripheral is in reset during a transfer, it can cause the I2C bus to hang. I2C V0 IP (Keystone SoCs) does not have hardware support to recover the I2C bus from hanging, user needs to power cycle the board as a workaround. For I2C V1 IP (AM3/4/5 SoCs), the application can call I2C_control() API and use I2C_CMD_RECOVER_BUS to recover the I2C bus.rø …�rù }rú (jjõ jjó ubaubaubjb)�rû }rü (jXFirmwarerý jKjj j j¿jjfj}rþ (j]rÿ Ufirmwarer!aj]j]r!Xfirmwarer!aj]j]ujNjhj]r!j%XFirmwarer!…�r!}r!(jjý jjû ubaubjX)�r!}r!(jXTI PRU-ICSS cores (Programmable Real-Time Unit Industrial Communication Subsystem) is firmware programmable and can take on various personalities. Processor SDK package includes I2C Firmware support. Refer `I2C FW `__ for additional details.jj j j¿jj\j}r !(j]j]j]j]j]ujK,jhj]r !(j%XÎTI PRU-ICSS cores (Programmable Real-Time Unit Industrial Communication Subsystem) is firmware programmable and can take on various personalities. Processor SDK package includes I2C Firmware support. Refer r !…�r !}r !(jXÎTI PRU-ICSS cores (Programmable Real-Time Unit Industrial Communication Subsystem) is firmware programmable and can take on various personalities. Processor SDK package includes I2C Firmware support. Refer jj!ubj)�r!}r!(jX0`I2C FW `__j}r!(UnameXI2C FWjX#index_pru_icss_fw.html#pru-icss-i2cj]j]j]j]j]ujj!j]r!j%XI2C FWr!…�r!}r!(jUjj!ubajjubj%X for additional details.r!…�r!}r!(jX for additional details.jj!ubeubjÁ)�r!}r!(jUjj j j¿jjÄj}r!(j]j]j]j]j]ujK2jhj]r!jÇ)�r!}r!(jUjÊKjj!j j¿jjj}r!(j]j]j]j]j]ujKjhj]ubaubeubeubj j¿jj?j}r!(j]UlevelKj]j]r !ju aUsourcej¿j]j]UlineKUtypejAujKjhj]r!!jX)�r"!}r#!(jX+Duplicate implicit target name: "overview".j}r$!(j]j]j]j]j]ujj©j]r%!j%X+Duplicate implicit target name: "overview".r&!…�r'!}r(!(jUjj"!ubajj\ubaubhÿ)�r)!}r*!(jUjj j j¿jj?j}r+!(j]UlevelKj]j]r,!j… aUsourcej¿j]j]UlineKUtypejAujKjhj]r-!jX)�r.!}r/!(jX/Duplicate implicit target name: "introduction".j}r0!(j]j]j]j]j]ujj)!j]r1!j%X/Duplicate implicit target name: "introduction".r2!…�r3!}r4!(jUjj.!ubajj\ubaubhÿ)�r5!}r6!(jUjjÆj j¿jj?j}r7!(j]UlevelKj]j]r8!jÌaUsourcej¿j]j]UlineK5UtypejAujK5jhj]r9!jX)�r:!}r;!(jX1Duplicate implicit target name: "user interface".j}r!…�r?!}r@!(jUjj:!ubajj\ubaubhÿ)�rA!}rB!(jUjjÖj j¿jj?j}rC!(j]UlevelKj]j]rD!jÜaUsourcej¿j]j]UlineK8UtypejAujK8jhj]rE!jX)�rF!}rG!(jX7Duplicate implicit target name: "driver configuration".j}rH!(j]j]j]j]j]ujjA!j]rI!j%X7Duplicate implicit target name: "driver configuration".rJ!…�rK!}rL!(jUjjF!ubajj\ubaubhÿ)�rM!}rN!(jUj}rO!(j]UlevelKj]j]rP!jëaUsourcej j]j]UlineK!UtypejXujjæj]rQ!jX)�rR!}rS!(jX?Duplicate explicit target name: "board-specific-configuration".j}rT!(j]j]j]j]j]ujjM!j]rU!j%X?Duplicate explicit target name: "board-specific-configuration".rV!…�rW!}rX!(jUjjR!ubajj\ubajj?ubhÿ)�rY!}rZ!(jUjj%j j¿jj?j}r[!(j]UlevelKj]j]r\!j+aUsourcej¿j]j]UlineKRUtypejAujKRjhj]r]!jX)�r^!}r_!(jX'Duplicate implicit target name: "apis".j}r`!(j]j]j]j]j]ujjY!j]ra!j%X'Duplicate implicit target name: "apis".rb!…�rc!}rd!(jUjj^!ubajj\ubaubhÿ)�re!}rf!(jUjjSj j¿jj?j}rg!(j]UlevelKj]j]rh!jYaUsourcej¿j]j]UlineKuUtypejAujKujhj]ri!jX)�rj!}rk!(jX.Duplicate implicit target name: "application".j}rl!(j]j]j]j]j]ujje!j]rm!j%X.Duplicate implicit target name: "application".rn!…�ro!}rp!(jUjjj!ubajj\ubaubhÿ)�rq!}rr!(jUjjcj j¿jj?j}rs!(j]UlevelKj]j]rt!jiaUsourcej¿j]j]UlineKxUtypejAujKxjhj]ru!jX)�rv!}rw!(jX+Duplicate implicit target name: "examples".j}rx!(j]j]j]j]j]ujjq!j]ry!j%X+Duplicate implicit target name: "examples".rz!…�r{!}r|!(jUjjv!ubajj\ubaubhÿ)�r}!}r~!(jUjj§j j¿jj?j}r!(j]UlevelKj]j]Usourcej¿j]j]UlineMUtypejXujMjhj]r€!jX)�r�!}r‚!(jX;Bullet list ends without a blank line; unexpected unindent.j}rƒ!(j]j]j]j]j]ujj}!j]r„!j%X;Bullet list ends without a blank line; unexpected unindent.r…!…�r†!}r‡!(jUjj�!ubajj\ubaubhÿ)�rˆ!}r‰!(jUjj§j j¿jj?j}rŠ!(j]UlevelKj]j]Usourcej¿j]j]UlineMUtypejXujMjhj]r‹!jX)�rŒ!}r�!(jX;Bullet list ends without a blank line; unexpected unindent.j}rŽ!(j]j]j]j]j]ujjˆ!j]r�!j%X;Bullet list ends without a blank line; unexpected unindent.r�!…�r‘!}r’!(jUjjŒ!ubajj\ubaubhÿ)�r“!}r”!(jUjjîj j¿jj?j}r•!(j]UlevelKj]j]r–!jôaUsourcej¿j]j]UlineMUtypejAujMjhj]r—!jX)�r˜!}r™!(jX8Duplicate implicit target name: "additional references".j}rš!(j]j]j]j]j]ujj“!j]r›!j%X8Duplicate implicit target name: "additional references".rœ!…�r�!}rž!(jUjj˜!ubajj\ubaubhÿ)�rŸ!}r !(jUjj)�r¡!}r¢!(jUjKjj)�r£!}r¤!(jUjhj j jjj}r¥!(j]j]j]j]r¦!U serdes-diagr§!aj]r¨!h.aujK'jhj]r©!(j)�rª!}r«!(jX Serdes Diagr¬!jj£!j j jj"j}r­!(j]j]j]j]j]ujK'jhj]r®!j%X Serdes Diagr¯!…�r°!}r±!(jj¬!jjª!ubaubj¡!j)�r²!}r³!(jUjKjj£!j j,XDsource/rtos/PDK_Platform_Software/Device_Drivers/Serdes_Diag.rst.incr´!…�rµ!}r¶!bjjj}r·!(j]r¸!Xuser interfacer¹!aj]j]j]rº!Uid35r»!aj]ujK jhj]r¼!(j)�r½!}r¾!(jXUser Interfacer¿!jj²!j jµ!jj"j}rÀ!(j]j]j]j]j]ujK jhj]rÁ!j%XUser InterfacerÂ!…�rÃ!}rÄ!(jj¿!jj½!ubaubj)�rÅ!}rÆ!(jUjKjj²!j jµ!jjj}rÇ!(j]rÈ!Xdriver configurationrÉ!aj]j]j]rÊ!Uid36rË!aj]ujK#jhj]rÌ!(j)�rÍ!}rÎ!(jXDriver ConfigurationrÏ!jjÅ!j jµ!jj"j}rÐ!(j]j]j]j]j]ujK#jhj]rÑ!j%XDriver ConfigurationrÒ!…�rÓ!}rÔ!(jjÏ!jjÍ!ubaubjb)�rÕ!}rÖ!(jX'**Serdes Diag Configuration Structure**r×!jjÅ!j jµ!jjfj}rØ!(j]rÙ!U#serdes-diag-configuration-structurerÚ!aj]j]j]j]rÛ!höaujNjhj]rÜ!j|)�rÝ!}rÞ!(jj×!j}rß!(j]j]j]j]j]ujjÕ!j]rà!j%X#Serdes Diag Configuration Structurerá!…�râ!}rã!(jUjjÝ!ubajj„ubaubjX)�rä!}rå!(jX serdes_diag_test_main.c contains the main function. It initializes all the serdes peripherals using the serdes_diag_test_init( ) API. The serdes_diag_test_phy_type should be specified in serdes_diag_platform.h in order to run the BER/EYE test for that specific SERDES.ræ!jjÅ!j jµ!jj\j}rç!(j]j]j]j]j]ujK(jhj]rè!j%X serdes_diag_test_main.c contains the main function. It initializes all the serdes peripherals using the serdes_diag_test_init( ) API. The serdes_diag_test_phy_type should be specified in serdes_diag_platform.h in order to run the BER/EYE test for that specific SERDES.ré!…�rê!}rë!(jjæ!jjä!ubaubeubj)�rì!}rí!(jUjKjj²!j jµ!jjj}rî!(j]rï!Xapisrð!aj]j]j]rñ!Uid37rò!aj]ujK.jhj]ró!(j)�rô!}rõ!(jXAPIsrö!jjì!j jµ!jj"j}r÷!(j]j]j]j]j]ujK.jhj]rø!j%XAPIsrù!…�rú!}rû!(jjö!jjô!ubaubjX)�rü!}rý!(jXAPI reference for application:rþ!jjì!j jµ!jj\j}rÿ!(j]j]j]j]j]ujK0jhj]r"j%XAPI reference for application:r"…�r"}r"(jjþ!jjü!ubaubj#)�r"}r"(jX:#include jjì!j jµ!jj&j}r"(j2j3j]j]j]j]j]ujMçjhj]r"j%X:#include r"…�r "}r "(jUjj"ubaubjX)�r "}r "(jX6 Sample code for initiating Serdes Diag transaction:r "jjì!j jµ!jj\j}r"(j]j]j]j]j]ujK6jhj]r"j%X6 Sample code for initiating Serdes Diag transaction:r"…�r"}r"(jj "jj "ubaubj#)�r"}r"(jX8... /* Initiatize the serdes using serdes_diag_platform.h */ serdes_diag_test_init(); ... /* BER Test Initialization Parameters can be edited inside this API */ Serdes_Example_BERTest(); OR /* On Die Scope/Eye Scan Test Initialization Parameters can be edited inside this API */ Serdes_Example_EYETest(); ... ...jjì!j jµ!jj&j}r"(j2j3j]j]j]j]j]ujMíjhj]r"j%X8... /* Initiatize the serdes using serdes_diag_platform.h */ serdes_diag_test_init(); ... /* BER Test Initialization Parameters can be edited inside this API */ Serdes_Example_BERTest(); OR /* On Die Scope/Eye Scan Test Initialization Parameters can be edited inside this API */ Serdes_Example_EYETest(); ... ...r"…�r"}r"(jUjj"ubaubeubeubj)�r"}r"(jUjKjj£!j jµ!jjj}r"(j]r"X applicationr"aj]j]j]r"Uid38r "aj]ujKLjhj]r!"(j)�r""}r#"(jX Applicationr$"jj"j jµ!jj"j}r%"(j]j]j]j]j]ujKLjhj]r&"j%X Applicationr'"…�r("}r)"(jj$"jj""ubaubj)�r*"}r+"(jUjKjj"j jµ!jjj}r,"(j]r-"Xexamplesr."aj]j]j]r/"Uid39r0"aj]ujKOjhj]r1"(j)�r2"}r3"(jXExamplesr4"jj*"j jµ!jj"j}r5"(j]j]j]j]j]ujKOjhj]r6"j%XExamplesr7"…�r8"}r9"(jj4"jj2"ubaubjX)�r:"}r;"(jX@Refer Release Note for Serdes Diag support across different EVMsr<"jj*"j jµ!jj\j}r="(j]j]j]j]j]ujKQjhj]r>"j%X@Refer Release Note for Serdes Diag support across different EVMsr?"…�r@"}rA"(jj<"jj:"ubaubj¶)�rB"}rC"(jUjj*"j jµ!jj¹j}rD"(j]j]j]j]j]ujNjhj]rE"j¼)�rF"}rG"(jUj}rH"(j]j]j]j]j]UcolsKujjB"j]rI"(jÁ)�rJ"}rK"(jUj}rL"(j]j]j]j]j]UcolwidthKujjF"j]jjÅubjÁ)�rM"}rN"(jUj}rO"(j]j]j]j]j]UcolwidthKujjF"j]jjÅubjÁ)�rP"}rQ"(jUj}rR"(j]j]j]j]j]UcolwidthKujjF"j]jjÅubjÁ)�rS"}rT"(jUj}rU"(j]j]j]j]j]UcolwidthKujjF"j]jjÅubjÁ)�rV"}rW"(jUj}rX"(j]j]j]j]j]UcolwidthKujjF"j]jjÅubjÒ)�rY"}rZ"(jUj}r["(j]j]j]j]j]ujjF"j]r\"j×)�r]"}r^"(jUj}r_"(j]j]j]j]j]ujjY"j]r`"(jÜ)�ra"}rb"(jUj}rc"(j]j]j]j]j]ujj]"j]rd"jÁ)�re"}rf"(jUj}rg"(j]j]j]j]j]ujja"j]rh"jÇ)�ri"}rj"(jXNamerk"jÊKjje"j jµ!jjj}rl"(j]j]j]j]j]ujKj]rm"j%XNamern"…�ro"}rp"(jjk"jji"ubaubajjÄubajjéubjÜ)�rq"}rr"(jUj}rs"(j]j]j]j]j]ujj]"j]rt"jÁ)�ru"}rv"(jUj}rw"(j]j]j]j]j]ujjq"j]rx"jÇ)�ry"}rz"(jX Descriptionr{"jÊKjju"j jµ!jjj}r|"(j]j]j]j]j]ujKj]r}"j%X Descriptionr~"…�r"}r€"(jj{"jjy"ubaubajjÄubajjéubjÜ)�r�"}r‚"(jUj}rƒ"(j]j]j]j]j]ujj]"j]r„"jÁ)�r…"}r†"(jUj}r‡"(j]j]j]j]j]ujj�"j]rˆ"jÇ)�r‰"}rŠ"(jXExpected Resultsr‹"jÊKjj…"j jµ!jjj}rŒ"(j]j]j]j]j]ujKj]r�"j%XExpected ResultsrŽ"…�r�"}r�"(jj‹"jj‰"ubaubajjÄubajjéubjÜ)�r‘"}r’"(jUj}r“"(j]j]j]j]j]ujj]"j]r”"jX)�r•"}r–"(jX SoC Supportedr—"jj‘"j jµ!jj\j}r˜"(j]j]j]j]j]ujKTj]r™"j%X SoC Supportedrš"…�r›"}rœ"(jj—"jj•"ubaubajjéubjÜ)�r�"}rž"(jUj}rŸ"(j]j]j]j]j]ujj]"j]r "jX)�r¡"}r¢"(jX Build Typer£"jj�"j jµ!jj\j}r¤"(j]j]j]j]j]ujKTj]r¥"j%X Build Typer¦"…�r§"}r¨"(jj£"jj¡"ubaubajjéubejjubajjubj)�r©"}rª"(jUj}r«"(j]j]j]j]j]ujjF"j]r¬"(j×)�r­"}r®"(jUj}r¯"(j]j]j]j]j]ujj©"j]r°"(jÜ)�r±"}r²"(jUj}r³"(j]j]j]j]j]ujj­"j]r´"jX)�rµ"}r¶"(jXserdes_diag_BER_appr·"jj±"j jµ!jj\j}r¸"(j]j]j]j]j]ujKVj]r¹"j%Xserdes_diag_BER_apprº"…�r»"}r¼"(jj·"jjµ"ubaubajjéubjÜ)�r½"}r¾"(jUj}r¿"(j]j]j]j]j]ujj­"j]rÀ"jÁ)�rÁ"}rÂ"(jUj}rÃ"(j]j]j]j]j]ujj½"j]rÄ"jÇ)�rÅ"}rÆ"(jX BER examplerÇ"jÊKjjÁ"j jµ!jjj}rÈ"(j]j]j]j]j]ujKj]rÉ"j%X BER examplerÊ"…�rË"}rÌ"(jjÇ"jjÅ"ubaubajjÄubajjéubjÜ)�rÍ"}rÎ"(jUj}rÏ"(j]j]j]j]j]ujj­"j]rÐ"jÁ)�rÑ"}rÒ"(jUj}rÓ"(j]j]j]j]j]ujjÍ"j]rÔ"(jÇ)�rÕ"}rÖ"(jXBFollowing prints will come on console based on pass/fail criteria:r×"jÊKjjÑ"j jµ!jjj}rØ"(j]j]j]j]j]ujKj]rÙ"j%XBFollowing prints will come on console based on pass/fail criteria:rÚ"…�rÛ"}rÜ"(jj×"jjÕ"ubaubjÇ)�rÝ"}rÞ"(jUjÊKjjÑ"j jµ!jjj}rß"(j]j]j]j]j]ujKj]ubjÇ)�rà"}rá"(jX**Pass criteria:**râ"jÊKjjÑ"j jµ!jjj}rã"(j]j]j]j]j]ujKj]rä"j|)�rå"}ræ"(jjâ"j}rç"(j]j]j]j]j]ujjà"j]rè"j%XPass criteria:ré"…�rê"}rë"(jUjjå"ubajj„ubaubjÇ)�rì"}rí"(jUjÊKjjÑ"j jµ!jjj}rî"(j]j]j]j]j]ujKj]ubjÇ)�rï"}rð"(jX.The sweep results are printed into a text filerñ"jÊKjjÑ"j jµ!jjj}rò"(j]j]j]j]j]ujKj]ró"j%X.The sweep results are printed into a text filerô"…�rõ"}rö"(jjñ"jjï"ubaubejjÄubajjéubjÜ)�r÷"}rø"(jUj}rù"(j]j]j]j]j]ujj­"j]rú"jX)�rû"}rü"(jXam65xxrý"jj÷"j jµ!jj\j}rþ"(j]j]j]j]j]ujKVj]rÿ"j%Xam65xxr#…�r#}r#(jjý"jjû"ubaubajjéubjÜ)�r#}r#(jUj}r#(j]j]j]j]j]ujj­"j]r#jX)�r#}r#(jXmakefiler #jj#j jµ!jj\j}r #(j]j]j]j]j]ujKVj]r #j%Xmakefiler #…�r #}r#(jj #jj#ubaubajjéubejjubj×)�r#}r#(jUj}r#(j]j]j]j]j]ujj©"j]r#(jÜ)�r#}r#(jUj}r#(j]j]j]j]j]ujj#j]r#jX)�r#}r#(jXserdes_diag_EYE_appr#jj#j jµ!jj\j}r#(j]j]j]j]j]ujKaj]r#j%Xserdes_diag_EYE_appr#…�r#}r#(jj#jj#ubaubajjéubjÜ)�r#}r #(jUj}r!#(j]j]j]j]j]ujj#j]r"#jÁ)�r##}r$#(jUj}r%#(j]j]j]j]j]ujj#j]r&#jÇ)�r'#}r(#(jX EYE exampler)#jÊKjj##j jµ!jjj}r*#(j]j]j]j]j]ujKj]r+#j%X EYE exampler,#…�r-#}r.#(jj)#jj'#ubaubajjÄubajjéubjÜ)�r/#}r0#(jUj}r1#(j]j]j]j]j]ujj#j]r2#jÁ)�r3#}r4#(jUj}r5#(j]j]j]j]j]ujj/#j]r6#(jÇ)�r7#}r8#(jXBFollowing prints will come on console based on pass/fail criteria:r9#jÊKjj3#j jµ!jjj}r:#(j]j]j]j]j]ujKj]r;#j%XBFollowing prints will come on console based on pass/fail criteria:r<#…�r=#}r>#(jj9#jj7#ubaubjÇ)�r?#}r@#(jUjÊKjj3#j jµ!jjj}rA#(j]j]j]j]j]ujKj]ubjÇ)�rB#}rC#(jX**Pass criteria:**rD#jÊKjj3#j jµ!jjj}rE#(j]j]j]j]j]ujKj]rF#j|)�rG#}rH#(jjD#j}rI#(j]j]j]j]j]ujjB#j]rJ#j%XPass criteria:rK#…�rL#}rM#(jUjjG#ubajj„ubaubjÇ)�rN#}rO#(jUjÊKjj3#j jµ!jjj}rP#(j]j]j]j]j]ujKj]ubjÇ)�rQ#}rR#(jXI2C Test: 100Kbps: PASSrS#jÊKjj3#j jµ!jjj}rT#(j]j]j]j]j]ujKj]rU#j%XI2C Test: 100Kbps: PASSrV#…�rW#}rX#(jjS#jjQ#ubaubjÇ)�rY#}rZ#(jUjÊKjj3#j jµ!jjj}r[#(j]j]j]j]j]ujKj]ubjÇ)�r\#}r]#(jXI2C Test: 400Kbps: PASSr^#jÊKjj3#j jµ!jjj}r_#(j]j]j]j]j]ujKj]r`#j%XI2C Test: 400Kbps: PASSra#…�rb#}rc#(jj^#jj\#ubaubjÇ)�rd#}re#(jUjÊKjj3#j jµ!jjj}rf#(j]j]j]j]j]ujKj]ubjÇ)�rg#}rh#(jXI2C Test: timeout test passedri#jÊKjj3#j jµ!jjj}rj#(j]j]j]j]j]ujKj]rk#j%XI2C Test: timeout test passedrl#…�rm#}rn#(jji#jjg#ubaubjÇ)�ro#}rp#(jUjÊKjj3#j jµ!jjj}rq#(j]j]j]j]j]ujKj]ubjÇ)�rr#}rs#(jXAll tests have passed.rt#jÊKjj3#j jµ!jjj}ru#(j]j]j]j]j]ujKj]rv#j%XAll tests have passed.rw#…�rx#}ry#(jjt#jjr#ubaubejjÄubajjéubjÜ)�rz#}r{#(jUj}r|#(j]j]j]j]j]ujj#j]r}#jX)�r~#}r#(jXam65xxr€#jjz#j jµ!jj\j}r�#(j]j]j]j]j]ujKaj]r‚#j%Xam65xxrƒ#…�r„#}r…#(jj€#jj~#ubaubajjéubjÜ)�r†#}r‡#(jUj}rˆ#(j]j]j]j]j]ujj#j]r‰#jX)�rŠ#}r‹#(jXmakefilerŒ#jj†#j jµ!jj\j}r�#(j]j]j]j]j]ujKaj]rŽ#j%Xmakefiler�#…�r�#}r‘#(jjŒ#jjŠ#ubaubajjéubejjubejjðubejjñubaubj\)�r’#}r“#(jXACurrently only R5F platform is supported with the above examples.r”#jj*"j jµ!jj_j}r•#(j]j]j]j]j]ujNjhj]r–#jX)�r—#}r˜#(jj”#jj’#j jµ!jj\j}r™#(j]j]j]j]j]ujKwj]rš#j%XACurrently only R5F platform is supported with the above examples.r›#…�rœ#}r�#(jj”#jj—#ubaubaubeubeubj)�rž#}rŸ#(jUjj£!j jµ!jjj}r #(j]j]j]j]r¡#Ubuilding-serdes-diag-examplesr¢#aj]r£#hGaujKzjhj]r¤#(j)�r¥#}r¦#(jXBuilding Serdes Diag examplesr§#jjž#j jµ!jj"j}r¨#(j]j]j]j]j]ujKzjhj]r©#j%XBuilding Serdes Diag examplesrª#…�r«#}r¬#(jj§#jj¥#ubaubj)�r­#}r®#(jUjjž#j jµ!jjj}r¯#(jX-j]j]j]j]j]ujK|jhj]r°#j)�r±#}r²#(jXTMakefile based examples and dependent libraries can be built from the top level or module level Serdes Diag makefile, refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r³#jj­#j jµ!jj j}r´#(j]j]j]j]j]ujNjhj]rµ#jX)�r¶#}r·#(jj³#jj±#j jµ!jj\j}r¸#(j]j]j]j]j]ujK|j]r¹#(j%XƒMakefile based examples and dependent libraries can be built from the top level or module level Serdes Diag makefile, refer to the rº#…�r»#}r¼#(jXƒMakefile based examples and dependent libraries can be built from the top level or module level Serdes Diag makefile, refer to the jj¶#ubj)�r½#}r¾#(jXT`Processor SDK RTOS Getting Started Guide `__j}r¿#(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj¶#j]rÀ#j%X(Processor SDK RTOS Getting Started GuiderÁ#…�rÂ#}rÃ#(jUjj½#ubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:rÄ#…�rÅ#}rÆ#(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj¶#ubeubaubaubj#)�rÇ#}rÈ#(jXãTo build and clean libs/apps from top-level makefile: cd /packages make serdes_diag make serdes_diag_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/diag/serdes_diag make all make cleanjjž#j jµ!jj&j}rÉ#(j2j3j]j]j]j]j]ujM2jhj]rÊ#j%XãTo build and clean libs/apps from top-level makefile: cd /packages make serdes_diag make serdes_diag_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/diag/serdes_diag make all make cleanrË#…�rÌ#}rÍ#(jUjjÇ#ubaubj)�rÎ#}rÏ#(jUjjž#j jµ!jjj}rÐ#(jX-j]j]j]j]j]ujKŠjhj]rÑ#j)�rÒ#}rÓ#(jX-CCS project based examples are built from CCSrÔ#jjÎ#j jµ!jj j}rÕ#(j]j]j]j]j]ujNjhj]rÖ#jX)�r×#}rØ#(jjÔ#jjÒ#j jµ!jj\j}rÙ#(j]j]j]j]j]ujKŠj]rÚ#j%X-CCS project based examples are built from CCSrÛ#…�rÜ#}rÝ#(jjÔ#jj×#ubaubaubaubj#)�rÞ#}rß#(jXÀcd /packages ./pdkProjectCreate.sh [soc] [board] [endian] serdes_diag [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/jjž#j jµ!jj&j}rà#(j2j3j]j]j]j]j]ujM@jhj]rá#j%XÀcd /packages ./pdkProjectCreate.sh [soc] [board] [endian] serdes_diag [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/râ#…�rã#}rä#(jUjjÞ#ubaubeubj)�rå#}ræ#(jUjKjj£!j jµ!jjj}rç#(j]rè#Xadditional referencesré#aj]j]j]rê#Uid40rë#aj]ujK“jhj]rì#(j)�rí#}rî#(jXAdditional Referencesrï#jjå#j jµ!jj"j}rð#(j]j]j]j]j]ujK“jhj]rñ#j%XAdditional Referencesrò#…�ró#}rô#(jjï#jjí#ubaubj¶)�rõ#}rö#(jUjjå#j jµ!jj¹j}r÷#(j]j]j]j]j]ujNjhj]rø#j¼)�rù#}rú#(jUj}rû#(j]j]j]j]j]UcolsKujjõ#j]rü#(jÁ)�rý#}rþ#(jUj}rÿ#(j]j]j]j]j]UcolwidthKujjù#j]jjÅubjÁ)�r$}r$(jUj}r$(j]j]j]j]j]UcolwidthK*ujjù#j]jjÅubj)�r$}r$(jUj}r$(j]j]j]j]j]ujjù#j]r$(j×)�r$}r$(jUj}r $(j]j]j]j]j]ujj$j]r $(jÜ)�r $}r $(jUj}r $(j]j]j]j]j]ujj$j]r$jX)�r$}r$(jX **Document**r$jj $j jµ!jj\j}r$(j]j]j]j]j]ujK–j]r$j|)�r$}r$(jj$j}r$(j]j]j]j]j]ujj$j]r$j%XDocumentr$…�r$}r$(jUjj$ubajj„ubaubajjéubjÜ)�r$}r$(jUj}r$(j]j]j]j]j]ujj$j]r$jX)�r$}r $(jX **Location**r!$jj$j jµ!jj\j}r"$(j]j]j]j]j]ujK–j]r#$j|)�r$$}r%$(jj!$j}r&$(j]j]j]j]j]ujj$j]r'$j%XLocationr($…�r)$}r*$(jUjj$$ubajj„ubaubajjéubejjubj×)�r+$}r,$(jUj}r-$(j]j]j]j]j]ujj$j]r.$(jÜ)�r/$}r0$(jUj}r1$(j]j]j]j]j]ujj+$j]r2$jX)�r3$}r4$(jXAPI Reference Manualr5$jj/$j jµ!jj\j}r6$(j]j]j]j]j]ujK˜j]r7$j%XAPI Reference Manualr8$…�r9$}r:$(jj5$jj3$ubaubajjéubjÜ)�r;$}r<$(jUj}r=$(j]j]j]j]j]ujj+$j]r>$jX)�r?$}r@$(jXY$(TI_PDK_INSTALL_DIR)\\packages\\ti \\diag\\serdes_diag\\docs\\doxygen\\html \\index.htmljj;$j jµ!jj\j}rA$(j]j]j]j]j]ujK˜j]rB$j%XQ$(TI_PDK_INSTALL_DIR)\packages\ti \diag\serdes_diag\docs\doxygen\html \index.htmlrC$…�rD$}rE$(jXY$(TI_PDK_INSTALL_DIR)\\packages\\ti \\diag\\serdes_diag\\docs\\doxygen\\html \\index.htmljj?$ubaubajjéubejjubj×)�rF$}rG$(jUj}rH$(j]j]j]j]j]ujj$j]rI$(jÜ)�rJ$}rK$(jUj}rL$(j]j]j]j]j]ujjF$j]rM$jX)�rN$}rO$(jX Release NotesrP$jjJ$j jµ!jj\j}rQ$(j]j]j]j]j]ujKœj]rR$j%X Release NotesrS$…�rT$}rU$(jjP$jjN$ubaubajjéubjÜ)�rV$}rW$(jUj}rX$(j]j]j]j]j]ujjF$j]rY$jX)�rZ$}r[$(jX]$(TI_PDK_INSTALL_DIR)\\packages\\ti \\diag\\serdes_diag\\docs\\Serdes_Diag_ Release_Notes.pdfjjV$j jµ!jj\j}r\$(j]j]j]j]j]ujKœj]r]$j%XW$(TI_PDK_INSTALL_DIR)\packages\ti \diag\serdes_diag\docs\Serdes_Diag_ Release_Notes.pdfr^$…�r_$}r`$(jX]$(TI_PDK_INSTALL_DIR)\\packages\\ti \\diag\\serdes_diag\\docs\\Serdes_Diag_ Release_Notes.pdfjjZ$ubaubajjéubejjubejjðubejjñubaubjÁ)�ra$}rb$(jUjjå#j jµ!jjÄj}rc$(j]j]j]j]j]ujK¡jhj]rd$jÇ)�re$}rf$(jUjÊKjja$j jµ!jjj}rg$(j]j]j]j]j]ujKjhj]ubaubeubeubj jµ!jjj}rh$(j]ri$Xoverviewrj$aj]j]j]rk$Uid33rl$aj]ujKjhj]rm$(j)�rn$}ro$(jXOverviewrp$jj¡!j jµ!jj"j}rq$(j]j]j]j]j]ujKjhj]rr$j%XOverviewrs$…�rt$}ru$(jjp$jjn$ubaubj)�rv$}rw$(jUjKjj¡!j jµ!jjj}rx$(j]ry$X introductionrz$aj]j]j]r{$Uid34r|$aj]ujKjhj]r}$(j)�r~$}r$(jX Introductionr€$jjv$j jµ!jj"j}r�$(j]j]j]j]j]ujKjhj]r‚$j%X Introductionrƒ$…�r„$}r…$(jj€$jj~$ubaubjX)�r†$}r‡$(jX¶This tool demonstrates how to configure and use the Serdes Diag APIs on KeyStone 3 device family. The DIAG APIs currently support R5F arch. There are 2 tests included in the package:rˆ$jjv$j jµ!jj\j}r‰$(j]j]j]j]j]ujKjhj]rŠ$j%X¶This tool demonstrates how to configure and use the Serdes Diag APIs on KeyStone 3 device family. The DIAG APIs currently support R5F arch. There are 2 tests included in the package:r‹$…�rŒ$}r�$(jjˆ$jj†$ubaubj)�rŽ$}r�$(jUjjv$j jµ!jjj}r�$(jX-j]j]j]j]j]ujK jhj]r‘$(j)�r’$}r“$(jXSerdes Diag BER Testr”$jjŽ$j jµ!jj j}r•$(j]j]j]j]j]ujNjhj]r–$jX)�r—$}r˜$(jj”$jj’$j jµ!jj\j}r™$(j]j]j]j]j]ujK j]rš$j%XSerdes Diag BER Testr›$…�rœ$}r�$(jj”$jj—$ubaubaubj)�rž$}rŸ$(jXSerdes Diag EYE Test jjŽ$j jµ!jj j}r $(j]j]j]j]j]ujNjhj]r¡$jX)�r¢$}r£$(jXSerdes Diag EYE Testr¤$jjž$j jµ!jj\j}r¥$(j]j]j]j]j]ujK j]r¦$j%XSerdes Diag EYE Testr§$…�r¨$}r©$(jj¤$jj¢$ubaubaubj)�rª$}r«$(jXt**Serdes Diag BER Test:** The example finds out the optimal TX coefficients (CM, C1, C2) by performing Bit Error Rate (BER) sweeps on the Serdes where the EVM sends the transmit pattern (for example PRBS 31) and the EVM also detects the receive sequence and performs BER calculations across the desired serdes using the CPU. The sweep results are printed into a text file.jjŽ$j jµ!jj j}r¬$(j]j]j]j]j]ujNjhj]r­$jX)�r®$}r¯$(jXt**Serdes Diag BER Test:** The example finds out the optimal TX coefficients (CM, C1, C2) by performing Bit Error Rate (BER) sweeps on the Serdes where the EVM sends the transmit pattern (for example PRBS 31) and the EVM also detects the receive sequence and performs BER calculations across the desired serdes using the CPU. The sweep results are printed into a text file.jjª$j jµ!jj\j}r°$(j]j]j]j]j]ujKj]r±$(j|)�r²$}r³$(jX**Serdes Diag BER Test:**j}r´$(j]j]j]j]j]ujj®$j]rµ$j%XSerdes Diag BER Test:r¶$…�r·$}r¸$(jUjj²$ubajj„ubj%X[ The example finds out the optimal TX coefficients (CM, C1, C2) by performing Bit Error Rate (BER) sweeps on the Serdes where the EVM sends the transmit pattern (for example PRBS 31) and the EVM also detects the receive sequence and performs BER calculations across the desired serdes using the CPU. The sweep results are printed into a text file.r¹$…�rº$}r»$(jX[ The example finds out the optimal TX coefficients (CM, C1, C2) by performing Bit Error Rate (BER) sweeps on the Serdes where the EVM sends the transmit pattern (for example PRBS 31) and the EVM also detects the receive sequence and performs BER calculations across the desired serdes using the CPU. The sweep results are printed into a text file.jj®$ubeubaubj)�r¼$}r½$(jXZ**Serdes Diag EYE Test** The example performs on chip eye measurement allowing the user to see the eye opening of the receive data after equalization. The EVM sends the transmit pattern (for example PRBS 31) and detects the sequence and performs EYE measurements across the desired serdes using the CPU. The results are printed into a text file. jjŽ$j jµ!jj j}r¾$(j]j]j]j]j]ujNjhj]r¿$jX)�rÀ$}rÁ$(jXY**Serdes Diag EYE Test** The example performs on chip eye measurement allowing the user to see the eye opening of the receive data after equalization. The EVM sends the transmit pattern (for example PRBS 31) and detects the sequence and performs EYE measurements across the desired serdes using the CPU. The results are printed into a text file.jj¼$j jµ!jj\j}rÂ$(j]j]j]j]j]ujKj]rÃ$(j|)�rÄ$}rÅ$(jX**Serdes Diag EYE Test**j}rÆ$(j]j]j]j]j]ujjÀ$j]rÇ$j%XSerdes Diag EYE TestrÈ$…�rÉ$}rÊ$(jUjjÄ$ubajj„ubj%XA The example performs on chip eye measurement allowing the user to see the eye opening of the receive data after equalization. The EVM sends the transmit pattern (for example PRBS 31) and detects the sequence and performs EYE measurements across the desired serdes using the CPU. The results are printed into a text file.rË$…�rÌ$}rÍ$(jXA The example performs on chip eye measurement allowing the user to see the eye opening of the receive data after equalization. The EVM sends the transmit pattern (for example PRBS 31) and detects the sequence and performs EYE measurements across the desired serdes using the CPU. The results are printed into a text file.jjÀ$ubeubaubeubj\)�rÎ$}rÏ$(jX9Currently only internal loopback is supported on the EVM.rÐ$jjv$j jµ!jj_j}rÑ$(j]j]j]j]j]ujNjhj]rÒ$jX)�rÓ$}rÔ$(jjÐ$jjÎ$j jµ!jj\j}rÕ$(j]j]j]j]j]ujKj]rÖ$j%X9Currently only internal loopback is supported on the EVM.r×$…�rØ$}rÙ$(jjÐ$jjÓ$ubaubaubjÁ)�rÚ$}rÛ$(jUjjv$j jµ!jjÄj}rÜ$(j]j]j]j]j]ujKjhj]rÝ$jÇ)�rÞ$}rß$(jUjÊKjjÚ$j jµ!jjj}rà$(j]j]j]j]j]ujKjhj]ubaubeubeubj jµ!jj?j}rá$(j]UlevelKj]j]râ$jl$aUsourcejµ!j]j]UlineKUtypejAujKjhj]rã$jX)�rä$}rå$(jX+Duplicate implicit target name: "overview".j}ræ$(j]j]j]j]j]ujjŸ!j]rç$j%X+Duplicate implicit target name: "overview".rè$…�ré$}rê$(jUjjä$ubajj\ubaubhÿ)�rë$}rì$(jUjjv$j jµ!jj?j}rí$(j]UlevelKj]j]rî$j|$aUsourcejµ!j]j]UlineKUtypejAujKjhj]rï$jX)�rð$}rñ$(jX/Duplicate implicit target name: "introduction".j}rò$(j]j]j]j]j]ujjë$j]ró$j%X/Duplicate implicit target name: "introduction".rô$…�rõ$}rö$(jUjjð$ubajj\ubaubhÿ)�r÷$}rø$(jUjj²!j jµ!jj?j}rù$(j]UlevelKj]j]rú$j»!aUsourcejµ!j]j]UlineK UtypejAujK jhj]rû$jX)�rü$}rý$(jX1Duplicate implicit target name: "user interface".j}rþ$(j]j]j]j]j]ujj÷$j]rÿ$j%X1Duplicate implicit target name: "user interface".r%…�r%}r%(jUjjü$ubajj\ubaubhÿ)�r%}r%(jUjjÅ!j jµ!jj?j}r%(j]UlevelKj]j]r%jË!aUsourcejµ!j]j]UlineK#UtypejAujK#jhj]r%jX)�r%}r %(jX7Duplicate implicit target name: "driver configuration".j}r %(j]j]j]j]j]ujj%j]r %j%X7Duplicate implicit target name: "driver configuration".r %…�r %}r%(jUjj%ubajj\ubaubhÿ)�r%}r%(jUjjì!j jµ!jj?j}r%(j]UlevelKj]j]r%jò!aUsourcejµ!j]j]UlineK.UtypejAujK.jhj]r%jX)�r%}r%(jX'Duplicate implicit target name: "apis".j}r%(j]j]j]j]j]ujj%j]r%j%X'Duplicate implicit target name: "apis".r%…�r%}r%(jUjj%ubajj\ubaubhÿ)�r%}r%(jUjj"j jµ!jj?j}r%(j]UlevelKj]j]r%j "aUsourcejµ!j]j]UlineKLUtypejAujKLjhj]r%jX)�r %}r!%(jX.Duplicate implicit target name: "application".j}r"%(j]j]j]j]j]ujj%j]r#%j%X.Duplicate implicit target name: "application".r$%…�r%%}r&%(jUjj %ubajj\ubaubhÿ)�r'%}r(%(jUjj*"j jµ!jj?j}r)%(j]UlevelKj]j]r*%j0"aUsourcejµ!j]j]UlineKOUtypejAujKOjhj]r+%jX)�r,%}r-%(jX+Duplicate implicit target name: "examples".j}r.%(j]j]j]j]j]ujj'%j]r/%j%X+Duplicate implicit target name: "examples".r0%…�r1%}r2%(jUjj,%ubajj\ubaubhÿ)�r3%}r4%(jUj}r5%(j]UlevelKj]j]Usourcejµ!j]j]UlineKzUtypejXuj]r6%(jX)�r7%}r8%(jUj}r9%(j]j]j]j]j]ujj3%j]r:%j%XTitle underline too short.r;%…�r<%}r=%(jUjj7%ubajj\ubj#)�r>%}r?%(jX4Building Serdes Diag examples ----------------------j}r@%(j2j3j]j]j]j]j]ujj3%j]rA%j%X4Building Serdes Diag examples ----------------------rB%…�rC%}rD%(jUjj>%ubajj&ubejj?ubhÿ)�rE%}rF%(jUjjž#j jµ!jj?j}rG%(j]UlevelKj]j]Usourcejµ!j]j]UlineKzUtypejXujKzjhj]rH%(jX)�rI%}rJ%(jXTitle underline too short.j}rK%(j]j]j]j]j]ujjE%j]rL%j%XTitle underline too short.rM%…�rN%}rO%(jUjjI%ubajj\ubj#)�rP%}rQ%(jX4Building Serdes Diag examples ----------------------j}rR%(j2j3j]j]j]j]j]ujjE%j]rS%j%X4Building Serdes Diag examples ----------------------rT%…�rU%}rV%(jUjjP%ubajj&ubeubhÿ)�rW%}rX%(jUjjž#j jµ!jj?j}rY%(j]UlevelKj]j]Usourcejµ!j]j]UlineK}UtypejXujK|jhj]rZ%jX)�r[%}r\%(jX;Bullet list ends without a blank line; unexpected unindent.j}r]%(j]j]j]j]j]ujjW%j]r^%j%X;Bullet list ends without a blank line; unexpected unindent.r_%…�r`%}ra%(jUjj[%ubajj\ubaubhÿ)�rb%}rc%(jUjjž#j jµ!jj?j}rd%(j]UlevelKj]j]Usourcejµ!j]j]UlineK‹UtypejXujKŠjhj]re%jX)�rf%}rg%(jX;Bullet list ends without a blank line; unexpected unindent.j}rh%(j]j]j]j]j]ujjb%j]ri%j%X;Bullet list ends without a blank line; unexpected unindent.rj%…�rk%}rl%(jUjjf%ubajj\ubaubhÿ)�rm%}rn%(jUjjå#j jµ!jj?j}ro%(j]UlevelKj]j]rp%jë#aUsourcejµ!j]j]UlineK“UtypejAujK“jhj]rq%jX)�rr%}rs%(jX8Duplicate implicit target name: "additional references".j}rt%(j]j]j]j]j]ujjm%j]ru%j%X8Duplicate implicit target name: "additional references".rv%…�rw%}rx%(jUjjr%ubajj\ubaubhÿ)�ry%}rz%(jUj}r{%(j]UlevelKj]j]Usourcej j]j]UlineK+UtypejXuj]r|%(jX)�r}%}r~%(jUj}r%(j]j]j]j]j]ujjy%j]r€%j%XTitle overline too short.r�%…�r‚%}rƒ%(jUjj}%ubajj\ubj#)�r„%}r…%(jX'*********** McSPI-QSPI-OSPI ***********j}r†%(j2j3j]j]j]j]j]ujjy%j]r‡%j%X'*********** McSPI-QSPI-OSPI ***********rˆ%…�r‰%}rŠ%(jUjj„%ubajj&ubejj?ubhÿ)�r‹%}rŒ%(jUjj)�r�%}rŽ%(jUjhj j jjj}r�%(j]j]j]j]r�%Umcspi-qspi-ospir‘%aj]r’%hdaujK-jhj]r“%(j)�r”%}r•%(jXMcSPI-QSPI-OSPIr–%jj�%j j jj"j}r—%(j]j]j]j]j]ujK-jhj]r˜%j%XMcSPI-QSPI-OSPIr™%…�rš%}r›%(jj–%jj”%ubaubj)�rœ%}r�%(jUjKjj�%j j,XCsource/rtos/PDK_Platform_Software/Device_Drivers/QSPI_McSPI.rst.incrž%…�rŸ%}r %bjjj}r¡%(j]r¢%X introductionr£%aj]j]j]r¤%Uid41r¥%aj]ujKjhj]r¦%(j)�r§%}r¨%(jX Introductionr©%jjœ%j jŸ%jj"j}rª%(j]j]j]j]j]ujKjhj]r«%j%X Introductionr¬%…�r­%}r®%(jj©%jj§%ubaubjX)�r¯%}r°%(jX�SPI driver enables communication for general SPI, MCSPI (Multichannel SPI), QSPI (Quad SPI) and OSPI (Octal SPI) based peripherals on board through common API to application. MCSPI is a generic full-duplex interface supporting transmit and receive of data over SPI bus. QSPI/OSPI is a variant of SPI supports four receive data lanes. Driver supports configuration for either single, dual, quad or octal data linesr±%jjœ%j jŸ%jj\j}r²%(j]j]j]j]j]ujKjhj]r³%j%X�SPI driver enables communication for general SPI, MCSPI (Multichannel SPI), QSPI (Quad SPI) and OSPI (Octal SPI) based peripherals on board through common API to application. MCSPI is a generic full-duplex interface supporting transmit and receive of data over SPI bus. QSPI/OSPI is a variant of SPI supports four receive data lanes. Driver supports configuration for either single, dual, quad or octal data linesr´%…�rµ%}r¶%(jj±%jj¯%ubaubeubj)�r·%}r¸%(jUjj�%j jŸ%jjj}r¹%(j]j]j]j]rº%Uid42r»%aj]r¼%h}aujK jhj]r½%(j)�r¾%}r¿%(jXModes of OperationrÀ%jj·%j jŸ%jj"j}rÁ%(j]j]j]j]j]ujK jhj]rÂ%j%XModes of OperationrÃ%…�rÄ%}rÅ%(jjÀ%jj¾%ubaubjX)�rÆ%}rÇ%(jX,Following modes of operations are supported:rÈ%jj·%j jŸ%jj\j}rÉ%(j]j]j]j]j]ujKjhj]rÊ%j%X,Following modes of operations are supported:rË%…�rÌ%}rÍ%(jjÈ%jjÆ%ubaubjX)�rÎ%}rÏ%(jX**SPI_MODE_BLOCKING** *SPI_transfer()* API blocks code execution until transaction has completed. By default, SPI driver operates in blocking mode. This ensures only one SPI transaction operates at a given time. This mode is supported in both interrupt or non-interrupt configurations.jj·%j jŸ%jj\j}rÐ%(j]j]j]j]j]ujKjhj]rÑ%(j|)�rÒ%}rÓ%(jX**SPI_MODE_BLOCKING**j}rÔ%(j]j]j]j]j]ujjÎ%j]rÕ%j%XSPI_MODE_BLOCKINGrÖ%…�r×%}rØ%(jUjjÒ%ubajj„ubj%X …�rÙ%}rÚ%(jX jjÎ%ubj<)�rÛ%}rÜ%(jX*SPI_transfer()*j}rÝ%(j]j]j]j]j]ujjÎ%j]rÞ%j%XSPI_transfer()rß%…�rà%}rá%(jUjjÛ%ubajjDubj%X÷ API blocks code execution until transaction has completed. By default, SPI driver operates in blocking mode. This ensures only one SPI transaction operates at a given time. This mode is supported in both interrupt or non-interrupt configurations.râ%…�rã%}rä%(jX÷ API blocks code execution until transaction has completed. By default, SPI driver operates in blocking mode. This ensures only one SPI transaction operates at a given time. This mode is supported in both interrupt or non-interrupt configurations.jjÎ%ubeubjX)�rå%}ræ%(jXú**SPI_MODE_CALLBACK** *SPI_transfer()* API returns without waiting for completion of transaction in this case. Callback function registered by application is invoked once transaction is complete.This mode is supported only in interrupt configuration.jj·%j jŸ%jj\j}rç%(j]j]j]j]j]ujKjhj]rè%(j|)�ré%}rê%(jX**SPI_MODE_CALLBACK**j}rë%(j]j]j]j]j]ujjå%j]rì%j%XSPI_MODE_CALLBACKrí%…�rî%}rï%(jUjjé%ubajj„ubj%X …�rð%}rñ%(jX jjå%ubj<)�rò%}ró%(jX*SPI_transfer()*j}rô%(j]j]j]j]j]ujjå%j]rõ%j%XSPI_transfer()rö%…�r÷%}rø%(jUjjò%ubajjDubj%XÔ API returns without waiting for completion of transaction in this case. Callback function registered by application is invoked once transaction is complete.This mode is supported only in interrupt configuration.rù%…�rú%}rû%(jXÔ API returns without waiting for completion of transaction in this case. Callback function registered by application is invoked once transaction is complete.This mode is supported only in interrupt configuration.jjå%ubeubeubj)�rü%}rý%(jUjKjj�%j jŸ%jjj}rþ%(j]rÿ%Xdriver configurationr&aj]j]j]r&Uid43r&aj]ujKjhj]r&(j)�r&}r&(jXDriver Configurationr&jjü%j jŸ%jj"j}r&(j]j]j]j]j]ujKjhj]r&j%XDriver Configurationr &…�r &}r &(jj&jj&ubaubj)�r &}r &(jUjKjjü%j jŸ%jjj}r&(j]r&Xboard specific configurationr&aj]j]j]r&Uid44r&aj]ujK!jhj]r&(j)�r&}r&(jXBoard Specific Configurationr&jj &j jŸ%jj"j}r&(j]j]j]j]j]ujK!jhj]r&j%XBoard Specific Configurationr&…�r&}r&(jj&jj&ubaubjX)�r&}r&(jXØAll board specific configurations eg:enabling clock and pin-mux for SPI pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer `Processor SDK RTOS Board Support `__ for additional details.Once board specific configuration is complete \ *SPI_init()* API should be called to initialize driver.jj &j jŸ%jj\j}r&(j]j]j]j]j]ujK#jhj]r&(j%XAll board specific configurations eg:enabling clock and pin-mux for SPI pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer r &…�r!&}r"&(jXAll board specific configurations eg:enabling clock and pin-mux for SPI pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer jj&ubj)�r#&}r$&(jXE`Processor SDK RTOS Board Support `__j}r%&(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujj&j]r&&j%X Processor SDK RTOS Board Supportr'&…�r(&}r)&(jUjj#&ubajjubj%XG for additional details.Once board specific configuration is complete r*&…�r+&}r,&(jXI for additional details.Once board specific configuration is complete \ jj&ubj<)�r-&}r.&(jX *SPI_init()*j}r/&(j]j]j]j]j]ujj&j]r0&j%X SPI_init()r1&…�r2&}r3&(jUjj-&ubajjDubj%X, API should be called to initialize driver.r4&…�r5&}r6&(jX, API should be called to initialize driver.jj&ubeubeubj)�r7&}r8&(jUjjü%j jŸ%jjj}r9&(j]j]j]j]r:&Usoc-specific-configurationr;&aj]r<&h¹aujK,jhj]r=&(j)�r>&}r?&(jXSoC Specific Configurationr@&jj7&j jŸ%jj"j}rA&(j]j]j]j]j]ujK,jhj]rB&j%XSoC Specific ConfigurationrC&…�rD&}rE&(jj@&jj>&ubaubjX)�rF&}rG&(jX"All SoC specific configurations (eg: SPI module registers base address, interrupt configurations, etc.) can be set using SPI_socSetInitCfg() SoC driver API before calling any SPI driver APIs. The default SoC specific configurations can be retrieved using SPI_socGetInitCfg() SoC driver API.rH&jj7&j jŸ%jj\j}rI&(j]j]j]j]j]ujK.jhj]rJ&j%X"All SoC specific configurations (eg: SPI module registers base address, interrupt configurations, etc.) can be set using SPI_socSetInitCfg() SoC driver API before calling any SPI driver APIs. The default SoC specific configurations can be retrieved using SPI_socGetInitCfg() SoC driver API.rK&…�rL&}rM&(jjH&jjF&ubaubeubj)�rN&}rO&(jUjjü%j jŸ%jjj}rP&(j]j]j]j]rQ&Uspi-configuration-structurerR&aj]rS&hÙaujK5jhj]rT&(j)�rU&}rV&(jXSPI Configuration StructurerW&jjN&j jŸ%jj"j}rX&(j]j]j]j]j]ujK5jhj]rY&j%XSPI Configuration StructurerZ&…�r[&}r\&(jjW&jjU&ubaubjX)�r]&}r^&(jX—The *SPI_soc.c* file binds driver with hardware attributes on the board through *SPI_config[]* structure. This structure must be provided to the SPI driver. It must be initialized before the *SPI_init()* function is called and cannot be changed afterwards. For details about individual fields of this structure, see Doxygen help by opening *PDK_INSTALL_DIR\packages\ti\drv\spi\docs\doxygen\html\index.html.*jjN&j jŸ%jj\j}r_&(j]j]j]j]j]ujK7jhj]r`&(j%XThe ra&…�rb&}rc&(jXThe jj]&ubj<)�rd&}re&(jX *SPI_soc.c*j}rf&(j]j]j]j]j]ujj]&j]rg&j%X SPI_soc.crh&…�ri&}rj&(jUjjd&ubajjDubj%XA file binds driver with hardware attributes on the board through rk&…�rl&}rm&(jXA file binds driver with hardware attributes on the board through jj]&ubj<)�rn&}ro&(jX*SPI_config[]*j}rp&(j]j]j]j]j]ujj]&j]rq&j%X SPI_config[]rr&…�rs&}rt&(jUjjn&ubajjDubj%Xa structure. This structure must be provided to the SPI driver. It must be initialized before the ru&…�rv&}rw&(jXa structure. This structure must be provided to the SPI driver. It must be initialized before the jj]&ubj<)�rx&}ry&(jX *SPI_init()*j}rz&(j]j]j]j]j]ujj]&j]r{&j%X SPI_init()r|&…�r}&}r~&(jUjjx&ubajjDubj%X‰ function is called and cannot be changed afterwards. For details about individual fields of this structure, see Doxygen help by opening r&…�r€&}r�&(jX‰ function is called and cannot be changed afterwards. For details about individual fields of this structure, see Doxygen help by opening jj]&ubj<)�r‚&}rƒ&(jXC*PDK_INSTALL_DIR\packages\ti\drv\spi\docs\doxygen\html\index.html.*j}r„&(j]j]j]j]j]ujj]&j]r…&j%X9PDK_INSTALL_DIRpackagestidrvspidocsdoxygenhtmlindex.html.r†&…�r‡&}rˆ&(jUjj‚&ubajjDubeubjX)�r‰&}rŠ&(jXEDriver  requires common *SPI_config[]*  to configure hardware attributes of MCSPI and QSPI/OSPI peripherals on SOC and board. First all MCSPI related hardware attributes is defined followed by QSPI/OSPI hardware attributes. Application will need to include appropriate offset to instance while invoking *SPI_open()* API..jjN&j jŸ%jj\j}r‹&(j]j]j]j]j]ujK>jhj]rŒ&(j%XDriver  requires common r�&…�rŽ&}r�&(jXDriver  requires common jj‰&ubj<)�r�&}r‘&(jX*SPI_config[]*j}r’&(j]j]j]j]j]ujj‰&j]r“&j%X SPI_config[]r”&…�r•&}r–&(jUjj�&ubajjDubj%X   to configure hardware attributes of MCSPI and QSPI/OSPI peripherals on SOC and board. First all MCSPI related hardware attributes is defined followed by QSPI/OSPI hardware attributes. Application will need to include appropriate offset to instance while invoking r—&…�r˜&}r™&(jX   to configure hardware attributes of MCSPI and QSPI/OSPI peripherals on SOC and board. First all MCSPI related hardware attributes is defined followed by QSPI/OSPI hardware attributes. Application will need to include appropriate offset to instance while invoking jj‰&ubj<)�rš&}r›&(jX *SPI_open()*j}rœ&(j]j]j]j]j]ujj‰&j]r�&j%X SPI_open()rž&…�rŸ&}r &(jUjjš&ubajjDubj%X API..r¡&…�r¢&}r£&(jX API..jj‰&ubeubeubeubj)�r¤&}r¥&(jUjKjj�%j jŸ%jjj}r¦&(j]r§&Xapisr¨&aj]j]j]r©&Uid45rª&aj]ujKEjhj]r«&(j)�r¬&}r­&(jXAPIsr®&jj¤&j jŸ%jj"j}r¯&(j]j]j]j]j]ujKEjhj]r°&j%XAPIsr±&…�r²&}r³&(jj®&jj¬&ubaubjX)�r´&}rµ&(jXAPI Reference for application:r¶&jj¤&j jŸ%jj\j}r·&(j]j]j]j]j]ujKGjhj]r¸&j%XAPI Reference for application:r¹&…�rº&}r»&(jj¶&jj´&ubaubj#)�r¼&}r½&(jX#include jj¤&j jŸ%jj&j}r¾&(j2j3j]j]j]j]j]ujM§jhj]r¿&j%X#include rÀ&…�rÁ&}rÂ&(jUjj¼&ubaubjX)�rÃ&}rÄ&(jX3SPI IP V1 driver also supports multi-channel API's:rÅ&jj¤&j jŸ%jj\j}rÆ&(j]j]j]j]j]ujKMjhj]rÇ&j%X3SPI IP V1 driver also supports multi-channel API's:rÈ&…�rÉ&}rÊ&(jjÅ&jjÃ&ubaubj#)�rË&}rÌ&(jX#include jj¤&j jŸ%jj&j}rÍ&(j2j3j]j]j]j]j]ujM­jhj]rÎ&j%X#include rÏ&…�rÐ&}rÑ&(jUjjË&ubaubj)�rÒ&}rÓ&(jUjj¤&j jŸ%jjj}rÔ&(j]j]j]j]rÕ&Uopen-spirÖ&aj]r×&håaujKWjhj]rØ&(j)�rÙ&}rÚ&(jXOpen SPIrÛ&jjÒ&j jŸ%jj"j}rÜ&(j]j]j]j]j]ujKWjhj]rÝ&j%XOpen SPIrÞ&…�rß&}rà&(jjÛ&jjÙ&ubaubj#)�rá&}râ&(jX... Board_init(boardCfg); ... SPI_socGetInitCfg(peripheralNum, &spi_cfg); ... SPI_socSetInitCfg(peripheralNum, &spi_cfg); SPI_Params_init(&spiParams); spiParams.transferMode = SPI_MODE_BLOCKING; spiParams.transferCallbackFxn = NULL; handle = SPI_open(peripheralNum, &spiParams);jjÒ&j jŸ%jj&j}rã&(j2j3j]j]j]j]j]ujM·jhj]rä&j%X... Board_init(boardCfg); ... SPI_socGetInitCfg(peripheralNum, &spi_cfg); ... SPI_socSetInitCfg(peripheralNum, &spi_cfg); SPI_Params_init(&spiParams); spiParams.transferMode = SPI_MODE_BLOCKING; spiParams.transferCallbackFxn = NULL; handle = SPI_open(peripheralNum, &spiParams);rå&…�ræ&}rç&(jUjjá&ubaubjX)�rè&}ré&(jX8SPI IP V1 driver also supports multi-channel open API's:rê&jjÒ&j jŸ%jj\j}rë&(j]j]j]j]j]ujKfjhj]rì&j%X8SPI IP V1 driver also supports multi-channel open API's:rí&…�rî&}rï&(jjê&jjè&ubaubj#)�rð&}rñ&(jXÇ... Board_init(boardCfg); ... MCSPI_Params_init(&spiParams); spiParams.transferMode = SPI_MODE_BLOCKING; spiParams.transferCallbackFxn = NULL; handle = MCSPI_open(peripheralNum, channel, &spiParams);jjÒ&j jŸ%jj&j}rò&(j2j3j]j]j]j]j]ujMÆjhj]ró&j%XÇ... Board_init(boardCfg); ... MCSPI_Params_init(&spiParams); spiParams.transferMode = SPI_MODE_BLOCKING; spiParams.transferCallbackFxn = NULL; handle = MCSPI_open(peripheralNum, channel, &spiParams);rô&…�rõ&}rö&(jUjjð&ubaubjÁ)�r÷&}rø&(jUjjÒ&j jŸ%jjÄj}rù&(j]j]j]j]j]ujKrjhj]rú&jÇ)�rû&}rü&(jUjÊKjj÷&j jŸ%jjj}rý&(j]j]j]j]j]ujKjhj]ubaubjX)�rþ&}rÿ&(jXÛAt this point SPI driver is ready for data transfer in blocking mode on specific instance identified by handle. Pseudo/Sample code for SPI read/write transaction is included below. Refer example for additional detailsr'jjÒ&j jŸ%jj\j}r'(j]j]j]j]j]ujKsjhj]r'j%XÛAt this point SPI driver is ready for data transfer in blocking mode on specific instance identified by handle. Pseudo/Sample code for SPI read/write transaction is included below. Refer example for additional detailsr'…�r'}r'(jj'jjþ&ubaubj#)�r'}r'(jX<... spiTransaction.count = n; /* Transfer Length */ spiTransaction. txBuf = transmitBuffer; /* Buffer to be written */ spiTransaction.rxBuf = NULL; /* Buffer holding the received data */ transferOK = SPI_transfer(spi, &spiTransaction); /* Perform SPI transfer */ if (!transferOK) { /* SPI transaction failed */ }jjÒ&j jŸ%jj&j}r'(j2j3j]j]j]j]j]ujMÖjhj]r 'j%X<... spiTransaction.count = n; /* Transfer Length */ spiTransaction. txBuf = transmitBuffer; /* Buffer to be written */ spiTransaction.rxBuf = NULL; /* Buffer holding the received data */ transferOK = SPI_transfer(spi, &spiTransaction); /* Perform SPI transfer */ if (!transferOK) { /* SPI transaction failed */ }r '…�r '}r '(jUjj'ubaubjX)�r '}r'(jX<SPI IP V1 driver also supports multi-channel transfer API's:r'jjÒ&j jŸ%jj\j}r'(j]j]j]j]j]ujKƒjhj]r'j%X<SPI IP V1 driver also supports multi-channel transfer API's:r'…�r'}r'(jj'jj 'ubaubj#)�r'}r'(jX>... spiTransaction.count = n; /* Transfer Length */ spiTransaction. txBuf = transmitBuffer; /* Buffer to be written */ spiTransaction.rxBuf = NULL; /* Buffer holding the received data */ transferOK = MCSPI_transfer(spi, &spiTransaction); /* Perform SPI transfer */ if (!transferOK) { /* SPI transaction failed */ }jjÒ&j jŸ%jj&j}r'(j2j3j]j]j]j]j]ujMãjhj]r'j%X>... spiTransaction.count = n; /* Transfer Length */ spiTransaction. txBuf = transmitBuffer; /* Buffer to be written */ spiTransaction.rxBuf = NULL; /* Buffer holding the received data */ transferOK = MCSPI_transfer(spi, &spiTransaction); /* Perform SPI transfer */ if (!transferOK) { /* SPI transaction failed */ }r'…�r'}r'(jUjj'ubaubj\)�r'}r'(jXÜSPI_open API supports configuration of data word length in the SPI_Params. Currently IP V1 driver (for AM3/4/5 devices) supports 8/16/32-bit word length, IP V0 driver (for Keystone devices) supports 8/16-bit word length.jjÒ&j jŸ%jj_j}r'(j]j]j]j]j]ujNjhj]r'jX)�r '}r!'(jXÜSPI_open API supports configuration of data word length in the SPI_Params. Currently IP V1 driver (for AM3/4/5 devices) supports 8/16/32-bit word length, IP V0 driver (for Keystone devices) supports 8/16-bit word length.r"'jj'j jŸ%jj\j}r#'(j]j]j]j]j]ujK’j]r$'j%XÜSPI_open API supports configuration of data word length in the SPI_Params. Currently IP V1 driver (for AM3/4/5 devices) supports 8/16/32-bit word length, IP V0 driver (for Keystone devices) supports 8/16-bit word length.r%'…�r&'}r''(jj"'jj 'ubaubaubeubeubj)�r('}r)'(jUjKjj�%j jŸ%jjj}r*'(j]r+'Xexamplesr,'aj]j]j]r-'Uid46r.'aj]ujK˜jhj]r/'(j)�r0'}r1'(jXExamplesr2'jj('j jŸ%jj"j}r3'(j]j]j]j]j]ujK˜jhj]r4'j%XExamplesr5'…�r6'}r7'(jj2'jj0'ubaubj)�r8'}r9'(jUjj('j jŸ%jjj}r:'(j]j]j]j]r;'Uspir<'aj]r='h¯aujK›jhj]r>'(j)�r?'}r@'(jXSPIrA'jj8'j jŸ%jj"j}rB'(j]j]j]j]j]ujK›jhj]rC'j%XSPIrD'…�rE'}rF'(jjA'jj?'ubaubj¶)�rG'}rH'(jUjj8'j jŸ%jj¹j}rI'(j]j]j]j]j]ujNjhj]rJ'j¼)�rK'}rL'(jUj}rM'(j]j]j]j]j]UcolsKujjG'j]rN'(jÁ)�rO'}rP'(jUj}rQ'(j]j]j]j]j]UcolwidthKujjK'j]jjÅubjÁ)�rR'}rS'(jUj}rT'(j]j]j]j]j]UcolwidthKujjK'j]jjÅubjÁ)�rU'}rV'(jUj}rW'(j]j]j]j]j]UcolwidthKujjK'j]jjÅubjÁ)�rX'}rY'(jUj}rZ'(j]j]j]j]j]UcolwidthKujjK'j]jjÅubjÁ)�r['}r\'(jUj}r]'(j]j]j]j]j]UcolwidthKujjK'j]jjÅubjÒ)�r^'}r_'(jUj}r`'(j]j]j]j]j]ujjK'j]ra'j×)�rb'}rc'(jUj}rd'(j]j]j]j]j]ujj^'j]re'(jÜ)�rf'}rg'(jUj}rh'(j]j]j]j]j]ujjb'j]ri'jX)�rj'}rk'(jXNamerl'jjf'j jŸ%jj\j}rm'(j]j]j]j]j]ujKžj]rn'j%XNamero'…�rp'}rq'(jjl'jjj'ubaubajjéubjÜ)�rr'}rs'(jUj}rt'(j]j]j]j]j]ujjb'j]ru'jX)�rv'}rw'(jX Descriptionrx'jjr'j jŸ%jj\j}ry'(j]j]j]j]j]ujKžj]rz'j%X Descriptionr{'…�r|'}r}'(jjx'jjv'ubaubajjéubjÜ)�r~'}r'(jUj}r€'(j]j]j]j]j]ujjb'j]r�'jX)�r‚'}rƒ'(jXExpected Resultsr„'jj~'j jŸ%jj\j}r…'(j]j]j]j]j]ujKžj]r†'j%XExpected Resultsr‡'…�rˆ'}r‰'(jj„'jj‚'ubaubajjéubjÜ)�rŠ'}r‹'(jUj}rŒ'(j]j]j]j]j]ujjb'j]r�'jX)�rŽ'}r�'(jX SoC Supportedr�'jjŠ'j jŸ%jj\j}r‘'(j]j]j]j]j]ujKžj]r’'j%X SoC Supportedr“'…�r”'}r•'(jj�'jjŽ'ubaubajjéubjÜ)�r–'}r—'(jUj}r˜'(j]j]j]j]j]ujjb'j]r™'jX)�rš'}r›'(jX Build Typerœ'jj–'j jŸ%jj\j}r�'(j]j]j]j]j]ujKžj]rž'j%X Build TyperŸ'…�r '}r¡'(jjœ'jjš'ubaubajjéubejjubajjubj)�r¢'}r£'(jUj}r¤'(j]j]j]j]j]ujjK'j]r¥'(j×)�r¦'}r§'(jUj}r¨'(j]j]j]j]j]ujj¢'j]r©'(jÜ)�rª'}r«'(jUj}r¬'(j]j]j]j]j]ujj¦'j]r­'(jX)�r®'}r¯'(jXSPI_FlashReadWriter°'jjª'j jŸ%jj\j}r±'(j]j]j]j]j]ujK j]r²'j%XSPI_FlashReadWriter³'…�r´'}rµ'(jj°'jj®'ubaubjX)�r¶'}r·'(jXExample applicationr¸'jjª'j jŸ%jj\j}r¹'(j]j]j]j]j]ujK¢j]rº'j%XExample applicationr»'…�r¼'}r½'(jj¸'jj¶'ubaubejjéubjÜ)�r¾'}r¿'(jUj}rÀ'(j]j]j]j]j]ujj¦'j]rÁ'(jX)�rÂ'}rÃ'(jXâSample application demonstrating read and write of data to a NOR flash device connected over SPI interface. By default, write test is disabled, user can enable write test by defining TEST_SPI_NOR_WRITE in test/src/SPI_board.hrÄ'jj¾'j jŸ%jj\j}rÅ'(j]j]j]j]j]ujK j]rÆ'j%XâSample application demonstrating read and write of data to a NOR flash device connected over SPI interface. By default, write test is disabled, user can enable write test by defining TEST_SPI_NOR_WRITE in test/src/SPI_board.hrÇ'…�rÈ'}rÉ'(jjÄ'jjÂ'ubaubjX)�rÊ'}rË'(jXbIf write test is enabled, write transaction is verified for correctness by reading contents back.rÌ'jj¾'j jŸ%jj\j}rÍ'(j]j]j]j]j]ujK¯j]rÎ'j%XbIf write test is enabled, write transaction is verified for correctness by reading contents back.rÏ'…�rÐ'}rÑ'(jjÌ'jjÊ'ubaubejjéubjÜ)�rÒ'}rÓ'(jUj}rÔ'(j]j]j]j]j]ujj¦'j]rÕ'(jX)�rÖ'}r×'(jX8Following prints on console expected: **Pass criteria:**jjÒ'j jŸ%jj\j}rØ'(j]j]j]j]j]ujK j]rÙ'(j%X&Following prints on console expected: rÚ'…�rÛ'}rÜ'(jX&Following prints on console expected: jjÖ'ubj|)�rÝ'}rÞ'(jX**Pass criteria:**j}rß'(j]j]j]j]j]ujjÖ'j]rà'j%XPass criteria:rá'…�râ'}rã'(jUjjÝ'ubajj„ubeubjX)�rä'}rå'(jXAll tests have passed.ræ'jjÒ'j jŸ%jj\j}rç'(j]j]j]j]j]ujK¤j]rè'j%XAll tests have passed.ré'…�rê'}rë'(jjæ'jjä'ubaubejjéubjÜ)�rì'}rí'(jUj}rî'(j]j]j]j]j]ujj¦'j]rï'jX)�rð'}rñ'(jX,k2g, k2hk, k2l, k2e, c6657, c6678, omapl137,rò'jjì'j jŸ%jj\j}ró'(j]j]j]j]j]ujK j]rô'j%X,k2g, k2hk, k2l, k2e, c6657, c6678, omapl137,rõ'…�rö'}r÷'(jjò'jjð'ubaubajjéubjÜ)�rø'}rù'(jUj}rú'(j]j]j]j]j]ujj¦'j]rû'jX)�rü'}rý'(jX CCS projectrþ'jjø'j jŸ%jj\j}rÿ'(j]j]j]j]j]ujK j]r(j%X CCS projectr(…�r(}r((jjþ'jjü'ubaubajjéubejjubj×)�r(}r((jUj}r((j]j]j]j]j]ujj¢'j]r((jÜ)�r(}r ((jUj}r ((j]j]j]j]j]ujj(j]r (jX)�r (}r ((jXSPI_TestApplicationr(jj(j jŸ%jj\j}r((j]j]j]j]j]ujK·j]r(j%XSPI_TestApplicationr(…�r(}r((jj(jj (ubaubajjéubjÜ)�r(}r((jUj}r((j]j]j]j]j]ujj(j]r(jX)�r(}r((jXODriver unit test application to validate features and interfaces for SPI driverr(jj(j jŸ%jj\j}r((j]j]j]j]j]ujK¸j]r(j%XODriver unit test application to validate features and interfaces for SPI driverr(…�r(}r((jj(jj(ubaubajjéubjÜ)�r (}r!((jUj}r"((j]j]j]j]j]ujj(j]r#(jX)�r$(}r%((jXOFollowing prints on console expected: **Pass criteria:** All tests have passed.jj (j jŸ%jj\j}r&((j]j]j]j]j]ujK·j]r'((j%X&Following prints on console expected: r((…�r)(}r*((jX&Following prints on console expected: jj$(ubj|)�r+(}r,((jX**Pass criteria:**j}r-((j]j]j]j]j]ujj$(j]r.(j%XPass criteria:r/(…�r0(}r1((jUjj+(ubajj„ubj%X All tests have passed.r2(…�r3(}r4((jX All tests have passed.jj$(ubeubajjéubjÜ)�r5(}r6((jUj}r7((j]j]j]j]j]ujj(j]r8(jX)�r9(}r:((jX&am335x AM437x, AM571x, AM572x, AM574x,r;(jj5(j jŸ%jj\j}r<((j]j]j]j]j]ujK·j]r=(j%X&am335x AM437x, AM571x, AM572x, AM574x,r>(…�r?(}r@((jj;(jj9(ubaubajjéubjÜ)�rA(}rB((jUj}rC((j]j]j]j]j]ujj(j]rD(jX)�rE(}rF((jX CCS projectrG(jjA(j jŸ%jj\j}rH((j]j]j]j]j]ujK·j]rI(j%X CCS projectrJ(…�rK(}rL((jjG(jjE(ubaubajjéubejjubj×)�rM(}rN((jUj}rO((j]j]j]j]j]ujj¢'j]rP((jÜ)�rQ(}rR((jUj}rS((j]j]j]j]j]ujjM(j]rT(jX)�rU(}rV((jXspiLoopback examplerW(jjQ(j jŸ%jj\j}rX((j]j]j]j]j]ujK¾j]rY(j%XspiLoopback examplerZ(…�r[(}r\((jjW(jjU(ubaubajjéubjÜ)�r](}r^((jUj}r_((j]j]j]j]j]ujjM(j]r`((jX)�ra(}rb((jXµExample application to validate features and interfaces for SPI driver in loopback mode. Configures the SPI in loopback mode, transmits a test pattern and receives it back from SPI.rc(jj](j jŸ%jj\j}rd((j]j]j]j]j]ujK¿j]re(j%XµExample application to validate features and interfaces for SPI driver in loopback mode. Configures the SPI in loopback mode, transmits a test pattern and receives it back from SPI.rf(…�rg(}rh((jjc(jja(ubaubjX)�ri(}rj((jX»Note: This example is intended to demonstrate the SPI LLD API usage on the HW platforms where SPI memory is not available. Currently this example is supported on OMAPL138/C6748 platforms.rk(jj](j jŸ%jj\j}rl((j]j]j]j]j]ujKÌj]rm(j%X»Note: This example is intended to demonstrate the SPI LLD API usage on the HW platforms where SPI memory is not available. Currently this example is supported on OMAPL138/C6748 platforms.rn(…�ro(}rp((jjk(jji(ubaubejjéubjÜ)�rq(}rr((jUj}rs((j]j]j]j]j]ujjM(j]rt(jX)�ru(}rv((jXOFollowing prints on console expected: **Pass criteria:** All tests have passed.jjq(j jŸ%jj\j}rw((j]j]j]j]j]ujK¾j]rx((j%X&Following prints on console expected: ry(…�rz(}r{((jX&Following prints on console expected: jju(ubj|)�r|(}r}((jX**Pass criteria:**j}r~((j]j]j]j]j]ujju(j]r(j%XPass criteria:r€(…�r�(}r‚((jUjj|(ubajj„ubj%X All tests have passed.rƒ(…�r„(}r…((jX All tests have passed.jju(ubeubajjéubjÜ)�r†(}r‡((jUj}rˆ((j]j]j]j]j]ujjM(j]r‰(jX)�rŠ(}r‹((jX@k2g, k2l, k2e, omapl138, AM335x, AM437x, AM571x, AM572x, AM574x,rŒ(jj†(j jŸ%jj\j}r�((j]j]j]j]j]ujK¾j]rŽ(j%X@k2g, k2l, k2e, omapl138, AM335x, AM437x, AM571x, AM572x, AM574x,r�(…�r�(}r‘((jjŒ(jjŠ(ubaubajjéubjÜ)�r’(}r“((jUj}r”((j]j]j]j]j]ujjM(j]r•(jX)�r–(}r—((jX CCS projectr˜(jj’(j jŸ%jj\j}r™((j]j]j]j]j]ujK¾j]rš(j%X CCS projectr›(…�rœ(}r�((jj˜(jj–(ubaubajjéubejjubejjðubejjñubaubjÁ)�rž(}rŸ((jUjj8'j jŸ%jjÄj}r ((j]j]j]j]j]ujKÚjhj]r¡(jÇ)�r¢(}r£((jUjÊKjjž(j jŸ%jjj}r¤((j]j]j]j]j]ujKjhj]ubaubeubj)�r¥(}r¦((jUjj('j jŸ%jjj}r§((j]j]j]j]r¨(Uqspir©(aj]rª(hÌaujKÜjhj]r«((j)�r¬(}r­((jXQSPIr®(jj¥(j jŸ%jj"j}r¯((j]j]j]j]j]ujKÜjhj]r°(j%XQSPIr±(…�r²(}r³((jj®(jj¬(ubaubj¶)�r´(}rµ((jUjj¥(j jŸ%jj¹j}r¶((j]j]j]j]j]ujNjhj]r·(j¼)�r¸(}r¹((jUj}rº((j]j]j]j]j]UcolsKujj´(j]r»((jÁ)�r¼(}r½((jUj}r¾((j]j]j]j]j]UcolwidthKujj¸(j]jjÅubjÁ)�r¿(}rÀ((jUj}rÁ((j]j]j]j]j]UcolwidthKujj¸(j]jjÅubjÁ)�rÂ(}rÃ((jUj}rÄ((j]j]j]j]j]UcolwidthKujj¸(j]jjÅubjÁ)�rÅ(}rÆ((jUj}rÇ((j]j]j]j]j]UcolwidthKujj¸(j]jjÅubjÁ)�rÈ(}rÉ((jUj}rÊ((j]j]j]j]j]UcolwidthKujj¸(j]jjÅubjÒ)�rË(}rÌ((jUj}rÍ((j]j]j]j]j]ujj¸(j]rÎ(j×)�rÏ(}rÐ((jUj}rÑ((j]j]j]j]j]ujjË(j]rÒ((jÜ)�rÓ(}rÔ((jUj}rÕ((j]j]j]j]j]ujjÏ(j]rÖ(jX)�r×(}rØ((jXNamerÙ(jjÓ(j jŸ%jj\j}rÚ((j]j]j]j]j]ujKßj]rÛ(j%XNamerÜ(…�rÝ(}rÞ((jjÙ(jj×(ubaubajjéubjÜ)�rß(}rà((jUj}rá((j]j]j]j]j]ujjÏ(j]râ(jX)�rã(}rä((jX Descriptionrå(jjß(j jŸ%jj\j}ræ((j]j]j]j]j]ujKßj]rç(j%X Descriptionrè(…�ré(}rê((jjå(jjã(ubaubajjéubjÜ)�rë(}rì((jUj}rí((j]j]j]j]j]ujjÏ(j]rî(jX)�rï(}rð((jXExpected Resultsrñ(jjë(j jŸ%jj\j}rò((j]j]j]j]j]ujKßj]ró(j%XExpected Resultsrô(…�rõ(}rö((jjñ(jjï(ubaubajjéubjÜ)�r÷(}rø((jUj}rù((j]j]j]j]j]ujjÏ(j]rú(jX)�rû(}rü((jX SoC Supportedrý(jj÷(j jŸ%jj\j}rþ((j]j]j]j]j]ujKßj]rÿ(j%X SoC Supportedr)…�r)}r)(jjý(jjû(ubaubajjéubjÜ)�r)}r)(jUj}r)(j]j]j]j]j]ujjÏ(j]r)jX)�r)}r)(jX Build Typer )jj)j jŸ%jj\j}r )(j]j]j]j]j]ujKßj]r )j%X Build Typer )…�r )}r)(jj )jj)ubaubajjéubejjubajjubj)�r)}r)(jUj}r)(j]j]j]j]j]ujj¸(j]r)(j×)�r)}r)(jUj}r)(j]j]j]j]j]ujj)j]r)(jÜ)�r)}r)(jUj}r)(j]j]j]j]j]ujj)j]r)(jX)�r)}r)(jXQSPI_FlashReadWriter)jj)j jŸ%jj\j}r)(j]j]j]j]j]ujKáj]r)j%XQSPI_FlashReadWriter )…�r!)}r")(jj)jj)ubaubjX)�r#)}r$)(jXExample applicationr%)jj)j jŸ%jj\j}r&)(j]j]j]j]j]ujKãj]r')j%XExample applicationr()…�r))}r*)(jj%)jj#)ubaubejjéubjÜ)�r+)}r,)(jUj}r-)(j]j]j]j]j]ujj)j]r.)jX)�r/)}r0)(jX²Sample application demonstrating read and write of data to a flash device connected over QSPI interface. Write transaction is verified  for correctness by reading contents back.r1)jj+)j jŸ%jj\j}r2)(j]j]j]j]j]ujKáj]r3)j%X²Sample application demonstrating read and write of data to a flash device connected over QSPI interface. Write transaction is verified  for correctness by reading contents back.r4)…�r5)}r6)(jj1)jj/)ubaubajjéubjÜ)�r7)}r8)(jUj}r9)(j]j]j]j]j]ujj)j]r:)(jX)�r;)}r<)(jX8Following prints on console expected: **Pass criteria:**jj7)j jŸ%jj\j}r=)(j]j]j]j]j]ujKáj]r>)(j%X&Following prints on console expected: r?)…�r@)}rA)(jX&Following prints on console expected: jj;)ubj|)�rB)}rC)(jX**Pass criteria:**j}rD)(j]j]j]j]j]ujj;)j]rE)j%XPass criteria:rF)…�rG)}rH)(jUjjB)ubajj„ubeubjX)�rI)}rJ)(jXAll tests have passed.rK)jj7)j jŸ%jj\j}rL)(j]j]j]j]j]ujKåj]rM)j%XAll tests have passed.rN)…�rO)}rP)(jjK)jjI)ubaubejjéubjÜ)�rQ)}rR)(jUj}rS)(j]j]j]j]j]ujj)j]rT)jX)�rU)}rV)(jX$AM437x, AM571x, AM572x, AM574x, k2g,rW)jjQ)j jŸ%jj\j}rX)(j]j]j]j]j]ujKáj]rY)j%X$AM437x, AM571x, AM572x, AM574x, k2g,rZ)…�r[)}r\)(jjW)jjU)ubaubajjéubjÜ)�r])}r^)(jUj}r_)(j]j]j]j]j]ujj)j]r`)jX)�ra)}rb)(jX CCS projectrc)jj])j jŸ%jj\j}rd)(j]j]j]j]j]ujKáj]re)j%X CCS projectrf)…�rg)}rh)(jjc)jja)ubaubajjéubejjubj×)�ri)}rj)(jUj}rk)(j]j]j]j]j]ujj)j]rl)(jÜ)�rm)}rn)(jUj}ro)(j]j]j]j]j]ujji)j]rp)jX)�rq)}rr)(jXQSPI_TestApplicationrs)jjm)j jŸ%jj\j}rt)(j]j]j]j]j]ujKíj]ru)j%XQSPI_TestApplicationrv)…�rw)}rx)(jjs)jjq)ubaubajjéubjÜ)�ry)}rz)(jUj}r{)(j]j]j]j]j]ujji)j]r|)jX)�r})}r~)(jXPDriver unit test application to validate features and interfaces for QSPI driverr)jjy)j jŸ%jj\j}r€)(j]j]j]j]j]ujKîj]r�)j%XPDriver unit test application to validate features and interfaces for QSPI driverr‚)…�rƒ)}r„)(jj)jj})ubaubajjéubjÜ)�r…)}r†)(jUj}r‡)(j]j]j]j]j]ujji)j]rˆ)jX)�r‰)}rŠ)(jXOFollowing prints on console expected: **Pass criteria:** All tests have passed.jj…)j jŸ%jj\j}r‹)(j]j]j]j]j]ujKíj]rŒ)(j%X&Following prints on console expected: r�)…�rŽ)}r�)(jX&Following prints on console expected: jj‰)ubj|)�r�)}r‘)(jX**Pass criteria:**j}r’)(j]j]j]j]j]ujj‰)j]r“)j%XPass criteria:r”)…�r•)}r–)(jUjj�)ubajj„ubj%X All tests have passed.r—)…�r˜)}r™)(jX All tests have passed.jj‰)ubeubajjéubjÜ)�rš)}r›)(jUj}rœ)(j]j]j]j]j]ujji)j]r�)jX)�rž)}rŸ)(jX$AM437x, AM571x, AM572x, AM574x, k2g,r )jjš)j jŸ%jj\j}r¡)(j]j]j]j]j]ujKíj]r¢)j%X$AM437x, AM571x, AM572x, AM574x, k2g,r£)…�r¤)}r¥)(jj )jjž)ubaubajjéubjÜ)�r¦)}r§)(jUj}r¨)(j]j]j]j]j]ujji)j]r©)jX)�rª)}r«)(jX CCS projectr¬)jj¦)j jŸ%jj\j}r­)(j]j]j]j]j]ujKíj]r®)j%X CCS projectr¯)…�r°)}r±)(jj¬)jjª)ubaubajjéubejjubejjðubejjñubaubjÁ)�r²)}r³)(jUjj¥(j jŸ%jjÄj}r´)(j]j]j]j]j]ujKõjhj]rµ)jÇ)�r¶)}r·)(jUjÊKjj²)j jŸ%jjj}r¸)(j]j]j]j]j]ujKjhj]ubaubeubj)�r¹)}rº)(jUjj('j jŸ%jjj}r»)(j]j]j]j]r¼)Uospir½)aj]r¾)hwaujK÷jhj]r¿)(j)�rÀ)}rÁ)(jXOSPIrÂ)jj¹)j jŸ%jj"j}rÃ)(j]j]j]j]j]ujK÷jhj]rÄ)j%XOSPIrÅ)…�rÆ)}rÇ)(jjÂ)jjÀ)ubaubj¶)�rÈ)}rÉ)(jUjj¹)j jŸ%jj¹j}rÊ)(j]j]j]j]j]ujNjhj]rË)j¼)�rÌ)}rÍ)(jUj}rÎ)(j]j]j]j]j]UcolsKujjÈ)j]rÏ)(jÁ)�rÐ)}rÑ)(jUj}rÒ)(j]j]j]j]j]UcolwidthKujjÌ)j]jjÅubjÁ)�rÓ)}rÔ)(jUj}rÕ)(j]j]j]j]j]UcolwidthKujjÌ)j]jjÅubjÁ)�rÖ)}r×)(jUj}rØ)(j]j]j]j]j]UcolwidthKujjÌ)j]jjÅubjÁ)�rÙ)}rÚ)(jUj}rÛ)(j]j]j]j]j]UcolwidthKujjÌ)j]jjÅubjÁ)�rÜ)}rÝ)(jUj}rÞ)(j]j]j]j]j]UcolwidthKujjÌ)j]jjÅubjÒ)�rß)}rà)(jUj}rá)(j]j]j]j]j]ujjÌ)j]râ)j×)�rã)}rä)(jUj}rå)(j]j]j]j]j]ujjß)j]ræ)(jÜ)�rç)}rè)(jUj}ré)(j]j]j]j]j]ujjã)j]rê)jX)�rë)}rì)(jXNamerí)jjç)j jŸ%jj\j}rî)(j]j]j]j]j]ujKúj]rï)j%XNamerð)…�rñ)}rò)(jjí)jjë)ubaubajjéubjÜ)�ró)}rô)(jUj}rõ)(j]j]j]j]j]ujjã)j]rö)jX)�r÷)}rø)(jX Descriptionrù)jjó)j jŸ%jj\j}rú)(j]j]j]j]j]ujKúj]rû)j%X Descriptionrü)…�rý)}rþ)(jjù)jj÷)ubaubajjéubjÜ)�rÿ)}r*(jUj}r*(j]j]j]j]j]ujjã)j]r*jX)�r*}r*(jXExpected Resultsr*jjÿ)j jŸ%jj\j}r*(j]j]j]j]j]ujKúj]r*j%XExpected Resultsr*…�r *}r *(jj*jj*ubaubajjéubjÜ)�r *}r *(jUj}r *(j]j]j]j]j]ujjã)j]r*jX)�r*}r*(jX SoC Supportedr*jj *j jŸ%jj\j}r*(j]j]j]j]j]ujKúj]r*j%X SoC Supportedr*…�r*}r*(jj*jj*ubaubajjéubjÜ)�r*}r*(jUj}r*(j]j]j]j]j]ujjã)j]r*jX)�r*}r*(jX Build Typer*jj*j jŸ%jj\j}r*(j]j]j]j]j]ujKúj]r*j%X Build Typer *…�r!*}r"*(jj*jj*ubaubajjéubejjubajjubj)�r#*}r$*(jUj}r%*(j]j]j]j]j]ujjÌ)j]r&*(j×)�r'*}r(*(jUj}r)*(j]j]j]j]j]ujj#*j]r**(jÜ)�r+*}r,*(jUj}r-*(j]j]j]j]j]ujj'*j]r.*jX)�r/*}r0*(jXOSPI_TestApplicationr1*jj+*j jŸ%jj\j}r2*(j]j]j]j]j]ujKüj]r3*j%XOSPI_TestApplicationr4*…�r5*}r6*(jj1*jj/*ubaubajjéubjÜ)�r7*}r8*(jUj}r9*(j]j]j]j]j]ujj'*j]r:*jX)�r;*}r<*(jXPDriver unit test application to validate features and interfaces for OSPI driverr=*jj7*j jŸ%jj\j}r>*(j]j]j]j]j]ujKýj]r?*j%XPDriver unit test application to validate features and interfaces for OSPI driverr@*…�rA*}rB*(jj=*jj;*ubaubajjéubjÜ)�rC*}rD*(jUj}rE*(j]j]j]j]j]ujj'*j]rF*jX)�rG*}rH*(jXOFollowing prints on console expected: **Pass criteria:** All tests have passed.jjC*j jŸ%jj\j}rI*(j]j]j]j]j]ujKüj]rJ*(j%X&Following prints on console expected: rK*…�rL*}rM*(jX&Following prints on console expected: jjG*ubj|)�rN*}rO*(jX**Pass criteria:**j}rP*(j]j]j]j]j]ujjG*j]rQ*j%XPass criteria:rR*…�rS*}rT*(jUjjN*ubajj„ubj%X All tests have passed.rU*…�rV*}rW*(jX All tests have passed.jjG*ubeubajjéubjÜ)�rX*}rY*(jUj}rZ*(j]j]j]j]j]ujj'*j]r[*jX)�r\*}r]*(jX am65xx j721er^*jjX*j jŸ%jj\j}r_*(j]j]j]j]j]ujKüj]r`*j%X am65xx j721era*…�rb*}rc*(jj^*jj\*ubaubajjéubjÜ)�rd*}re*(jUj}rf*(j]j]j]j]j]ujj'*j]rg*jX)�rh*}ri*(jXmakefilerj*jjd*j jŸ%jj\j}rk*(j]j]j]j]j]ujKüj]rl*j%Xmakefilerm*…�rn*}ro*(jjj*jjh*ubaubajjéubejjubj×)�rp*}rq*(jUj}rr*(j]j]j]j]j]ujj#*j]rs*(jÜ)�rt*}ru*(jUj}rv*(j]j]j]j]j]ujjp*j]rw*jX)�rx*}ry*(jXOSPI_SMP_Test Applicationrz*jjt*j jŸ%jj\j}r{*(j]j]j]j]j]ujMj]r|*j%XOSPI_SMP_Test Applicationr}*…�r~*}r*(jjz*jjx*ubaubajjéubjÜ)�r€*}r�*(jUj}r‚*(j]j]j]j]j]ujjp*j]rƒ*jX)�r„*}r…*(jXhDriver unit test application to validate features and interfaces for OSPI driver in SMP mode. (A53 core)r†*jj€*j jŸ%jj\j}r‡*(j]j]j]j]j]ujMj]rˆ*j%XhDriver unit test application to validate features and interfaces for OSPI driver in SMP mode. (A53 core)r‰*…�rŠ*}r‹*(jj†*jj„*ubaubajjéubjÜ)�rŒ*}r�*(jUj}rŽ*(j]j]j]j]j]ujjp*j]r�*jX)�r�*}r‘*(jXOFollowing prints on console expected: **Pass criteria:** All tests have passed.jjŒ*j jŸ%jj\j}r’*(j]j]j]j]j]ujMj]r“*(j%X&Following prints on console expected: r”*…�r•*}r–*(jX&Following prints on console expected: jj�*ubj|)�r—*}r˜*(jX**Pass criteria:**j}r™*(j]j]j]j]j]ujj�*j]rš*j%XPass criteria:r›*…�rœ*}r�*(jUjj—*ubajj„ubj%X All tests have passed.rž*…�rŸ*}r *(jX All tests have passed.jj�*ubeubajjéubjÜ)�r¡*}r¢*(jUj}r£*(j]j]j]j]j]ujjp*j]r¤*jX)�r¥*}r¦*(jX am65xx j721er§*jj¡*j jŸ%jj\j}r¨*(j]j]j]j]j]ujMj]r©*j%X am65xx j721erª*…�r«*}r¬*(jj§*jj¥*ubaubajjéubjÜ)�r­*}r®*(jUj}r¯*(j]j]j]j]j]ujjp*j]r°*jX)�r±*}r²*(jXmakefiler³*jj­*j jŸ%jj\j}r´*(j]j]j]j]j]ujMj]rµ*j%Xmakefiler¶*…�r·*}r¸*(jj³*jj±*ubaubajjéubejjubejjðubejjñubaubjÁ)�r¹*}rº*(jUjj¹)j jŸ%jjÄj}r»*(j]j]j]j]j]ujM jhj]r¼*jÇ)�r½*}r¾*(jUjÊKjj¹*j jŸ%jjj}r¿*(j]j]j]j]j]ujKjhj]ubaubeubj)�rÀ*}rÁ*(jUjj('j jŸ%jjj}rÂ*(j]j]j]j]rÃ*UmcspirÄ*aj]rÅ*haujMjhj]rÆ*(j)�rÇ*}rÈ*(jXMCSPIrÉ*jjÀ*j jŸ%jj"j}rÊ*(j]j]j]j]j]ujMjhj]rË*j%XMCSPIrÌ*…�rÍ*}rÎ*(jjÉ*jjÇ*ubaubj¶)�rÏ*}rÐ*(jUjjÀ*j jŸ%jj¹j}rÑ*(j]j]j]j]j]ujNjhj]rÒ*j¼)�rÓ*}rÔ*(jUj}rÕ*(j]j]j]j]j]UcolsKujjÏ*j]rÖ*(jÁ)�r×*}rØ*(jUj}rÙ*(j]j]j]j]j]UcolwidthKujjÓ*j]jjÅubjÁ)�rÚ*}rÛ*(jUj}rÜ*(j]j]j]j]j]UcolwidthKujjÓ*j]jjÅubjÁ)�rÝ*}rÞ*(jUj}rß*(j]j]j]j]j]UcolwidthK(ujjÓ*j]jjÅubjÁ)�rà*}rá*(jUj}râ*(j]j]j]j]j]UcolwidthKujjÓ*j]jjÅubjÁ)�rã*}rä*(jUj}rå*(j]j]j]j]j]UcolwidthKujjÓ*j]jjÅubjÁ)�ræ*}rç*(jUj}rè*(j]j]j]j]j]UcolwidthKujjÓ*j]jjÅubjÒ)�ré*}rê*(jUj}rë*(j]j]j]j]j]ujjÓ*j]rì*j×)�rí*}rî*(jUj}rï*(j]j]j]j]j]ujjé*j]rð*(jÜ)�rñ*}rò*(jUj}ró*(j]j]j]j]j]ujjí*j]rô*jX)�rõ*}rö*(jXNamer÷*jjñ*j jŸ%jj\j}rø*(j]j]j]j]j]ujMj]rù*j%XNamerú*…�rû*}rü*(jj÷*jjõ*ubaubajjéubjÜ)�rý*}rþ*(jUj}rÿ*(j]j]j]j]j]ujjí*j]r+jX)�r+}r+(jX Descriptionr+jjý*j jŸ%jj\j}r+(j]j]j]j]j]ujMj]r+j%X Descriptionr+…�r+}r+(jj+jj+ubaubajjéubjÜ)�r +}r +(jUj}r +(j]j]j]j]j]ujjí*j]r +jX)�r +}r+(jXAdditional EVM Configurationr+jj +j jŸ%jj\j}r+(j]j]j]j]j]ujMj]r+j%XAdditional EVM Configurationr+…�r+}r+(jj+jj +ubaubajjéubjÜ)�r+}r+(jUj}r+(j]j]j]j]j]ujjí*j]r+jX)�r+}r+(jXExpected Resultsr+jj+j jŸ%jj\j}r+(j]j]j]j]j]ujMj]r+j%XExpected Resultsr+…�r+}r +(jj+jj+ubaubajjéubjÜ)�r!+}r"+(jUj}r#+(j]j]j]j]j]ujjí*j]r$+jX)�r%+}r&+(jX SoC Supportedr'+jj!+j jŸ%jj\j}r(+(j]j]j]j]j]ujMj]r)+j%X SoC Supportedr*+…�r++}r,+(jj'+jj%+ubaubajjéubjÜ)�r-+}r.+(jUj}r/+(j]j]j]j]j]ujjí*j]r0+jX)�r1+}r2+(jX Build Typer3+jj-+j jŸ%jj\j}r4+(j]j]j]j]j]ujMj]r5+j%X Build Typer6+…�r7+}r8+(jj3+jj1+ubaubajjéubejjubajjubj)�r9+}r:+(jUj}r;+(j]j]j]j]j]ujjÓ*j]r<+(j×)�r=+}r>+(jUj}r?+(j]j]j]j]j]ujj9+j]r@+(jÜ)�rA+}rB+(jUj}rC+(j]j]j]j]j]ujj=+j]rD+jX)�rE+}rF+(jX%MCSPI_Serialize r Example applicationrG+jjA+j jŸ%jj\j}rH+(j]j]j]j]j]ujMj]rI+j%X%MCSPI_Serialize r Example applicationrJ+…�rK+}rL+(jjG+jjE+ubaubajjéubjÜ)�rM+}rN+(jUj}rO+(j]j]j]j]j]ujj=+j]rP+jX)�rQ+}rR+(jX¾Sample Application demonstrating reading data generated from industrial input module. Application uses GPIO pins to assert load signal in order to generate date from industrial input module.rS+jjM+j jŸ%jj\j}rT+(j]j]j]j]j]ujMj]rU+j%X¾Sample Application demonstrating reading data generated from industrial input module. Application uses GPIO pins to assert load signal in order to generate date from industrial input module.rV+…�rW+}rX+(jjS+jjQ+ubaubajjéubjÜ)�rY+}rZ+(jUj}r[+(j]j]j]j]j]ujj=+j]r\+(jX)�r]+}r^+(jX**AM57x IDK EVM:**r_+jjY+j jŸ%jj\j}r`+(j]j]j]j]j]ujMj]ra+j|)�rb+}rc+(jj_+j}rd+(j]j]j]j]j]ujj]+j]re+j%XAM57x IDK EVM:rf+…�rg+}rh+(jUjjb+ubajj„ubaubjX)�ri+}rj+(jX1Short pins 1 and 2 on header J37(Industrial I/O)rk+jjY+j jŸ%jj\j}rl+(j]j]j]j]j]ujMj]rm+j%X1Short pins 1 and 2 on header J37(Industrial I/O)rn+…�ro+}rp+(jjk+jji+ubaubjX)�rq+}rr+(jXC**AM335x ICE v2:** Short pins 1 and 2 on header J14(Industrial I/O)jjY+j jŸ%jj\j}rs+(j]j]j]j]j]ujMj]rt+(j|)�ru+}rv+(jX**AM335x ICE v2:**j}rw+(j]j]j]j]j]ujjq+j]rx+j%XAM335x ICE v2:ry+…�rz+}r{+(jUjju+ubajj„ubj%X1 Short pins 1 and 2 on header J14(Industrial I/O)r|+…�r}+}r~+(jX1 Short pins 1 and 2 on header J14(Industrial I/O)jjq+ubeubjX)�r+}r€+(jXC**AM437x IDK EVM:** Short pins 1 and 2 on header J1(Industrial I/O)jjY+j jŸ%jj\j}r�+(j]j]j]j]j]ujMj]r‚+(j|)�rƒ+}r„+(jX**AM437x IDK EVM:**j}r…+(j]j]j]j]j]ujj+j]r†+j%XAM437x IDK EVM:r‡+…�rˆ+}r‰+(jUjjƒ+ubajj„ubj%X0 Short pins 1 and 2 on header J1(Industrial I/O)rŠ+…�r‹+}rŒ+(jX0 Short pins 1 and 2 on header J1(Industrial I/O)jj+ubeubejjéubjÜ)�r�+}rŽ+(jUj}r�+(j]j]j]j]j]ujj=+j]r�+(jÁ)�r‘+}r’+(jUj}r“+(j]j]j]j]j]ujj�+j]r”+(jÇ)�r•+}r–+(jUjÊKjj‘+j jŸ%jjj}r—+(j]j]j]j]j]ujKj]ubjÇ)�r˜+}r™+(jX** **rš+jÊKjj‘+j jŸ%jjj}r›+(j]j]j]j]j]ujKj]rœ+j|)�r�+}rž+(jjš+j}rŸ+(j]j]j]j]j]ujj˜+j]r +j%X …�r¡+}r¢+(jUjj�+ubajj„ubaubejjÄubjX)�r£+}r¤+(jX'Following prints  on console expected:r¥+jj�+j jŸ%jj\j}r¦+(j]j]j]j]j]ujMj]r§+j%X'Following prints  on console expected:r¨+…�r©+}rª+(jj¥+jj£+ubaubjX)�r«+}r¬+(jX**Pass criteria:**r­+jj�+j jŸ%jj\j}r®+(j]j]j]j]j]ujMj]r¯+j|)�r°+}r±+(jj­+j}r²+(j]j]j]j]j]ujj«+j]r³+j%XPass criteria:r´+…�rµ+}r¶+(jUjj°+ubajj„ubaubjX)�r·+}r¸+(jXAll tests have passed.r¹+jj�+j jŸ%jj\j}rº+(j]j]j]j]j]ujM j]r»+j%XAll tests have passed.r¼+…�r½+}r¾+(jj¹+jj·+ubaubejjéubjÜ)�r¿+}rÀ+(jUj}rÁ+(j]j]j]j]j]ujj=+j]rÂ+jX)�rÃ+}rÄ+(jX'AM335x, AM437x, AM571x, AM572x, AM574x,rÅ+jj¿+j jŸ%jj\j}rÆ+(j]j]j]j]j]ujMj]rÇ+j%X'AM335x, AM437x, AM571x, AM572x, AM574x,rÈ+…�rÉ+}rÊ+(jjÅ+jjÃ+ubaubajjéubjÜ)�rË+}rÌ+(jUj}rÍ+(j]j]j]j]j]ujj=+j]rÎ+jX)�rÏ+}rÐ+(jX CCS projectrÑ+jjË+j jŸ%jj\j}rÒ+(j]j]j]j]j]ujMj]rÓ+j%X CCS projectrÔ+…�rÕ+}rÖ+(jjÑ+jjÏ+ubaubajjéubejjubj×)�r×+}rØ+(jUj}rÙ+(j]j]j]j]j]ujj9+j]rÚ+(jÜ)�rÛ+}rÜ+(jUj}rÝ+(j]j]j]j]j]ujj×+j]rÞ+jX)�rß+}rà+(jX)MCSPI_Dma_Seria lizer Example applicationrá+jjÛ+j jŸ%jj\j}râ+(j]j]j]j]j]ujM%j]rã+j%X)MCSPI_Dma_Seria lizer Example applicationrä+…�rå+}ræ+(jjá+jjß+ubaubajjéubjÜ)�rç+}rè+(jUj}ré+(j]j]j]j]j]ujj×+j]rê+jX)�rë+}rì+(jXËSample Application demonstrating reading data generated from industrial input module through EDMA. Application uses GPIO pins to assert load signal in order to generate date from industrial input module.rí+jjç+j jŸ%jj\j}rî+(j]j]j]j]j]ujM%j]rï+j%XËSample Application demonstrating reading data generated from industrial input module through EDMA. Application uses GPIO pins to assert load signal in order to generate date from industrial input module.rð+…�rñ+}rò+(jjí+jjë+ubaubajjéubjÜ)�ró+}rô+(jUj}rõ+(j]j]j]j]j]ujj×+j]rö+jX)�r÷+}rø+(jX‰**AM57x IDK EVM:** Short pins 1 and 2 on header J37(Industrial I/O) | **AM437x IDK EVM:** Short pins 1 and 2 on header J1(Industrial I/O)jjó+j jŸ%jj\j}rù+(j]j]j]j]j]ujM%j]rú+(j|)�rû+}rü+(jX**AM57x IDK EVM:**j}rý+(j]j]j]j]j]ujj÷+j]rþ+j%XAM57x IDK EVM:rÿ+…�r,}r,(jUjjû+ubajj„ubj%X4 Short pins 1 and 2 on header J37(Industrial I/O) | r,…�r,}r,(jX4 Short pins 1 and 2 on header J37(Industrial I/O) | jj÷+ubj|)�r,}r,(jX**AM437x IDK EVM:**j}r,(j]j]j]j]j]ujj÷+j]r,j%XAM437x IDK EVM:r ,…�r ,}r ,(jUjj,ubajj„ubj%X0 Short pins 1 and 2 on header J1(Industrial I/O)r ,…�r ,}r,(jX0 Short pins 1 and 2 on header J1(Industrial I/O)jj÷+ubeubajjéubjÜ)�r,}r,(jUj}r,(j]j]j]j]j]ujj×+j]r,(jÁ)�r,}r,(jUj}r,(j]j]j]j]j]ujj,j]r,(jÇ)�r,}r,(jUjÊKjj,j jŸ%jjj}r,(j]j]j]j]j]ujKj]ubjÇ)�r,}r,(jX** **r,jÊKjj,j jŸ%jjj}r,(j]j]j]j]j]ujKj]r,j|)�r,}r ,(jj,j}r!,(j]j]j]j]j]ujj,j]r",j%X …�r#,}r$,(jUjj,ubajj„ubaubejjÄubjX)�r%,}r&,(jX'Following prints  on console expected:r',jj,j jŸ%jj\j}r(,(j]j]j]j]j]ujM(j]r),j%X'Following prints  on console expected:r*,…�r+,}r,,(jj',jj%,ubaubjX)�r-,}r.,(jX**Pass criteria:**r/,jj,j jŸ%jj\j}r0,(j]j]j]j]j]ujM-j]r1,j|)�r2,}r3,(jj/,j}r4,(j]j]j]j]j]ujj-,j]r5,j%XPass criteria:r6,…�r7,}r8,(jUjj2,ubajj„ubaubjX)�r9,}r:,(jXAll tests have passed.r;,jj,j jŸ%jj\j}r<,(j]j]j]j]j]ujM0j]r=,j%XAll tests have passed.r>,…�r?,}r@,(jj;,jj9,ubaubejjéubjÜ)�rA,}rB,(jUj}rC,(j]j]j]j]j]ujj×+j]rD,jX)�rE,}rF,(jXAM437x, AM571x, AM572x, AM574x,rG,jjA,j jŸ%jj\j}rH,(j]j]j]j]j]ujM%j]rI,j%XAM437x, AM571x, AM572x, AM574x,rJ,…�rK,}rL,(jjG,jjE,ubaubajjéubjÜ)�rM,}rN,(jUj}rO,(j]j]j]j]j]ujj×+j]rP,jX)�rQ,}rR,(jX CCS projectrS,jjM,j jŸ%jj\j}rT,(j]j]j]j]j]ujM%j]rU,j%X CCS projectrV,…�rW,}rX,(jjS,jjQ,ubaubajjéubejjubj×)�rY,}rZ,(jUj}r[,(j]j]j]j]j]ujj9+j]r\,(jÜ)�r],}r^,(jUj}r_,(j]j]j]j]j]ujjY,j]r`,jX)�ra,}rb,(jXMCSPI_SerialFla shrc,jj],j jŸ%jj\j}rd,(j]j]j]j]j]ujM6j]re,j%XMCSPI_SerialFla shrf,…�rg,}rh,(jjc,jja,ubaubajjéubjÜ)�ri,}rj,(jUj}rk,(j]j]j]j]j]ujjY,j]rl,jX)�rm,}rn,(jXmSample Application demonstrating writing and reading data from the serial flash through MCSPI EDMA interface.ro,jji,j jŸ%jj\j}rp,(j]j]j]j]j]ujM6j]rq,j%XmSample Application demonstrating writing and reading data from the serial flash through MCSPI EDMA interface.rr,…�rs,}rt,(jjo,jjm,ubaubajjéubjÜ)�ru,}rv,(jUj}rw,(j]j]j]j]j]ujjY,j]rx,(jX)�ry,}rz,(jX:**AM335x GP EVM:** Set the EVM in profile 2 (SW8[1] = OFF,jju,j jŸ%jj\j}r{,(j]j]j]j]j]ujM6j]r|,(j|)�r},}r~,(jX**AM335x GP EVM:**j}r,(j]j]j]j]j]ujjy,j]r€,j%XAM335x GP EVM:r�,…�r‚,}rƒ,(jUjj},ubajj„ubj%X( Set the EVM in profile 2 (SW8[1] = OFF,r„,…�r…,}r†,(jX( Set the EVM in profile 2 (SW8[1] = OFF,jjy,ubeubj¤ )�r‡,}rˆ,(jUj}r‰,(j]j]j]j]j]ujju,j]rŠ,jX)�r‹,}rŒ,(jXSW8[2] = ON, SW8[3:4] = OFF)r�,jj‡,j jŸ%jj\j}rŽ,(j]j]j]j]j]ujM9j]r�,j%XSW8[2] = ON, SW8[3:4] = OFF)r�,…�r‘,}r’,(jj�,jj‹,ubaubajj§ ubejjéubjÜ)�r“,}r”,(jUj}r•,(j]j]j]j]j]ujjY,j]r–,(jÁ)�r—,}r˜,(jUj}r™,(j]j]j]j]j]ujj“,j]rš,(jÇ)�r›,}rœ,(jUjÊKjj—,j jŸ%jjj}r�,(j]j]j]j]j]ujKj]ubjÇ)�rž,}rŸ,(jX** **r ,jÊKjj—,j jŸ%jjj}r¡,(j]j]j]j]j]ujKj]r¢,j|)�r£,}r¤,(jj ,j}r¥,(j]j]j]j]j]ujjž,j]r¦,j%X …�r§,}r¨,(jUjj£,ubajj„ubaubejjÄubjX)�r©,}rª,(jX'Following prints  on console expected:r«,jj“,j jŸ%jj\j}r¬,(j]j]j]j]j]ujM9j]r­,j%X'Following prints  on console expected:r®,…�r¯,}r°,(jj«,jj©,ubaubjX)�r±,}r²,(jX**Pass criteria:**r³,jj“,j jŸ%jj\j}r´,(j]j]j]j]j]ujM>j]rµ,j|)�r¶,}r·,(jj³,j}r¸,(j]j]j]j]j]ujj±,j]r¹,j%XPass criteria:rº,…�r»,}r¼,(jUjj¶,ubajj„ubaubjX)�r½,}r¾,(jXAll tests have passed.r¿,jj“,j jŸ%jj\j}rÀ,(j]j]j]j]j]ujMAj]rÁ,j%XAll tests have passed.rÂ,…�rÃ,}rÄ,(jj¿,jj½,ubaubejjéubjÜ)�rÅ,}rÆ,(jUj}rÇ,(j]j]j]j]j]ujjY,j]rÈ,jX)�rÉ,}rÊ,(jXAM335x,rË,jjÅ,j jŸ%jj\j}rÌ,(j]j]j]j]j]ujM6j]rÍ,j%XAM335x,rÎ,…�rÏ,}rÐ,(jjË,jjÉ,ubaubajjéubjÜ)�rÑ,}rÒ,(jUj}rÓ,(j]j]j]j]j]ujjY,j]rÔ,jX)�rÕ,}rÖ,(jX CCS projectr×,jjÑ,j jŸ%jj\j}rØ,(j]j]j]j]j]ujM6j]rÙ,j%X CCS projectrÚ,…�rÛ,}rÜ,(jj×,jjÕ,ubaubajjéubejjubj×)�rÝ,}rÞ,(jUj}rß,(j]j]j]j]j]ujj9+j]rà,(jÜ)�rá,}râ,(jUj}rã,(j]j]j]j]UmorerowsKj]ujjÝ,j]rä,jX)�rå,}ræ,(jX#MCSPI_slavemode example applicationrç,jjá,j jŸ%jj\j}rè,(j]j]j]j]j]ujMDj]ré,j%X#MCSPI_slavemode example applicationrê,…�rë,}rì,(jjç,jjå,ubaubajjéubjÜ)�rí,}rî,(jUj}rï,(j]j]j]j]UmorerowsKj]ujjÝ,j]rð,(jX)�rñ,}rò,(jXÛApplication demonstrates slave recieve and transmit features of McSPI. Application use case requires two EVMs. One acts as Master and Another as slave. McSPI connections information and addtional details are as follows.ró,jjí,j jŸ%jj\j}rô,(j]j]j]j]j]ujMDj]rõ,j%XÛApplication demonstrates slave recieve and transmit features of McSPI. Application use case requires two EVMs. One acts as Master and Another as slave. McSPI connections information and addtional details are as follows.rö,…�r÷,}rø,(jjó,jjñ,ubaubjX)�rù,}rú,(jX**No of Boards Required**:jjí,j jŸ%jj\j}rû,(j]j]j]j]j]ujMVj]rü,(j|)�rý,}rþ,(jX**No of Boards Required**j}rÿ,(j]j]j]j]j]ujjù,j]r-j%XNo of Boards Requiredr-…�r-}r-(jUjjý,ubajj„ubj%X:…�r-}r-(jX:jjù,ubeubjX)�r-}r-(jX2jjí,j jŸ%jj\j}r-(j]j]j]j]j]ujMYj]r -j%X2…�r -}r -(jX2jj-ubaubjX)�r -}r -(jX**Connection requirements:**r-jjí,j jŸ%jj\j}r-(j]j]j]j]j]ujM[j]r-j|)�r-}r-(jj-j}r-(j]j]j]j]j]ujj -j]r-j%XConnection requirements:r-…�r-}r-(jUjj-ubajj„ubaubjÁ)�r-}r-(jUj}r-(j]j]j]j]j]ujjí,j]r-(jÇ)�r-}r-(jX*Consider EVM1 as Master and EVM2 as slave.r-jÊKjj-j jŸ%jjj}r-(j]j]j]j]j]ujKj]r -j%X*Consider EVM1 as Master and EVM2 as slave.r!-…�r"-}r#-(jj-jj-ubaubjÇ)�r$-}r%-(jXMasterSPI_CLK -------SlaveSr&-jÊKjj-j jŸ%jjj}r'-(j]j]j]j]j]ujKj]r(-j%XMasterSPI_CLK -------SlaveSr)-…�r*-}r+-(jj&-jj$-ubaubejjÄubjX)�r,-}r--(jXKPI_CLK | MasterSPI_D0- ---------SlaveS PI_D1 | MasterSPI_D1- ---------Slaver.-jjí,j jŸ%jj\j}r/-(j]j]j]j]j]ujMdj]r0-j%XKPI_CLK | MasterSPI_D0- ---------SlaveS PI_D1 | MasterSPI_D1- ---------Slaver1-…�r2-}r3-(jj.-jj,-ubaubj¤ )�r4-}r5-(jUj}r6-(j]j]j]j]j]ujjí,j]r7-jX)�r8-}r9-(jXSPI_D0r:-jj4-j jŸ%jj\j}r;-(j]j]j]j]j]ujMjj]r<-j%XSPI_D0r=-…�r>-}r?-(jj:-jj8-ubaubajj§ ubjÁ)�r@-}rA-(jUj}rB-(j]j]j]j]j]ujjí,j]rC-jÇ)�rD-}rE-(jX MasterSPI_CS0rF-jÊKjj@-j jŸ%jjj}rG-(j]j]j]j]j]ujKj]rH-j%X MasterSPI_CS0rI-…�rJ-}rK-(jjF-jjD-ubaubajjÄubjX)�rL-}rM-(jX8--------SlaveSP I_CS0 | DGND--------- -------------DG NDrN-jjí,j jŸ%jj\j}rO-(j]j]j]j]j]ujMlj]rP-j%X8--------SlaveSP I_CS0 | DGND--------- -------------DG NDrQ-…�rR-}rS-(jjN-jjL-ubaubjX)�rT-}rU-(jX**Additional Requirements:**rV-jjí,j jŸ%jj\j}rW-(j]j]j]j]j]ujMrj]rX-j|)�rY-}rZ-(jjV-j}r[-(j]j]j]j]j]ujjT-j]r\-j%XAdditional Requirements:r]-…�r^-}r_-(jUjjY-ubajj„ubaubjX)�r`-}ra-(jXÃRun "MCSPI_SlaveMod e_SlaveExample_ Exampl eProject" first on Slave EVM and then "MCSPI_SlaveMode _MasterExample _Examp leProject" on Master EVM.jjí,j jŸ%jj\j}rb-(j]j]j]j]j]ujMuj]rc-(j%XRun "MCSPI_SlaveMod rd-…�re-}rf-(jXRun "MCSPI_SlaveMod jj`-ubcdocutils.nodes problematic rg-)�rh-}ri-(jXe_SlaveExample_rj-j}rk-(j]rl-Uid289rm-aj]j]j]j]UrefidUid288rn-ujj`-j]ro-j%Xe_SlaveExample_rp-…�rq-}rr-(jUjjh-ubajU problematicrs-ubj%X  Exampl eProject" first on Slave EVM and then "MCSPI_SlaveMode _MasterExample _Examp leProject" on Master EVM.rt-…�ru-}rv-(jX  Exampl eProject" first on Slave EVM and then "MCSPI_SlaveMode _MasterExample _Examp leProject" on Master EVM.jj`-ubeubjÁ)�rw-}rx-(jUj}ry-(j]j]j]j]j]ujjí,j]rz-(jÇ)�r{-}r|-(jUjÊKjjw-j jŸ%jjj}r}-(j]j]j]j]j]ujKj]ubjÇ)�r~-}r-(jX **Note:**r€-jÊKjjw-j jŸ%jjj}r�-(j]j]j]j]j]ujKj]r‚-j|)�rƒ-}r„-(jj€-j}r…-(j]j]j]j]j]ujj~-j]r†-j%XNote:r‡-…�rˆ-}r‰-(jUjjƒ-ubajj„ubaubejjÄubjX)�rŠ-}r‹-(jXrA DGND connection may be required from expansion connector on each board to make sure the data transfer is proper.rŒ-jjí,j jŸ%jj\j}r�-(j]j]j]j]j]ujM‡j]rŽ-j%XrA DGND connection may be required from expansion connector on each board to make sure the data transfer is proper.r�-…�r�-}r‘-(jjŒ-jjŠ-ubaubjX)�r’-}r“-(jXeFor AM6 or J7, only one EVM is required. Slave is run on MPU1_0 core and Master is run on MCU1_0 corer”-jjí,j jŸ%jj\j}r•-(j]j]j]j]j]ujM‘j]r–-j%XeFor AM6 or J7, only one EVM is required. Slave is run on MPU1_0 core and Master is run on MCU1_0 corer—-…�r˜-}r™-(jj”-jj’-ubaubejjéubjÜ)�rš-}r›-(jUj}rœ-(j]j]j]j]UmorerowsKj]ujjÝ,j]r�-(jX)�rž-}rŸ-(jX**Pin Connections:**r -jjš-j jŸ%jj\j}r¡-(j]j]j]j]j]ujMDj]r¢-j|)�r£-}r¤-(jj -j}r¥-(j]j]j]j]j]ujjž-j]r¦-j%XPin Connections:r§-…�r¨-}r©-(jUjj£-ubajj„ubaubjÁ)�rª-}r«-(jUj}r¬-(j]j]j]j]j]ujjš-j]r­-(jÇ)�r®-}r¯-(jX**IDK AM571x,**r°-jÊKjjª-j jŸ%jjj}r±-(j]j]j]j]j]ujKj]r²-j|)�r³-}r´-(jj°-j}rµ-(j]j]j]j]j]ujj®-j]r¶-j%X IDK AM571x,r·-…�r¸-}r¹-(jUjj³-ubajj„ubaubjÇ)�rº-}r»-(jX**IDK AM572x or IDK AM574x:**r¼-jÊKjjª-j jŸ%jjj}r½-(j]j]j]j]j]ujKj]r¾-j|)�r¿-}rÀ-(jj¼-j}rÁ-(j]j]j]j]j]ujjº-j]rÂ-j%XIDK AM572x or IDK AM574x:rÃ-…�rÄ-}rÅ-(jUjj¿-ubajj„ubaubjÇ)�rÆ-}rÇ-(jXEVM1(master) ==== EVM2(slave)rÈ-jÊKjjª-j jŸ%jjj}rÉ-(j]j]j]j]j]ujKj]rÊ-j%XEVM1(master) ==== EVM2(slave)rË-…�rÌ-}rÍ-(jjÈ-jjÆ-ubaubjÇ)�rÎ-}rÏ-(jXJ21-Pin24(CLK)---J21-Pin24(CLK)rÐ-jÊKjjª-j jŸ%jjj}rÑ-(j]j]j]j]j]ujKj]rÒ-j%XJ21-Pin24(CLK)---J21-Pin24(CLK)rÓ-…�rÔ-}rÕ-(jjÐ-jjÎ-ubaubjÇ)�rÖ-}r×-(jX!J21-Pin26(MISO)---J21-Pin28(MISO)rØ-jÊKjjª-j jŸ%jjj}rÙ-(j]j]j]j]j]ujKj]rÚ-j%X!J21-Pin26(MISO)---J21-Pin28(MISO)rÛ-…�rÜ-}rÝ-(jjØ-jjÖ-ubaubjÇ)�rÞ-}rß-(jX!J21-Pin28(MOSI)---J21-Pin26(MOSI)rà-jÊKjjª-j jŸ%jjj}rá-(j]j]j]j]j]ujKj]râ-j%X!J21-Pin28(MOSI)---J21-Pin26(MOSI)rã-…�rä-}rå-(jjà-jjÞ-ubaubjÇ)�ræ-}rç-(jX J21-Pin30(CS)------J21-Pin30(CS)rè-jÊKjjª-j jŸ%jjj}ré-(j]j]j]j]j]ujKj]rê-j%X J21-Pin30(CS)------J21-Pin30(CS)rë-…�rì-}rí-(jjè-jjæ-ubaubjÇ)�rî-}rï-(jX J21-Pin22(DGND)--J21-Pin22(DGND)rð-jÊKjjª-j jŸ%jjj}rñ-(j]j]j]j]j]ujKj]rò-j%X J21-Pin22(DGND)--J21-Pin22(DGND)ró-…�rô-}rõ-(jjð-jjî-ubaubjÇ)�rö-}r÷-(jUjÊKjjª-j jŸ%jjj}rø-(j]j]j]j]j]ujKj]ubjÇ)�rù-}rú-(jX**IDK AM437x:**rû-jÊKjjª-j jŸ%jjj}rü-(j]j]j]j]j]ujKj]rý-j|)�rþ-}rÿ-(jjû-j}r.(j]j]j]j]j]ujjù-j]r.j%X IDK AM437x:r.…�r.}r.(jUjjþ-ubajj„ubaubjÇ)�r.}r.(jXEVM1(master) ==== EVM2(slave)r.jÊKjjª-j jŸ%jjj}r.(j]j]j]j]j]ujKj]r .j%XEVM1(master) ==== EVM2(slave)r .…�r .}r .(jj.jj.ubaubjÇ)�r .}r.(jX!J16-Pin24(CLK)-----J16-Pin24(CLK)r.jÊKjjª-j jŸ%jjj}r.(j]j]j]j]j]ujKj]r.j%X!J16-Pin24(CLK)-----J16-Pin24(CLK)r.…�r.}r.(jj.jj .ubaubjÇ)�r.}r.(jX!J16-Pin26(MISO)---J16-Pin28(MISO)r.jÊKjjª-j jŸ%jjj}r.(j]j]j]j]j]ujKj]r.j%X!J16-Pin26(MISO)---J16-Pin28(MISO)r.…�r.}r.(jj.jj.ubaubjÇ)�r.}r.(jX!J16-Pin28(MOSI)---J16-Pin26(MOSI)r.jÊKjjª-j jŸ%jjj}r .(j]j]j]j]j]ujKj]r!.j%X!J16-Pin28(MOSI)---J16-Pin26(MOSI)r".…�r#.}r$.(jj.jj.ubaubjÇ)�r%.}r&.(jX J16-Pin30(CS)------J16-Pin30(CS)r'.jÊKjjª-j jŸ%jjj}r(.(j]j]j]j]j]ujKj]r).j%X J16-Pin30(CS)------J16-Pin30(CS)r*.…�r+.}r,.(jj'.jj%.ubaubjÇ)�r-.}r..(jX J16-Pin22(DGND)--J16-Pin22(DGND)r/.jÊKjjª-j jŸ%jjj}r0.(j]j]j]j]j]ujKj]r1.j%X J16-Pin22(DGND)--J16-Pin22(DGND)r2.…�r3.}r4.(jj/.jj-.ubaubjÇ)�r5.}r6.(jUjÊKjjª-j jŸ%jjj}r7.(j]j]j]j]j]ujKj]ubjÇ)�r8.}r9.(jX**ICEv2AM335x:**r:.jÊKjjª-j jŸ%jjj}r;.(j]j]j]j]j]ujKj]r<.j|)�r=.}r>.(jj:.j}r?.(j]j]j]j]j]ujj8.j]r@.j%X ICEv2AM335x:rA.…�rB.}rC.(jUjj=.ubajj„ubaubjÇ)�rD.}rE.(jX"EVM1(master) ========= EVM2(slave)rF.jÊKjjª-j jŸ%jjj}rG.(j]j]j]j]j]ujKj]rH.j%X"EVM1(master) ========= EVM2(slave)rI.…�rJ.}rK.(jjF.jjD.ubaubjÇ)�rL.}rM.(jX#J3-Pin12(CLK)---------J3-Pin12(CLK)rN.jÊKjjª-j jŸ%jjj}rO.(j]j]j]j]j]ujKj]rP.j%X#J3-Pin12(CLK)---------J3-Pin12(CLK)rQ.…�rR.}rS.(jjN.jjL.ubaubjÇ)�rT.}rU.(jX#J3-Pin14(MIS0)-------J3-Pin16(MISO)rV.jÊKjjª-j jŸ%jjj}rW.(j]j]j]j]j]ujKj]rX.j%X#J3-Pin14(MIS0)-------J3-Pin16(MISO)rY.…�rZ.}r[.(jjV.jjT.ubaubjÇ)�r\.}r].(jX#J3-Pin16(MOSI)-------J3-Pin14(MOSI)r^.jÊKjjª-j jŸ%jjj}r_.(j]j]j]j]j]ujKj]r`.j%X#J3-Pin16(MOSI)-------J3-Pin14(MOSI)ra.…�rb.}rc.(jj^.jj\.ubaubjÇ)�rd.}re.(jX#J3-Pin18(CS)-----------J3-Pin18(CS)rf.jÊKjjª-j jŸ%jjj}rg.(j]j]j]j]j]ujKj]rh.j%X#J3-Pin18(CS)-----------J3-Pin18(CS)ri.…�rj.}rk.(jjf.jjd.ubaubjÇ)�rl.}rm.(jX"J3-Pin2(DGND)--------J3-Pin2(DGND)rn.jÊKjjª-j jŸ%jjj}ro.(j]j]j]j]j]ujKj]rp.j%X"J3-Pin2(DGND)--------J3-Pin2(DGND)rq.…�rr.}rs.(jjn.jjl.ubaubjÇ)�rt.}ru.(jUjÊKjjª-j jŸ%jjj}rv.(j]j]j]j]j]ujKj]ubjÇ)�rw.}rx.(jX**BBB AM335x:**ry.jÊKjjª-j jŸ%jjj}rz.(j]j]j]j]j]ujKj]r{.j|)�r|.}r}.(jjy.j}r~.(j]j]j]j]j]ujjw.j]r.j%X BBB AM335x:r€.…�r�.}r‚.(jUjj|.ubajj„ubaubjÇ)�rƒ.}r„.(jXEVM1(master) ===== EVM2(slave)r….jÊKjjª-j jŸ%jjj}r†.(j]j]j]j]j]ujKj]r‡.j%XEVM1(master) ===== EVM2(slave)rˆ.…�r‰.}rŠ.(jj….jjƒ.ubaubjÇ)�r‹.}rŒ.(jX!P9-Pin31(CLK)-------P9-Pin31(CLK)r�.jÊKjjª-j jŸ%jjj}rŽ.(j]j]j]j]j]ujKj]r�.j%X!P9-Pin31(CLK)-------P9-Pin31(CLK)r�.…�r‘.}r’.(jj�.jj‹.ubaubjÇ)�r“.}r”.(jX"P9-Pin29(MISO)------P9-Pin30(MISO)r•.jÊKjjª-j jŸ%jjj}r–.(j]j]j]j]j]ujKj]r—.j%X"P9-Pin29(MISO)------P9-Pin30(MISO)r˜.…�r™.}rš.(jj•.jj“.ubaubjÇ)�r›.}rœ.(jX"P9-Pin30(MOSI)------P9-Pin29(MOSI)r�.jÊKjjª-j jŸ%jjj}rž.(j]j]j]j]j]ujKj]rŸ.j%X"P9-Pin30(MOSI)------P9-Pin29(MOSI)r .…�r¡.}r¢.(jj�.jj›.ubaubjÇ)�r£.}r¤.(jX!P9-Pin28(CS)---------P9-Pin28(CS)r¥.jÊKjjª-j jŸ%jjj}r¦.(j]j]j]j]j]ujKj]r§.j%X!P9-Pin28(CS)---------P9-Pin28(CS)r¨.…�r©.}rª.(jj¥.jj£.ubaubjÇ)�r«.}r¬.(jX!P9-Pin1(DGND)-------P9-Pin1(DGND)r­.jÊKjjª-j jŸ%jjj}r®.(j]j]j]j]j]ujKj]r¯.j%X!P9-Pin1(DGND)-------P9-Pin1(DGND)r°.…�r±.}r².(jj­.jj«.ubaubjÇ)�r³.}r´.(jUjÊKjjª-j jŸ%jjj}rµ.(j]j]j]j]j]ujKj]ubjÇ)�r¶.}r·.(jX **K2G EVM:**r¸.jÊKjjª-j jŸ%jjj}r¹.(j]j]j]j]j]ujKj]rº.j|)�r».}r¼.(jj¸.j}r½.(j]j]j]j]j]ujj¶.j]r¾.j%XK2G EVM:r¿.…�rÀ.}rÁ.(jUjj».ubajj„ubaubjÇ)�rÂ.}rÃ.(jX EVM1(master) ======= EVM2(slave)rÄ.jÊKjjª-j jŸ%jjj}rÅ.(j]j]j]j]j]ujKj]rÆ.j%X EVM1(master) ======= EVM2(slave)rÇ.…�rÈ.}rÉ.(jjÄ.jjÂ.ubaubjÇ)�rÊ.}rË.(jX#J12-Pin9(MISO)-------J12-Pin9(MISO)rÌ.jÊKjjª-j jŸ%jjj}rÍ.(j]j]j]j]j]ujKj]rÎ.j%X#J12-Pin9(MISO)-------J12-Pin9(MISO)rÏ.…�rÐ.}rÑ.(jjÌ.jjÊ.ubaubjÇ)�rÒ.}rÓ.(jX"J12-Pin11(MOSI)----J12-Pin11(MOSI)rÔ.jÊKjjª-j jŸ%jjj}rÕ.(j]j]j]j]j]ujKj]rÖ.j%X"J12-Pin11(MOSI)----J12-Pin11(MOSI)r×.…�rØ.}rÙ.(jjÔ.jjÒ.ubaubjÇ)�rÚ.}rÛ.(jX"J12-Pin13(CLK)------J12-Pin13(CLK)rÜ.jÊKjjª-j jŸ%jjj}rÝ.(j]j]j]j]j]ujKj]rÞ.j%X"J12-Pin13(CLK)------J12-Pin13(CLK)rß.…�rà.}rá.(jjÜ.jjÚ.ubaubjÇ)�râ.}rã.(jX"J12-Pin15(CS0)------J12-Pin15(CS0)rä.jÊKjjª-j jŸ%jjj}rå.(j]j]j]j]j]ujKj]ræ.j%X"J12-Pin15(CS0)------J12-Pin15(CS0)rç.…�rè.}ré.(jjä.jjâ.ubaubjÇ)�rê.}rë.(jX J12-Pin49(DGND)--J12-Pin49(DGND)rì.jÊKjjª-j jŸ%jjj}rí.(j]j]j]j]j]ujKj]rî.j%X J12-Pin49(DGND)--J12-Pin49(DGND)rï.…�rð.}rñ.(jjì.jjê.ubaubjÇ)�rò.}ró.(jUjÊKjjª-j jŸ%jjj}rô.(j]j]j]j]j]ujKj]ubejjÄubjÁ)�rõ.}rö.(jUj}r÷.(j]j]j]j]j]ujjš-j]rø.(jÇ)�rù.}rú.(jX**icev2AMIC110 EVM:**rû.jÊKjjõ.j jŸ%jjj}rü.(j]j]j]j]j]ujKj]rý.j|)�rþ.}rÿ.(jjû.j}r/(j]j]j]j]j]ujjù.j]r/j%Xicev2AMIC110 EVM:r/…�r/}r/(jUjjþ.ubajj„ubaubjÇ)�r/}r/(jX EVM1(master) ======= EVM2(slave)r/jÊKjjõ.j jŸ%jjj}r/(j]j]j]j]j]ujKj]r /j%X EVM1(master) ======= EVM2(slave)r /…�r /}r /(jj/jj/ubaubjÇ)�r /}r/(jX#J5-Pin12(MISO)-------J5-Pin14(MISO)r/jÊKjjõ.j jŸ%jjj}r/(j]j]j]j]j]ujKj]r/j%X#J5-Pin12(MISO)-------J5-Pin14(MISO)r/…�r/}r/(jj/jj /ubaubjÇ)�r/}r/(jX"J5-Pin14(MOSI)------J5-Pin12(MOSI)r/jÊKjjõ.j jŸ%jjj}r/(j]j]j]j]j]ujKj]r/j%X"J5-Pin14(MOSI)------J5-Pin12(MOSI)r/…�r/}r/(jj/jj/ubaubjÇ)�r/}r/(jX J4-Pin13(CLK)------J4-Pin13(CLK)r/jÊKjjõ.j jŸ%jjj}r /(j]j]j]j]j]ujKj]r!/j%X J4-Pin13(CLK)------J4-Pin13(CLK)r"/…�r#/}r$/(jj/jj/ubaubjÇ)�r%/}r&/(jXJ5-Pin4(CS)---------J5-Pin4(CS)r'/jÊKjjõ.j jŸ%jjj}r(/(j]j]j]j]j]ujKj]r)/j%XJ5-Pin4(CS)---------J5-Pin4(CS)r*/…�r+/}r,/(jj'/jj%/ubaubjÇ)�r-/}r./(jX!J5-Pin2(DGND)-------J5-Pin2(DGND)r//jÊKjjõ.j jŸ%jjj}r0/(j]j]j]j]j]ujKj]r1/j%X!J5-Pin2(DGND)-------J5-Pin2(DGND)r2/…�r3/}r4/(jj//jj-/ubaubejjÄubjÁ)�r5/}r6/(jUj}r7/(j]j]j]j]j]ujjš-j]r8/(jÇ)�r9/}r:/(jX**am65xx EVM/IDK:**r;/jÊKjj5/j jŸ%jjj}r/}r?/(jj;/j}r@/(j]j]j]j]j]ujj9/j]rA/j%Xam65xx EVM/IDK:rB/…�rC/}rD/(jUjj>/ubajj„ubaubjÇ)�rE/}rF/(jX$MCU1_0 (master) ====== MPU1_0(slave)rG/jÊKjj5/j jŸ%jjj}rH/(j]j]j]j]j]ujKj]rI/j%X$MCU1_0 (master) ====== MPU1_0(slave)rJ/…�rK/}rL/(jjG/jjE/ubaubejjÄubjÁ)�rM/}rN/(jUj}rO/(j]j]j]j]j]ujjš-j]rP/(jÇ)�rQ/}rR/(jX**J721e EVM:**rS/jÊKjjM/j jŸ%jjj}rT/(j]j]j]j]j]ujKj]rU/j|)�rV/}rW/(jjS/j}rX/(j]j]j]j]j]ujjQ/j]rY/j%X J721e EVM:rZ/…�r[/}r\/(jUjjV/ubajj„ubaubjÇ)�r]/}r^/(jX$MCU1_0 (master) ====== MPU1_0(slave)r_/jÊKjjM/j jŸ%jjj}r`/(j]j]j]j]j]ujKj]ra/j%X$MCU1_0 (master) ====== MPU1_0(slave)rb/…�rc/}rd/(jj_/jj]/ubaubejjÄubejjéubjÜ)�re/}rf/(jUj}rg/(j]j]j]j]UmorerowsKj]ujjÝ,j]rh/(jÁ)�ri/}rj/(jUj}rk/(j]j]j]j]j]ujje/j]rl/(jÇ)�rm/}rn/(jX,**On slave EVM console: **\ SPI initializedjÊKjji/j jŸ%jjj}ro/(j]j]j]j]j]ujKj]rp/(jg-)�rq/}rr/(jX**j}rs/(j]rt/Uid48ru/aj]j]j]j]UrefidUid47rv/ujjm/j]rw/j%X**rx/…�ry/}rz/(jUjjq/ubajjs-ubj%XOn slave EVM console: r{/…�r|/}r}/(jXOn slave EVM console: jjm/ubjg-)�r~/}r/(jX**j}r€/(j]r�/Uid50r‚/aj]j]j]j]UrefidUid49rƒ/ujjm/j]r„/j%X**r…/…�r†/}r‡/(jUjj~/ubajjs-ubj%XSPI initializedrˆ/…�r‰/}rŠ/(jX\ SPI initializedjjm/ubeubjÇ)�r‹/}rŒ/(jX Slave: PASS: Txd from master SPIr�/jÊKjji/j jŸ%jjj}rŽ/(j]j]j]j]j]ujKj]r�/j%X Slave: PASS: Txd from master SPIr�/…�r‘/}r’/(jj�/jj‹/ubaubejjÄubjÁ)�r“/}r”/(jUj}r•/(j]j]j]j]j]ujje/j]r–/(jÇ)�r—/}r˜/(jUjÊKjj“/j jŸ%jjj}r™/(j]j]j]j]j]ujKj]ubjÇ)�rš/}r›/(jX**On Master EVM console:jÊKjj“/j jŸ%jjj}rœ/(j]j]j]j]j]ujKj]r�/(jg-)�rž/}rŸ/(jX**j}r /(j]r¡/Uid52r¢/aj]j]j]j]UrefidUid51r£/ujjš/j]r¤/j%X**r¥/…�r¦/}r§/(jUjjž/ubajjs-ubj%XOn Master EVM console:r¨/…�r©/}rª/(jXOn Master EVM console:jjš/ubeubejjÄubj¤ )�r«/}r¬/(jUj}r­/(j]j]j]j]j]ujje/j]r®/jX)�r¯/}r°/(jX initializedr±/jj«/j jŸ%jj\j}r²/(j]j]j]j]j]ujMQj]r³/j%X initializedr´/…�rµ/}r¶/(jj±/jj¯/ubaubajj§ ubjÁ)�r·/}r¸/(jUj}r¹/(j]j]j]j]j]ujje/j]rº/(jÇ)�r»/}r¼/(jX Master: PASS: Txd from slave SPIr½/jÊKjj·/j jŸ%jjj}r¾/(j]j]j]j]j]ujKj]r¿/j%X Master: PASS: Txd from slave SPIrÀ/…�rÁ/}rÂ/(jj½/jj»/ubaubjÇ)�rÃ/}rÄ/(jXDonerÅ/jÊKjj·/j jŸ%jjj}rÆ/(j]j]j]j]j]ujKj]rÇ/j%XDonerÈ/…�rÉ/}rÊ/(jjÅ/jjÃ/ubaubejjÄubejjéubjÜ)�rË/}rÌ/(jUj}rÍ/(j]j]j]j]j]ujjÝ,j]rÎ/jX)�rÏ/}rÐ/(jX,AM335x, AM437x, AM571x, AM572x, AM574x, k2g,rÑ/jjË/j jŸ%jj\j}rÒ/(j]j]j]j]j]ujMDj]rÓ/j%X,AM335x, AM437x, AM571x, AM572x, AM574x, k2g,rÔ/…�rÕ/}rÖ/(jjÑ/jjÏ/ubaubajjéubjÜ)�r×/}rØ/(jUj}rÙ/(j]j]j]j]j]ujjÝ,j]rÚ/jX)�rÛ/}rÜ/(jX CCS projectrÝ/jj×/j jŸ%jj\j}rÞ/(j]j]j]j]j]ujMDj]rß/j%X CCS projectrà/…�rá/}râ/(jjÝ/jjÛ/ubaubajjéubejjubj×)�rã/}rä/(jUj}rå/(j]j]j]j]j]ujj9+j]ræ/(jÜ)�rç/}rè/(jUj}ré/(j]j]j]j]j]ujjã/j]rê/jX)�rë/}rì/(jX am65xx j721erí/jjç/j jŸ%jj\j}rî/(j]j]j]j]j]ujMLj]rï/j%X am65xx j721erð/…�rñ/}rò/(jjí/jjë/ubaubajjéubjÜ)�ró/}rô/(jUj}rõ/(j]j]j]j]j]ujjã/j]rö/jX)�r÷/}rø/(jXmakefilerù/jjó/j jŸ%jj\j}rú/(j]j]j]j]j]ujMLj]rû/j%Xmakefilerü/…�rý/}rþ/(jjù/jj÷/ubaubajjéubejjubj×)�rÿ/}r0(jUj}r0(j]j]j]j]j]ujj9+j]r0(jÜ)�r0}r0(jUj}r0(j]j]j]j]j]ujjÿ/j]r0jX)�r0}r0(jX#MCSPI_SMP_Basic Example applicationr 0jj0j jŸ%jj\j}r 0(j]j]j]j]j]ujM™j]r 0j%X#MCSPI_SMP_Basic Example applicationr 0…�r 0}r0(jj 0jj0ubaubajjéubjÜ)�r0}r0(jUj}r0(j]j]j]j]j]ujjÿ/j]r0jX)�r0}r0(jXÕSample Application demonstrating reading data generated from industrial input module. Application uses GPIO pins to assert load signal in order to generate date from industrial input module in SMP mode. (A15 core)r0jj0j jŸ%jj\j}r0(j]j]j]j]j]ujM™j]r0j%XÕSample Application demonstrating reading data generated from industrial input module. Application uses GPIO pins to assert load signal in order to generate date from industrial input module in SMP mode. (A15 core)r0…�r0}r0(jj0jj0ubaubajjéubjÜ)�r0}r0(jUj}r0(j]j]j]j]j]ujjÿ/j]jjéubjÜ)�r0}r0(jUj}r 0(j]j]j]j]j]ujjÿ/j]r!0(jÁ)�r"0}r#0(jUj}r$0(j]j]j]j]j]ujj0j]r%0(jÇ)�r&0}r'0(jUjÊKjj"0j jŸ%jjj}r(0(j]j]j]j]j]ujKj]ubjÇ)�r)0}r*0(jX** **r+0jÊKjj"0j jŸ%jjj}r,0(j]j]j]j]j]ujKj]r-0j|)�r.0}r/0(jj+0j}r00(j]j]j]j]j]ujj)0j]r10j%X …�r20}r30(jUjj.0ubajj„ubaubejjÄubjX)�r40}r50(jX'Following prints  on console expected:r60jj0j jŸ%jj\j}r70(j]j]j]j]j]ujMœj]r80j%X'Following prints  on console expected:r90…�r:0}r;0(jj60jj40ubaubjX)�r<0}r=0(jX**Pass criteria:**r>0jj0j jŸ%jj\j}r?0(j]j]j]j]j]ujM¡j]r@0j|)�rA0}rB0(jj>0j}rC0(j]j]j]j]j]ujj<0j]rD0j%XPass criteria:rE0…�rF0}rG0(jUjjA0ubajj„ubaubjX)�rH0}rI0(jXAll tests have passed.rJ0jj0j jŸ%jj\j}rK0(j]j]j]j]j]ujM¤j]rL0j%XAll tests have passed.rM0…�rN0}rO0(jjJ0jjH0ubaubejjéubjÜ)�rP0}rQ0(jUj}rR0(j]j]j]j]j]ujjÿ/j]rS0jX)�rT0}rU0(jX AM572x-EVMrV0jjP0j jŸ%jj\j}rW0(j]j]j]j]j]ujM™j]rX0j%X AM572x-EVMrY0…�rZ0}r[0(jjV0jjT0ubaubajjéubjÜ)�r\0}r]0(jUj}r^0(j]j]j]j]j]ujjÿ/j]r_0jX)�r`0}ra0(jX CCS projectrb0jj\0j jŸ%jj\j}rc0(j]j]j]j]j]ujM™j]rd0j%X CCS projectre0…�rf0}rg0(jjb0jj`0ubaubajjéubejjubejjðubejjñubaubeubeubj)�rh0}ri0(jUjj�%j jŸ%jjj}rj0(j]j]j]j]rk0Ubuilding-spi-examplesrl0aj]rm0hÝaujM­jhj]rn0(j)�ro0}rp0(jXBuilding SPI examplesrq0jjh0j jŸ%jj"j}rr0(j]j]j]j]j]ujM­jhj]rs0j%XBuilding SPI examplesrt0…�ru0}rv0(jjq0jjo0ubaubj)�rw0}rx0(jUjjh0j jŸ%jjj}ry0(jX-j]j]j]j]j]ujM¯jhj]rz0j)�r{0}r|0(jXLMakefile based examples and dependent libraries can be built from the top level or module level SPI makefile, refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r}0jjw0j jŸ%jj j}r~0(j]j]j]j]j]ujNjhj]r0jX)�r€0}r�0(jj}0jj{0j jŸ%jj\j}r‚0(j]j]j]j]j]ujM¯j]rƒ0(j%X{Makefile based examples and dependent libraries can be built from the top level or module level SPI makefile, refer to the r„0…�r…0}r†0(jX{Makefile based examples and dependent libraries can be built from the top level or module level SPI makefile, refer to the jj€0ubj)�r‡0}rˆ0(jXT`Processor SDK RTOS Getting Started Guide `__j}r‰0(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj€0j]rŠ0j%X(Processor SDK RTOS Getting Started Guider‹0…�rŒ0}r�0(jUjj‡0ubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:rŽ0…�r�0}r�0(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj€0ubeubaubaubj#)�r‘0}r’0(jXÊTo build and clean libs/apps from top-level makefile: cd /packages make spi make spi_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/spi make all make cleanjjh0j jŸ%jj&j}r“0(j2j3j]j]j]j]j]ujM jhj]r”0j%XÊTo build and clean libs/apps from top-level makefile: cd /packages make spi make spi_clean To build and clean libs/apps from module-level makefile: cd /packages/ti/drv/spi make all make cleanr•0…�r–0}r—0(jUjj‘0ubaubj)�r˜0}r™0(jUjjh0j jŸ%jjj}rš0(jX-j]j]j]j]j]ujM½jhj]r›0j)�rœ0}r�0(jX2RTSC CCS project based examples are built from CCSrž0jj˜0j jŸ%jj j}rŸ0(j]j]j]j]j]ujNjhj]r 0jX)�r¡0}r¢0(jjž0jjœ0j jŸ%jj\j}r£0(j]j]j]j]j]ujM½j]r¤0j%X2RTSC CCS project based examples are built from CCSr¥0…�r¦0}r§0(jjž0jj¡0ubaubaubaubj#)�r¨0}r©0(jX¸cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] spi [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/jjh0j jŸ%jj&j}rª0(j2j3j]j]j]j]j]ujM jhj]r«0j%X¸cd /packages ./pdkProjectCreate.sh [soc] [board] [endian] spi [project type] [processor] [SECUREMODE=] Import and build CCS Project from /packages/MyExampleProjects/r¬0…�r­0}r®0(jUjj¨0ubaubeubj)�r¯0}r°0(jUjj�%j jŸ%jjj}r±0(j]j]j]j]r²0U/ospi-driver-configuration-to-support-qspi-flashr³0aj]r´0hsaujMÅjhj]rµ0(j)�r¶0}r·0(jX/OSPI Driver Configuration to support QSPI flashr¸0jj¯0j jŸ%jj"j}r¹0(j]j]j]j]j]ujMÅjhj]rº0j%X/OSPI Driver Configuration to support QSPI flashr»0…�r¼0}r½0(jj¸0jj¶0ubaubjX)�r¾0}r¿0(jX\If the board has a QSPI flash, the PDK driver needs to be updated to support the QSPI flash:rÀ0jj¯0j jŸ%jj\j}rÁ0(j]j]j]j]j]ujMÇjhj]rÂ0j%X\If the board has a QSPI flash, the PDK driver needs to be updated to support the QSPI flash:rÃ0…�rÄ0}rÅ0(jjÀ0jj¾0ubaubj)�rÆ0}rÇ0(jUjj¯0j jŸ%jjj}rÈ0(jX-j]j]j]j]j]ujMÉjhj]rÉ0j)�rÊ0}rË0(jX6Board QSPI Flash Instance Configuration in board_cfg.hrÌ0jjÆ0j jŸ%jj j}rÍ0(j]j]j]j]j]ujNjhj]rÎ0jX)�rÏ0}rÐ0(jjÌ0jjÊ0j jŸ%jj\j}rÑ0(j]j]j]j]j]ujMÉj]rÒ0j%X6Board QSPI Flash Instance Configuration in board_cfg.hrÓ0…�rÔ0}rÕ0(jjÌ0jjÏ0ubaubaubaubj#)�rÖ0}r×0(jXH#define BOARD_QSPI_NOR_INSTANCE jj¯0j jŸ%jj&j}rØ0(j2j3j]j]j]j]j]ujM( jhj]rÙ0j%XH#define BOARD_QSPI_NOR_INSTANCE rÚ0…�rÛ0}rÜ0(jUjjÖ0ubaubj)�rÝ0}rÞ0(jUjj¯0j jŸ%jjj}rß0(jX-j]j]j]j]j]ujMÎjhj]rà0j)�rá0}râ0(jXSPI SoC Driver Configurations:rã0jjÝ0j jŸ%jj j}rä0(j]j]j]j]j]ujNjhj]rå0jX)�ræ0}rç0(jjã0jjá0j jŸ%jj\j}rè0(j]j]j]j]j]ujMÎj]ré0j%XSPI SoC Driver Configurations:rê0…�rë0}rì0(jjã0jjæ0ubaubaubaubj#)�rí0}rî0(jXî... OSPI_v0_HwAttrs ospi_cfg; SPI_init(); OSPI_socGetInitCfg(BOARD_QSPI_NOR_INSTANCE, &ospi_cfg); ospi_cfg.xferLines = OSPI_XFER_LINES_QUAD; ospi_cfg.pageSize = ; ospi_cfg.devDelays[0] = ; ospi_cfg.devDelays[1] = ; ospi_cfg.devDelays[2] = ; ospi_cfg.devDelays[3] = ; ospi_cfg.rdDataCapDelay = ; OSPI_socSetInitCfg(BOARD_OSPI_NOR_INSTANCE, &ospi_cfg);jj¯0j jŸ%jj&j}rï0(j2j3j]j]j]j]j]ujM- jhj]rð0j%Xî... OSPI_v0_HwAttrs ospi_cfg; SPI_init(); OSPI_socGetInitCfg(BOARD_QSPI_NOR_INSTANCE, &ospi_cfg); ospi_cfg.xferLines = OSPI_XFER_LINES_QUAD; ospi_cfg.pageSize = ; ospi_cfg.devDelays[0] = ; ospi_cfg.devDelays[1] = ; ospi_cfg.devDelays[2] = ; ospi_cfg.devDelays[3] = ; ospi_cfg.rdDataCapDelay = ; OSPI_socSetInitCfg(BOARD_OSPI_NOR_INSTANCE, &ospi_cfg);rñ0…�rò0}ró0(jUjjí0ubaubeubj)�rô0}rõ0(jUjKjj�%j jŸ%jjj}rö0(j]r÷0Xsupport for benchmark testingrø0aj]j]j]rù0Usupport-for-benchmark-testingrú0aj]ujMájhj]rû0(j)�rü0}rý0(jXSupport for Benchmark Testingrþ0jjô0j jŸ%jj"j}rÿ0(j]j]j]j]j]ujMájhj]r1j%XSupport for Benchmark Testingr1…�r1}r1(jjþ0jjü0ubaubj¶)�r1}r1(jUjjô0j jŸ%jj¹j}r1(j]j]j]j]j]ujNjhj]r1j¼)�r1}r 1(jUj}r 1(j]j]j]j]j]UcolsKujj1j]r 1(jÁ)�r 1}r 1(jUj}r1(j]j]j]j]j]UcolwidthKujj1j]jjÅubjÁ)�r1}r1(jUj}r1(j]j]j]j]j]UcolwidthKujj1j]jjÅubjÁ)�r1}r1(jUj}r1(j]j]j]j]j]UcolwidthK)ujj1j]jjÅubjÁ)�r1}r1(jUj}r1(j]j]j]j]j]UcolwidthKujj1j]jjÅubjÁ)�r1}r1(jUj}r1(j]j]j]j]j]UcolwidthKujj1j]jjÅubjÒ)�r1}r1(jUj}r1(j]j]j]j]j]ujj1j]r1j×)�r1}r 1(jUj}r!1(j]j]j]j]j]ujj1j]r"1(jÜ)�r#1}r$1(jUj}r%1(j]j]j]j]j]ujj1j]r&1jX)�r'1}r(1(jXNamer)1jj#1j jŸ%jj\j}r*1(j]j]j]j]j]ujMäj]r+1j%XNamer,1…�r-1}r.1(jj)1jj'1ubaubajjéubjÜ)�r/1}r01(jUj}r11(j]j]j]j]j]ujj1j]r21jX)�r31}r41(jX Descriptionr51jj/1j jŸ%jj\j}r61(j]j]j]j]j]ujMäj]r71j%X Descriptionr81…�r91}r:1(jj51jj31ubaubajjéubjÜ)�r;1}r<1(jUj}r=1(j]j]j]j]j]ujj1j]r>1jX)�r?1}r@1(jXExpected ResultsrA1jj;1j jŸ%jj\j}rB1(j]j]j]j]j]ujMäj]rC1j%XExpected ResultsrD1…�rE1}rF1(jjA1jj?1ubaubajjéubjÜ)�rG1}rH1(jUj}rI1(j]j]j]j]j]ujj1j]rJ1jX)�rK1}rL1(jXSOC/Core SuppportedrM1jjG1j jŸ%jj\j}rN1(j]j]j]j]j]ujMäj]rO1j%XSOC/Core SuppportedrP1…�rQ1}rR1(jjM1jjK1ubaubajjéubjÜ)�rS1}rT1(jUj}rU1(j]j]j]j]j]ujj1j]rV1jX)�rW1}rX1(jX Build TyperY1jjS1j jŸ%jj\j}rZ1(j]j]j]j]j]ujMäj]r[1j%X Build Typer\1…�r]1}r^1(jjY1jjW1ubaubajjéubejjubajjubj)�r_1}r`1(jUj}ra1(j]j]j]j]j]ujj1j]rb1j×)�rc1}rd1(jUj}re1(j]j]j]j]j]ujj_1j]rf1(jÜ)�rg1}rh1(jUj}ri1(j]j]j]j]j]ujjc1j]rj1jX)�rk1}rl1(jXOSPI flash Test Apprm1jjg1j jŸ%jj\j}rn1(j]j]j]j]j]ujMæj]ro1j%XOSPI flash Test Apprp1…�rq1}rr1(jjm1jjk1ubaubajjéubjÜ)�rs1}rt1(jUj}ru1(j]j]j]j]j]ujjc1j]rv1jX)�rw1}rx1(jX2Test application used for performance benchmarkingry1jjs1j jŸ%jj\j}rz1(j]j]j]j]j]ujMæj]r{1j%X2Test application used for performance benchmarkingr|1…�r}1}r~1(jjy1jjw1ubaubajjéubjÜ)�r1}r€1(jUj}r�1(j]j]j]j]j]ujjc1j]r‚1(jX)�rƒ1}r„1(jX0Test application will print on the UART console:r…1jj1j jŸ%jj\j}r†1(j]j]j]j]j]ujMæj]r‡1j%X0Test application will print on the UART console:rˆ1…�r‰1}rŠ1(jj…1jjƒ1ubaubjX)�r‹1}rŒ1(jX5Board_flashWrite ### bytes at transfer rate #### Kbpsr�1jj1j jŸ%jj\j}rŽ1(j]j]j]j]j]ujMéj]r�1j%X5Board_flashWrite ### bytes at transfer rate #### Kbpsr�1…�r‘1}r’1(jj�1jj‹1ubaubjX)�r“1}r”1(jX4Board_flashRead ### bytes at transfer rate #### Mbpsr•1jj1j jŸ%jj\j}r–1(j]j]j]j]j]ujMìj]r—1j%X4Board_flashRead ### bytes at transfer rate #### Mbpsr˜1…�r™1}rš1(jj•1jj“1ubaubjX)�r›1}rœ1(jXBoard_flashWrite CPU Load %##r�1jj1j jŸ%jj\j}rž1(j]j]j]j]j]ujMïj]rŸ1j%XBoard_flashWrite CPU Load %##r 1…�r¡1}r¢1(jj�1jj›1ubaubjX)�r£1}r¤1(jXBoard_flashRead CPU Load %##r¥1jj1j jŸ%jj\j}r¦1(j]j]j]j]j]ujMñj]r§1j%XBoard_flashRead CPU Load %##r¨1…�r©1}rª1(jj¥1jj£1ubaubejjéubjÜ)�r«1}r¬1(jUj}r­1(j]j]j]j]j]ujjc1j]r®1jX)�r¯1}r°1(jX.am65xx/A53 am65xx/R5 j721e/mpu1_0 j721e/mcu1_0r±1jj«1j jŸ%jj\j}r²1(j]j]j]j]j]ujMæj]r³1j%X.am65xx/A53 am65xx/R5 j721e/mpu1_0 j721e/mcu1_0r´1…�rµ1}r¶1(jj±1jj¯1ubaubajjéubjÜ)�r·1}r¸1(jUj}r¹1(j]j]j]j]j]ujjc1j]rº1jX)�r»1}r¼1(jXmaker½1jj·1j jŸ%jj\j}r¾1(j]j]j]j]j]ujMæj]r¿1j%XmakerÀ1…�rÁ1}rÂ1(jj½1jj»1ubaubajjéubejjubajjðubejjñubaubj\)�rÃ1}rÄ1(jX1. Data transfer between DDR and OSPI flash memory, performance measurement does not include time to invalidate/write back cache 2. GTC counter (200MHz) used for throughput measurement on A53, and PMU cycle counter (400MHz) on R5 3. sysbios load moduel used for load measurement 4. Pipeline PHY enabled, DDR mode enabled in DAC mode 5. Pipeline PHY disabled, DDR mode disabled in INDAC mode with ospi clock divider of 32 6. Read/write transfer size of 1M bytes 7. Write transfer size 1M bytes with DMA chunk size of 16 bytes in DAC DMA modejjô0j Njj_j}rÅ1(j]j]j]j]j]ujNjhj]rÆ1j`)�rÇ1}rÈ1(jUj}rÉ1(jeU.j]j]j]jfUj]j]jgjhujjÃ1j]rÊ1(j)�rË1}rÌ1(jX}Data transfer between DDR and OSPI flash memory, performance measurement does not include time to invalidate/write back cacherÍ1j}rÎ1(j]j]j]j]j]ujjÇ1j]rÏ1jX)�rÐ1}rÑ1(jjÍ1jjË1j jŸ%jj\j}rÒ1(j]j]j]j]j]ujMöj]rÓ1j%X}Data transfer between DDR and OSPI flash memory, performance measurement does not include time to invalidate/write back cacherÔ1…�rÕ1}rÖ1(jjÍ1jjÐ1ubaubajj ubj)�r×1}rØ1(jXaGTC counter (200MHz) used for throughput measurement on A53, and PMU cycle counter (400MHz) on R5rÙ1j}rÚ1(j]j]j]j]j]ujjÇ1j]rÛ1jX)�rÜ1}rÝ1(jjÙ1jj×1j jŸ%jj\j}rÞ1(j]j]j]j]j]ujM÷j]rß1j%XaGTC counter (200MHz) used for throughput measurement on A53, and PMU cycle counter (400MHz) on R5rà1…�rá1}râ1(jjÙ1jjÜ1ubaubajj ubj)�rã1}rä1(jX-sysbios load moduel used for load measurementrå1j}ræ1(j]j]j]j]j]ujjÇ1j]rç1jX)�rè1}ré1(jjå1jjã1j jŸ%jj\j}rê1(j]j]j]j]j]ujMøj]rë1j%X-sysbios load moduel used for load measurementrì1…�rí1}rî1(jjå1jjè1ubaubajj ubj)�rï1}rð1(jX2Pipeline PHY enabled, DDR mode enabled in DAC moderñ1j}rò1(j]j]j]j]j]ujjÇ1j]ró1jX)�rô1}rõ1(jjñ1jjï1j jŸ%jj\j}rö1(j]j]j]j]j]ujMùj]r÷1j%X2Pipeline PHY enabled, DDR mode enabled in DAC moderø1…�rù1}rú1(jjñ1jjô1ubaubajj ubj)�rû1}rü1(jXTPipeline PHY disabled, DDR mode disabled in INDAC mode with ospi clock divider of 32rý1j}rþ1(j]j]j]j]j]ujjÇ1j]rÿ1jX)�r2}r2(jjý1jjû1j jŸ%jj\j}r2(j]j]j]j]j]ujMúj]r2j%XTPipeline PHY disabled, DDR mode disabled in INDAC mode with ospi clock divider of 32r2…�r2}r2(jjý1jj2ubaubajj ubj)�r2}r2(jX$Read/write transfer size of 1M bytesr 2j}r 2(j]j]j]j]j]ujjÇ1j]r 2jX)�r 2}r 2(jj 2jj2j jŸ%jj\j}r2(j]j]j]j]j]ujMûj]r2j%X$Read/write transfer size of 1M bytesr2…�r2}r2(jj 2jj 2ubaubajj ubj)�r2}r2(jXLWrite transfer size 1M bytes with DMA chunk size of 16 bytes in DAC DMA moder2j}r2(j]j]j]j]j]ujjÇ1j]r2jX)�r2}r2(jj2jj2j jŸ%jj\j}r2(j]j]j]j]j]ujMüj]r2j%XLWrite transfer size 1M bytes with DMA chunk size of 16 bytes in DAC DMA moder2…�r2}r2(jj2jj2ubaubajj ubejjcubaubjÁ)�r2}r 2(jUjjô0j jŸ%jjÄj}r!2(j]j]j]j]j]ujMþjhj]r"2jÇ)�r#2}r$2(jUjÊKjj2j jŸ%jjj}r%2(j]j]j]j]j]ujKjhj]ubaubeubj)�r&2}r'2(jUjKjj�%j jŸ%jjj}r(2(j]r)2Xadditional referencesr*2aj]j]j]r+2Uid53r,2aj]ujMjhj]r-2(j)�r.2}r/2(jXAdditional Referencesr02jj&2j jŸ%jj"j}r12(j]j]j]j]j]ujMjhj]r22j%XAdditional Referencesr32…�r42}r52(jj02jj.2ubaubjÁ)�r62}r72(jUjj&2j jŸ%jjÄj}r82(j]j]j]j]j]ujMjhj]r92jÇ)�r:2}r;2(jUjÊKjj62j jŸ%jjj}r<2(j]j]j]j]j]ujKjhj]ubaubeubeubj j jj?j}r=2(j]UlevelKj]j]Usourcej j]j]UlineK+UtypejXujK-jhj]r>2(jX)�r?2}r@2(jXTitle overline too short.j}rA2(j]j]j]j]j]ujj‹%j]rB2j%XTitle overline too short.rC2…�rD2}rE2(jUjj?2ubajj\ubj#)�rF2}rG2(jX'*********** McSPI-QSPI-OSPI ***********j}rH2(j2j3j]j]j]j]j]ujj‹%j]rI2j%X'*********** McSPI-QSPI-OSPI ***********rJ2…�rK2}rL2(jUjjF2ubajj&ubeubhÿ)�rM2}rN2(jUjjœ%j jŸ%jj?j}rO2(j]UlevelKj]j]rP2j¥%aUsourcejŸ%j]j]UlineKUtypejAujKjhj]rQ2jX)�rR2}rS2(jX/Duplicate implicit target name: "introduction".j}rT2(j]j]j]j]j]ujjM2j]rU2j%X/Duplicate implicit target name: "introduction".rV2…�rW2}rX2(jUjjR2ubajj\ubaubhÿ)�rY2}rZ2(jUjjü%j jŸ%jj?j}r[2(j]UlevelKj]j]r\2j&aUsourcejŸ%j]j]UlineKUtypejAujKjhj]r]2jX)�r^2}r_2(jX7Duplicate implicit target name: "driver configuration".j}r`2(j]j]j]j]j]ujjY2j]ra2j%X7Duplicate implicit target name: "driver configuration".rb2…�rc2}rd2(jUjj^2ubajj\ubaubhÿ)�re2}rf2(jUjj¤&j jŸ%jj?j}rg2(j]UlevelKj]j]rh2jª&aUsourcejŸ%j]j]UlineKEUtypejAujKEjhj]ri2jX)�rj2}rk2(jX'Duplicate implicit target name: "apis".j}rl2(j]j]j]j]j]ujje2j]rm2j%X'Duplicate implicit target name: "apis".rn2…�ro2}rp2(jUjjj2ubajj\ubaubhÿ)�rq2}rr2(jUjj¤&j jŸ%jj?j}rs2(j]UlevelKj]j]UsourcejŸ%j]j]UlineKSUtypejòujNjhj]rt2(jX)�ru2}rv2(jX@Error in "rubric" directive: 1 argument(s) required, 0 supplied.j}rw2(j]j]j]j]j]ujjq2j]rx2j%X@Error in "rubric" directive: 1 argument(s) required, 0 supplied.ry2…�rz2}r{2(jUjju2ubajj\ubj#)�r|2}r}2(jX.. rubric:: :name: section j}r~2(j2j3j]j]j]j]j]ujjq2j]r2j%X.. rubric:: :name: section r€2…�r�2}r‚2(jUjj|2ubajj&ubeubhÿ)�rƒ2}r„2(jUjjÒ&j jŸ%jj?j}r…2(j]UlevelKj]j]UsourcejŸ%j]j]UlineKsUtypejXujKrjhj]r†2jX)�r‡2}rˆ2(jX%Line block ends without a blank line.j}r‰2(j]j]j]j]j]ujjƒ2j]rŠ2j%X%Line block ends without a blank line.r‹2…�rŒ2}r�2(jUjj‡2ubajj\ubaubhÿ)�rŽ2}r�2(jUjj('j jŸ%jj?j}r�2(j]UlevelKj]j]r‘2j.'aUsourcejŸ%j]j]UlineK˜UtypejAujK˜jhj]r’2jX)�r“2}r”2(jX+Duplicate implicit target name: "examples".j}r•2(j]j]j]j]j]ujjŽ2j]r–2j%X+Duplicate implicit target name: "examples".r—2…�r˜2}r™2(jUjj“2ubajj\ubaubhÿ)�rš2}r›2(jUjj8'j jŸ%jj?j}rœ2(j]UlevelKj]j]UsourcejŸ%j]j]UlineKÛUtypejXujKÚjhj]r�2jX)�rž2}rŸ2(jX%Line block ends without a blank line.j}r 2(j]j]j]j]j]ujjš2j]r¡2j%X%Line block ends without a blank line.r¢2…�r£2}r¤2(jUjjž2ubajj\ubaubhÿ)�r¥2}r¦2(jUjj¥(j jŸ%jj?j}r§2(j]UlevelKj]j]UsourcejŸ%j]j]UlineKöUtypejXujKõjhj]r¨2jX)�r©2}rª2(jX%Line block ends without a blank line.j}r«2(j]j]j]j]j]ujj¥2j]r¬2j%X%Line block ends without a blank line.r­2…�r®2}r¯2(jUjj©2ubajj\ubaubhÿ)�r°2}r±2(jUj}r²2(j]UlevelKj]j]UsourcejŸ%j]j]UlineM9Utypejòujju,j]r³2jX)�r´2}rµ2(jXUnexpected indentation.j}r¶2(j]j]j]j]j]ujj°2j]r·2j%XUnexpected indentation.r¸2…�r¹2}rº2(jUjj´2ubajj\ubajj?ubhÿ)�r»2}r¼2(jUj}r½2(j]UlevelKj]j]UsourcejŸ%j]j]UlineM`UtypejXujjí,j]r¾2jX)�r¿2}rÀ2(jX%Line block ends without a blank line.j}rÁ2(j]j]j]j]j]ujj»2j]rÂ2j%X%Line block ends without a blank line.rÃ2…�rÄ2}rÅ2(jUjj¿2ubajj\ubajj?ubhÿ)�rÆ2}rÇ2(jUj}rÈ2(j]UlevelKj]j]UsourcejŸ%j]j]UlineMjUtypejòujjí,j]rÉ2jX)�rÊ2}rË2(jXUnexpected indentation.j}rÌ2(j]j]j]j]j]ujjÆ2j]rÍ2j%XUnexpected indentation.rÎ2…�rÏ2}rÐ2(jUjjÊ2ubajj\ubajj?ubhÿ)�rÑ2}rÒ2(jUj}rÓ2(j]UlevelKj]j]UsourcejŸ%j]j]UlineMlUtypejXujjí,j]rÔ2jX)�rÕ2}rÖ2(jX;Block quote ends without a blank line; unexpected unindent.j}r×2(j]j]j]j]j]ujjÑ2j]rØ2j%X;Block quote ends without a blank line; unexpected unindent.rÙ2…�rÚ2}rÛ2(jUjjÕ2ubajj\ubajj?ubhÿ)�rÜ2}rÝ2(jUj}rÞ2(j]UlevelKj]j]UsourcejŸ%j]j]UlineMmUtypejXujjí,j]rß2jX)�rà2}rá2(jX%Line block ends without a blank line.j}râ2(j]j]j]j]j]ujjÜ2j]rã2j%X%Line block ends without a blank line.rä2…�rå2}ræ2(jUjjà2ubajj\ubajj?ubhÿ)�rç2}rè2(jUj}ré2(j]UlevelKj]rê2jv/aj]rë2ju/aUsourcejŸ%j]j]UlineMEUtypejXujje/j]rì2jX)�rí2}rî2(jX.Inline strong start-string without end-string.j}rï2(j]j]j]j]j]ujjç2j]rð2j%X.Inline strong start-string without end-string.rñ2…�rò2}ró2(jUjjí2ubajj\ubajj?ubhÿ)�rô2}rõ2(jUj}rö2(j]UlevelKj]r÷2jƒ/aj]rø2j‚/aUsourcejŸ%j]j]UlineMEUtypejXujje/j]rù2jX)�rú2}rû2(jX.Inline strong start-string without end-string.j}rü2(j]j]j]j]j]ujjô2j]rý2j%X.Inline strong start-string without end-string.rþ2…�rÿ2}r3(jUjjú2ubajj\ubajj?ubhÿ)�r3}r3(jUj}r3(j]UlevelKj]r3j£/aj]r3j¢/aUsourcejŸ%j]j]UlineMOUtypejXujje/j]r3jX)�r3}r3(jX.Inline strong start-string without end-string.j}r 3(j]j]j]j]j]ujj3j]r 3j%X.Inline strong start-string without end-string.r 3…�r 3}r 3(jUjj3ubajj\ubajj?ubhÿ)�r3}r3(jUj}r3(j]UlevelKj]j]UsourcejŸ%j]j]UlineMSUtypejXujje/j]r3jX)�r3}r3(jX;Block quote ends without a blank line; unexpected unindent.j}r3(j]j]j]j]j]ujj3j]r3j%X;Block quote ends without a blank line; unexpected unindent.r3…�r3}r3(jUjj3ubajj\ubajj?ubhÿ)�r3}r3(jUjjh0j jŸ%jj?j}r3(j]UlevelKj]j]UsourcejŸ%j]j]UlineM°UtypejXujM¯jhj]r3jX)�r3}r3(jX;Bullet list ends without a blank line; unexpected unindent.j}r3(j]j]j]j]j]ujj3j]r 3j%X;Bullet list ends without a blank line; unexpected unindent.r!3…�r"3}r#3(jUjj3ubajj\ubaubhÿ)�r$3}r%3(jUjjh0j jŸ%jj?j}r&3(j]UlevelKj]j]UsourcejŸ%j]j]UlineM¾UtypejXujM½jhj]r'3jX)�r(3}r)3(jX;Bullet list ends without a blank line; unexpected unindent.j}r*3(j]j]j]j]j]ujj$3j]r+3j%X;Bullet list ends without a blank line; unexpected unindent.r,3…�r-3}r.3(jUjj(3ubajj\ubaubhÿ)�r/3}r03(jUjj¯0j jŸ%jj?j}r13(j]UlevelKj]j]UsourcejŸ%j]j]UlineMÊUtypejXujMÉjhj]r23jX)�r33}r43(jX;Bullet list ends without a blank line; unexpected unindent.j}r53(j]j]j]j]j]ujj/3j]r63j%X;Bullet list ends without a blank line; unexpected unindent.r73…�r83}r93(jUjj33ubajj\ubaubhÿ)�r:3}r;3(jUjj¯0j jŸ%jj?j}r<3(j]UlevelKj]j]UsourcejŸ%j]j]UlineMÏUtypejXujMÎjhj]r=3jX)�r>3}r?3(jX;Bullet list ends without a blank line; unexpected unindent.j}r@3(j]j]j]j]j]ujj:3j]rA3j%X;Bullet list ends without a blank line; unexpected unindent.rB3…�rC3}rD3(jUjj>3ubajj\ubaubhÿ)�rE3}rF3(jUjjô0j jŸ%jj?j}rG3(j]UlevelKj]j]UsourcejŸ%j]j]UlineMÿUtypejXujMþjhj]rH3jX)�rI3}rJ3(jX%Line block ends without a blank line.j}rK3(j]j]j]j]j]ujjE3j]rL3j%X%Line block ends without a blank line.rM3…�rN3}rO3(jUjjI3ubajj\ubaubhÿ)�rP3}rQ3(jUjj&2j jŸ%jj?j}rR3(j]UlevelKj]j]rS3j,2aUsourcejŸ%j]j]UlineMUtypejAujMjhj]rT3jX)�rU3}rV3(jX8Duplicate implicit target name: "additional references".j}rW3(j]j]j]j]j]ujjP3j]rX3j%X8Duplicate implicit target name: "additional references".rY3…�rZ3}r[3(jUjjU3ubajj\ubaubhÿ)�r\3}r]3(jUjj&2j jŸ%jj?j}r^3(j]UlevelKj]j]UsourcejŸ%j]j]UlineMUtypejòujM jhj]r_3(jX)�r`3}ra3(jXMalformed table.j}rb3(j]j]j]j]j]ujj\3j]rc3j%XMalformed table.rd3…�re3}rf3(jUjj`3ubajj\ubj#)�rg3}rh3(jX1+-----------------------------------+-----------------------------------+ | **Document** | **Location** | +-----------------------------------+-----------------------------------+ | API Reference Manual | $(TI_PDK_INSTALL_DIR)\packages\ti | | | \drv\spi\docs\doxygen\html\index. | | | html | +-----------------------------------+-----------------------------------+ | Release Notes | $(TI_PDK_INSTALL_DIR)\packages\ti | | | \drv\spi\docs\ReleaseNotes_SPI_LL | | git | D.pdf | +-----------------------------------+-----------------------------------+j}ri3(j2j3j]j]j]j]j]ujj\3j]rj3j%X1+-----------------------------------+-----------------------------------+ | **Document** | **Location** | +-----------------------------------+-----------------------------------+ | API Reference Manual | $(TI_PDK_INSTALL_DIR)\packages\ti | | | \drv\spi\docs\doxygen\html\index. | | | html | +-----------------------------------+-----------------------------------+ | Release Notes | $(TI_PDK_INSTALL_DIR)\packages\ti | | | \drv\spi\docs\ReleaseNotes_SPI_LL | | git | D.pdf | +-----------------------------------+-----------------------------------+rk3…�rl3}rm3(jUjjg3ubajj&ubeubhÿ)�rn3}ro3(jUjj&2j XZinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/QSPI_McSPI.rst.incrp3jj?j}rq3(j]UlevelKj]j]UsourcejŸ%j]j]UlineMUtypejòujMjhj]rr3(jX)�rs3}rt3(jX;Content block expected for the "raw" directive; none found.j}ru3(j]j]j]j]j]ujjn3j]rv3j%X;Content block expected for the "raw" directive; none found.rw3…�rx3}ry3(jUjjs3ubajj\ubj#)�rz3}r{3(jX.. raw:: html j}r|3(j2j3j]j]j]j]j]ujjn3j]r}3j%X.. raw:: html r~3…�r3}r€3(jUjjz3ubajj&ubeubhÿ)�r�3}r‚3(jUjj)�rƒ3}r„3(jUjKjj)�r…3}r†3(jUjhj j jjj}r‡3(j]j]j]j]rˆ3Uedma3r‰3aj]rŠ3h“aujK3jhj]r‹3(j)�rŒ3}r�3(jXEDMA3rŽ3jj…3j j jj"j}r�3(j]j]j]j]j]ujK3jhj]r�3j%XEDMA3r‘3…�r’3}r“3(jjŽ3jjŒ3ubaubj))�r”3}r•3(jX@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_EDMA3jj…3j j,X>source/rtos/PDK_Platform_Software/Device_Drivers/EDMA3.rst.incr–3…�r—3}r˜3bjj0j}r™3(j2j3j]j]j]j]j]ujKjhj]rš3j%X@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_EDMA3r›3…�rœ3}r�3(jUjj”3ubaubjƒ3j)�rž3}rŸ3(jUjKjj…3j j—3jjj}r 3(j]r¡3Xuser interfacer¢3aj]j]j]r£3Uid56r¤3aj]ujKjhj]r¥3(j)�r¦3}r§3(jXUser Interfacer¨3jjž3j j—3jj"j}r©3(j]j]j]j]j]ujKjhj]rª3j%XUser Interfacer«3…�r¬3}r­3(jj¨3jj¦3ubaubj)�r®3}r¯3(jUjKjjž3j j—3jjj}r°3(j]r±3Xdriver configurationr²3aj]j]j]r³3Uid57r´3aj]ujKjhj]rµ3(j)�r¶3}r·3(jXDriver Configurationr¸3jj®3j j—3jj"j}r¹3(j]j]j]j]j]ujKjhj]rº3j%XDriver Configurationr»3…�r¼3}r½3(jj¸3jj¶3ubaubjX)�r¾3}r¿3(jXWEDMA3 peripheral IP is re-used in different SoCs with only a few configuration changes:rÀ3jj®3j j—3jj\j}rÁ3(j]j]j]j]j]ujKjhj]rÂ3j%XWEDMA3 peripheral IP is re-used in different SoCs with only a few configuration changes:rÃ3…�rÄ3}rÅ3(jjÀ3jj¾3ubaubj)�rÆ3}rÇ3(jUjj®3j j—3jjj}rÈ3(jX-j]j]j]j]j]ujK jhj]rÉ3(j)�rÊ3}rË3(jX)Number of DMA and QDMA channels supportedrÌ3jjÆ3j j—3jj j}rÍ3(j]j]j]j]j]ujNjhj]rÎ3jX)�rÏ3}rÐ3(jjÌ3jjÊ3j j—3jj\j}rÑ3(j]j]j]j]j]ujK j]rÒ3j%X)Number of DMA and QDMA channels supportedrÓ3…�rÔ3}rÕ3(jjÌ3jjÏ3ubaubaubj)�rÖ3}r×3(jXNumber of PARAM sets availablerØ3jjÆ3j j—3jj j}rÙ3(j]j]j]j]j]ujNjhj]rÚ3jX)�rÛ3}rÜ3(jjØ3jjÖ3j j—3jj\j}rÝ3(j]j]j]j]j]ujK!j]rÞ3j%XNumber of PARAM sets availablerß3…�rà3}rá3(jjØ3jjÛ3ubaubaubj)�râ3}rã3(jX5Number of event queues and transfer controllers etc. jjÆ3j j—3jj j}rä3(j]j]j]j]j]ujNjhj]rå3jX)�ræ3}rç3(jX4Number of event queues and transfer controllers etc.rè3jjâ3j j—3jj\j}ré3(j]j]j]j]j]ujK"j]rê3j%X4Number of event queues and transfer controllers etc.rë3…�rì3}rí3(jjè3jjæ3ubaubaubeubjX)�rî3}rï3(jX8The EDMA3 peripheral is used by other peripherals for their DMA needs thus the EDMA3 Driver needs to cater to the requirements of device drivers of these peripherals as well as other application software that may need to use DMA services. Resources for EDMA driver is managed through RM sub module within driver.rð3jj®3j j—3jj\j}rñ3(j]j]j]j]j]ujK$jhj]rò3j%X8The EDMA3 peripheral is used by other peripherals for their DMA needs thus the EDMA3 Driver needs to cater to the requirements of device drivers of these peripherals as well as other application software that may need to use DMA services. Resources for EDMA driver is managed through RM sub module within driver.ró3…�rô3}rõ3(jjð3jjî3ubaubeubj)�rö3}r÷3(jUjKjjž3j j—3jjj}rø3(j]rù3Xapisrú3aj]j]j]rû3Uid58rü3aj]ujK+jhj]rý3(j)�rþ3}rÿ3(jXAPIsr4jjö3j j—3jj"j}r4(j]j]j]j]j]ujK+jhj]r4j%XAPIsr4…�r4}r4(jj4jjþ3ubaubjX)�r4}r4(jXAPI reference for EDMA3 driverr4jjö3j j—3jj\j}r 4(j]j]j]j]j]ujK-jhj]r 4j%XAPI reference for EDMA3 driverr 4…�r 4}r 4(jj4jj4ubaubj#)�r4}r4(jX'#include jjö3j j—3jj&j}r4(j2j3j]j]j]j]j]ujM¥ jhj]r4j%X'#include r4…�r4}r4(jUjj4ubaubjX)�r4}r4(jX1API reference for EDMA3 Resource Management layerr4jjö3j j—3jj\j}r4(j]j]j]j]j]ujK3jhj]r4j%X1API reference for EDMA3 Resource Management layerr4…�r4}r4(jj4jj4ubaubj#)�r4}r4(jX%#include jjö3j j—3jj&j}r4(j2j3j]j]j]j]j]ujM« jhj]r 4j%X%#include r!4…�r"4}r#4(jUjj4ubaubeubeubj)�r$4}r%4(jUjKjj…3j j—3jjj}r&4(j]r'4jµaj]j]j]r(4Uid59r)4aj]ujK:jhj]r*4(j)�r+4}r,4(jXFAQr-4jj$4j j—3jj"j}r.4(j]j]j]j]j]ujK:jhj]r/4j%XFAQr04…�r14}r24(jj-4jj+4ubaubjX)�r34}r44(jX$**How to debug common EDMA issues?**r54jj$4j j—3jj\j}r64(j]j]j]j]j]ujK;jhj]r74j|)�r84}r94(jj54j}r:4(j]j]j]j]j]ujj34j]r;4j%X How to debug common EDMA issues?r<4…�r=4}r>4(jUjj84ubajj„ubaubjX)�r?4}r@4(jXbPlease refer to `EDMA3 FAQ `__ for Keystone devices.jj$4j j—3jj\j}rA4(j]j]j]j]j]ujK=jhj]rB4(j%XPlease refer to rC4…�rD4}rE4(jXPlease refer to jj?4ubj)�rF4}rG4(jX<`EDMA3 FAQ `__j}rH4(UnameX EDMA3 FAQjX,http://www.ti.com/lit/an/sprac52/sprac52.pdfj]j]j]j]j]ujj?4j]rI4j%X EDMA3 FAQrJ4…�rK4}rL4(jUjjF4ubajjubj%X for Keystone devices.rM4…�rN4}rO4(jX for Keystone devices.jj?4ubeubeubj)�rP4}rQ4(jUjKjj…3j j—3jjj}rR4(j]rS4Xadditional referencesrT4aj]j]j]rU4Uid60rV4aj]ujKCjhj]rW4(j)�rX4}rY4(jXAdditional ReferencesrZ4jjP4j j—3jj"j}r[4(j]j]j]j]j]ujKCjhj]r\4j%XAdditional Referencesr]4…�r^4}r_4(jjZ4jjX4ubaubj¶)�r`4}ra4(jUjjP4j j—3jj¹j}rb4(j]j]j]j]j]ujNjhj]rc4j¼)�rd4}re4(jUj}rf4(j]j]j]j]j]UcolsKujj`4j]rg4(jÁ)�rh4}ri4(jUj}rj4(j]j]j]j]j]UcolwidthKujjd4j]jjÅubjÁ)�rk4}rl4(jUj}rm4(j]j]j]j]j]UcolwidthK/ujjd4j]jjÅubjÒ)�rn4}ro4(jUj}rp4(j]j]j]j]j]ujjd4j]rq4j×)�rr4}rs4(jUj}rt4(j]j]j]j]j]ujjn4j]ru4jÜ)�rv4}rw4(jUj}rx4(j]UmorecolsKj]j]j]j]ujjr4j]ry4jX)�rz4}r{4(jXEDMA3 Driver Summaryr|4jjv4j j—3jj\j}r}4(j]j]j]j]j]ujKFj]r~4j%XEDMA3 Driver Summaryr4…�r€4}r�4(jj|4jjz4ubaubajjéubajjubajjubj)�r‚4}rƒ4(jUj}r„4(j]j]j]j]j]ujjd4j]r…4(j×)�r†4}r‡4(jUj}rˆ4(j]j]j]j]j]ujj‚4j]r‰4(jÜ)�rŠ4}r‹4(jUj}rŒ4(j]j]j]j]j]ujj†4j]r�4jX)�rŽ4}r�4(jXComponent Typer�4jjŠ4j j—3jj\j}r‘4(j]j]j]j]j]ujKHj]r’4j%XComponent Typer“4…�r”4}r•4(jj�4jjŽ4ubaubajjéubjÜ)�r–4}r—4(jUj}r˜4(j]j]j]j]j]ujj†4j]r™4jX)�rš4}r›4(jXLibraryrœ4jj–4j j—3jj\j}r�4(j]j]j]j]j]ujKHj]rž4j%XLibraryrŸ4…�r 4}r¡4(jjœ4jjš4ubaubajjéubejjubj×)�r¢4}r£4(jUj}r¤4(j]j]j]j]j]ujj‚4j]r¥4(jÜ)�r¦4}r§4(jUj}r¨4(j]j]j]j]j]ujj¢4j]r©4jX)�rª4}r«4(jXInstall Packager¬4jj¦4j j—3jj\j}r­4(j]j]j]j]j]ujKKj]r®4j%XInstall Packager¯4…�r°4}r±4(jj¬4jjª4ubaubajjéubjÜ)�r²4}r³4(jUj}r´4(j]j]j]j]j]ujj¢4j]rµ4jX)�r¶4}r·4(jXEDMA3 Low level driversr¸4jj²4j j—3jj\j}r¹4(j]j]j]j]j]ujKKj]rº4j%XEDMA3 Low level driversr»4…�r¼4}r½4(jj¸4jj¶4ubaubajjéubejjubj×)�r¾4}r¿4(jUj}rÀ4(j]j]j]j]j]ujj‚4j]rÁ4(jÜ)�rÂ4}rÃ4(jUj}rÄ4(j]j]j]j]j]ujj¾4j]rÅ4jX)�rÆ4}rÇ4(jXInstall DirectoryrÈ4jjÂ4j j—3jj\j}rÉ4(j]j]j]j]j]ujKNj]rÊ4j%XInstall DirectoryrË4…�rÌ4}rÍ4(jjÈ4jjÆ4ubaubajjéubjÜ)�rÎ4}rÏ4(jUj}rÐ4(j]j]j]j]j]ujj¾4j]rÑ4jX)�rÒ4}rÓ4(jX(/edma3_lld_xx_xx_xx_xxrÔ4jjÎ4j j—3jj\j}rÕ4(j]j]j]j]j]ujKNj]rÖ4j%X(/edma3_lld_xx_xx_xx_xxr×4…�rØ4}rÙ4(jjÔ4jjÒ4ubaubajjéubejjubj×)�rÚ4}rÛ4(jUj}rÜ4(j]j]j]j]j]ujj‚4j]rÝ4(jÜ)�rÞ4}rß4(jUj}rà4(j]j]j]j]j]ujjÚ4j]rá4jX)�râ4}rã4(jX Project Typerä4jjÞ4j j—3jj\j}rå4(j]j]j]j]j]ujKQj]ræ4j%X Project Typerç4…�rè4}ré4(jjä4jjâ4ubaubajjéubjÜ)�rê4}rë4(jUj}rì4(j]j]j]j]j]ujjÚ4j]rí4jX)�rî4}rï4(jXN/Arð4jjê4j j—3jj\j}rñ4(j]j]j]j]j]ujKQj]rò4j%XN/Aró4…�rô4}rõ4(jjð4jjî4ubaubajjéubejjubj×)�rö4}r÷4(jUj}rø4(j]j]j]j]j]ujj‚4j]rù4(jÜ)�rú4}rû4(jUj}rü4(j]j]j]j]j]ujjö4j]rý4jX)�rþ4}rÿ4(jXEndian Supportr5jjú4j j—3jj\j}r5(j]j]j]j]j]ujKTj]r5j%XEndian Supportr5…�r5}r5(jj5jjþ4ubaubajjéubjÜ)�r5}r5(jUj}r5(j]j]j]j]j]ujjö4j]r 5jX)�r 5}r 5(jXLittle and Bigr 5jj5j j—3jj\j}r 5(j]j]j]j]j]ujKTj]r5j%XLittle and Bigr5…�r5}r5(jj 5jj 5ubaubajjéubejjubj×)�r5}r5(jUj}r5(j]j]j]j]j]ujj‚4j]r5(jÜ)�r5}r5(jUj}r5(j]j]j]j]j]ujj5j]r5jX)�r5}r5(jX Library Namer5jj5j j—3jj\j}r5(j]j]j]j]j]ujKWj]r5j%X Library Namer5…�r 5}r!5(jj5jj5ubaubajjéubjÜ)�r"5}r#5(jUj}r$5(j]j]j]j]j]ujj5j]r%5jX)�r&5}r'5(jXyedma3_lld_drv.ae66 (little endian), edma3_lld_drv.ae66e (big endian), edma3_lld_drv.aa15fg (A15), edma3_lld_drv.aem4 (M4)r(5jj"5j j—3jj\j}r)5(j]j]j]j]j]ujKWj]r*5j%Xyedma3_lld_drv.ae66 (little endian), edma3_lld_drv.ae66e (big endian), edma3_lld_drv.aa15fg (A15), edma3_lld_drv.aem4 (M4)r+5…�r,5}r-5(jj(5jj&5ubaubajjéubejjubj×)�r.5}r/5(jUj}r05(j]j]j]j]j]ujj‚4j]r15(jÜ)�r25}r35(jUj}r45(j]j]j]j]j]ujj.5j]r55jX)�r65}r75(jX Linker Pathr85jj25j j—3jj\j}r95(j]j]j]j]j]ujK]j]r:5j%X Linker Pathr;5…�r<5}r=5(jj85jj65ubaubajjéubjÜ)�r>5}r?5(jUj}r@5(j]j]j]j]j]ujj.5j]rA5jX)�rB5}rC5(jX< rD5jj>5j j—3jj\j}rE5(j]j]j]j]j]ujK]j]rF5j%X< rG5…�rH5}rI5(jjD5jjB5ubaubajjéubejjubj×)�rJ5}rK5(jUj}rL5(j]j]j]j]j]ujj‚4j]rM5(jÜ)�rN5}rO5(jUj}rP5(j]j]j]j]j]ujjJ5j]rQ5jX)�rR5}rS5(jX Include PathsrT5jjN5j j—3jj\j}rU5(j]j]j]j]j]ujKaj]rV5j%X Include PathsrW5…�rX5}rY5(jjT5jjR5ubaubajjéubjÜ)�rZ5}r[5(jUj}r\5(j]j]j]j]j]ujjJ5j]r]5jX)�r^5}r_5(jX$ r`5jjZ5j j—3jj\j}ra5(j]j]j]j]j]ujKaj]rb5j%X$ rc5…�rd5}re5(jj`5jj^5ubaubajjéubejjubj×)�rf5}rg5(jUj}rh5(j]j]j]j]j]ujj‚4j]ri5(jÜ)�rj5}rk5(jUj}rl5(j]j]j]j]j]ujjf5j]rm5jX)�rn5}ro5(jXReference Guidesrp5jjj5j j—3jj\j}rq5(j]j]j]j]j]ujKej]rr5j%XReference Guidesrs5…�rt5}ru5(jjp5jjn5ubaubajjéubjÜ)�rv5}rw5(jUj}rx5(j]j]j]j]j]ujjf5j]ry5jX)�rz5}r{5(jX See docs under install directoryr|5jjv5j j—3jj\j}r}5(j]j]j]j]j]ujKej]r~5j%X See docs under install directoryr5…�r€5}r�5(jj|5jjz5ubaubajjéubejjubj×)�r‚5}rƒ5(jUj}r„5(j]j]j]j]j]ujj‚4j]r…5(jÜ)�r†5}r‡5(jUj}rˆ5(j]j]j]j]j]ujj‚5j]r‰5jX)�rŠ5}r‹5(jXAdditional ResourcesrŒ5jj†5j j—3jj\j}r�5(j]j]j]j]j]ujKhj]rŽ5j%XAdditional Resourcesr�5…�r�5}r‘5(jjŒ5jjŠ5ubaubajjéubjÜ)�r’5}r“5(jUj}r”5(j]j]j]j]j]ujj‚5j]r•5jX)�r–5}r—5(jX6Programming the EDMA3 using the Low-Level Driver (LLD)r˜5jj’5j j—3jj\j}r™5(j]j]j]j]j]ujKhj]rš5j%X6Programming the EDMA3 using the Low-Level Driver (LLD)r›5…�rœ5}r�5(jj˜5jj–5ubaubajjéubejjubj×)�rž5}rŸ5(jUj}r 5(j]j]j]j]j]ujj‚4j]r¡5(jÜ)�r¢5}r£5(jUj}r¤5(j]j]j]j]j]ujjž5j]r¥5jX)�r¦5}r§5(jXLicenser¨5jj¢5j j—3jj\j}r©5(j]j]j]j]j]ujKlj]rª5j%XLicenser«5…�r¬5}r­5(jj¨5jj¦5ubaubajjéubjÜ)�r®5}r¯5(jUj}r°5(j]j]j]j]j]ujjž5j]r±5jX)�r²5}r³5(jXBSDr´5jj®5j j—3jj\j}rµ5(j]j]j]j]j]ujKlj]r¶5j%XBSDr·5…�r¸5}r¹5(jj´5jj²5ubaubajjéubejjubejjðubejjñubaubjb)�rº5}r»5(jXEDMA3 sample libsr¼5jjP4j j—3jjfj}r½5(j]r¾5Uedma3-sample-libsr¿5aj]j]j]j]rÀ5h/aujNjhj]rÁ5j%XEDMA3 sample libsrÂ5…�rÃ5}rÄ5(jj¼5jjº5ubaubj¶)�rÅ5}rÆ5(jUjjP4j j—3jj¹j}rÇ5(j]j]j]j]j]ujNjhj]rÈ5j¼)�rÉ5}rÊ5(jUj}rË5(j]j]j]j]j]UcolsKujjÅ5j]rÌ5(jÁ)�rÍ5}rÎ5(jUj}rÏ5(j]j]j]j]j]UcolwidthKujjÉ5j]jjÅubjÁ)�rÐ5}rÑ5(jUj}rÒ5(j]j]j]j]j]UcolwidthK/ujjÉ5j]jjÅubjÒ)�rÓ5}rÔ5(jUj}rÕ5(j]j]j]j]j]ujjÉ5j]rÖ5j×)�r×5}rØ5(jUj}rÙ5(j]j]j]j]j]ujjÓ5j]rÚ5jÜ)�rÛ5}rÜ5(jUj}rÝ5(j]UmorecolsKj]j]j]j]ujj×5j]rÞ5jX)�rß5}rà5(jXEDMA3 Driver Sample Summaryrá5jjÛ5j j—3jj\j}râ5(j]j]j]j]j]ujKtj]rã5j%XEDMA3 Driver Sample Summaryrä5…�rå5}ræ5(jjá5jjß5ubaubajjéubajjubajjubj)�rç5}rè5(jUj}ré5(j]j]j]j]j]ujjÉ5j]rê5(j×)�rë5}rì5(jUj}rí5(j]j]j]j]j]ujjç5j]rî5(jÜ)�rï5}rð5(jUj}rñ5(j]j]j]j]j]ujjë5j]rò5jX)�ró5}rô5(jXComponent Typerõ5jjï5j j—3jj\j}rö5(j]j]j]j]j]ujKvj]r÷5j%XComponent Typerø5…�rù5}rú5(jjõ5jjó5ubaubajjéubjÜ)�rû5}rü5(jUj}rý5(j]j]j]j]j]ujjë5j]rþ5jX)�rÿ5}r6(jXLibraryr6jjû5j j—3jj\j}r6(j]j]j]j]j]ujKvj]r6j%XLibraryr6…�r6}r6(jj6jjÿ5ubaubajjéubejjubj×)�r6}r6(jUj}r 6(j]j]j]j]j]ujjç5j]r 6(jÜ)�r 6}r 6(jUj}r 6(j]j]j]j]j]ujj6j]r6jX)�r6}r6(jXInstall Packager6jj 6j j—3jj\j}r6(j]j]j]j]j]ujKyj]r6j%XInstall Packager6…�r6}r6(jj6jj6ubaubajjéubjÜ)�r6}r6(jUj}r6(j]j]j]j]j]ujj6j]r6jX)�r6}r6(jXEDMA3 Low level driversr6jj6j j—3jj\j}r6(j]j]j]j]j]ujKyj]r6j%XEDMA3 Low level driversr 6…�r!6}r"6(jj6jj6ubaubajjéubejjubj×)�r#6}r$6(jUj}r%6(j]j]j]j]j]ujjç5j]r&6(jÜ)�r'6}r(6(jUj}r)6(j]j]j]j]j]ujj#6j]r*6jX)�r+6}r,6(jXInstall Directoryr-6jj'6j j—3jj\j}r.6(j]j]j]j]j]ujK|j]r/6j%XInstall Directoryr06…�r16}r26(jj-6jj+6ubaubajjéubjÜ)�r36}r46(jUj}r56(j]j]j]j]j]ujj#6j]r66jX)�r76}r86(jX(/edma3_lld_xx_xx_xx_xxr96jj36j j—3jj\j}r:6(j]j]j]j]j]ujK|j]r;6j%X(/edma3_lld_xx_xx_xx_xxr<6…�r=6}r>6(jj96jj76ubaubajjéubejjubj×)�r?6}r@6(jUj}rA6(j]j]j]j]j]ujjç5j]rB6(jÜ)�rC6}rD6(jUj}rE6(j]j]j]j]j]ujj?6j]rF6jX)�rG6}rH6(jX Project TyperI6jjC6j j—3jj\j}rJ6(j]j]j]j]j]ujKj]rK6j%X Project TyperL6…�rM6}rN6(jjI6jjG6ubaubajjéubjÜ)�rO6}rP6(jUj}rQ6(j]j]j]j]j]ujj?6j]rR6jX)�rS6}rT6(jXN/ArU6jjO6j j—3jj\j}rV6(j]j]j]j]j]ujKj]rW6j%XN/ArX6…�rY6}rZ6(jjU6jjS6ubaubajjéubejjubj×)�r[6}r\6(jUj}r]6(j]j]j]j]j]ujjç5j]r^6(jÜ)�r_6}r`6(jUj}ra6(j]j]j]j]j]ujj[6j]rb6jX)�rc6}rd6(jXEndian Supportre6jj_6j j—3jj\j}rf6(j]j]j]j]j]ujK‚j]rg6j%XEndian Supportrh6…�ri6}rj6(jje6jjc6ubaubajjéubjÜ)�rk6}rl6(jUj}rm6(j]j]j]j]j]ujj[6j]rn6jX)�ro6}rp6(jXLittle and Bigrq6jjk6j j—3jj\j}rr6(j]j]j]j]j]ujK‚j]rs6j%XLittle and Bigrt6…�ru6}rv6(jjq6jjo6ubaubajjéubejjubj×)�rw6}rx6(jUj}ry6(j]j]j]j]j]ujjç5j]rz6(jÜ)�r{6}r|6(jUj}r}6(j]j]j]j]j]ujjw6j]r~6jX)�r6}r€6(jX Library Namer�6jj{6j j—3jj\j}r‚6(j]j]j]j]j]ujK…j]rƒ6j%X Library Namer„6…�r…6}r†6(jj�6jj6ubaubajjéubjÜ)�r‡6}rˆ6(jUj}r‰6(j]j]j]j]j]ujjw6j]rŠ6(jX)�r‹6}rŒ6(jX•edma3_lld_drv_sample.ae66 (little endian), edma3_lld_drv_sample.ae66e (big endian), edma3_lld_drv_sample.aa15fg (A15), edma3_lld_drv_sample.aem4 (M4)r�6jj‡6j j—3jj\j}rŽ6(j]j]j]j]j]ujK…j]r�6j%X•edma3_lld_drv_sample.ae66 (little endian), edma3_lld_drv_sample.ae66e (big endian), edma3_lld_drv_sample.aa15fg (A15), edma3_lld_drv_sample.aem4 (M4)r�6…�r‘6}r’6(jj�6jj‹6ubaubjX)�r“6}r”6(jX‘edma3_lld_rm_sample.ae66 (little endian), edma3_lld_rm_sample.ae66e (big endian), edma3_lld_rm_sample.aa15fg (A15), edma3_lld_rm_sample.aem4 (M4)r•6jj‡6j j—3jj\j}r–6(j]j]j]j]j]ujKŠj]r—6j%X‘edma3_lld_rm_sample.ae66 (little endian), edma3_lld_rm_sample.ae66e (big endian), edma3_lld_rm_sample.aa15fg (A15), edma3_lld_rm_sample.aem4 (M4)r˜6…�r™6}rš6(jj•6jj“6ubaubejjéubejjubj×)�r›6}rœ6(jUj}r�6(j]j]j]j]j]ujjç5j]rž6(jÜ)�rŸ6}r 6(jUj}r¡6(j]j]j]j]j]ujj›6j]r¢6jX)�r£6}r¤6(jX Linker Pathr¥6jjŸ6j j—3jj\j}r¦6(j]j]j]j]j]ujK�j]r§6j%X Linker Pathr¨6…�r©6}rª6(jj¥6jj£6ubaubajjéubjÜ)�r«6}r¬6(jUj}r­6(j]j]j]j]j]ujj›6j]r®6jX)�r¯6}r°6(jXZ r±6jj«6j j—3jj\j}r²6(j]j]j]j]j]ujK�j]r³6j%XZ r´6…�rµ6}r¶6(jj±6jj¯6ubaubajjéubejjubj×)�r·6}r¸6(jUj}r¹6(j]j]j]j]j]ujjç5j]rº6(jÜ)�r»6}r¼6(jUj}r½6(j]j]j]j]j]ujj·6j]r¾6jX)�r¿6}rÀ6(jX Include PathsrÁ6jj»6j j—3jj\j}rÂ6(j]j]j]j]j]ujK”j]rÃ6j%X Include PathsrÄ6…�rÅ6}rÆ6(jjÁ6jj¿6ubaubajjéubjÜ)�rÇ6}rÈ6(jUj}rÉ6(j]j]j]j]j]ujj·6j]rÊ6jX)�rË6}rÌ6(jX$ rÍ6jjÇ6j j—3jj\j}rÎ6(j]j]j]j]j]ujK”j]rÏ6j%X$ rÐ6…�rÑ6}rÒ6(jjÍ6jjË6ubaubajjéubejjubj×)�rÓ6}rÔ6(jUj}rÕ6(j]j]j]j]j]ujjç5j]rÖ6(jÜ)�r×6}rØ6(jUj}rÙ6(j]j]j]j]j]ujjÓ6j]rÚ6jX)�rÛ6}rÜ6(jXReference GuidesrÝ6jj×6j j—3jj\j}rÞ6(j]j]j]j]j]ujK˜j]rß6j%XReference Guidesrà6…�rá6}râ6(jjÝ6jjÛ6ubaubajjéubjÜ)�rã6}rä6(jUj}rå6(j]j]j]j]j]ujjÓ6j]ræ6jX)�rç6}rè6(jX See docs under install directoryré6jjã6j j—3jj\j}rê6(j]j]j]j]j]ujK˜j]rë6j%X See docs under install directoryrì6…�rí6}rî6(jjé6jjç6ubaubajjéubejjubj×)�rï6}rð6(jUj}rñ6(j]j]j]j]j]ujjç5j]rò6(jÜ)�ró6}rô6(jUj}rõ6(j]j]j]j]j]ujjï6j]rö6jX)�r÷6}rø6(jXAdditional Resourcesrù6jjó6j j—3jj\j}rú6(j]j]j]j]j]ujK›j]rû6j%XAdditional Resourcesrü6…�rý6}rþ6(jjù6jj÷6ubaubajjéubjÜ)�rÿ6}r7(jUj}r7(j]j]j]j]j]ujjï6j]r7jX)�r7}r7(jX6Programming the EDMA3 using the Low-Level Driver (LLD)r7jjÿ6j j—3jj\j}r7(j]j]j]j]j]ujK›j]r7j%X6Programming the EDMA3 using the Low-Level Driver (LLD)r7…�r 7}r 7(jj7jj7ubaubajjéubejjubj×)�r 7}r 7(jUj}r 7(j]j]j]j]j]ujjç5j]r7(jÜ)�r7}r7(jUj}r7(j]j]j]j]j]ujj 7j]r7jX)�r7}r7(jXLicenser7jj7j j—3jj\j}r7(j]j]j]j]j]ujKŸj]r7j%XLicenser7…�r7}r7(jj7jj7ubaubajjéubjÜ)�r7}r7(jUj}r7(j]j]j]j]j]ujj 7j]r7jX)�r7}r 7(jXBSDr!7jj7j j—3jj\j}r"7(j]j]j]j]j]ujKŸj]r#7j%XBSDr$7…�r%7}r&7(jj!7jj7ubaubajjéubejjubejjðubejjñubaubjÁ)�r'7}r(7(jUjjP4j j—3jjÄj}r)7(j]j]j]j]j]ujK£jhj]r*7jÇ)�r+7}r,7(jUjÊKjj'7j j—3jjj}r-7(j]j]j]j]j]ujKjhj]ubaubeubeubj j—3jjj}r.7(j]r/7Xoverviewr07aj]j]j]r17Uid54r27aj]ujKjhj]r37(j)�r47}r57(jXOverviewr67jjƒ3j j—3jj"j}r77(j]j]j]j]j]ujKjhj]r87j%XOverviewr97…�r:7}r;7(jj67jj47ubaubj)�r<7}r=7(jUjKjjƒ3j j—3jjj}r>7(j]r?7X introductionr@7aj]j]j]rA7Uid55rB7aj]ujKjhj]rC7(j)�rD7}rE7(jX IntroductionrF7jj<7j j—3jj"j}rG7(j]j]j]j]j]ujKjhj]rH7j%X IntroductionrI7…�rJ7}rK7(jjF7jjD7ubaubjX)�rL7}rM7(jX�EDMA3 Low Level Driver is targeted to device drivers and applications for submitting and synchronizing EDMA3-based DMA transfers.rN7jj<7j j—3jj\j}rO7(j]j]j]j]j]ujK jhj]rP7j%X�EDMA3 Low Level Driver is targeted to device drivers and applications for submitting and synchronizing EDMA3-based DMA transfers.rQ7…�rR7}rS7(jjN7jjL7ubaubjX)�rT7}rU7(jX’EDMA3 is a peripheral that supports data transfers between two memory mapped devices. It supports EDMA as well as QDMA channels for data transfer.rV7jj<7j j—3jj\j}rW7(j]j]j]j]j]ujK jhj]rX7j%X’EDMA3 is a peripheral that supports data transfers between two memory mapped devices. It supports EDMA as well as QDMA channels for data transfer.rY7…�rZ7}r[7(jjV7jjT7ubaubjX)�r\7}r]7(jX–The EDMA3 LLD consists of an EDMA3 Driver and EDMA3 Resource Manager. The **EDMA3 Driver** provides functionality that allows device drivers and applications for submitting and synchronizing with EDMA3 based DMA transfers. In order to simplify the usage, this component internally uses the services of the **EDMA3 Resource Manager** and provides one consistent interface for applications or device drivers.jj<7j j—3jj\j}r^7(j]j]j]j]j]ujKjhj]r_7(j%XJThe EDMA3 LLD consists of an EDMA3 Driver and EDMA3 Resource Manager. The r`7…�ra7}rb7(jXJThe EDMA3 LLD consists of an EDMA3 Driver and EDMA3 Resource Manager. The jj\7ubj|)�rc7}rd7(jX**EDMA3 Driver**j}re7(j]j]j]j]j]ujj\7j]rf7j%X EDMA3 Driverrg7…�rh7}ri7(jUjjc7ubajj„ubj%XØ provides functionality that allows device drivers and applications for submitting and synchronizing with EDMA3 based DMA transfers. In order to simplify the usage, this component internally uses the services of the rj7…�rk7}rl7(jXØ provides functionality that allows device drivers and applications for submitting and synchronizing with EDMA3 based DMA transfers. In order to simplify the usage, this component internally uses the services of the jj\7ubj|)�rm7}rn7(jX**EDMA3 Resource Manager**j}ro7(j]j]j]j]j]ujj\7j]rp7j%XEDMA3 Resource Managerrq7…�rr7}rs7(jUjjm7ubajj„ubj%XJ and provides one consistent interface for applications or device drivers.rt7…�ru7}rv7(jXJ and provides one consistent interface for applications or device drivers.jj\7ubeubeubeubj j—3jj?j}rw7(j]UlevelKj]j]rx7j27aUsourcej—3j]j]UlineKUtypejAujKjhj]ry7jX)�rz7}r{7(jX+Duplicate implicit target name: "overview".j}r|7(j]j]j]j]j]ujj�3j]r}7j%X+Duplicate implicit target name: "overview".r~7…�r7}r€7(jUjjz7ubajj\ubaubhÿ)�r�7}r‚7(jUjj<7j j—3jj?j}rƒ7(j]UlevelKj]j]r„7jB7aUsourcej—3j]j]UlineKUtypejAujKjhj]r…7jX)�r†7}r‡7(jX/Duplicate implicit target name: "introduction".j}rˆ7(j]j]j]j]j]ujj�7j]r‰7j%X/Duplicate implicit target name: "introduction".rŠ7…�r‹7}rŒ7(jUjj†7ubajj\ubaubhÿ)�r�7}rŽ7(jUjjž3j j—3jj?j}r�7(j]UlevelKj]j]r�7j¤3aUsourcej—3j]j]UlineKUtypejAujKjhj]r‘7jX)�r’7}r“7(jX1Duplicate implicit target name: "user interface".j}r”7(j]j]j]j]j]ujj�7j]r•7j%X1Duplicate implicit target name: "user interface".r–7…�r—7}r˜7(jUjj’7ubajj\ubaubhÿ)�r™7}rš7(jUjj®3j j—3jj?j}r›7(j]UlevelKj]j]rœ7j´3aUsourcej—3j]j]UlineKUtypejAujKjhj]r�7jX)�rž7}rŸ7(jX7Duplicate implicit target name: "driver configuration".j}r 7(j]j]j]j]j]ujj™7j]r¡7j%X7Duplicate implicit target name: "driver configuration".r¢7…�r£7}r¤7(jUjjž7ubajj\ubaubhÿ)�r¥7}r¦7(jUjjö3j j—3jj?j}r§7(j]UlevelKj]j]r¨7jü3aUsourcej—3j]j]UlineK+UtypejAujK+jhj]r©7jX)�rª7}r«7(jX'Duplicate implicit target name: "apis".j}r¬7(j]j]j]j]j]ujj¥7j]r­7j%X'Duplicate implicit target name: "apis".r®7…�r¯7}r°7(jUjjª7ubajj\ubaubhÿ)�r±7}r²7(jUjj$4j j—3jj?j}r³7(j]UlevelKj]j]r´7j)4aUsourcej—3j]j]UlineK:UtypejAujK:jhj]rµ7jX)�r¶7}r·7(jX&Duplicate implicit target name: "faq".j}r¸7(j]j]j]j]j]ujj±7j]r¹7j%X&Duplicate implicit target name: "faq".rº7…�r»7}r¼7(jUjj¶7ubajj\ubaubhÿ)�r½7}r¾7(jUjjP4j j—3jj?j}r¿7(j]UlevelKj]j]rÀ7jV4aUsourcej—3j]j]UlineKCUtypejAujKCjhj]rÁ7jX)�rÂ7}rÃ7(jX8Duplicate implicit target name: "additional references".j}rÄ7(j]j]j]j]j]ujj½7j]rÅ7j%X8Duplicate implicit target name: "additional references".rÆ7…�rÇ7}rÈ7(jUjjÂ7ubajj\ubaubhÿ)�rÉ7}rÊ7(jUjj)�rË7}rÌ7(jUjKjj)�rÍ7}rÎ7(jUjhj j jjj}rÏ7(j]j]j]j]rÐ7U icss-emacrÑ7aj]rÒ7hFaujK9jhj]rÓ7(j)�rÔ7}rÕ7(jX ICSS-EMACrÖ7jjÍ7j j jj"j}r×7(j]j]j]j]j]ujK9jhj]rØ7j%X ICSS-EMACrÙ7…�rÚ7}rÛ7(jjÖ7jjÔ7ubaubjË7j)�rÜ7}rÝ7(jUjKjjÍ7j j,XIsource/rtos/PDK_Platform_Software/Device_Drivers/ICSS_EMAC_LLD_FW.rst.incrÞ7…�rß7}rà7bjjj}rá7(j]râ7Xuser interfacerã7aj]j]j]rä7Uid62rå7aj]ujK/jhj]ræ7(j)�rç7}rè7(jXUser Interfaceré7jjÜ7j jß7jj"j}rê7(j]j]j]j]j]ujK/jhj]rë7j%XUser Interfacerì7…�rí7}rî7(jjé7jjç7ubaubj)�rï7}rð7(jUjKjjÜ7j jß7jjj}rñ7(j]rò7Xdriver configurationró7aj]j]j]rô7Uid63rõ7aj]ujK2jhj]rö7(j)�r÷7}rø7(jXDriver Configurationrù7jjï7j jß7jj"j}rú7(j]j]j]j]j]ujK2jhj]rû7j%XDriver Configurationrü7…�rý7}rþ7(jjù7jj÷7ubaubjÁ)�rÿ7}r8(jUjjï7j jß7jjÄj}r8(j]j]j]j]j]ujK4jhj]r8(jÇ)�r8}r8(jX **Board Specific Configuration**r8jÊKjjÿ7j jß7jjj}r8(j]j]j]j]j]ujK4jhj]r8j|)�r8}r 8(jj8j}r 8(j]j]j]j]j]ujj8j]r 8j%XBoard Specific Configurationr 8…�r 8}r8(jUjj8ubajj„ubaubjÇ)�r8}r8(jXÏAll the board specific configurations eg: enabling clock and pin-mux for GPIO/MDIP/IEP pins should be performed before calling any driver APIs. By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer `Processor SDK RTOS Board Support `__ for additional details.Once board specific configuration is complete driver APIS can be invoked.jÊKjjÿ7j jß7jjj}r8(j]j]j]j]j]ujK`__j}r8(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujj8j]r8j%X Processor SDK RTOS Board Supportr8…�r8}r8(jUjj8ubajjubj%Xa for additional details.Once board specific configuration is complete driver APIS can be invoked.r8…�r8}r8(jXa for additional details.Once board specific configuration is complete driver APIS can be invoked.jj8ubeubeubjÁ)�r 8}r!8(jUjjï7j jß7jjÄj}r"8(j]j]j]j]j]ujK>jhj]r#8(jÇ)�r$8}r%8(jUjÊKjj 8j jß7jjj}r&8(j]j]j]j]j]ujKjhj]ubjÇ)�r'8}r(8(jX%**ICSS_EMAC Configuration Structure**r)8jÊKjj 8j jß7jjj}r*8(j]j]j]j]j]ujK?jhj]r+8j|)�r,8}r-8(jj)8j}r.8(j]j]j]j]j]ujj'8j]r/8j%X!ICSS_EMAC Configuration Structurer08…�r18}r28(jUjj,8ubajj„ubaubjÇ)�r38}r48(jXThe icss_emacSoc.c file contains the declaration of the hardware attributes corresponding to the ICSS_EMAC subsystem. Hardware attributes includes base address of various sub-subsystems required by the the ICSS_EMAC LLD. This configuration is required and needs to be passed in as part of the ICSS_EMAC Handle when calling the icss_emacInit API. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\icss_emac\\docs\\doxygen\\html\\index.html.jÊKjj 8j jß7jjj}r58(j]j]j]j]j]ujKGjhj]r68j%XøThe icss_emacSoc.c file contains the declaration of the hardware attributes corresponding to the ICSS_EMAC subsystem. Hardware attributes includes base address of various sub-subsystems required by the the ICSS_EMAC LLD. This configuration is required and needs to be passed in as part of the ICSS_EMAC Handle when calling the icss_emacInit API. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\icss_emac\docs\doxygen\html\index.html.r78…�r88}r98(jXThe icss_emacSoc.c file contains the declaration of the hardware attributes corresponding to the ICSS_EMAC subsystem. Hardware attributes includes base address of various sub-subsystems required by the the ICSS_EMAC LLD. This configuration is required and needs to be passed in as part of the ICSS_EMAC Handle when calling the icss_emacInit API. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\icss_emac\\docs\\doxygen\\html\\index.html.jj38ubaubeubjÁ)�r:8}r;8(jUjjï7j jß7jjÄj}r<8(j]j]j]j]j]ujKIjhj]r=8jÇ)�r>8}r?8(jUjÊKjj:8j jß7jjj}r@8(j]j]j]j]j]ujKjhj]ubaubeubj)�rA8}rB8(jUjKjjÜ7j jß7jjj}rC8(j]rD8XapisrE8aj]j]j]rF8Uid64rG8aj]ujKLjhj]rH8(j)�rI8}rJ8(jXAPIsrK8jjA8j jß7jj"j}rL8(j]j]j]j]j]ujKLjhj]rM8j%XAPIsrN8…�rO8}rP8(jjK8jjI8ubaubjX)�rQ8}rR8(jXAPI reference for application:rS8jjA8j jß7jj\j}rT8(j]j]j]j]j]ujKNjhj]rU8j%XAPI reference for application:rV8…�rW8}rX8(jjS8jjQ8ubaubj#)�rY8}rZ8(jX*#include jjA8j jß7jj&j}r[8(j2j3j]j]j]j]j]ujMq jhj]r\8j%X*#include r]8…�r^8}r_8(jUjjY8ubaubjb)�r`8}ra8(jX API Call Flowrb8jKjjA8j jß7jjfj}rc8(j]rd8Uid65re8aj]j]rf8X api-call-flowrg8aj]j]ujNjhj]rh8j%X API Call Flowri8…�rj8}rk8(jjb8jj`8ubaubjX)�rl8}rm8(jXæThe below sequence indicates the calling sequence of ICSS_EMAC driver APIs for a use case of an EMAC example which implements single Ethernet MAC using PRU-ICSS Instance 2, ETH0. For additional details refer example inside packagern8jjA8j jß7jj\j}ro8(j]j]j]j]j]ujKWjhj]rp8j%XæThe below sequence indicates the calling sequence of ICSS_EMAC driver APIs for a use case of an EMAC example which implements single Ethernet MAC using PRU-ICSS Instance 2, ETH0. For additional details refer example inside packagerq8…�rr8}rs8(jjn8jjl8ubaubj#)�rt8}ru8(jXe... Board_init(cfg); /* Perform MDIO init */ ICSS_EMAC_testMdioInit(CSL_MPU_PRUSS2_U_MII_MDIO_REGS);jjA8j jß7jj&j}rv8(j2j3j]j]j]j]j]ujM} jhj]rw8j%Xe... Board_init(cfg); /* Perform MDIO init */ ICSS_EMAC_testMdioInit(CSL_MPU_PRUSS2_U_MII_MDIO_REGS);rx8…�ry8}rz8(jUjjt8ubaubj#)�r{8}r|8(jXc/* Create handle for PRUICSS instance*/ ICSS_EMAC_testPruIcssHandle2= PRUICSS_create(pruss_config,2); /* Setup crossbar configuration to receive PRU-ICSS interrupts and map them to A15 (illustration for PRU2ETH0) */ CSL_xbarDspIrqConfigure(..); /* Link ISR */ CSL_xbarDspIrqConfigure(..); /* RX PKT ISR */ CSL_xbarDspIrqConfigure(..); /* TX PKT ISR */jjA8j jß7jj&j}r}8(j2j3j]j]j]j]j]ujM… jhj]r~8j%Xc/* Create handle for PRUICSS instance*/ ICSS_EMAC_testPruIcssHandle2= PRUICSS_create(pruss_config,2); /* Setup crossbar configuration to receive PRU-ICSS interrupts and map them to A15 (illustration for PRU2ETH0) */ CSL_xbarDspIrqConfigure(..); /* Link ISR */ CSL_xbarDspIrqConfigure(..); /* RX PKT ISR */ CSL_xbarDspIrqConfigure(..); /* TX PKT ISR */r8…�r€8}r�8(jUjj{8ubaubj#)�r‚8}rƒ8(jXé/*Initialize driver */ ... ICSS_EmacInit(..); /* Register callbacks for RX/TX, Link Interrupts, these are called in context of ISR */ ICSS_EmacRegisterPort0ISRCallback(..); ICSS_EmacRegisterHwIntRx(..); ICSS_EmacRegisterHwIntTx(..);jjA8j jß7jj&j}r„8(j2j3j]j]j]j]j]ujM� jhj]r…8j%Xé/*Initialize driver */ ... ICSS_EmacInit(..); /* Register callbacks for RX/TX, Link Interrupts, these are called in context of ISR */ ICSS_EmacRegisterPort0ISRCallback(..); ICSS_EmacRegisterHwIntRx(..); ICSS_EmacRegisterHwIntTx(..);r†8…�r‡8}rˆ8(jUjj‚8ubaubj#)�r‰8}rŠ8(jXY/* Enable interrupts for RX/TX/Link*/ ICSS_EMAC_testInterruptInit(ICSS_EMAC_testHandle2);jjA8j jß7jj&j}r‹8(j2j3j]j]j]j]j]ujMš jhj]rŒ8j%XY/* Enable interrupts for RX/TX/Link*/ ICSS_EMAC_testInterruptInit(ICSS_EMAC_testHandle2);r�8…�rŽ8}r�8(jUjj‰8ubaubj#)�r�8}r‘8(jXY/* Enable Link Interrupt in MDIO sub-system */ ICSS_EMAC_testMdioEnableLinkInterrupt(..);jjA8j jß7jj&j}r’8(j2j3j]j]j]j]j]ujMŸ jhj]r“8j%XY/* Enable Link Interrupt in MDIO sub-system */ ICSS_EMAC_testMdioEnableLinkInterrupt(..);r”8…�r•8}r–8(jUjj�8ubaubj#)�r—8}r˜8(jXH/* At this point, ICSS_EMAC LLD APIs can be called */ jjA8j jß7jj&j}r™8(j2j3j]j]j]j]j]ujM¤ jhj]rš8j%XH/* At this point, ICSS_EMAC LLD APIs can be called */ r›8…�rœ8}r�8(jUjj—8ubaubjb)�rž8}rŸ8(jXFirmwarer 8jKjjA8j jß7jjfj}r¡8(j]r¢8Uid66r£8aj]j]r¤8j!aj]j]ujNjhj]r¥8j%XFirmwarer¦8…�r§8}r¨8(jj 8jjž8ubaubjX)�r©8}rª8(jXFTI PRU-ICSS cores (Programmable Real-Time Unit Industrial Communication Subsystem) is firmware programmable and can take on various personalities. Examples include an SORTE, ethernet Switch, Industrial protocol switch. Please refer to `ICSS-EMAC Firmwares `__ for further explanation.jjA8j jß7jj\j}r«8(j]j]j]j]j]ujK‹jhj]r¬8(j%XëTI PRU-ICSS cores (Programmable Real-Time Unit Industrial Communication Subsystem) is firmware programmable and can take on various personalities. Examples include an SORTE, ethernet Switch, Industrial protocol switch. Please refer to r­8…�r®8}r¯8(jXëTI PRU-ICSS cores (Programmable Real-Time Unit Industrial Communication Subsystem) is firmware programmable and can take on various personalities. Examples include an SORTE, ethernet Switch, Industrial protocol switch. Please refer to jj©8ubj)�r°8}r±8(jXB`ICSS-EMAC Firmwares `__j}r²8(UnameXICSS-EMAC FirmwaresjX(index_pru_icss_fw.html#pru-icss-firmwarej]j]j]j]j]ujj©8j]r³8j%XICSS-EMAC Firmwaresr´8…�rµ8}r¶8(jUjj°8ubajjubj%X for further explanation.r·8…�r¸8}r¹8(jX for further explanation.jj©8ubeubjÁ)�rº8}r»8(jUjjA8j jß7jjÄj}r¼8(j]j]j]j]j]ujK‘jhj]r½8jÇ)�r¾8}r¿8(jUjÊKjjº8j jß7jjj}rÀ8(j]j]j]j]j]ujKjhj]ubaubeubeubj)�rÁ8}rÂ8(jUjKjjÍ7j jß7jjj}rÃ8(j]rÄ8X applicationrÅ8aj]j]j]rÆ8Uid67rÇ8aj]ujK”jhj]rÈ8(j)�rÉ8}rÊ8(jX ApplicationrË8jjÁ8j jß7jj"j}rÌ8(j]j]j]j]j]ujK”jhj]rÍ8j%X ApplicationrÎ8…�rÏ8}rÐ8(jjË8jjÉ8ubaubj)�rÑ8}rÒ8(jUjKjjÁ8j jß7jjj}rÓ8(j]rÔ8XexamplesrÕ8aj]j]j]rÖ8Uid68r×8aj]ujK—jhj]rØ8(j)�rÙ8}rÚ8(jXExamplesrÛ8jjÑ8j jß7jj"j}rÜ8(j]j]j]j]j]ujK—jhj]rÝ8j%XExamplesrÞ8…�rß8}rà8(jjÛ8jjÙ8ubaubjX)�rá8}râ8(jXšRefer “ICSS_EMAC_Example__Testprojectâ€� for additional reference. Refer Release Note for ICSS_EMAC supported on different EVMs.rã8jjÑ8j jß7jj\j}rä8(j]j]j]j]j]ujK™jhj]rå8j%XšRefer “ICSS_EMAC_Example__Testprojectâ€� for additional reference. Refer Release Note for ICSS_EMAC supported on different EVMs.ræ8…�rç8}rè8(jjã8jjá8ubaubj¶)�ré8}rê8(jUjjÑ8j jß7jj¹j}rë8(j]j]j]j]j]ujNjhj]rì8j¼)�rí8}rî8(jUj}rï8(j]j]j]j]j]UcolsKujjé8j]rð8(jÁ)�rñ8}rò8(jUj}ró8(j]j]j]j]j]UcolwidthKujjí8j]jjÅubjÁ)�rô8}rõ8(jUj}rö8(j]j]j]j]j]UcolwidthKujjí8j]jjÅubjÁ)�r÷8}rø8(jUj}rù8(j]j]j]j]j]UcolwidthKujjí8j]jjÅubjÁ)�rú8}rû8(jUj}rü8(j]j]j]j]j]UcolwidthKujjí8j]jjÅubjÒ)�rý8}rþ8(jUj}rÿ8(j]j]j]j]j]ujjí8j]r9j×)�r9}r9(jUj}r9(j]j]j]j]j]ujjý8j]r9(jÜ)�r9}r9(jUj}r9(j]j]j]j]j]ujj9j]r9jÁ)�r 9}r 9(jUj}r 9(j]j]j]j]j]ujj9j]r 9jÇ)�r 9}r9(jXNamer9jÊKjj 9j jß7jjj}r9(j]j]j]j]j]ujKj]r9j%XNamer9…�r9}r9(jj9jj 9ubaubajjÄubajjéubjÜ)�r9}r9(jUj}r9(j]j]j]j]j]ujj9j]r9jÁ)�r9}r9(jUj}r9(j]j]j]j]j]ujj9j]r9jÇ)�r9}r9(jX Descriptionr9jÊKjj9j jß7jjj}r 9(j]j]j]j]j]ujKj]r!9j%X Descriptionr"9…�r#9}r$9(jj9jj9ubaubajjÄubajjéubjÜ)�r%9}r&9(jUj}r'9(j]j]j]j]j]ujj9j]r(9jÁ)�r)9}r*9(jUj}r+9(j]j]j]j]j]ujj%9j]r,9jÇ)�r-9}r.9(jXEVM Configurationr/9jÊKjj)9j jß7jjj}r09(j]j]j]j]j]ujKj]r19j%XEVM Configurationr29…�r39}r49(jj/9jj-9ubaubajjÄubajjéubjÜ)�r59}r69(jUj}r79(j]j]j]j]j]ujj9j]r89jÁ)�r99}r:9(jUj}r;9(j]j]j]j]j]ujj59j]r<9jÇ)�r=9}r>9(jXExpected Resultsr?9jÊKjj99j jß7jjj}r@9(j]j]j]j]j]ujKj]rA9j%XExpected ResultsrB9…�rC9}rD9(jj?9jj=9ubaubajjÄubajjéubejjubajjubj)�rE9}rF9(jUj}rG9(j]j]j]j]j]ujjí8j]rH9(j×)�rI9}rJ9(jUj}rK9(j]j]j]j]j]ujjE9j]rL9(jÜ)�rM9}rN9(jUj}rO9(j]j]j]j]j]ujjI9j]rP9jX)�rQ9}rR9(jXICSS_EMAC_Basic ExamplerS9jjM9j jß7jj\j}rT9(j]j]j]j]j]ujK¢j]rU9j%XICSS_EMAC_Basic ExamplerV9…�rW9}rX9(jjS9jjQ9ubaubajjéubjÜ)�rY9}rZ9(jUj}r[9(j]j]j]j]j]ujjI9j]r\9(jX)�r]9}r^9(jX)EMAC Loopback test at PRU-ICSS EMAC PHY.r_9jjY9j jß7jj\j}r`9(j]j]j]j]j]ujK¢j]ra9j%X)EMAC Loopback test at PRU-ICSS EMAC PHY.rb9…�rc9}rd9(jj_9jj]9ubaubjÁ)�re9}rf9(jUj}rg9(j]j]j]j]j]ujjY9j]rh9jÇ)�ri9}rj9(jXžExample demonstrates loopback capability by sending dummy broadcast packet to PRU-ICSS instance 2, ethernet port 0 (PRU ETH0). Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate 10 times for packet transmission and reception check.rk9jÊKjje9j jß7jjj}rl9(j]j]j]j]j]ujKj]rm9j%XžExample demonstrates loopback capability by sending dummy broadcast packet to PRU-ICSS instance 2, ethernet port 0 (PRU ETH0). Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate 10 times for packet transmission and reception check.rn9…�ro9}rp9(jjk9jji9ubaubajjÄubejjéubjÜ)�rq9}rr9(jUj}rs9(j]j]j]j]j]ujjI9j]rt9jX)�ru9}rv9(jX10/100 Mb/s loopback cablerw9jjq9j jß7jj\j}rx9(j]j]j]j]j]ujK¢j]ry9j%X10/100 Mb/s loopback cablerz9…�r{9}r|9(jjw9jju9ubaubajjéubjÜ)�r}9}r~9(jUj}r9(j]j]j]j]j]ujjI9j]r€9jX)�r�9}r‚9(jX>Unit Test will print ^All tests have passed^ via UART console.rƒ9jj}9j jß7jj\j}r„9(j]j]j]j]j]ujK¢j]r…9j%X>Unit Test will print ^All tests have passed^ via UART console.r†9…�r‡9}rˆ9(jjƒ9jj�9ubaubajjéubejjubj×)�r‰9}rŠ9(jUj}r‹9(j]j]j]j]j]ujjE9j]rŒ9(jÜ)�r�9}rŽ9(jUj}r�9(j]j]j]j]j]ujj‰9j]r�9jX)�r‘9}r’9(jXICSS_EMAC_Switc hExampler“9jj�9j jß7jj\j}r”9(j]j]j]j]j]ujKÎj]r•9j%XICSS_EMAC_Switc hExampler–9…�r—9}r˜9(jj“9jj‘9ubaubajjéubjÜ)�r™9}rš9(jUj}r›9(j]j]j]j]j]ujj‰9j]rœ9(jX)�r�9}rž9(jX+Switch Loopback test at PRU-ICSS EMAC PHY.rŸ9jj™9j jß7jj\j}r 9(j]j]j]j]j]ujKÎj]r¡9j%X+Switch Loopback test at PRU-ICSS EMAC PHY.r¢9…�r£9}r¤9(jjŸ9jj�9ubaubjÁ)�r¥9}r¦9(jUj}r§9(j]j]j]j]j]ujj™9j]r¨9jÇ)�r©9}rª9(jXExample demonstrates switch learning loopback capability by sending dummy broadcast packet to PRU-ICSS instance, ethernet port. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. As with switch for every 1 transmitted packet, firmware will respond back with 2 recieved packets. Unit test will iterate 10 times for packet transmission and reception check.r«9jÊKjj¥9j jß7jjj}r¬9(j]j]j]j]j]ujKj]r­9j%XExample demonstrates switch learning loopback capability by sending dummy broadcast packet to PRU-ICSS instance, ethernet port. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. As with switch for every 1 transmitted packet, firmware will respond back with 2 recieved packets. Unit test will iterate 10 times for packet transmission and reception check.r®9…�r¯9}r°9(jj«9jj©9ubaubajjÄubejjéubjÜ)�r±9}r²9(jUj}r³9(j]j]j]j]j]ujj‰9j]r´9jX)�rµ9}r¶9(jX100 Mb/s loopback cabler·9jj±9j jß7jj\j}r¸9(j]j]j]j]j]ujKÎj]r¹9j%X100 Mb/s loopback cablerº9…�r»9}r¼9(jj·9jjµ9ubaubajjéubjÜ)�r½9}r¾9(jUj}r¿9(j]j]j]j]j]ujj‰9j]rÀ9jX)�rÁ9}rÂ9(jX>Unit Test will print ^All tests have passed^ via UART console.rÃ9jj½9j jß7jj\j}rÄ9(j]j]j]j]j]ujKÎj]rÅ9j%X>Unit Test will print ^All tests have passed^ via UART console.rÆ9…�rÇ9}rÈ9(jjÃ9jjÁ9ubaubajjéubejjubejjðubejjñubaubjÁ)�rÉ9}rÊ9(jUjjÑ8j jß7jjÄj}rË9(j]j]j]j]j]ujMjhj]rÌ9jÇ)�rÍ9}rÎ9(jUjÊKjjÉ9j jß7jjj}rÏ9(j]j]j]j]j]ujKjhj]ubaubeubeubj)�rÐ9}rÑ9(jUjjÍ7j jß7jjj}rÒ9(j]j]j]j]rÓ9U debug-guiderÔ9aj]rÕ9h+aujM jhj]rÖ9(j)�r×9}rØ9(jX Debug GuiderÙ9jjÐ9j jß7jj"j}rÚ9(j]j]j]j]j]ujM jhj]rÛ9j%X Debug GuiderÜ9…�rÝ9}rÞ9(jjÙ9jj×9ubaubjX)�rß9}rà9(jX—For debugging ICSS EMAC examples or LLD. Please refer to `ICSS-EMAC Debug Guide `__.jjÐ9j jß7jj\j}rá9(j]j]j]j]j]ujM jhj]râ9(j%X9For debugging ICSS EMAC examples or LLD. Please refer to rã9…�rä9}rå9(jX9For debugging ICSS EMAC examples or LLD. Please refer to jjß9ubj)�ræ9}rç9(jX]`ICSS-EMAC Debug Guide `__j}rè9(UnameXICSS-EMAC Debug GuidejXAhttp://processors.wiki.ti.com/index.php/ICSS_EMAC_LLD_debug_guidej]j]j]j]j]ujjß9j]ré9j%XICSS-EMAC Debug Guiderê9…�rë9}rì9(jUjjæ9ubajjubj%X.…�rí9}rî9(jX.jjß9ubeubeubj)�rï9}rð9(jUjKjjÍ7j jß7jjj}rñ9(j]rò9Xadditional referencesró9aj]j]j]rô9Uid69rõ9aj]ujMjhj]rö9(j)�r÷9}rø9(jXAdditional Referencesrù9jjï9j jß7jj"j}rú9(j]j]j]j]j]ujMjhj]rû9j%XAdditional Referencesrü9…�rý9}rþ9(jjù9jj÷9ubaubj¶)�rÿ9}r:(jUjjï9j jß7jj¹j}r:(j]j]j]j]j]ujNjhj]r:j¼)�r:}r:(jUj}r:(j]j]j]j]j]UcolsKujjÿ9j]r:(jÁ)�r:}r:(jUj}r :(j]j]j]j]j]UcolwidthK#ujj:j]jjÅubjÁ)�r :}r :(jUj}r :(j]j]j]j]j]UcolwidthK*ujj:j]jjÅubj)�r :}r:(jUj}r:(j]j]j]j]j]ujj:j]r:(j×)�r:}r:(jUj}r:(j]j]j]j]j]ujj :j]r:(jÜ)�r:}r:(jUj}r:(j]j]j]j]j]ujj:j]r:jX)�r:}r:(jX **Document**r:jj:j jß7jj\j}r:(j]j]j]j]j]ujMj]r:j|)�r:}r:(jj:j}r :(j]j]j]j]j]ujj:j]r!:j%XDocumentr":…�r#:}r$:(jUjj:ubajj„ubaubajjéubjÜ)�r%:}r&:(jUj}r':(j]j]j]j]j]ujj:j]r(:jX)�r):}r*:(jX **Location**r+:jj%:j jß7jj\j}r,:(j]j]j]j]j]ujMj]r-:j|)�r.:}r/:(jj+:j}r0:(j]j]j]j]j]ujj):j]r1:j%XLocationr2:…�r3:}r4:(jUjj.:ubajj„ubaubajjéubejjubj×)�r5:}r6:(jUj}r7:(j]j]j]j]j]ujj :j]r8:(jÜ)�r9:}r::(jUj}r;:(j]j]j]j]j]ujj5:j]r<:jX)�r=:}r>:(jXAPI Reference Manualr?:jj9:j jß7jj\j}r@:(j]j]j]j]j]ujMj]rA:j%XAPI Reference ManualrB:…�rC:}rD:(jj?:jj=:ubaubajjéubjÜ)�rE:}rF:(jUj}rG:(j]j]j]j]j]ujj5:j]rH:jX)�rI:}rJ:(jXV$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\icss_emac\\docs\\doxygen\\html\\ index.htmljjE:j jß7jj\j}rK:(j]j]j]j]j]ujMj]rL:j%XN$(TI_PDK_INSTALL_DIR)\packages\ti \drv\icss_emac\docs\doxygen\html\ index.htmlrM:…�rN:}rO:(jXV$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\icss_emac\\docs\\doxygen\\html\\ index.htmljjI:ubaubajjéubejjubj×)�rP:}rQ:(jUj}rR:(j]j]j]j]j]ujj :j]rS:(jÜ)�rT:}rU:(jUj}rV:(j]j]j]j]j]ujjP:j]rW:jX)�rX:}rY:(jX Release NotesrZ:jjT:j jß7jj\j}r[:(j]j]j]j]j]ujMj]r\:j%X Release Notesr]:…�r^:}r_:(jjZ:jjX:ubaubajjéubjÜ)�r`:}ra:(jUj}rb:(j]j]j]j]j]ujjP:j]rc:jX)�rd:}re:(jX[$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\icss_emac\\docs\\ReleaseNotes_ ICSS_EMAC_LLD.pdfjj`:j jß7jj\j}rf:(j]j]j]j]j]ujMj]rg:j%XU$(TI_PDK_INSTALL_DIR)\packages\ti \drv\icss_emac\docs\ReleaseNotes_ ICSS_EMAC_LLD.pdfrh:…�ri:}rj:(jX[$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\icss_emac\\docs\\ReleaseNotes_ ICSS_EMAC_LLD.pdfjjd:ubaubajjéubejjubj×)�rk:}rl:(jUj}rm:(j]j]j]j]j]ujj :j]rn:(jÜ)�ro:}rp:(jUj}rq:(j]j]j]j]j]ujjk:j]rr:jX)�rs:}rt:(jXICSS-EMAC LLD Detailsru:jjo:j jß7jj\j}rv:(j]j]j]j]j]ujMj]rw:j%XICSS-EMAC LLD Detailsrx:…�ry:}rz:(jju:jjs:ubaubajjéubjÜ)�r{:}r|:(jUj}r}:(j]j]j]j]j]ujjk:j]r~:jX)�r:}r€:(jX<`[2] `__r�:jj{:j jß7jj\j}r‚:(j]j]j]j]j]ujMj]rƒ:j)�r„:}r…:(jj�:j}r†:(UnameX[2]jX1http://processors.wiki.ti.com/index.php/ICSS-EMACj]j]j]j]j]ujj:j]r‡:j%X[2]rˆ:…�r‰:}rŠ:(jUjj„:ubajjubaubajjéubejjubejjðubejjñubaubjÁ)�r‹:}rŒ:(jUjjï9j jß7jjÄj}r�:(j]j]j]j]j]ujM jhj]rŽ:jÇ)�r�:}r�:(jUjÊKjj‹:j jß7jjj}r‘:(j]j]j]j]j]ujKjhj]ubaubeubeubj jß7jjj}r’:(j]r“:X introductionr”:aj]j]j]r•:Uid61r–:aj]ujKjhj]r—:(j)�r˜:}r™:(jX Introductionrš:jjË7j jß7jj"j}r›:(j]j]j]j]j]ujKjhj]rœ:j%X Introductionr�:…�rž:}rŸ:(jjš:jj˜:ubaubjX)�r :}r¡:(jX=The ICSS_EMAC (industrial communications subsystem Ethernet Media Access Controller) driver provide APIs to transmit and receive packets with a firmware based Ethernet switch that has been implemented on TI’s PRU-ICSS (Programmable Real-Time Unit Subsystem and Industrial Communication SubSystem) 32-bit RISC cores.r¢:jjË7j jß7jj\j}r£:(j]j]j]j]j]ujKjhj]r¤:j%X=The ICSS_EMAC (industrial communications subsystem Ethernet Media Access Controller) driver provide APIs to transmit and receive packets with a firmware based Ethernet switch that has been implemented on TI’s PRU-ICSS (Programmable Real-Time Unit Subsystem and Industrial Communication SubSystem) 32-bit RISC cores.r¥:…�r¦:}r§:(jj¢:jj :ubaubjÁ)�r¨:}r©:(jUjjË7j jß7jjÄj}rª:(j]j]j]j]j]ujK jhj]r«:jÇ)�r¬:}r­:(jUjÊKjj¨:j jß7jjj}r®:(j]j]j]j]j]ujKjhj]ubaubjb)�r¯:}r°:(jXSoftware Architecturer±:jjË7j jß7jjfj}r²:(j]r³:Usoftware-architecturer´:aj]j]j]j]rµ:h§aujNjhj]r¶:j%XSoftware Architecturer·:…�r¸:}r¹:(jj±:jj¯:ubaubjX)�rº:}r»:(jXEThe ICSS EMAC low level driver can be partitioned into the following:r¼:jjË7j jß7jj\j}r½:(j]j]j]j]j]ujKjhj]r¾:j%XEThe ICSS EMAC low level driver can be partitioned into the following:r¿:…�rÀ:}rÁ:(jj¼:jjº:ubaubj)�rÂ:}rÃ:(jUjjË7j jß7jjj}rÄ:(jX-j]j]j]j]j]ujKjhj]rÅ:(j)�rÆ:}rÇ:(jX®Driver software running on the host processor, provides a well defined set of APIs to configure the driver, send packets to the firmware and receive packet from the firmware.jjÂ:j jß7jj j}rÈ:(j]j]j]j]j]ujNjhj]rÉ:jX)�rÊ:}rË:(jX®Driver software running on the host processor, provides a well defined set of APIs to configure the driver, send packets to the firmware and receive packet from the firmware.rÌ:jjÆ:j jß7jj\j}rÍ:(j]j]j]j]j]ujKj]rÎ:j%X®Driver software running on the host processor, provides a well defined set of APIs to configure the driver, send packets to the firmware and receive packet from the firmware.rÏ:…�rÐ:}rÑ:(jjÌ:jjÊ:ubaubaubj)�rÒ:}rÓ:(jXtFirmware which implements a 2 port ethernet switch supporting 802.1d @100 Mbps. This runs on the TI-PRU-ICSS cores. jjÂ:j jß7jj j}rÔ:(j]j]j]j]j]ujNjhj]rÕ:jX)�rÖ:}r×:(jXsFirmware which implements a 2 port ethernet switch supporting 802.1d @100 Mbps. This runs on the TI-PRU-ICSS cores.rØ:jjÒ:j jß7jj\j}rÙ:(j]j]j]j]j]ujKj]rÚ:j%XsFirmware which implements a 2 port ethernet switch supporting 802.1d @100 Mbps. This runs on the TI-PRU-ICSS cores.rÛ:…�rÜ:}rÝ:(jjØ:jjÖ:ubaubaubeubjÁ)�rÞ:}rß:(jUjjË7j jß7jjÄj}rà:(j]j]j]j]j]ujKjhj]rá:jÇ)�râ:}rã:(jUjÊKjjÞ:j jß7jjj}rä:(j]j]j]j]j]ujKjhj]ubaubjb)�rå:}ræ:(jXDriver Featuresrç:jKjjË7j jß7jjfj}rè:(j]ré:Udriver-featuresrê:aj]j]rë:Xdriver-featuresrì:aj]j]ujNjhj]rí:j%XDriver Featuresrî:…�rï:}rð:(jjç:jjå:ubaubjX)�rñ:}rò:(jX#ICSS_EMAC LLD implements following:ró:jjË7j jß7jj\j}rô:(j]j]j]j]j]ujKjhj]rõ:j%X#ICSS_EMAC LLD implements following:rö:…�r÷:}rø:(jjó:jjñ:ubaubj)�rù:}rú:(jUjjË7j jß7jjj}rû:(jX-j]j]j]j]j]ujKjhj]rü:(j)�rý:}rþ:(jXKRx - Copying packet received from firmware and providing it to TCP/IP stackjjù:j jß7jj j}rÿ:(j]j]j]j]j]ujNjhj]r;jX)�r;}r;(jXKRx - Copying packet received from firmware and providing it to TCP/IP stackr;jjý:j jß7jj\j}r;(j]j]j]j]j]ujKj]r;j%XKRx - Copying packet received from firmware and providing it to TCP/IP stackr;…�r;}r;(jj;jj;ubaubaubj)�r ;}r ;(jX3Tx - Providing packet from TCP/IP stack to firmwarer ;jjù:j jß7jj j}r ;(j]j]j]j]j]ujNjhj]r ;jX)�r;}r;(jj ;jj ;j jß7jj\j}r;(j]j]j]j]j]ujK j]r;j%X3Tx - Providing packet from TCP/IP stack to firmwarer;…�r;}r;(jj ;jj;ubaubaubj)�r;}r;(jXLearning/Forwarding Data Baser;jjù:j jß7jj j}r;(j]j]j]j]j]ujNjhj]r;jX)�r;}r;(jj;jj;j jß7jj\j}r;(j]j]j]j]j]ujK!j]r;j%XLearning/Forwarding Data Baser;…�r;}r ;(jj;jj;ubaubaubj)�r!;}r";(jXStorm Prevention implementationr#;jjù:j jß7jj j}r$;(j]j]j]j]j]ujNjhj]r%;jX)�r&;}r';(jj#;jj!;j jß7jj\j}r(;(j]j]j]j]j]ujK"j]r);j%XStorm Prevention implementationr*;…�r+;}r,;(jj#;jj&;ubaubaubj)�r-;}r.;(jXHost Statistics implementationr/;jjù:j jß7jj j}r0;(j]j]j]j]j]ujNjhj]r1;jX)�r2;}r3;(jj/;jj-;j jß7jj\j}r4;(j]j]j]j]j]ujK#j]r5;j%XHost Statistics implementationr6;…�r7;}r8;(jj/;jj2;ubaubaubj)�r9;}r:;(jX#TCP/IP stack related initializationr;;jjù:j jß7jj j}r<;(j]j]j]j]j]ujNjhj]r=;jX)�r>;}r?;(jj;;jj9;j jß7jj\j}r@;(j]j]j]j]j]ujK$j]rA;j%X#TCP/IP stack related initializationrB;…�rC;}rD;(jj;;jj>;ubaubaubj)�rE;}rF;(jXConfiguring IP addressrG;jjù:j jß7jj j}rH;(j]j]j]j]j]ujNjhj]rI;jX)�rJ;}rK;(jjG;jjE;j jß7jj\j}rL;(j]j]j]j]j]ujK%j]rM;j%XConfiguring IP addressrN;…�rO;}rP;(jjG;jjJ;ubaubaubj)�rQ;}rR;(jXARM interrupt management jjù:j jß7jj j}rS;(j]j]j]j]j]ujNjhj]rT;jX)�rU;}rV;(jXARM interrupt managementrW;jjQ;j jß7jj\j}rX;(j]j]j]j]j]ujK&j]rY;j%XARM interrupt managementrZ;…�r[;}r\;(jjW;jjU;ubaubaubeubjÆ )�r];}r^;(jUjjË7j jß7jjÉ j}r_;(j]j]j]j]j]ujNjhj]r`;jÌ )�ra;}rb;(jX�For details of the driver, please refer to `[1] `__ jj];j jß7jjÏ j}rc;(j]j]j]j]j]ujK*j]rd;(jÒ )�re;}rf;(jX*For details of the driver, please refer torg;jja;j jß7jjÖ j}rh;(j]j]j]j]j]ujK*j]ri;j%X*For details of the driver, please refer torj;…�rk;}rl;(jjg;jje;ubaubjÜ )�rm;}rn;(jUj}ro;(j]j]j]j]j]ujja;j]rp;jX)�rq;}rr;(jXU`[1] `__rs;jjm;j jß7jj\j}rt;(j]j]j]j]j]ujK*j]ru;j)�rv;}rw;(jjs;j}rx;(UnameX[1]jXKhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_ICSS-EMAC-Designj]j]j]j]j]ujjq;j]ry;j%X[1]rz;…�r{;}r|;(jUjjv;ubajjubaubajj ubeubaubjÁ)�r};}r~;(jUjjË7j jß7jjÄj}r;(j]j]j]j]j]ujK,jhj]r€;jÇ)�r�;}r‚;(jUjÊKjj};j jß7jjj}rƒ;(j]j]j]j]j]ujKjhj]ubaubeubj jß7jj?j}r„;(j]UlevelKj]j]r…;j–:aUsourcejß7j]j]UlineKUtypejAujKjhj]r†;jX)�r‡;}rˆ;(jX/Duplicate implicit target name: "introduction".j}r‰;(j]j]j]j]j]ujjÉ7j]rŠ;j%X/Duplicate implicit target name: "introduction".r‹;…�rŒ;}r�;(jUjj‡;ubajj\ubaubhÿ)�rŽ;}r�;(jUjjÜ7j jß7jj?j}r�;(j]UlevelKj]j]r‘;jå7aUsourcejß7j]j]UlineK/UtypejAujK/jhj]r’;jX)�r“;}r”;(jX1Duplicate implicit target name: "user interface".j}r•;(j]j]j]j]j]ujjŽ;j]r–;j%X1Duplicate implicit target name: "user interface".r—;…�r˜;}r™;(jUjj“;ubajj\ubaubhÿ)�rš;}r›;(jUjjï7j jß7jj?j}rœ;(j]UlevelKj]j]r�;jõ7aUsourcejß7j]j]UlineK2UtypejAujK2jhj]rž;jX)�rŸ;}r ;(jX7Duplicate implicit target name: "driver configuration".j}r¡;(j]j]j]j]j]ujjš;j]r¢;j%X7Duplicate implicit target name: "driver configuration".r£;…�r¤;}r¥;(jUjjŸ;ubajj\ubaubhÿ)�r¦;}r§;(jUjjA8j jß7jj?j}r¨;(j]UlevelKj]j]r©;jG8aUsourcejß7j]j]UlineKLUtypejAujKLjhj]rª;jX)�r«;}r¬;(jX'Duplicate implicit target name: "apis".j}r­;(j]j]j]j]j]ujj¦;j]r®;j%X'Duplicate implicit target name: "apis".r¯;…�r°;}r±;(jUjj«;ubajj\ubaubhÿ)�r²;}r³;(jUj}r´;(j]UlevelKj]j]rµ;j£8aUsourcej j]j]UlineK9UtypejXujjž8j]r¶;jX)�r·;}r¸;(jX+Duplicate explicit target name: "firmware".j}r¹;(j]j]j]j]j]ujj²;j]rº;j%X+Duplicate explicit target name: "firmware".r»;…�r¼;}r½;(jUjj·;ubajj\ubajj?ubhÿ)�r¾;}r¿;(jUjjÁ8j jß7jj?j}rÀ;(j]UlevelKj]j]rÁ;jÇ8aUsourcejß7j]j]UlineK”UtypejAujK”jhj]rÂ;jX)�rÃ;}rÄ;(jX.Duplicate implicit target name: "application".j}rÅ;(j]j]j]j]j]ujj¾;j]rÆ;j%X.Duplicate implicit target name: "application".rÇ;…�rÈ;}rÉ;(jUjjÃ;ubajj\ubaubhÿ)�rÊ;}rË;(jUjjÑ8j jß7jj?j}rÌ;(j]UlevelKj]j]rÍ;j×8aUsourcejß7j]j]UlineK—UtypejAujK—jhj]rÎ;jX)�rÏ;}rÐ;(jX+Duplicate implicit target name: "examples".j}rÑ;(j]j]j]j]j]ujjÊ;j]rÒ;j%X+Duplicate implicit target name: "examples".rÓ;…�rÔ;}rÕ;(jUjjÏ;ubajj\ubaubhÿ)�rÖ;}r×;(jUjjï9j jß7jj?j}rØ;(j]UlevelKj]j]rÙ;jõ9aUsourcejß7j]j]UlineMUtypejAujMjhj]rÚ;jX)�rÛ;}rÜ;(jX8Duplicate implicit target name: "additional references".j}rÝ;(j]j]j]j]j]ujjÖ;j]rÞ;j%X8Duplicate implicit target name: "additional references".rß;…�rà;}rá;(jUjjÛ;ubajj\ubaubhÿ)�râ;}rã;(jUjjï9j X`internal padding after source/rtos/PDK_Platform_Software/Device_Drivers/ICSS_EMAC_LLD_FW.rst.incrä;jj?j}rå;(j]UlevelKj]j]Usourcejß7j]j]UlineM"UtypejòujM#jhj]ræ;(jX)�rç;}rè;(jX;Content block expected for the "raw" directive; none found.j}ré;(j]j]j]j]j]ujjâ;j]rê;j%X;Content block expected for the "raw" directive; none found.rë;…�rì;}rí;(jUjjç;ubajj\ubj#)�rî;}rï;(jX.. raw:: html j}rð;(j2j3j]j]j]j]j]ujjâ;j]rñ;j%X.. raw:: html rò;…�ró;}rô;(jUjjî;ubajj&ubeubhÿ)�rõ;}rö;(jUjj)�r÷;}rø;(jUjhj j jjj}rù;(j]j]j]j]rú;Uprussrû;aj]rü;hëaujK?jhj]rý;(j)�rþ;}rÿ;(jXPRUSSr<jj÷;j j jj"j}r<(j]j]j]j]j]ujK?jhj]r<j%XPRUSSr<…�r<}r<(jj<jjþ;ubaubj))�r<}r<(jX@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PRUSSjj÷;j j,X>source/rtos/PDK_Platform_Software/Device_Drivers/PRUSS.rst.incr<…�r <}r <bjj0j}r <(j2j3j]j]j]j]j]ujKjhj]r <j%X@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PRUSSr <…�r<}r<(jUjj<ubaubj)�r<}r<(jUjKjj÷;j j <jjj}r<(j]r<Xoverviewr<aj]j]j]r<Uid70r<aj]ujKjhj]r<(j)�r<}r<(jXOverviewr<jj<j j <jj"j}r<(j]j]j]j]j]ujKjhj]r<j%XOverviewr<…�r<}r<(jj<jj<ubaubj)�r <}r!<(jUjKjj<j j <jjj}r"<(j]r#<X introductionr$<aj]j]j]r%<Uid71r&<aj]ujKjhj]r'<(j)�r(<}r)<(jX Introductionr*<jj <j j <jj"j}r+<(j]j]j]j]j]ujKjhj]r,<j%X Introductionr-<…�r.<}r/<(jj*<jj(<ubaubjÁ)�r0<}r1<(jUjj <j j <jjÄj}r2<(j]j]j]j]j]ujKjhj]r3<jÇ)�r4<}r5<(jX¨The PRUSS (Programmable Real-Time Unit Subsystem) provides a well-defined API layer which allows applications to use the PRUSS low level driver to control  sub system.r6<jÊKjj0<j j <jjj}r7<(j]j]j]j]j]ujK jhj]r8<j%X¨The PRUSS (Programmable Real-Time Unit Subsystem) provides a well-defined API layer which allows applications to use the PRUSS low level driver to control  sub system.r9<…�r:<}r;<(jj6<jj4<ubaubaubjÁ)�r<<}r=<(jUjj <j j <jjÄj}r><(j]j]j]j]j]ujK jhj]r?<jÇ)�r@<}rA<(jUjÊKjj<<j j <jjj}rB<(j]j]j]j]j]ujKjhj]ubaubjb)�rC<}rD<(jXFirmwarerE<jKjj <j j <jjfj}rF<(j]rG<Uid72rH<aj]j]rI<XfirmwarerJ<aj]j]ujNjhj]rK<j%XFirmwarerL<…�rM<}rN<(jjE<jjC<ubaubjX)�rO<}rP<(jX@The PRUSS (Programmable Real-Time Unit Subsystem) is firmware programmable and can take on various personalities. Examples include an ethernet MAC, ethernet Switch, Industrial protocol switch. For a good example, please refer to `Simple Open Real Time Ethernet Protocol (SORTE) `__jj <j j <jj\j}rQ<(j]j]j]j]j]ujKjhj]rR<(j%XåThe PRUSS (Programmable Real-Time Unit Subsystem) is firmware programmable and can take on various personalities. Examples include an ethernet MAC, ethernet Switch, Industrial protocol switch. For a good example, please refer to rS<…�rT<}rU<(jXåThe PRUSS (Programmable Real-Time Unit Subsystem) is firmware programmable and can take on various personalities. Examples include an ethernet MAC, ethernet Switch, Industrial protocol switch. For a good example, please refer to jjO<ubj)�rV<}rW<(jX[`Simple Open Real Time Ethernet Protocol (SORTE) `__j}rX<(UnameX/Simple Open Real Time Ethernet Protocol (SORTE)jX%index_pru_icss_fw.html#pru-icss-sortej]j]j]j]j]ujjO<j]rY<j%X/Simple Open Real Time Ethernet Protocol (SORTE)rZ<…�r[<}r\<(jUjjV<ubajjubeubjb)�r]<}r^<(jXDriver Featuresr_<jKjj <j j <jjfj}r`<(j]ra<Uid73rb<aj]j]rc<jì:aj]j]ujNjhj]rd<j%XDriver Featuresre<…�rf<}rg<(jj_<jj]<ubaubj)�rh<}ri<(jUjj <j j <jjj}rj<(jX-j]j]j]j]j]ujKjhj]rk<(j)�rl<}rm<(jX3PRU control features i.e enable/disable/reset a PRUrn<jjh<j j <jj j}ro<(j]j]j]j]j]ujNjhj]rp<jX)�rq<}rr<(jjn<jjl<j j <jj\j}rs<(j]j]j]j]j]ujKj]rt<j%X3PRU control features i.e enable/disable/reset a PRUru<…�rv<}rw<(jjn<jjq<ubaubaubj)�rx<}ry<(jX6Helper functions i.e. load and execute firmware in PRUrz<jjh<j j <jj j}r{<(j]j]j]j]j]ujNjhj]r|<jX)�r}<}r~<(jjz<jjx<j j <jj\j}r<(j]j]j]j]j]ujKj]r€<j%X6Helper functions i.e. load and execute firmware in PRUr�<…�r‚<}rƒ<(jjz<jj}<ubaubaubj)�r„<}r…<(jX*Memory mapping of PRU/L3/External memoriesr†<jjh<j j <jj j}r‡<(j]j]j]j]j]ujNjhj]rˆ<jX)�r‰<}rŠ<(jj†<jj„<j j <jj\j}r‹<(j]j]j]j]j]ujKj]rŒ<j%X*Memory mapping of PRU/L3/External memoriesr�<…�rŽ<}r�<(jj†<jj‰<ubaubaubj)�r�<}r‘<(jXšPRU and Host event management (i.e. map sys_evt/channel/hosts in PRU INTC generate interrupts, wait for occurrence of an event, and acknowledge interruptsjjh<j j <jj j}r’<(j]j]j]j]j]ujNjhj]r“<jX)�r”<}r•<(jXšPRU and Host event management (i.e. map sys_evt/channel/hosts in PRU INTC generate interrupts, wait for occurrence of an event, and acknowledge interruptsr–<jj�<j j <jj\j}r—<(j]j]j]j]j]ujKj]r˜<j%XšPRU and Host event management (i.e. map sys_evt/channel/hosts in PRU INTC generate interrupts, wait for occurrence of an event, and acknowledge interruptsr™<…�rš<}r›<(jj–<jj”<ubaubaubj)�rœ<}r�<(jX.Interrupt management for A15/C66x CPU targets jjh<j j <jj j}rž<(j]j]j]j]j]ujNjhj]rŸ<jX)�r <}r¡<(jX-Interrupt management for A15/C66x CPU targetsr¢<jjœ<j j <jj\j}r£<(j]j]j]j]j]ujK j]r¤<j%X-Interrupt management for A15/C66x CPU targetsr¥<…�r¦<}r§<(jj¢<jj <ubaubaubeubeubeubj)�r¨<}r©<(jUjKjj÷;j j <jjj}rª<(j]r«<Xuser interfacer¬<aj]j]j]r­<Uid74r®<aj]ujK#jhj]r¯<(j)�r°<}r±<(jXUser Interfacer²<jj¨<j j <jj"j}r³<(j]j]j]j]j]ujK#jhj]r´<j%XUser Interfacerµ<…�r¶<}r·<(jj²<jj°<ubaubj)�r¸<}r¹<(jUjKjj¨<j j <jjj}rº<(j]r»<Xdriver configurationr¼<aj]j]j]r½<Uid75r¾<aj]ujK&jhj]r¿<(j)�rÀ<}rÁ<(jXDriver ConfigurationrÂ<jj¸<j j <jj"j}rÃ<(j]j]j]j]j]ujK&jhj]rÄ<j%XDriver ConfigurationrÅ<…�rÆ<}rÇ<(jjÂ<jjÀ<ubaubjb)�rÈ<}rÉ<(jX **Board Specific Configuration**rÊ<jKjj¸<j j <jjfj}rË<(j]rÌ<Uid76rÍ<aj]j]rÎ<Xboard-specific-configurationrÏ<aj]j]ujNjhj]rÐ<j|)�rÑ<}rÒ<(jjÊ<j}rÓ<(j]j]j]j]j]ujjÈ<j]rÔ<j%XBoard Specific ConfigurationrÕ<…�rÖ<}r×<(jUjjÑ<ubajj„ubaubjX)�rØ<}rÙ<(jX¡All the board specific configurations like enabling the clock and pin-mux of UART/GPIO/PRUSS ICSS pins should be performed before calling any of the driver APIs.rÚ<jj¸<j j <jj\j}rÛ<(j]j]j]j]j]ujK+jhj]rÜ<j%X¡All the board specific configurations like enabling the clock and pin-mux of UART/GPIO/PRUSS ICSS pins should be performed before calling any of the driver APIs.rÝ<…�rÞ<}rß<(jjÚ<jjØ<ubaubjÁ)�rà<}rá<(jUjj¸<j j <jjÄj}râ<(j]j]j]j]j]ujK/jhj]rã<jÇ)�rä<}rå<(jUjÊKjjà<j j <jjj}ræ<(j]j]j]j]j]ujKjhj]ubaubjb)�rç<}rè<(jX!**PRUSS Configuration Structure**ré<jj¸<j j <jjfj}rê<(j]rë<Upruss-configuration-structurerì<aj]j]j]j]rí<h aujNjhj]rî<j|)�rï<}rð<(jjé<j}rñ<(j]j]j]j]j]ujjç<j]rò<j%XPRUSS Configuration Structureró<…�rô<}rõ<(jUjjï<ubajj„ubaubjX)�rö<}r÷<(jXThe pruicss_device.c file contains the declaration of the PRUICSS config structure. This structure must be provided to the driver at the time when PRUICSS_create() API is called to creat the PRUICSS_Handle. This handle is subsequently required to make any PRUSS LLD API call.rø<jj¸<j j <jj\j}rù<(j]j]j]j]j]ujK3jhj]rú<j%XThe pruicss_device.c file contains the declaration of the PRUICSS config structure. This structure must be provided to the driver at the time when PRUICSS_create() API is called to creat the PRUICSS_Handle. This handle is subsequently required to make any PRUSS LLD API call.rû<…�rü<}rý<(jjø<jjö<ubaubeubj)�rþ<}rÿ<(jUjKjj¨<j j <jjj}r=(j]r=Xapisr=aj]j]j]r=Uid77r=aj]ujK9jhj]r=(j)�r=}r=(jXAPIsr=jjþ<j j <jj"j}r =(j]j]j]j]j]ujK9jhj]r =j%XAPIsr =…�r =}r =(jj=jj=ubaubjX)�r=}r=(jXReference API header file:r=jjþ<j j <jj\j}r=(j]j]j]j]j]ujK;jhj]r=j%XReference API header file:r=…�r=}r=(jj=jj=ubaubj#)�r=}r=(jX!#include jjþ<j j <jj&j}r=(j2j3j]j]j]j]j]ujMˆ jhj]r=j%X!#include r=…�r=}r=(jUjj=ubaubjb)�r=}r=(jX API Call Flowr=jKjjþ<j j <jjfj}r =(j]r!=Uid78r"=aj]j]r#=jg8aj]j]ujNjhj]r$=j%X API Call Flowr%=…�r&=}r'=(jj=jj=ubaubjX)�r(=}r)=(jX§Below sequence indicates calling sequence of PRUSS driver APIs for a use case of sending INTC event to the PRU. Refer example code within module for additional detailsr*=jjþ<j j <jj\j}r+=(j]j]j]j]j]ujKDjhj]r,=j%X§Below sequence indicates calling sequence of PRUSS driver APIs for a use case of sending INTC event to the PRU. Refer example code within module for additional detailsr-=…�r.=}r/=(jj*=jj(=ubaubj#)�r0=}r1=(jX·... /* Initialize Board */ Board_init(boardCfg); /* Creates handle for PRUICSS instance */ handle = PRUICSS_create(pruss_config,instance); /* Disable PRUICSS instance */ PRUICSS_pruDisable(handle,instance ); /* Register an Interrupt Handler for an event */ PRUICSS_registerIrqHandler(handle,pruEvtoutNum,intrNum,eventNum,waitEnable,irqHandler); /* Sets the buffer pointer for PRU */ PRUICSS_setPRUBuffer(..); /* API to do Interrupt-Channel-host mapping */ PRUICSS_pruIntcInit(handle,&pruss_intc_initdata); /* Execute program on PRU */ PRUICSS_pruExecProgram(handle,0); /* Enable PRU */ PRUICSS_pruEnable(handle,0); /* Generates INTC event */ PRUICSS_pruSendEvent(handle,ARM_PRU0_EVENT);jjþ<j j <jj&j}r2=(j2j3j]j]j]j]j]ujM“ jhj]r3=j%X·... /* Initialize Board */ Board_init(boardCfg); /* Creates handle for PRUICSS instance */ handle = PRUICSS_create(pruss_config,instance); /* Disable PRUICSS instance */ PRUICSS_pruDisable(handle,instance ); /* Register an Interrupt Handler for an event */ PRUICSS_registerIrqHandler(handle,pruEvtoutNum,intrNum,eventNum,waitEnable,irqHandler); /* Sets the buffer pointer for PRU */ PRUICSS_setPRUBuffer(..); /* API to do Interrupt-Channel-host mapping */ PRUICSS_pruIntcInit(handle,&pruss_intc_initdata); /* Execute program on PRU */ PRUICSS_pruExecProgram(handle,0); /* Enable PRU */ PRUICSS_pruEnable(handle,0); /* Generates INTC event */ PRUICSS_pruSendEvent(handle,ARM_PRU0_EVENT);r4=…�r5=}r6=(jUjj0=ubaubeubeubj)�r7=}r8=(jUjKjj÷;j j <jjj}r9=(j]r:=X applicationr;=aj]j]j]r<=Uid79r==aj]ujKhjhj]r>=(j)�r?=}r@=(jX ApplicationrA=jj7=j j <jj"j}rB=(j]j]j]j]j]ujKhjhj]rC=j%X ApplicationrD=…�rE=}rF=(jjA=jj?=ubaubj)�rG=}rH=(jUjKjj7=j j <jjj}rI=(j]rJ=XexamplesrK=aj]j]j]rL=Uid80rM=aj]ujKkjhj]rN=(j)�rO=}rP=(jXExamplesrQ=jjG=j j <jj"j}rR=(j]j]j]j]j]ujKkjhj]rS=j%XExamplesrT=…�rU=}rV=(jjQ=jjO=ubaubj¶)�rW=}rX=(jUjjG=j j <jj¹j}rY=(j]j]j]j]j]ujNjhj]rZ=j¼)�r[=}r\=(jUj}r]=(j]j]j]j]j]UcolsKujjW=j]r^=(jÁ)�r_=}r`=(jUj}ra=(j]j]j]j]j]UcolwidthKujj[=j]jjÅubjÁ)�rb=}rc=(jUj}rd=(j]j]j]j]j]UcolwidthKujj[=j]jjÅubjÁ)�re=}rf=(jUj}rg=(j]j]j]j]j]UcolwidthKujj[=j]jjÅubjÒ)�rh=}ri=(jUj}rj=(j]j]j]j]j]ujj[=j]rk=j×)�rl=}rm=(jUj}rn=(j]j]j]j]j]ujjh=j]ro=(jÜ)�rp=}rq=(jUj}rr=(j]j]j]j]j]ujjl=j]rs=jX)�rt=}ru=(jXNamerv=jjp=j j <jj\j}rw=(j]j]j]j]j]ujKnj]rx=j%XNamery=…�rz=}r{=(jjv=jjt=ubaubajjéubjÜ)�r|=}r}=(jUj}r~=(j]j]j]j]j]ujjl=j]r=jÁ)�r€=}r�=(jUj}r‚=(j]j]j]j]j]ujj|=j]rƒ=jÇ)�r„=}r…=(jX Descriptionr†=jÊKjj€=j j <jjj}r‡=(j]j]j]j]j]ujKj]rˆ=j%X Descriptionr‰=…�rŠ=}r‹=(jj†=jj„=ubaubajjÄubajjéubjÜ)�rŒ=}r�=(jUj}rŽ=(j]j]j]j]j]ujjl=j]r�=jÁ)�r�=}r‘=(jUj}r’=(j]j]j]j]j]ujjŒ=j]r“=jÇ)�r”=}r•=(jXExpected Resultsr–=jÊKjj�=j j <jjj}r—=(j]j]j]j]j]ujKj]r˜=j%XExpected Resultsr™=…�rš=}r›=(jj–=jj”=ubaubajjÄubajjéubejjubajjubj)�rœ=}r�=(jUj}rž=(j]j]j]j]j]ujj[=j]rŸ=j×)�r =}r¡=(jUj}r¢=(j]j]j]j]j]ujjœ=j]r£=(jÜ)�r¤=}r¥=(jUj}r¦=(j]j]j]j]j]ujj =j]r§=jX)�r¨=}r©=(jXPRUSS_TestApplicationrª=jj¤=j j <jj\j}r«=(j]j]j]j]j]ujKpj]r¬=j%XPRUSS_TestApplicationr­=…�r®=}r¯=(jjª=jj¨=ubaubajjéubjÜ)�r°=}r±=(jUj}r²=(j]j]j]j]j]ujj =j]r³=jÁ)�r´=}rµ=(jUj}r¶=(j]j]j]j]j]ujj°=j]r·=jÇ)�r¸=}r¹=(jXÀTest application is designed to ping pong an event between CPU target(A15/C66x) and PRU for a fixed count.Application is to test PRU’s load, control and Interrupt controller functionalities.rº=jÊKjj´=j j <jjj}r»=(j]j]j]j]j]ujKj]r¼=j%XÀTest application is designed to ping pong an event between CPU target(A15/C66x) and PRU for a fixed count.Application is to test PRU’s load, control and Interrupt controller functionalities.r½=…�r¾=}r¿=(jjº=jj¸=ubaubajjÄubajjéubjÜ)�rÀ=}rÁ=(jUj}rÂ=(j]j]j]j]j]ujj =j]rÃ=(jÁ)�rÄ=}rÅ=(jUj}rÆ=(j]j]j]j]j]ujjÀ=j]rÇ=(jÇ)�rÈ=}rÉ=(jXAFollowing prints expected on console based on pass/fail criteria:rÊ=jÊKjjÄ=j j <jjj}rË=(j]j]j]j]j]ujKj]rÌ=j%XAFollowing prints expected on console based on pass/fail criteria:rÍ=…�rÎ=}rÏ=(jjÊ=jjÈ=ubaubjÇ)�rÐ=}rÑ=(jUjÊKjjÄ=j j <jjj}rÒ=(j]j]j]j]j]ujKj]ubjÇ)�rÓ=}rÔ=(jX**Pass criteria:**rÕ=jÊKjjÄ=j j <jjj}rÖ=(j]j]j]j]j]ujKj]r×=j|)�rØ=}rÙ=(jjÕ=j}rÚ=(j]j]j]j]j]ujjÓ=j]rÛ=j%XPass criteria:rÜ=…�rÝ=}rÞ=(jUjjØ=ubajj„ubaubejjÄubjÁ)�rß=}rà=(jUj}rá=(j]j]j]j]j]ujjÀ=j]râ=jÇ)�rã=}rä=(jXšPrints related to sending and receiving  event from PRU will be printed on  console. Test program at the end expected to output: "All tests have passed"rå=jÊKjjß=j j <jjj}ræ=(j]j]j]j]j]ujKj]rç=j%XšPrints related to sending and receiving  event from PRU will be printed on  console. Test program at the end expected to output: "All tests have passed"rè=…�ré=}rê=(jjå=jjã=ubaubajjÄubejjéubejjubajjðubejjñubaubeubeubj)�rë=}rì=(jUjKjj÷;j j <jjj}rí=(j]rî=Xadditional referencesrï=aj]j]j]rð=Uid81rñ=aj]ujKƒjhj]rò=(j)�ró=}rô=(jXAdditional Referencesrõ=jjë=j j <jj"j}rö=(j]j]j]j]j]ujKƒjhj]r÷=j%XAdditional Referencesrø=…�rù=}rú=(jjõ=jjó=ubaubj¶)�rû=}rü=(jUjjë=j j <jj¹j}rý=(j]j]j]j]j]ujNjhj]rþ=j¼)�rÿ=}r>(jUj}r>(j]j]j]j]j]UcolsKujjû=j]r>(jÁ)�r>}r>(jUj}r>(j]j]j]j]j]UcolwidthK#ujjÿ=j]jjÅubjÁ)�r>}r>(jUj}r>(j]j]j]j]j]UcolwidthK(ujjÿ=j]jjÅubj)�r >}r >(jUj}r >(j]j]j]j]j]ujjÿ=j]r >(j×)�r >}r>(jUj}r>(j]j]j]j]j]ujj >j]r>(jÜ)�r>}r>(jUj}r>(j]j]j]j]j]ujj >j]r>jX)�r>}r>(jX **Document**r>jj>j j <jj\j}r>(j]j]j]j]j]ujK†j]r>j|)�r>}r>(jj>j}r>(j]j]j]j]j]ujj>j]r>j%XDocumentr>…�r>}r >(jUjj>ubajj„ubaubajjéubjÜ)�r!>}r">(jUj}r#>(j]j]j]j]j]ujj >j]r$>jX)�r%>}r&>(jX **Location**r'>jj!>j j <jj\j}r(>(j]j]j]j]j]ujK†j]r)>j|)�r*>}r+>(jj'>j}r,>(j]j]j]j]j]ujj%>j]r->j%XLocationr.>…�r/>}r0>(jUjj*>ubajj„ubaubajjéubejjubj×)�r1>}r2>(jUj}r3>(j]j]j]j]j]ujj >j]r4>(jÜ)�r5>}r6>(jUj}r7>(j]j]j]j]j]ujj1>j]r8>jX)�r9>}r:>(jXAPI Reference Manualr;>jj5>j j <jj\j}r<>(j]j]j]j]j]ujKˆj]r=>j%XAPI Reference Manualr>>…�r?>}r@>(jj;>jj9>ubaubajjéubjÜ)�rA>}rB>(jUj}rC>(j]j]j]j]j]ujj1>j]rD>jX)�rE>}rF>(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pruss\\docs\\doxygen\\html\\inde x.htmljjA>j j <jj\j}rG>(j]j]j]j]j]ujKˆj]rH>j%XJ$(TI_PDK_INSTALL_DIR)\packages\ti \drv\pruss\docs\doxygen\html\inde x.htmlrI>…�rJ>}rK>(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pruss\\docs\\doxygen\\html\\inde x.htmljjE>ubaubajjéubejjubj×)�rL>}rM>(jUj}rN>(j]j]j]j]j]ujj >j]rO>(jÜ)�rP>}rQ>(jUj}rR>(j]j]j]j]j]ujjL>j]rS>jX)�rT>}rU>(jX Release NotesrV>jjP>j j <jj\j}rW>(j]j]j]j]j]ujKŒj]rX>j%X Release NotesrY>…�rZ>}r[>(jjV>jjT>ubaubajjéubjÜ)�r\>}r]>(jUj}r^>(j]j]j]j]j]ujjL>j]r_>jX)�r`>}ra>(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pruss\\docs\\ReleaseNotes_PRUS S_LLD.pdfjj\>j j <jj\j}rb>(j]j]j]j]j]ujKŒj]rc>j%XM$(TI_PDK_INSTALL_DIR)\packages\ti \drv\pruss\docs\ReleaseNotes_PRUS S_LLD.pdfrd>…�re>}rf>(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pruss\\docs\\ReleaseNotes_PRUS S_LLD.pdfjj`>ubaubajjéubejjubejjðubejjñubaubjÁ)�rg>}rh>(jUjjë=j j <jjÄj}ri>(j]j]j]j]j]ujK‘jhj]rj>jÇ)�rk>}rl>(jUjÊKjjg>j j <jjj}rm>(j]j]j]j]j]ujKjhj]ubaubeubeubj j <jj?j}rn>(j]UlevelKj]j]Usourcej <j]j]UlineKUtypejXujKjhj]ro>jX)�rp>}rq>(jX?Explicit markup ends without a blank line; unexpected unindent.j}rr>(j]j]j]j]j]ujjõ;j]rs>j%X?Explicit markup ends without a blank line; unexpected unindent.rt>…�ru>}rv>(jUjjp>ubajj\ubaubhÿ)�rw>}rx>(jUjj<j j <jj?j}ry>(j]UlevelKj]j]rz>j<aUsourcej <j]j]UlineKUtypejAujKjhj]r{>jX)�r|>}r}>(jX+Duplicate implicit target name: "overview".j}r~>(j]j]j]j]j]ujjw>j]r>j%X+Duplicate implicit target name: "overview".r€>…�r�>}r‚>(jUjj|>ubajj\ubaubhÿ)�rƒ>}r„>(jUjj <j j <jj?j}r…>(j]UlevelKj]j]r†>j&<aUsourcej <j]j]UlineKUtypejAujKjhj]r‡>jX)�rˆ>}r‰>(jX/Duplicate implicit target name: "introduction".j}rŠ>(j]j]j]j]j]ujjƒ>j]r‹>j%X/Duplicate implicit target name: "introduction".rŒ>…�r�>}rŽ>(jUjjˆ>ubajj\ubaubhÿ)�r�>}r�>(jUj}r‘>(j]UlevelKj]j]r’>jH<aUsourcej j]j]UlineK?UtypejXujjC<j]r“>jX)�r”>}r•>(jX+Duplicate explicit target name: "firmware".j}r–>(j]j]j]j]j]ujj�>j]r—>j%X+Duplicate explicit target name: "firmware".r˜>…�r™>}rš>(jUjj”>ubajj\ubajj?ubhÿ)�r›>}rœ>(jUj}r�>(j]UlevelKj]j]rž>jb<aUsourcej j]j]UlineK?UtypejXujj]<j]rŸ>jX)�r >}r¡>(jX2Duplicate explicit target name: "driver-features".j}r¢>(j]j]j]j]j]ujj›>j]r£>j%X2Duplicate explicit target name: "driver-features".r¤>…�r¥>}r¦>(jUjj >ubajj\ubajj?ubhÿ)�r§>}r¨>(jUjj¨<j j <jj?j}r©>(j]UlevelKj]j]rª>j®<aUsourcej <j]j]UlineK#UtypejAujK#jhj]r«>jX)�r¬>}r­>(jX1Duplicate implicit target name: "user interface".j}r®>(j]j]j]j]j]ujj§>j]r¯>j%X1Duplicate implicit target name: "user interface".r°>…�r±>}r²>(jUjj¬>ubajj\ubaubhÿ)�r³>}r´>(jUjj¸<j j <jj?j}rµ>(j]UlevelKj]j]r¶>j¾<aUsourcej <j]j]UlineK&UtypejAujK&jhj]r·>jX)�r¸>}r¹>(jX7Duplicate implicit target name: "driver configuration".j}rº>(j]j]j]j]j]ujj³>j]r»>j%X7Duplicate implicit target name: "driver configuration".r¼>…�r½>}r¾>(jUjj¸>ubajj\ubaubhÿ)�r¿>}rÀ>(jUj}rÁ>(j]UlevelKj]j]rÂ>jÍ<aUsourcej j]j]UlineK?UtypejXujjÈ<j]rÃ>jX)�rÄ>}rÅ>(jX?Duplicate explicit target name: "board-specific-configuration".j}rÆ>(j]j]j]j]j]ujj¿>j]rÇ>j%X?Duplicate explicit target name: "board-specific-configuration".rÈ>…�rÉ>}rÊ>(jUjjÄ>ubajj\ubajj?ubhÿ)�rË>}rÌ>(jUjj¸<j j <jj?j}rÍ>(j]UlevelKj]j]Usourcej <j]j]UlineK0UtypejXujK/jhj]rÎ>jX)�rÏ>}rÐ>(jX%Line block ends without a blank line.j}rÑ>(j]j]j]j]j]ujjË>j]rÒ>j%X%Line block ends without a blank line.rÓ>…�rÔ>}rÕ>(jUjjÏ>ubajj\ubaubhÿ)�rÖ>}r×>(jUjjþ<j j <jj?j}rØ>(j]UlevelKj]j]rÙ>j=aUsourcej <j]j]UlineK9UtypejAujK9jhj]rÚ>jX)�rÛ>}rÜ>(jX'Duplicate implicit target name: "apis".j}rÝ>(j]j]j]j]j]ujjÖ>j]rÞ>j%X'Duplicate implicit target name: "apis".rß>…�rà>}rá>(jUjjÛ>ubajj\ubaubhÿ)�râ>}rã>(jUj}rä>(j]UlevelKj]j]rå>j"=aUsourcej j]j]UlineK?UtypejXujj=j]ræ>jX)�rç>}rè>(jX0Duplicate explicit target name: "api-call-flow".j}ré>(j]j]j]j]j]ujjâ>j]rê>j%X0Duplicate explicit target name: "api-call-flow".rë>…�rì>}rí>(jUjjç>ubajj\ubajj?ubhÿ)�rî>}rï>(jUjj7=j j <jj?j}rð>(j]UlevelKj]j]rñ>j==aUsourcej <j]j]UlineKhUtypejAujKhjhj]rò>jX)�ró>}rô>(jX.Duplicate implicit target name: "application".j}rõ>(j]j]j]j]j]ujjî>j]rö>j%X.Duplicate implicit target name: "application".r÷>…�rø>}rù>(jUjjó>ubajj\ubaubhÿ)�rú>}rû>(jUjjG=j j <jj?j}rü>(j]UlevelKj]j]rý>jM=aUsourcej <j]j]UlineKkUtypejAujKkjhj]rþ>jX)�rÿ>}r?(jX+Duplicate implicit target name: "examples".j}r?(j]j]j]j]j]ujjú>j]r?j%X+Duplicate implicit target name: "examples".r?…�r?}r?(jUjjÿ>ubajj\ubaubhÿ)�r?}r?(jUjjë=j j <jj?j}r?(j]UlevelKj]j]r ?jñ=aUsourcej <j]j]UlineKƒUtypejAujKƒjhj]r ?jX)�r ?}r ?(jX8Duplicate implicit target name: "additional references".j}r ?(j]j]j]j]j]ujj?j]r?j%X8Duplicate implicit target name: "additional references".r?…�r?}r?(jUjj ?ubajj\ubaubhÿ)�r?}r?(jUjj)�r?}r?(jUjKjj)�r?}r?(jUjhj j jjj}r?(j]j]j]j]r?Ufatfsr?aj]r?h·aujKEjhj]r?(j)�r?}r?(jXFATFSr?jj?j j jj"j}r ?(j]j]j]j]j]ujKEjhj]r!?j%XFATFSr"?…�r#?}r$?(jj?jj?ubaubj))�r%?}r&?(jX@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_FATFSjj?j j,X>source/rtos/PDK_Platform_Software/Device_Drivers/FATFS.rst.incr'?…�r(?}r)?bjj0j}r*?(j2j3j]j]j]j]j]ujKjhj]r+?j%X@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_FATFSr,?…�r-?}r.?(jUjj%?ubaubj?j)�r/?}r0?(jUjKjj?j j(?jjj}r1?(j]r2?jƒaj]j]j]r3?Uid84r4?aj]ujKjhj]r5?(j)�r6?}r7?(jXDriver Overviewr8?jj/?j j(?jj"j}r9?(j]j]j]j]j]ujKjhj]r:?j%XDriver Overviewr;?…�r?}r??(jXPDK FATFS driver provides support for both single and multiple partition on a given SD/MMC card. The driver uses a volume to partition mapping technique to handle multiple storage device with multiple partition. The driver supports file operations such as open, read and wirte on to the SD/MMC card. The FATFS driver access the SD/MMC card through the PDK MMCSD driver which needs to be configured from the application as part of the FATFS_config structure. The FATFS driver is used in other PDK module application such as MMCSD, USB and SBL.r@?jj/?j j(?jj\j}rA?(j]j]j]j]j]ujKjhj]rB?j%XPDK FATFS driver provides support for both single and multiple partition on a given SD/MMC card. The driver uses a volume to partition mapping technique to handle multiple storage device with multiple partition. The driver supports file operations such as open, read and wirte on to the SD/MMC card. The FATFS driver access the SD/MMC card through the PDK MMCSD driver which needs to be configured from the application as part of the FATFS_config structure. The FATFS driver is used in other PDK module application such as MMCSD, USB and SBL.rC?…�rD?}rE?(jj@?jj>?ubaubjX)�rF?}rG?(jXjFATFS file operation API's can be accessed from the application only after FATFS_open function is invoked.rH?jj/?j j(?jj\j}rI?(j]j]j]j]j]ujKjhj]rJ?j%XjFATFS file operation API's can be accessed from the application only after FATFS_open function is invoked.rK?…�rL?}rM?(jjH?jjF?ubaubj#)�rN?}rO?(jX1FATFS_init(); FATFS_open(0U, NULL, &fatfsHandle);jj/?j j(?jj&j}rP?(j‰j Xcj2j3j]j]j]j!}j]j]ujKjhj]rQ?j%X1FATFS_init(); FATFS_open(0U, NULL, &fatfsHandle);rR?…�rS?}rT?(jUjjN?ubaubeubj)�rU?}rV?(jUjKjj?j j(?jjj}rW?(j]rX?Xuser interfacerY?aj]j]j]rZ?Uid85r[?aj]ujK#jhj]r\?(j)�r]?}r^?(jXUser Interfacer_?jjU?j j(?jj"j}r`?(j]j]j]j]j]ujK#jhj]ra?j%XUser Interfacerb?…�rc?}rd?(jj_?jj]?ubaubj)�re?}rf?(jUjKjjU?j j(?jjj}rg?(j]rh?Xdriver configurationri?aj]j]j]rj?Uid86rk?aj]ujK&jhj]rl?(j)�rm?}rn?(jXDriver Configurationro?jje?j j(?jj"j}rp?(j]j]j]j]j]ujK&jhj]rq?j%XDriver Configurationrr?…�rs?}rt?(jjo?jjm?ubaubjb)�ru?}rv?(jX **Board Specific Configuration**rw?jKjje?j j(?jjfj}rx?(j]ry?Uid87rz?aj]j]r{?Xboard-specific-configurationr|?aj]j]ujNjhj]r}?j|)�r~?}r?(jjw?j}r€?(j]j]j]j]j]ujju?j]r�?j%XBoard Specific Configurationr‚?…�rƒ?}r„?(jUjj~?ubajj„ubaubjX)�r…?}r†?(jXáAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer `Processor SDK RTOS Board Support `__ for additional details.Once board specific configuration is complete FATFS_init() API can be called to initialize FATFS for the driver.jje?j j(?jj\j}r‡?(j]j]j]j]j]ujK+jhj]rˆ?(j%XAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer r‰?…�rŠ?}r‹?(jXAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer jj…?ubj)�rŒ?}r�?(jXE`Processor SDK RTOS Board Support `__j}rŽ?(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujj…?j]r�?j%X Processor SDK RTOS Board Supportr�?…�r‘?}r’?(jUjjŒ?ubajjubj%X‰ for additional details.Once board specific configuration is complete FATFS_init() API can be called to initialize FATFS for the driver.r“?…�r”?}r•?(jX‰ for additional details.Once board specific configuration is complete FATFS_init() API can be called to initialize FATFS for the driver.jj…?ubeubjb)�r–?}r—?(jX!**FATFS Configuration Structure**r˜?jje?j j(?jjfj}r™?(j]rš?Ufatfs-configuration-structurer›?aj]j]j]j]rœ?haujNjhj]r�?j|)�rž?}rŸ?(jj˜?j}r ?(j]j]j]j]j]ujj–?j]r¡?j%XFATFS Configuration Structurer¢?…�r£?}r¤?(jUjjž?ubajj„ubaubjX)�r¥?}r¦?(jXNApplication is expected to perform driver specific configuration for FATFS_config structure. The structure supports initialization of multiple drivers for FATFS, i.e. both MMCSD and USB can be configured to use FATFS file system by configuring each driver to different drive instance. This structure must be provided to the FATFS driver. It must be initialized before the FATFS_init() function is called and cannot be changed subsequently. For details about individual fields of this structure, see the Doxygen help:PDK_INSTALL_DIR\\packages\\ti\\fs\\fatfs\\docs\\doxygen\\html\\index.html.jje?j j(?jj\j}r§?(j]j]j]j]j]ujK7jhj]r¨?j%XFApplication is expected to perform driver specific configuration for FATFS_config structure. The structure supports initialization of multiple drivers for FATFS, i.e. both MMCSD and USB can be configured to use FATFS file system by configuring each driver to different drive instance. This structure must be provided to the FATFS driver. It must be initialized before the FATFS_init() function is called and cannot be changed subsequently. For details about individual fields of this structure, see the Doxygen help:PDK_INSTALL_DIR\packages\ti\fs\fatfs\docs\doxygen\html\index.html.r©?…�rª?}r«?(jXNApplication is expected to perform driver specific configuration for FATFS_config structure. The structure supports initialization of multiple drivers for FATFS, i.e. both MMCSD and USB can be configured to use FATFS file system by configuring each driver to different drive instance. This structure must be provided to the FATFS driver. It must be initialized before the FATFS_init() function is called and cannot be changed subsequently. For details about individual fields of this structure, see the Doxygen help:PDK_INSTALL_DIR\\packages\\ti\\fs\\fatfs\\docs\\doxygen\\html\\index.html.jj¥?ubaubeubj)�r¬?}r­?(jUjKjjU?j j(?jjj}r®?(j]r¯?Xapisr°?aj]j]j]r±?Uid88r²?aj]ujKBjhj]r³?(j)�r´?}rµ?(jXAPIsr¶?jj¬?j j(?jj"j}r·?(j]j]j]j]j]ujKBjhj]r¸?j%XAPIsr¹?…�rº?}r»?(jj¶?jj´?ubaubjX)�r¼?}r½?(jXxIn order to use the FATFS module APIs, the FATFS.h and ff.h header file should be included in an application as follows:r¾?jj¬?j j(?jj\j}r¿?(j]j]j]j]j]ujKDjhj]rÀ?j%XxIn order to use the FATFS module APIs, the FATFS.h and ff.h header file should be included in an application as follows:rÁ?…�rÂ?}rÃ?(jj¾?jj¼?ubaubj#)�rÄ?}rÅ?(jX:#include #include jj¬?j j(?jj&j}rÆ?(j‰j Xcj2j3j]j]j]j!}j]j]ujKGjhj]rÇ?j%X:#include #include rÈ?…�rÉ?}rÊ?(jUjjÄ?ubaubjb)�rË?}rÌ?(jX API Call FlowrÍ?jKjj¬?j j(?jjfj}rÎ?(j]rÏ?Uid89rÐ?aj]j]rÑ?X api-call-flowrÒ?aj]j]ujNjhj]rÓ?j%X API Call FlowrÔ?…�rÕ?}rÖ?(jjÍ?jjË?ubaubjX)�r×?}rØ?(jXCBelow sequence indicates the calling sequence of FATFS driver APIs:rÙ?jj¬?j j(?jj\j}rÚ?(j]j]j]j]j]ujKOjhj]rÛ?j%XCBelow sequence indicates the calling sequence of FATFS driver APIs:rÜ?…�rÝ?}rÞ?(jjÙ?jj×?ubaubj#)�rß?}rà?(jXFATFS_Handle FATFS; FATFS_Params FATFSParams; FATFS_Params_init(&FATFSParams); FATFS = FATFS_open(peripheralNum, &FATFSParams);jj¬?j j(?jj&j}rá?(j‰j Xcj2j3j]j]j]j!}j]j]ujKQjhj]râ?j%XFATFS_Handle FATFS; FATFS_Params FATFSParams; FATFS_Params_init(&FATFSParams); FATFS = FATFS_open(peripheralNum, &FATFSParams);rã?…�rä?}rå?(jUjjß?ubaubjX)�ræ?}rç?(jXŽAt this point application can invoke additional FAT File system API eg: f_open(), f_write(), f_read() etc to perform file operations on devicerè?jj¬?j j(?jj\j}ré?(j]j]j]j]j]ujKZjhj]rê?j%XŽAt this point application can invoke additional FAT File system API eg: f_open(), f_write(), f_read() etc to perform file operations on devicerë?…�rì?}rí?(jjè?jjæ?ubaubeubeubj)�rî?}rï?(jUjKjj?j j(?jjj}rð?(j]rñ?X applicationrò?aj]j]j]ró?Uid90rô?aj]ujK`jhj]rõ?(j)�rö?}r÷?(jX Applicationrø?jjî?j j(?jj"j}rù?(j]j]j]j]j]ujK`jhj]rú?j%X Applicationrû?…�rü?}rý?(jjø?jjö?ubaubj)�rþ?}rÿ?(jUjKjjî?j j(?jjj}r@(j]r@Xexamplesr@aj]j]j]r@Uid91r@aj]ujKcjhj]r@(j)�r@}r@(jXExamplesr@jjþ?j j(?jj"j}r @(j]j]j]j]j]ujKcjhj]r @j%XExamplesr @…�r @}r @(jj@jj@ubaubj¶)�r@}r@(jUjjþ?j j(?jj¹j}r@(j]j]j]j]j]ujNjhj]r@j¼)�r@}r@(jUj}r@(j]j]j]j]j]UcolsKujj@j]r@(jÁ)�r@}r@(jUj}r@(j]j]j]j]j]UcolwidthKujj@j]jjÅubjÁ)�r@}r@(jUj}r@(j]j]j]j]j]UcolwidthKujj@j]jjÅubjÁ)�r@}r@(jUj}r@(j]j]j]j]j]UcolwidthKujj@j]jjÅubjÁ)�r@}r @(jUj}r!@(j]j]j]j]j]UcolwidthKujj@j]jjÅubjÁ)�r"@}r#@(jUj}r$@(j]j]j]j]j]UcolwidthKujj@j]jjÅubjÒ)�r%@}r&@(jUj}r'@(j]j]j]j]j]ujj@j]r(@j×)�r)@}r*@(jUj}r+@(j]j]j]j]j]ujj%@j]r,@(jÜ)�r-@}r.@(jUj}r/@(j]j]j]j]j]ujj)@j]r0@jX)�r1@}r2@(jXNamer3@jj-@j j(?jj\j}r4@(j]j]j]j]j]ujKfj]r5@j%XNamer6@…�r7@}r8@(jj3@jj1@ubaubajjéubjÜ)�r9@}r:@(jUj}r;@(j]j]j]j]j]ujj)@j]r<@jÁ)�r=@}r>@(jUj}r?@(j]j]j]j]j]ujj9@j]r@@jÇ)�rA@}rB@(jX DescriptionrC@jÊKjj=@j j(?jjj}rD@(j]j]j]j]j]ujKj]rE@j%X DescriptionrF@…�rG@}rH@(jjC@jjA@ubaubajjÄubajjéubjÜ)�rI@}rJ@(jUj}rK@(j]j]j]j]j]ujj)@j]rL@jX)�rM@}rN@(jXExpected ResultsrO@jjI@j j(?jj\j}rP@(j]j]j]j]j]ujKfj]rQ@j%XExpected ResultsrR@…�rS@}rT@(jjO@jjM@ubaubajjéubjÜ)�rU@}rV@(jUj}rW@(j]j]j]j]j]ujj)@j]rX@jX)�rY@}rZ@(jXSupported SOCsr[@jjU@j j(?jj\j}r\@(j]j]j]j]j]ujKfj]r]@j%XSupported SOCsr^@…�r_@}r`@(jj[@jjY@ubaubajjéubjÜ)�ra@}rb@(jUj}rc@(j]j]j]j]j]ujj)@j]rd@jX)�re@}rf@(jX Build Typerg@jja@j j(?jj\j}rh@(j]j]j]j]j]ujKfj]ri@j%X Build Typerj@…�rk@}rl@(jjg@jje@ubaubajjéubejjubajjubj)�rm@}rn@(jUj}ro@(j]j]j]j]j]ujj@j]rp@(j×)�rq@}rr@(jUj}rs@(j]j]j]j]j]ujjm@j]rt@(jÜ)�ru@}rv@(jUj}rw@(j]j]j]j]j]ujjq@j]rx@jX)�ry@}rz@(jXFATFS_Console_ExampleProjectr{@jju@j j(?jj\j}r|@(j]j]j]j]j]ujKhj]r}@j%XFATFS_Console_ExampleProjectr~@…�r@}r€@(jj{@jjy@ubaubajjéubjÜ)�r�@}r‚@(jUj}rƒ@(j]j]j]j]j]ujjq@j]r„@jÁ)�r…@}r†@(jUj}r‡@(j]j]j]j]j]ujj�@j]rˆ@jÇ)�r‰@}rŠ@(jX;Example will initialize card and checks for valid FAT partition. When a valid FAT partition is detected console interface for command execution is provided. Supported console commands include ls (to list files of directory), cd (change directory), pwd (present working directory) and cat (text file read operation).r‹@jÊKjj…@j j(?jjj}rŒ@(j]j]j]j]j]ujKj]r�@j%X;Example will initialize card and checks for valid FAT partition. When a valid FAT partition is detected console interface for command execution is provided. Supported console commands include ls (to list files of directory), cd (change directory), pwd (present working directory) and cat (text file read operation).rŽ@…�r�@}r�@(jj‹@jj‰@ubaubajjÄubajjéubjÜ)�r‘@}r’@(jUj}r“@(j]j]j]j]j]ujjq@j]r”@jX)�r•@}r–@(jX^When a card is detected with valid FAT partition console interface output will indicate "0:> "r—@jj‘@j j(?jj\j}r˜@(j]j]j]j]j]ujKhj]r™@j%X^When a card is detected with valid FAT partition console interface output will indicate "0:> "rš@…�r›@}rœ@(jj—@jj•@ubaubajjéubjÜ)�r�@}rž@(jUj}rŸ@(j]j]j]j]j]ujjq@j]r @jX)�r¡@}r¢@(jX"AM335x AM437x AM571x AM572x AM574xr£@jj�@j j(?jj\j}r¤@(j]j]j]j]j]ujKij]r¥@j%X"AM335x AM437x AM571x AM572x AM574xr¦@…�r§@}r¨@(jj£@jj¡@ubaubajjéubjÜ)�r©@}rª@(jUj}r«@(j]j]j]j]j]ujjq@j]r¬@jX)�r­@}r®@(jX CCS Projectr¯@jj©@j j(?jj\j}r°@(j]j]j]j]j]ujKij]r±@j%X CCS Projectr²@…�r³@}r´@(jj¯@jj­@ubaubajjéubejjubj×)�rµ@}r¶@(jUj}r·@(j]j]j]j]j]ujjm@j]r¸@(jÜ)�r¹@}rº@(jUj}r»@(j]j]j]j]j]ujjµ@j]r¼@jX)�r½@}r¾@(jXFATFS_Console_TestAppr¿@jj¹@j j(?jj\j}rÀ@(j]j]j]j]j]ujK|j]rÁ@j%XFATFS_Console_TestApprÂ@…�rÃ@}rÄ@(jj¿@jj½@ubaubajjéubjÜ)�rÅ@}rÆ@(jUj}rÇ@(j]j]j]j]j]ujjµ@j]rÈ@jÁ)�rÉ@}rÊ@(jUj}rË@(j]j]j]j]j]ujjÅ@j]rÌ@jÇ)�rÍ@}rÎ@(jX Same as aboverÏ@jÊKjjÉ@j j(?jjj}rÐ@(j]j]j]j]j]ujKj]rÑ@j%X Same as aboverÒ@…�rÓ@}rÔ@(jjÏ@jjÍ@ubaubajjÄubajjéubjÜ)�rÕ@}rÖ@(jUj}r×@(j]j]j]j]j]ujjµ@j]rØ@jX)�rÙ@}rÚ@(jX Same as aboverÛ@jjÕ@j j(?jj\j}rÜ@(j]j]j]j]j]ujK|j]rÝ@j%X Same as aboverÞ@…�rß@}rà@(jjÛ@jjÙ@ubaubajjéubjÜ)�rá@}râ@(jUj}rã@(j]j]j]j]j]ujjµ@j]rä@jX)�rå@}ræ@(jXAM65xrç@jjá@j j(?jj\j}rè@(j]j]j]j]j]ujK|j]ré@j%XAM65xrê@…�rë@}rì@(jjç@jjå@ubaubajjéubjÜ)�rí@}rî@(jUj}rï@(j]j]j]j]j]ujjµ@j]rð@jX)�rñ@}rò@(jXMakefileró@jjí@j j(?jj\j}rô@(j]j]j]j]j]ujK|j]rõ@j%XMakefilerö@…�r÷@}rø@(jjó@jjñ@ubaubajjéubejjubj×)�rù@}rú@(jUj}rû@(j]j]j]j]j]ujjm@j]rü@(jÜ)�rý@}rþ@(jUj}rÿ@(j]j]j]j]j]ujjù@j]rAjX)�rA}rA(jX!FATFS_Console_SMP_Example ProjectrAjjý@j j(?jj\j}rA(j]j]j]j]j]ujK~j]rAj%X!FATFS_Console_SMP_Example ProjectrA…�rA}rA(jjAjjAubaubajjéubjÜ)�r A}r A(jUj}r A(j]j]j]j]j]ujjù@j]r AjÁ)�r A}rA(jUj}rA(j]j]j]j]j]ujj Aj]rAjÇ)�rA}rA(jXLExample will initialize card and checks for valid FAT partition. When a valid FAT partition is detected console interface for command execution is provided. Supported console commands include ls (to list files of directory), cd (change directory), pwd (present working directory) and cat (text file read operation) with SMP enabled.rAjÊKjj Aj j(?jjj}rA(j]j]j]j]j]ujKj]rAj%XLExample will initialize card and checks for valid FAT partition. When a valid FAT partition is detected console interface for command execution is provided. Supported console commands include ls (to list files of directory), cd (change directory), pwd (present working directory) and cat (text file read operation) with SMP enabled.rA…�rA}rA(jjAjjAubaubajjÄubajjéubjÜ)�rA}rA(jUj}rA(j]j]j]j]j]ujjù@j]rAjX)�rA}rA(jX^When a card is detected with valid FAT partition console interface output will indicate "0:> "rAjjAj j(?jj\j}r A(j]j]j]j]j]ujK~j]r!Aj%X^When a card is detected with valid FAT partition console interface output will indicate "0:> "r"A…�r#A}r$A(jjAjjAubaubajjéubjÜ)�r%A}r&A(jUj}r'A(j]j]j]j]j]ujjù@j]r(AjX)�r)A}r*A(jXAM572x-EVM (A15 core)r+Ajj%Aj j(?jj\j}r,A(j]j]j]j]j]ujKj]r-Aj%XAM572x-EVM (A15 core)r.A…�r/A}r0A(jj+Ajj)AubaubajjéubjÜ)�r1A}r2A(jUj}r3A(j]j]j]j]j]ujjù@j]r4AjX)�r5A}r6A(jX CCS Projectr7Ajj1Aj j(?jj\j}r8A(j]j]j]j]j]ujKj]r9Aj%X CCS Projectr:A…�r;A}rA(jUj}r?A(j]j]j]j]j]ujjm@j]r@A(jÜ)�rAA}rBA(jUj}rCA(j]j]j]j]j]ujj=Aj]rDAjX)�rEA}rFA(jXFATFS_Console_SMP_TestApprGAjjAAj j(?jj\j}rHA(j]j]j]j]j]ujK“j]rIAj%XFATFS_Console_SMP_TestApprJA…�rKA}rLA(jjGAjjEAubaubajjéubjÜ)�rMA}rNA(jUj}rOA(j]j]j]j]j]ujj=Aj]rPAjÁ)�rQA}rRA(jUj}rSA(j]j]j]j]j]ujjMAj]rTAjÇ)�rUA}rVA(jX Same as aboverWAjÊKjjQAj j(?jjj}rXA(j]j]j]j]j]ujKj]rYAj%X Same as aboverZA…�r[A}r\A(jjWAjjUAubaubajjÄubajjéubjÜ)�r]A}r^A(jUj}r_A(j]j]j]j]j]ujj=Aj]r`AjX)�raA}rbA(jX Same as abovercAjj]Aj j(?jj\j}rdA(j]j]j]j]j]ujK“j]reAj%X Same as aboverfA…�rgA}rhA(jjcAjjaAubaubajjéubjÜ)�riA}rjA(jUj}rkA(j]j]j]j]j]ujj=Aj]rlAjX)�rmA}rnA(jXAM65x(A53 core)roAjjiAj j(?jj\j}rpA(j]j]j]j]j]ujK“j]rqAj%XAM65x(A53 core)rrA…�rsA}rtA(jjoAjjmAubaubajjéubjÜ)�ruA}rvA(jUj}rwA(j]j]j]j]j]ujj=Aj]rxAjX)�ryA}rzA(jXMakefiler{AjjuAj j(?jj\j}r|A(j]j]j]j]j]ujK“j]r}Aj%XMakefiler~A…�rA}r€A(jj{AjjyAubaubajjéubejjubejjðubejjñubaubeubeubj)�r�A}r‚A(jUjKjj?j j(?jjj}rƒA(j]r„AX$building ccs projects based examplesr…Aaj]j]j]r†AU$building-ccs-projects-based-examplesr‡Aaj]ujK˜jhj]rˆA(j)�r‰A}rŠA(jX$Building CCS projects based examplesr‹Ajj�Aj j(?jj"j}rŒA(j]j]j]j]j]ujK˜jhj]r�Aj%X$Building CCS projects based examplesrŽA…�r�A}r�A(jj‹Ajj‰AubaubjX)�r‘A}r’A(jXÇCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in `PDK Example and Test Project Creation `__jj�Aj j(?jj\j}r“A(j]j]j]j]j]ujKšjhj]r”A(j%XbCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in r•A…�r–A}r—A(jXbCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in jj‘Aubj)�r˜A}r™A(jXe`PDK Example and Test Project Creation `__j}ršA(UnameX%PDK Example and Test Project CreationjX9index_overview.html#pdk-example-and-test-project-creationj]j]j]j]j]ujj‘Aj]r›Aj%X%PDK Example and Test Project CreationrœA…�r�A}ržA(jUjj˜Aubajjubeubeubj)�rŸA}r A(jUjj?j j(?jjj}r¡A(j]j]j]j]r¢AU.building-fatfs-test-applications-via-makefilesr£Aaj]r¤AhJaujKŸjhj]r¥A(j)�r¦A}r§A(jX.Building FATFS Test applications via makefilesr¨AjjŸAj j(?jj"j}r©A(j]j]j]j]j]ujKŸjhj]rªAj%X.Building FATFS Test applications via makefilesr«A…�r¬A}r­A(jj¨Ajj¦Aubaubj)�r®A}r¯A(jUjjŸAj j(?jjj}r°A(jX-j]j]j]j]j]ujK¡jhj]r±A(j)�r²A}r³A(jX\FATFSD Test applications and dependent libraries are built from the top level fatfs makefiler´Ajj®Aj j(?jj j}rµA(j]j]j]j]j]ujNjhj]r¶AjX)�r·A}r¸A(jj´Ajj²Aj j(?jj\j}r¹A(j]j]j]j]j]ujK¡j]rºAj%X\FATFSD Test applications and dependent libraries are built from the top level fatfs makefiler»A…�r¼A}r½A(jj´Ajj·Aubaubaubj)�r¾A}r¿A(jX:Refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands: - cd /packages/ - To build: make fatfs - To clean: make fatfs_clean jj®Aj j(?jj j}rÀA(j]j]j]j]j]ujNjhj]rÁA(jX)�rÂA}rÃA(jXÞRefer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj¾Aj j(?jj\j}rÄA(j]j]j]j]j]ujK¢j]rÅA(j%X Refer to the rÆA…�rÇA}rÈA(jX Refer to the jjÂAubj)�rÉA}rÊA(jXT`Processor SDK RTOS Getting Started Guide `__j}rËA(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujjÂAj]rÌAj%X(Processor SDK RTOS Getting Started GuiderÍA…�rÎA}rÏA(jUjjÉAubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:rÐA…�rÑA}rÒA(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jjÂAubeubj¤ )�rÓA}rÔA(jUj}rÕA(j]j]j]j]j]ujj¾Aj]rÖAj)�r×A}rØA(jUj}rÙA(jX-j]j]j]j]j]ujjÓAj]rÚA(j)�rÛA}rÜA(jXcd /packages/rÝAj}rÞA(j]j]j]j]j]ujj×Aj]rßAjX)�ràA}ráA(jjÝAjjÛAj j(?jj\j}râA(j]j]j]j]j]ujK¤j]rãAj%Xcd /packages/räA…�råA}ræA(jjÝAjjàAubaubajj ubj)�rçA}rèA(jXTo build: make fatfsréAj}rêA(j]j]j]j]j]ujj×Aj]rëAjX)�rìA}ríA(jjéAjjçAj j(?jj\j}rîA(j]j]j]j]j]ujK¥j]rïAj%XTo build: make fatfsrðA…�rñA}ròA(jjéAjjìAubaubajj ubj)�róA}rôA(jXTo clean: make fatfs_clean j}rõA(j]j]j]j]j]ujj×Aj]röAjX)�r÷A}røA(jXTo clean: make fatfs_cleanrùAjjóAj j(?jj\j}rúA(j]j]j]j]j]ujK¦j]rûAj%XTo clean: make fatfs_cleanrüA…�rýA}rþA(jjùAjj÷Aubaubajj ubejjubajj§ ubeubj)�rÿA}rB(jX¹Similarly, to build at the module level, issue the following commands for rebuilding : - cd /packages/ti/fs/fatfs - To build: make all - To clean: make clean jj®Aj j(?jj j}rB(j]j]j]j]j]ujNjhj]rB(jX)�rB}rB(jXVSimilarly, to build at the module level, issue the following commands for rebuilding :rBjjÿAj j(?jj\j}rB(j]j]j]j]j]ujK¨j]rBj%XVSimilarly, to build at the module level, issue the following commands for rebuilding :rB…�r B}r B(jjBjjBubaubj¤ )�r B}r B(jUj}r B(j]j]j]j]j]ujjÿAj]rBj)�rB}rB(jUj}rB(jX-j]j]j]j]j]ujj Bj]rB(j)�rB}rB(jXcd /packages/ti/fs/fatfsrBj}rB(j]j]j]j]j]ujjBj]rBjX)�rB}rB(jjBjjBj j(?jj\j}rB(j]j]j]j]j]ujKªj]rBj%Xcd /packages/ti/fs/fatfsrB…�rB}rB(jjBjjBubaubajj ubj)�rB}r B(jXTo build: make allr!Bj}r"B(j]j]j]j]j]ujjBj]r#BjX)�r$B}r%B(jj!BjjBj j(?jj\j}r&B(j]j]j]j]j]ujK«j]r'Bj%XTo build: make allr(B…�r)B}r*B(jj!Bjj$Bubaubajj ubj)�r+B}r,B(jXTo clean: make clean j}r-B(j]j]j]j]j]ujjBj]r.BjX)�r/B}r0B(jXTo clean: make cleanr1Bjj+Bj j(?jj\j}r2B(j]j]j]j]j]ujK¬j]r3Bj%XTo clean: make cleanr4B…�r5B}r6B(jj1Bjj/Bubaubajj ubejjubajj§ ubeubeubeubj)�r7B}r8B(jUjKjj?j j(?jjj}r9B(j]r:BXadditional referencesr;Baj]j]j]rB(j)�r?B}r@B(jXAdditional ReferencesrABjj7Bj j(?jj"j}rBB(j]j]j]j]j]ujK²jhj]rCBj%XAdditional ReferencesrDB…�rEB}rFB(jjABjj?Bubaubj¶)�rGB}rHB(jUjj7Bj j(?jj¹j}rIB(j]j]j]j]j]ujNjhj]rJBj¼)�rKB}rLB(jUj}rMB(j]j]j]j]j]UcolsKujjGBj]rNB(jÁ)�rOB}rPB(jUj}rQB(j]j]j]j]j]UcolwidthK#ujjKBj]jjÅubjÁ)�rRB}rSB(jUj}rTB(j]j]j]j]j]UcolwidthK)ujjKBj]jjÅubj)�rUB}rVB(jUj}rWB(j]j]j]j]j]ujjKBj]rXB(j×)�rYB}rZB(jUj}r[B(j]j]j]j]j]ujjUBj]r\B(jÜ)�r]B}r^B(jUj}r_B(j]j]j]j]j]ujjYBj]r`BjX)�raB}rbB(jX **Document**rcBjj]Bj j(?jj\j}rdB(j]j]j]j]j]ujKµj]reBj|)�rfB}rgB(jjcBj}rhB(j]j]j]j]j]ujjaBj]riBj%XDocumentrjB…�rkB}rlB(jUjjfBubajj„ubaubajjéubjÜ)�rmB}rnB(jUj}roB(j]j]j]j]j]ujjYBj]rpBjX)�rqB}rrB(jX **Location**rsBjjmBj j(?jj\j}rtB(j]j]j]j]j]ujKµj]ruBj|)�rvB}rwB(jjsBj}rxB(j]j]j]j]j]ujjqBj]ryBj%XLocationrzB…�r{B}r|B(jUjjvBubajj„ubaubajjéubejjubj×)�r}B}r~B(jUj}rB(j]j]j]j]j]ujjUBj]r€B(jÜ)�r�B}r‚B(jUj}rƒB(j]j]j]j]j]ujj}Bj]r„BjX)�r…B}r†B(jXAPI Reference Manualr‡Bjj�Bj j(?jj\j}rˆB(j]j]j]j]j]ujK·j]r‰Bj%XAPI Reference ManualrŠB…�r‹B}rŒB(jj‡Bjj…BubaubajjéubjÜ)�r�B}rŽB(jUj}r�B(j]j]j]j]j]ujj}Bj]r�BjX)�r‘B}r’B(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\fs\\fatfs\\docs\\doxygen\\html\\index .htmljj�Bj j(?jj\j}r“B(j]j]j]j]j]ujK·j]r”Bj%XI$(TI_PDK_INSTALL_DIR)\packages\ti \fs\fatfs\docs\doxygen\html\index .htmlr•B…�r–B}r—B(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\fs\\fatfs\\docs\\doxygen\\html\\index .htmljj‘Bubaubajjéubejjubj×)�r˜B}r™B(jUj}ršB(j]j]j]j]j]ujjUBj]r›B(jÜ)�rœB}r�B(jUj}ržB(j]j]j]j]j]ujj˜Bj]rŸBjX)�r B}r¡B(jX Release Notesr¢BjjœBj j(?jj\j}r£B(j]j]j]j]j]ujK»j]r¤Bj%X Release Notesr¥B…�r¦B}r§B(jj¢Bjj BubaubajjéubjÜ)�r¨B}r©B(jUj}rªB(j]j]j]j]j]ujj˜Bj]r«BjX)�r¬B}r­B(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\fs\\fatfs\\docs\\ReleaseNotes_FATFS _LLD.pdfjj¨Bj j(?jj\j}r®B(j]j]j]j]j]ujK»j]r¯Bj%XL$(TI_PDK_INSTALL_DIR)\packages\ti \fs\fatfs\docs\ReleaseNotes_FATFS _LLD.pdfr°B…�r±B}r²B(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\fs\\fatfs\\docs\\ReleaseNotes_FATFS _LLD.pdfjj¬BubaubajjéubejjubejjðubejjñubaubjÁ)�r³B}r´B(jUjj7Bj j(?jjÄj}rµB(j]j]j]j]j]ujKÀjhj]r¶BjÇ)�r·B}r¸B(jUjÊKjj³Bj j(?jjj}r¹B(j]j]j]j]j]ujKjhj]ubaubeubeubj j(?jjj}rºB(j]r»BXoverviewr¼Baj]j]j]r½BUid82r¾Baj]ujKjhj]r¿B(j)�rÀB}rÁB(jXOverviewrÂBjj?j j(?jj"j}rÃB(j]j]j]j]j]ujKjhj]rÄBj%XOverviewrÅB…�rÆB}rÇB(jjÂBjjÀBubaubj)�rÈB}rÉB(jUjKjj?j j(?jjj}rÊB(j]rËBX introductionrÌBaj]j]j]rÍBUid83rÎBaj]ujKjhj]rÏB(j)�rÐB}rÑB(jX IntroductionrÒBjjÈBj j(?jj"j}rÓB(j]j]j]j]j]ujKjhj]rÔBj%X IntroductionrÕB…�rÖB}r×B(jjÒBjjÐBubaubjX)�rØB}rÙB(jX×FATFS module provides an interface to configure a driver for FAT file system compatible device that connects via MMCSD, USB, etc. It configures FATFS for disk operations driver disk Initialize, disk read, disk writerÚBjjÈBj j(?jj\j}rÛB(j]j]j]j]j]ujK jhj]rÜBj%X×FATFS module provides an interface to configure a driver for FAT file system compatible device that connects via MMCSD, USB, etc. It configures FATFS for disk operations driver disk Initialize, disk read, disk writerÝB…�rÞB}rßB(jjÚBjjØBubaubeubeubj j(?jj?j}ràB(j]UlevelKj]j]ráBj¾BaUsourcej(?j]j]UlineKUtypejAujKjhj]râBjX)�rãB}räB(jX+Duplicate implicit target name: "overview".j}råB(j]j]j]j]j]ujj?j]ræBj%X+Duplicate implicit target name: "overview".rçB…�rèB}réB(jUjjãBubajj\ubaubhÿ)�rêB}rëB(jUjjÈBj j(?jj?j}rìB(j]UlevelKj]j]ríBjÎBaUsourcej(?j]j]UlineKUtypejAujKjhj]rîBjX)�rïB}rðB(jX/Duplicate implicit target name: "introduction".j}rñB(j]j]j]j]j]ujjêBj]ròBj%X/Duplicate implicit target name: "introduction".róB…�rôB}rõB(jUjjïBubajj\ubaubhÿ)�röB}r÷B(jUjj/?j j(?jj?j}røB(j]UlevelKj]j]rùBj4?aUsourcej(?j]j]UlineKUtypejAujKjhj]rúBjX)�rûB}rüB(jX2Duplicate implicit target name: "driver overview".j}rýB(j]j]j]j]j]ujjöBj]rþBj%X2Duplicate implicit target name: "driver overview".rÿB…�rC}rC(jUjjûBubajj\ubaubhÿ)�rC}rC(jUjjU?j j(?jj?j}rC(j]UlevelKj]j]rCj[?aUsourcej(?j]j]UlineK#UtypejAujK#jhj]rCjX)�rC}rC(jX1Duplicate implicit target name: "user interface".j}r C(j]j]j]j]j]ujjCj]r Cj%X1Duplicate implicit target name: "user interface".r C…�r C}r C(jUjjCubajj\ubaubhÿ)�rC}rC(jUjje?j j(?jj?j}rC(j]UlevelKj]j]rCjk?aUsourcej(?j]j]UlineK&UtypejAujK&jhj]rCjX)�rC}rC(jX7Duplicate implicit target name: "driver configuration".j}rC(j]j]j]j]j]ujjCj]rCj%X7Duplicate implicit target name: "driver configuration".rC…�rC}rC(jUjjCubajj\ubaubhÿ)�rC}rC(jUj}rC(j]UlevelKj]j]rCjz?aUsourcej j]j]UlineKEUtypejXujju?j]rCjX)�rC}r C(jX?Duplicate explicit target name: "board-specific-configuration".j}r!C(j]j]j]j]j]ujjCj]r"Cj%X?Duplicate explicit target name: "board-specific-configuration".r#C…�r$C}r%C(jUjjCubajj\ubajj?ubhÿ)�r&C}r'C(jUjj¬?j j(?jj?j}r(C(j]UlevelKj]j]r)Cj²?aUsourcej(?j]j]UlineKBUtypejAujKBjhj]r*CjX)�r+C}r,C(jX'Duplicate implicit target name: "apis".j}r-C(j]j]j]j]j]ujj&Cj]r.Cj%X'Duplicate implicit target name: "apis".r/C…�r0C}r1C(jUjj+Cubajj\ubaubhÿ)�r2C}r3C(jUj}r4C(j]UlevelKj]j]r5CjÐ?aUsourcej j]j]UlineKEUtypejXujjË?j]r6CjX)�r7C}r8C(jX0Duplicate explicit target name: "api-call-flow".j}r9C(j]j]j]j]j]ujj2Cj]r:Cj%X0Duplicate explicit target name: "api-call-flow".r;C…�rC}r?C(jUjjî?j j(?jj?j}r@C(j]UlevelKj]j]rACjô?aUsourcej(?j]j]UlineK`UtypejAujK`jhj]rBCjX)�rCC}rDC(jX.Duplicate implicit target name: "application".j}rEC(j]j]j]j]j]ujj>Cj]rFCj%X.Duplicate implicit target name: "application".rGC…�rHC}rIC(jUjjCCubajj\ubaubhÿ)�rJC}rKC(jUjjþ?j j(?jj?j}rLC(j]UlevelKj]j]rMCj@aUsourcej(?j]j]UlineKcUtypejAujKcjhj]rNCjX)�rOC}rPC(jX+Duplicate implicit target name: "examples".j}rQC(j]j]j]j]j]ujjJCj]rRCj%X+Duplicate implicit target name: "examples".rSC…�rTC}rUC(jUjjOCubajj\ubaubhÿ)�rVC}rWC(jUj}rXC(j]UlevelKj]j]Usourcej(?j]j]UlineK¤Utypejòujj¾Aj]rYCjX)�rZC}r[C(jXUnexpected indentation.j}r\C(j]j]j]j]j]ujjVCj]r]Cj%XUnexpected indentation.r^C…�r_C}r`C(jUjjZCubajj\ubajj?ubhÿ)�raC}rbC(jUjj7Bj j(?jj?j}rcC(j]UlevelKj]j]rdCj=BaUsourcej(?j]j]UlineK²UtypejAujK²jhj]reCjX)�rfC}rgC(jX8Duplicate implicit target name: "additional references".j}rhC(j]j]j]j]j]ujjaCj]riCj%X8Duplicate implicit target name: "additional references".rjC…�rkC}rlC(jUjjfCubajj\ubaubhÿ)�rmC}rnC(jUjj)�roC}rpC(jUjKjj)�rqC}rrC(jUjhj j jjj}rsC(j]j]j]j]rtCUmmcsdruCaj]rvChÆaujKKjhj]rwC(j)�rxC}ryC(jXMMCSDrzCjjqCj j jj"j}r{C(j]j]j]j]j]ujKKjhj]r|Cj%XMMCSDr}C…�r~C}rC(jjzCjjxCubaubj))�r€C}r�C(jX@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MMCSDjjqCj j,X>source/rtos/PDK_Platform_Software/Device_Drivers/MMCSD.rst.incr‚C…�rƒC}r„Cbjj0j}r…C(j2j3j]j]j]j]j]ujKjhj]r†Cj%X@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MMCSDr‡C…�rˆC}r‰C(jUjj€CubaubjoCj)�rŠC}r‹C(jUjKjjqCj jƒCjjj}rŒC(j]r�CXuser interfacerŽCaj]j]j]r�CUid95r�Caj]ujK!jhj]r‘C(j)�r’C}r“C(jXUser Interfacer”CjjŠCj jƒCjj"j}r•C(j]j]j]j]j]ujK!jhj]r–Cj%XUser Interfacer—C…�r˜C}r™C(jj”Cjj’Cubaubj)�ršC}r›C(jUjKjjŠCj jƒCjjj}rœC(j]r�CXdriver configurationržCaj]j]j]rŸCUid96r Caj]ujK$jhj]r¡C(j)�r¢C}r£C(jXDriver Configurationr¤CjjšCj jƒCjj"j}r¥C(j]j]j]j]j]ujK$jhj]r¦Cj%XDriver Configurationr§C…�r¨C}r©C(jj¤Cjj¢Cubaubjb)�rªC}r«C(jX **Board Specific Configuration**r¬CjKjjšCj jƒCjjfj}r­C(j]r®CUid97r¯Caj]j]r°CXboard-specific-configurationr±Caj]j]ujNjhj]r²Cj|)�r³C}r´C(jj¬Cj}rµC(j]j]j]j]j]ujjªCj]r¶Cj%XBoard Specific Configurationr·C…�r¸C}r¹C(jUjj³Cubajj„ubaubjX)�rºC}r»C(jXÓAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer `Processor SDK RTOS Board Support `__ for additional details.Once board specific configuration is complete MMCSD_init() API can be called to initialize driver.jjšCj jƒCjj\j}r¼C(j]j]j]j]j]ujK)jhj]r½C(j%XAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer r¾C…�r¿C}rÀC(jXAll board specific configurations eg:enabling clock and pin-mux for UART pins are required before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs. In addition it initializes UART instance for Console/STDIO.Refer jjºCubj)�rÁC}rÂC(jXE`Processor SDK RTOS Board Support `__j}rÃC(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujjºCj]rÄCj%X Processor SDK RTOS Board SupportrÅC…�rÆC}rÇC(jUjjÁCubajjubj%X{ for additional details.Once board specific configuration is complete MMCSD_init() API can be called to initialize driver.rÈC…�rÉC}rÊC(jX{ for additional details.Once board specific configuration is complete MMCSD_init() API can be called to initialize driver.jjºCubeubjb)�rËC}rÌC(jX!**MMCSD Configuration Structure**rÍCjjšCj jƒCjjfj}rÎC(j]rÏCUmmcsd-configuration-structurerÐCaj]j]j]j]rÑChÈaujNjhj]rÒCj|)�rÓC}rÔC(jjÍCj}rÕC(j]j]j]j]j]ujjËCj]rÖCj%XMMCSD Configuration Structurer×C…�rØC}rÙC(jUjjÓCubajj„ubaubjX)�rÚC}rÛC(jXTThe MMCSD_soc.c file binds driver with hardware attributes on the board through MMCSD_config structure. This structure must be initialized before the MMCSD_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening \\docs\\doxygen\\html\\index.htmljjšCj jƒCjj\j}rÜC(j]j]j]j]j]ujK5jhj]rÝCj%XPThe MMCSD_soc.c file binds driver with hardware attributes on the board through MMCSD_config structure. This structure must be initialized before the MMCSD_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening \docs\doxygen\html\index.htmlrÞC…�rßC}ràC(jXTThe MMCSD_soc.c file binds driver with hardware attributes on the board through MMCSD_config structure. This structure must be initialized before the MMCSD_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening \\docs\\doxygen\\html\\index.htmljjÚCubaubeubj)�ráC}râC(jUjKjjŠCj jƒCjjj}rãC(j]räCXapisråCaj]j]j]ræCUid98rçCaj]ujK=jhj]rèC(j)�réC}rêC(jXAPIsrëCjjáCj jƒCjj"j}rìC(j]j]j]j]j]ujK=jhj]ríCj%XAPIsrîC…�rïC}rðC(jjëCjjéCubaubjX)�rñC}ròC(jX0Reference for API header file with documentationróCjjáCj jƒCjj\j}rôC(j]j]j]j]j]ujK?jhj]rõCj%X0Reference for API header file with documentationröC…�r÷C}røC(jjóCjjñCubaubj#)�rùC}rúC(jX#include jjáCj jƒCjj&j}rûC(j2j3j]j]j]j]j]ujMï jhj]rüCj%X#include rýC…�rþC}rÿC(jUjjùCubaubjb)�rD}rD(jX API Call FlowrDjKjjáCj jƒCjjfj}rD(j]rDUid99rDaj]j]rDX api-call-flowrDaj]j]ujNjhj]rDj%X API Call Flowr D…�r D}r D(jjDjjDubaubjX)�r D}r D(jX|The below sequence indicates the calling sequence of MMCSD driver APIs for a use case of write transaction in blocking mode:rDjjáCj jƒCjj\j}rD(j]j]j]j]j]ujKHjhj]rDj%X|The below sequence indicates the calling sequence of MMCSD driver APIs for a use case of write transaction in blocking mode:rD…�rD}rD(jjDjj Dubaubj#)�rD}rD(jXýMMCSD_Handle MMCSD; UInt peripheralNum = 0; /* Such as MMCSD0 */ MMCSD_Params MMCSDParams; ... MMCSD_Params_init(&MMCSDParams); MMCSD = MMCSD_open(peripheralNum, &MMCSDParams);
if (MMCSD == NULL) {
/* Error opening MMCSD */ ... readOK = MMCSD_read(MMCSD, rxBuffer , startBlock, numBlock); /* Perform MMCSD read */ if (!transferOK) { /* MMCSD transaction failed */} writeOK = MMCSD_write(MMCSD, TxBuffer , startBlock, numBlock); /* Perform MMCSD write */ if (!writeOK) { /* MMCSD transaction failed */}jjáCj jƒCjj&j}rD(j2j3j]j]j]j]j]ujMù jhj]rDj%XýMMCSD_Handle MMCSD; UInt peripheralNum = 0; /* Such as MMCSD0 */ MMCSD_Params MMCSDParams; ... MMCSD_Params_init(&MMCSDParams); MMCSD = MMCSD_open(peripheralNum, &MMCSDParams);
if (MMCSD == NULL) {
/* Error opening MMCSD */ ... readOK = MMCSD_read(MMCSD, rxBuffer , startBlock, numBlock); /* Perform MMCSD read */ if (!transferOK) { /* MMCSD transaction failed */} writeOK = MMCSD_write(MMCSD, TxBuffer , startBlock, numBlock); /* Perform MMCSD write */ if (!writeOK) { /* MMCSD transaction failed */}rD…�rD}rD(jUjjDubaubjb)�rD}rD(jX eMMC UsagerDjjáCj jƒCjjfj}rD(j]rDU emmc-usager Daj]j]j]j]r!DhÎaujNjhj]r"Dj%X eMMC Usager#D…�r$D}r%D(jjDjjDubaubjX)�r&D}r'D(jX»MMCSD driver supports eMMC device. Application need to configure the eMMC device for an instance of peripheral. It is also recommended to configure the operating bus width of eMMC device.r(DjjáCj jƒCjj\j}r)D(j]j]j]j]j]ujK^jhj]r*Dj%X»MMCSD driver supports eMMC device. Application need to configure the eMMC device for an instance of peripheral. It is also recommended to configure the operating bus width of eMMC device.r+D…�r,D}r-D(jj(Djj&Dubaubj#)�r.D}r/D(jX�mmcsdInitCfg[MMCSD_INSTANCE].cardType = MMCSD_CARD_EMMC; mmcsdInitCfg[MMCSD_INSTANCE].supportedBusWidth = MMCSD_BUS_WIDTH_8BIT; MMCSD_init();jjáCj jƒCjj&j}r0D(j2j3j]j]j]j]j]ujMjhj]r1Dj%X�mmcsdInitCfg[MMCSD_INSTANCE].cardType = MMCSD_CARD_EMMC; mmcsdInitCfg[MMCSD_INSTANCE].supportedBusWidth = MMCSD_BUS_WIDTH_8BIT; MMCSD_init();r2D…�r3D}r4D(jUjj.Dubaubjb)�r5D}r6D(jX EDMA Usager7DjjáCj jƒCjjfj}r8D(j]r9DU edma-usager:Daj]j]j]j]r;Dh4aujNjhj]rD}r?D(jj7Djj5DubaubjX)�r@D}rAD(jX[MMCSD driver supports EDMA operations to transfer data between memory and MMCSD peripheral.rBDjjáCj jƒCjj\j}rCD(j]j]j]j]j]ujKkjhj]rDDj%X[MMCSD driver supports EDMA operations to transfer data between memory and MMCSD peripheral.rED…�rFD}rGD(jjBDjj@DubaubjX)�rHD}rID(jXÍDriver uses separate source files for these operations.Refer source MMCSD_soc.c for DMA MMCSD SOC configuration. Application need to create EDMA handle and update the configuration before MMCSD_init() API.rJDjjáCj jƒCjj\j}rKD(j]j]j]j]j]ujKnjhj]rLDj%XÍDriver uses separate source files for these operations.Refer source MMCSD_soc.c for DMA MMCSD SOC configuration. Application need to create EDMA handle and update the configuration before MMCSD_init() API.rMD…�rND}rOD(jjJDjjHDubaubj#)�rPD}rQD(jXdmmcsdInitCfg[MMCSD_INSTANCE].edmaHandle = MMCSDApp_edmaInit();/* Refer Example/Test */ MMCSD_init();jjáCj jƒCjj&j}rRD(j2j3j]j]j]j]j]ujM jhj]rSDj%XdmmcsdInitCfg[MMCSD_INSTANCE].edmaHandle = MMCSDApp_edmaInit();/* Refer Example/Test */ MMCSD_init();rTD…�rUD}rVD(jUjjPDubaubjX)�rWD}rXD(jX‹Refer “MMCSD_[Usecase]_[Board/SoC]_DMA_[cpu][Example/Test]projectâ€� for additional reference. Refer SDK Release Note for supported EVMs.rYDjjáCj jƒCjj\j}rZD(j]j]j]j]j]ujKwjhj]r[Dj%X‹Refer “MMCSD_[Usecase]_[Board/SoC]_DMA_[cpu][Example/Test]projectâ€� for additional reference. Refer SDK Release Note for supported EVMs.r\D…�r]D}r^D(jjYDjjWDubaubjb)�r_D}r`D(jXUHS Mode UsageraDjjáCj jƒCjjfj}rbD(j]rcDUuhs-mode-usagerdDaj]j]j]j]reDhLaujNjhj]rfDj%XUHS Mode UsagergD…�rhD}riD(jjaDjj_DubaubjX)�rjD}rkD(jXËThe MMCSD driver supports UHS-I cards. Feature is available for AM57x SOC and is dependent on board or platform support for run-time switching from 3.0V to 1.8V. Feature is validated on AM572x GP EVM 3.0rlDjjáCj jƒCjj\j}rmD(j]j]j]j]j]ujK}jhj]rnDj%XËThe MMCSD driver supports UHS-I cards. Feature is available for AM57x SOC and is dependent on board or platform support for run-time switching from 3.0V to 1.8V. Feature is validated on AM572x GP EVM 3.0roD…�rpD}rqD(jjlDjjjDubaubeubeubj)�rrD}rsD(jUjKjjqCj jƒCjjj}rtD(j]ruDX applicationrvDaj]j]j]rwDUid100rxDaj]ujK‚jhj]ryD(j)�rzD}r{D(jX Applicationr|DjjrDj jƒCjj"j}r}D(j]j]j]j]j]ujK‚jhj]r~Dj%X ApplicationrD…�r€D}r�D(jj|DjjzDubaubj)�r‚D}rƒD(jUjKjjrDj jƒCjjj}r„D(j]r…DXexamples & unit testsr†Daj]j]j]r‡DUexamples-unit-testsrˆDaj]ujK…jhj]r‰D(j)�rŠD}r‹D(jXExamples & Unit testsrŒDjj‚Dj jƒCjj"j}r�D(j]j]j]j]j]ujK…jhj]rŽDj%XExamples & Unit testsr�D…�r�D}r‘D(jjŒDjjŠDubaubj¶)�r’D}r“D(jUjj‚Dj jƒCjj¹j}r”D(j]j]j]j]j]ujNjhj]r•Dj¼)�r–D}r—D(jUj}r˜D(j]j]j]j]j]UcolsKujj’Dj]r™D(jÁ)�ršD}r›D(jUj}rœD(j]j]j]j]j]UcolwidthK"ujj–Dj]jjÅubjÁ)�r�D}ržD(jUj}rŸD(j]j]j]j]j]UcolwidthKujj–Dj]jjÅubjÁ)�r D}r¡D(jUj}r¢D(j]j]j]j]j]UcolwidthKujj–Dj]jjÅubjÁ)�r£D}r¤D(jUj}r¥D(j]j]j]j]j]UcolwidthKujj–Dj]jjÅubjÁ)�r¦D}r§D(jUj}r¨D(j]j]j]j]j]UcolwidthKujj–Dj]jjÅubjÒ)�r©D}rªD(jUj}r«D(j]j]j]j]j]ujj–Dj]r¬Dj×)�r­D}r®D(jUj}r¯D(j]j]j]j]j]ujj©Dj]r°D(jÜ)�r±D}r²D(jUj}r³D(j]j]j]j]j]ujj­Dj]r´DjX)�rµD}r¶D(jXNamer·Djj±Dj jƒCjj\j}r¸D(j]j]j]j]j]ujKˆj]r¹Dj%XNamerºD…�r»D}r¼D(jj·DjjµDubaubajjéubjÜ)�r½D}r¾D(jUj}r¿D(j]j]j]j]j]ujj­Dj]rÀDjX)�rÁD}rÂD(jX DescriptionrÃDjj½Dj jƒCjj\j}rÄD(j]j]j]j]j]ujKˆj]rÅDj%X DescriptionrÆD…�rÇD}rÈD(jjÃDjjÁDubaubajjéubjÜ)�rÉD}rÊD(jUj}rËD(j]j]j]j]j]ujj­Dj]rÌDjX)�rÍD}rÎD(jXExpected ResultsrÏDjjÉDj jƒCjj\j}rÐD(j]j]j]j]j]ujKˆj]rÑDj%XExpected ResultsrÒD…�rÓD}rÔD(jjÏDjjÍDubaubajjéubjÜ)�rÕD}rÖD(jUj}r×D(j]j]j]j]j]ujj­Dj]rØDjX)�rÙD}rÚD(jXSupported SOCsrÛDjjÕDj jƒCjj\j}rÜD(j]j]j]j]j]ujKˆj]rÝDj%XSupported SOCsrÞD…�rßD}ràD(jjÛDjjÙDubaubajjéubjÜ)�ráD}râD(jUj}rãD(j]j]j]j]j]ujj­Dj]räDjX)�råD}ræD(jX Build TyperçDjjáDj jƒCjj\j}rèD(j]j]j]j]j]ujKˆj]réDj%X Build TyperêD…�rëD}rìD(jjçDjjåDubaubajjéubejjubajjubj)�ríD}rîD(jUj}rïD(j]j]j]j]j]ujj–Dj]rðD(j×)�rñD}ròD(jUj}róD(j]j]j]j]j]ujjíDj]rôD(jÜ)�rõD}röD(jUj}r÷D(j]j]j]j]j]ujjñDj]røDjX)�rùD}rúD(jXMMCSD_FATFS_ExampleProjectrûDjjõDj jƒCjj\j}rüD(j]j]j]j]j]ujKŠj]rýDj%XMMCSD_FATFS_ExampleProjectrþD…�rÿD}rE(jjûDjjùDubaubajjéubjÜ)�rE}rE(jUj}rE(j]j]j]j]j]ujjñDj]rEjX)�rE}rE(jX7Example initializes the card and checks for valid FAT partition. When a valid FAT partition is detected console interface for command execution is provided. Console commands supported are ls (to list files of directory), cd (change directory), pwd (present working directory) and cat (text file read operation).rEjjEj jƒCjj\j}rE(j]j]j]j]j]ujKŠj]r Ej%X7Example initializes the card and checks for valid FAT partition. When a valid FAT partition is detected console interface for command execution is provided. Console commands supported are ls (to list files of directory), cd (change directory), pwd (present working directory) and cat (text file read operation).r E…�r E}r E(jjEjjEubaubajjéubjÜ)�r E}rE(jUj}rE(j]j]j]j]j]ujjñDj]rEjX)�rE}rE(jXXWhen a card is detected with valid FAT partition a console interface apperas like "0:> "rEjj Ej jƒCjj\j}rE(j]j]j]j]j]ujKŠj]rEj%XXWhen a card is detected with valid FAT partition a console interface apperas like "0:> "rE…�rE}rE(jjEjjEubaubajjéubjÜ)�rE}rE(jUj}rE(j]j]j]j]j]ujjñDj]rEjX)�rE}rE(jX:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xrEjjEj jƒCjj\j}r E(j]j]j]j]j]ujKŠj]r!Ej%X:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xr"E…�r#E}r$E(jjEjjEubaubajjéubjÜ)�r%E}r&E(jUj}r'E(j]j]j]j]j]ujjñDj]r(EjX)�r)E}r*E(jX CCS Projectr+Ejj%Ej jƒCjj\j}r,E(j]j]j]j]j]ujK’j]r-Ej%X CCS Projectr.E…�r/E}r0E(jj+Ejj)Eubaubajjéubejjubj×)�r1E}r2E(jUj}r3E(j]j]j]j]j]ujjíDj]r4E(jÜ)�r5E}r6E(jUj}r7E(j]j]j]j]j]ujj1Ej]r8EjX)�r9E}r:E(jXMMCSD_Test_Projectr;Ejj5Ej jƒCjj\j}rE…�r?E}r@E(jj;Ejj9EubaubajjéubjÜ)�rAE}rBE(jUj}rCE(j]j]j]j]j]ujj1Ej]rDEjX)�rEE}rFE(jX�Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL.rGEjjAEj jƒCjj\j}rHE(j]j]j]j]j]ujKžj]rIEj%X�Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL.rJE…�rKE}rLE(jjGEjjEEubaubajjéubjÜ)�rME}rNE(jUj}rOE(j]j]j]j]j]ujj1Ej]rPEjX)�rQE}rRE(jX)Prints on console All tests have passedrSEjjMEj jƒCjj\j}rTE(j]j]j]j]j]ujK�j]rUEj%X)Prints on console All tests have passedrVE…�rWE}rXE(jjSEjjQEubaubajjéubjÜ)�rYE}rZE(jUj}r[E(j]j]j]j]j]ujj1Ej]r\EjX)�r]E}r^E(jX:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xr_EjjYEj jƒCjj\j}r`E(j]j]j]j]j]ujK�j]raEj%X:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xrbE…�rcE}rdE(jj_Ejj]EubaubajjéubjÜ)�reE}rfE(jUj}rgE(j]j]j]j]j]ujj1Ej]rhEjX)�riE}rjE(jX CCS ProjectrkEjjeEj jƒCjj\j}rlE(j]j]j]j]j]ujK¡j]rmEj%X CCS ProjectrnE…�roE}rpE(jjkEjjiEubaubajjéubejjubj×)�rqE}rrE(jUj}rsE(j]j]j]j]j]ujjíDj]rtE(jÜ)�ruE}rvE(jUj}rwE(j]j]j]j]j]ujjqEj]rxEjX)�ryE}rzE(jXMMCSD_DMA_Test_Projectr{EjjuEj jƒCjj\j}r|E(j]j]j]j]j]ujK¨j]r}Ej%XMMCSD_DMA_Test_Projectr~E…�rE}r€E(jj{EjjyEubaubajjéubjÜ)�r�E}r‚E(jUj}rƒE(j]j]j]j]j]ujjqEj]r„EjX)�r…E}r†E(jX�Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL.r‡Ejj�Ej jƒCjj\j}rˆE(j]j]j]j]j]ujK©j]r‰Ej%X�Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL.rŠE…�r‹E}rŒE(jj‡Ejj…EubaubajjéubjÜ)�r�E}rŽE(jUj}r�E(j]j]j]j]j]ujjqEj]r�EjX)�r‘E}r’E(jX'Prints on console All tests have passedr“Ejj�Ej jƒCjj\j}r”E(j]j]j]j]j]ujK¨j]r•Ej%X'Prints on console All tests have passedr–E…�r—E}r˜E(jj“Ejj‘EubaubajjéubjÜ)�r™E}ršE(jUj}r›E(j]j]j]j]j]ujjqEj]rœEjX)�r�E}ržE(jX:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPl138xrŸEjj™Ej jƒCjj\j}r E(j]j]j]j]j]ujK¨j]r¡Ej%X:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPl138xr¢E…�r£E}r¤E(jjŸEjj�EubaubajjéubjÜ)�r¥E}r¦E(jUj}r§E(j]j]j]j]j]ujjqEj]r¨EjX)�r©E}rªE(jX CCS Projectr«Ejj¥Ej jƒCjj\j}r¬E(j]j]j]j]j]ujK¬j]r­Ej%X CCS Projectr®E…�r¯E}r°E(jj«Ejj©Eubaubajjéubejjubj×)�r±E}r²E(jUj}r³E(j]j]j]j]j]ujjíDj]r´E(jÜ)�rµE}r¶E(jUj}r·E(j]j]j]j]UmorerowsKj]ujj±Ej]r¸EjX)�r¹E}rºE(jXMMCSD_SMP_Test_Projectr»EjjµEj jƒCjj\j}r¼E(j]j]j]j]j]ujK³j]r½Ej%XMMCSD_SMP_Test_Projectr¾E…�r¿E}rÀE(jj»Ejj¹EubaubajjéubjÜ)�rÁE}rÂE(jUj}rÃE(j]j]j]j]UmorerowsKj]ujj±Ej]rÄEjX)�rÅE}rÆE(jXœUnit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL in SMP mode.rÇEjjÁEj jƒCjj\j}rÈE(j]j]j]j]j]ujK´j]rÉEj%XœUnit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL in SMP mode.rÊE…�rËE}rÌE(jjÇEjjÅEubaubajjéubjÜ)�rÍE}rÎE(jUj}rÏE(j]j]j]j]UmorerowsKj]ujj±Ej]rÐEjX)�rÑE}rÒE(jX)Prints on console All tests have passedrÓEjjÍEj jƒCjj\j}rÔE(j]j]j]j]j]ujK³j]rÕEj%X)Prints on console All tests have passedrÖE…�r×E}rØE(jjÓEjjÑEubaubajjéubjÜ)�rÙE}rÚE(jUj}rÛE(j]j]j]j]j]ujj±Ej]rÜEjX)�rÝE}rÞE(jX AM572x - EVMrßEjjÙEj jƒCjj\j}ràE(j]j]j]j]j]ujK³j]ráEj%X AM572x - EVMrâE…�rãE}räE(jjßEjjÝEubaubajjéubjÜ)�råE}ræE(jUj}rçE(j]j]j]j]j]ujj±Ej]rèEjX)�réE}rêE(jX CCS ProjectrëEjjåEj jƒCjj\j}rìE(j]j]j]j]j]ujK·j]ríEj%X CCS ProjectrîE…�rïE}rðE(jjëEjjéEubaubajjéubejjubj×)�rñE}ròE(jUj}róE(j]j]j]j]j]ujjíDj]rôE(jÜ)�rõE}röE(jUj}r÷E(j]j]j]j]j]ujjñEj]røEjX)�rùE}rúE(jX am65xx,j721erûEjjõEj jƒCjj\j}rüE(j]j]j]j]j]ujK½j]rýEj%X am65xx,j721erþE…�rÿE}rF(jjûEjjùEubaubajjéubjÜ)�rF}rF(jUj}rF(j]j]j]j]j]ujjñEj]rFjX)�rF}rF(jXmakefilerFjjFj jƒCjj\j}rF(j]j]j]j]j]ujK½j]r Fj%Xmakefiler F…�r F}r F(jjFjjFubaubajjéubejjubj×)�r F}rF(jUj}rF(j]j]j]j]j]ujjíDj]rF(jÜ)�rF}rF(jUj}rF(j]j]j]j]UmorerowsKj]ujj Fj]rFjX)�rF}rF(jXMMCSD_SMP_DMA_Test_ProjectrFjjFj jƒCjj\j}rF(j]j]j]j]j]ujK¿j]rFj%XMMCSD_SMP_DMA_Test_ProjectrF…�rF}rF(jjFjjFubaubajjéubjÜ)�rF}rF(jUj}rF(j]j]j]j]UmorerowsKj]ujj Fj]r FjX)�r!F}r"F(jX­Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL in SMP mode with DMA enabled.r#FjjFj jƒCjj\j}r$F(j]j]j]j]j]ujKÀj]r%Fj%X­Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL in SMP mode with DMA enabled.r&F…�r'F}r(F(jj#Fjj!FubaubajjéubjÜ)�r)F}r*F(jUj}r+F(j]j]j]j]UmorerowsKj]ujj Fj]r,FjX)�r-F}r.F(jX'Prints on console All tests have passedr/Fjj)Fj jƒCjj\j}r0F(j]j]j]j]j]ujK¿j]r1Fj%X'Prints on console All tests have passedr2F…�r3F}r4F(jj/Fjj-FubaubajjéubjÜ)�r5F}r6F(jUj}r7F(j]j]j]j]j]ujj Fj]r8FjX)�r9F}r:F(jX AM572x - EVMr;Fjj5Fj jƒCjj\j}rF…�r?F}r@F(jj;Fjj9FubaubajjéubjÜ)�rAF}rBF(jUj}rCF(j]j]j]j]j]ujj Fj]rDFjX)�rEF}rFF(jX CCS ProjectrGFjjAFj jƒCjj\j}rHF(j]j]j]j]j]ujKÃj]rIFj%X CCS ProjectrJF…�rKF}rLF(jjGFjjEFubaubajjéubejjubj×)�rMF}rNF(jUj}rOF(j]j]j]j]j]ujjíDj]rPF(jÜ)�rQF}rRF(jUj}rSF(j]j]j]j]j]ujjMFj]rTFjX)�rUF}rVF(jX am65xx,j721erWFjjQFj jƒCjj\j}rXF(j]j]j]j]j]ujKÉj]rYFj%X am65xx,j721erZF…�r[F}r\F(jjWFjjUFubaubajjéubjÜ)�r]F}r^F(jUj}r_F(j]j]j]j]j]ujjMFj]r`FjX)�raF}rbF(jXmakefilercFjj]Fj jƒCjj\j}rdF(j]j]j]j]j]ujKÉj]reFj%XmakefilerfF…�rgF}rhF(jjcFjjaFubaubajjéubejjubj×)�riF}rjF(jUj}rkF(j]j]j]j]j]ujjíDj]rlF(jÜ)�rmF}rnF(jUj}roF(j]j]j]j]j]ujjiFj]rpFjX)�rqF}rrF(jXMMCSD_EMMC_TestProjectrsFjjmFj jƒCjj\j}rtF(j]j]j]j]j]ujKËj]ruFj%XMMCSD_EMMC_TestProjectrvF…�rwF}rxF(jjsFjjqFubaubajjéubjÜ)�ryF}rzF(jUj}r{F(j]j]j]j]j]ujjiFj]r|FjX)�r}F}r~F(jX‘Unit Test application demonstrating write and read a fixed number of bytes into eMMC device. Verifies written data pattern to conclude PASS/FAIL.rFjjyFj jƒCjj\j}r€F(j]j]j]j]j]ujKÌj]r�Fj%X‘Unit Test application demonstrating write and read a fixed number of bytes into eMMC device. Verifies written data pattern to conclude PASS/FAIL.r‚F…�rƒF}r„F(jjFjj}FubaubajjéubjÜ)�r…F}r†F(jUj}r‡F(j]j]j]j]j]ujjiFj]rˆFjX)�r‰F}rŠF(jX'Prints on console All tests have passedr‹Fjj…Fj jƒCjj\j}rŒF(j]j]j]j]j]ujKËj]r�Fj%X'Prints on console All tests have passedrŽF…�r�F}r�F(jj‹Fjj‰FubaubajjéubjÜ)�r‘F}r’F(jUj}r“F(j]j]j]j]j]ujjiFj]r”FjX)�r•F}r–F(jX:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xr—Fjj‘Fj jƒCjj\j}r˜F(j]j]j]j]j]ujKËj]r™Fj%X:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xršF…�r›F}rœF(jj—Fjj•FubaubajjéubjÜ)�r�F}ržF(jUj}rŸF(j]j]j]j]j]ujjiFj]r FjX)�r¡F}r¢F(jX CCS Projectr£Fjj�Fj jƒCjj\j}r¤F(j]j]j]j]j]ujKÏj]r¥Fj%X CCS Projectr¦F…�r§F}r¨F(jj£Fjj¡Fubaubajjéubejjubj×)�r©F}rªF(jUj}r«F(j]j]j]j]j]ujjíDj]r¬F(jÜ)�r­F}r®F(jUj}r¯F(j]j]j]j]j]ujj©Fj]r°FjX)�r±F}r²F(jXMMCSD_EMMC_DMA_TestProjectr³Fjj­Fj jƒCjj\j}r´F(j]j]j]j]j]ujK×j]rµFj%XMMCSD_EMMC_DMA_TestProjectr¶F…�r·F}r¸F(jj³Fjj±FubaubajjéubjÜ)�r¹F}rºF(jUj}r»F(j]j]j]j]j]ujj©Fj]r¼FjX)�r½F}r¾F(jX‘Unit Test application demonstrating write and read a fixed number of bytes into eMMC device. Verifies written data pattern to conclude PASS/FAIL.r¿Fjj¹Fj jƒCjj\j}rÀF(j]j]j]j]j]ujKØj]rÁFj%X‘Unit Test application demonstrating write and read a fixed number of bytes into eMMC device. Verifies written data pattern to conclude PASS/FAIL.rÂF…�rÃF}rÄF(jj¿Fjj½FubaubajjéubjÜ)�rÅF}rÆF(jUj}rÇF(j]j]j]j]j]ujj©Fj]rÈFjX)�rÉF}rÊF(jX'Prints on console All tests have passedrËFjjÅFj jƒCjj\j}rÌF(j]j]j]j]j]ujK×j]rÍFj%X'Prints on console All tests have passedrÎF…�rÏF}rÐF(jjËFjjÉFubaubajjéubjÜ)�rÑF}rÒF(jUj}rÓF(j]j]j]j]j]ujj©Fj]rÔFjX)�rÕF}rÖF(jX:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xr×FjjÑFj jƒCjj\j}rØF(j]j]j]j]j]ujK×j]rÙFj%X:AM335x AM437x AM571x AM572x AM574x K2G OMAPL137x OMAPL138xrÚF…�rÛF}rÜF(jj×FjjÕFubaubajjéubjÜ)�rÝF}rÞF(jUj}rßF(j]j]j]j]j]ujj©Fj]ràFjX)�ráF}râF(jX CCS ProjectrãFjjÝFj jƒCjj\j}räF(j]j]j]j]j]ujKÜj]råFj%X CCS ProjectræF…�rçF}rèF(jjãFjjáFubaubajjéubejjubj×)�réF}rêF(jUj}rëF(j]j]j]j]j]ujjíDj]rìF(jÜ)�ríF}rîF(jUj}rïF(j]j]j]j]j]ujjéFj]rðFjX)�rñF}ròF(jXMMC Test ApplicationróFjjíFj jƒCjj\j}rôF(j]j]j]j]j]ujKäj]rõFj%XMMC Test ApplicationröF…�r÷F}røF(jjóFjjñFubaubajjéubjÜ)�rùF}rúF(jUj}rûF(j]j]j]j]j]ujjéFj]rüF(jX)�rýF}rþF(jXµUnit Test application demonstrating write and read a fixed number of bytes into MMC device. Verifies written data pattern to conclude PASS/FAIL. Supported only on OMAPL137 platform.rÿFjjùFj jƒCjj\j}rG(j]j]j]j]j]ujKåj]rGj%XµUnit Test application demonstrating write and read a fixed number of bytes into MMC device. Verifies written data pattern to conclude PASS/FAIL. Supported only on OMAPL137 platform.rG…�rG}rG(jjÿFjjýFubaubjX)�rG}rG(jX There is no on-board eMMC chip on OMAPL137 platform. Need to use external MMC card inserted into MMCSD slot of the board. Currently the driver supports standard MMC card and other cards like MMCplus may not work. The example requires the card size to be at least 2GB.rGjjùFj jƒCjj\j}rG(j]j]j]j]j]ujKñj]r Gj%X There is no on-board eMMC chip on OMAPL137 platform. Need to use external MMC card inserted into MMCSD slot of the board. Currently the driver supports standard MMC card and other cards like MMCplus may not work. The example requires the card size to be at least 2GB.r G…�r G}r G(jjGjjGubaubejjéubjÜ)�r G}rG(jUj}rG(j]j]j]j]j]ujjéFj]rGjX)�rG}rG(jX'Prints on console All tests have passedrGjj Gj jƒCjj\j}rG(j]j]j]j]j]ujKäj]rGj%X'Prints on console All tests have passedrG…�rG}rG(jjGjjGubaubajjéubjÜ)�rG}rG(jUj}rG(j]j]j]j]j]ujjéFj]rGjX)�rG}rG(jX OMAPL137xrGjjGj jƒCjj\j}r G(j]j]j]j]j]ujKïj]r!Gj%X OMAPL137xr"G…�r#G}r$G(jjGjjGubaubajjéubjÜ)�r%G}r&G(jUj}r'G(j]j]j]j]j]ujjéFj]r(GjX)�r)G}r*G(jX CCS Projectr+Gjj%Gj jƒCjj\j}r,G(j]j]j]j]j]ujKïj]r-Gj%X CCS Projectr.G…�r/G}r0G(jj+Gjj)Gubaubajjéubejjubj×)�r1G}r2G(jUj}r3G(j]j]j]j]j]ujjíDj]r4G(jÜ)�r5G}r6G(jUj}r7G(j]j]j]j]j]ujj1Gj]r8GjX)�r9G}r:G(jX MMCSD_TestAppr;Gjj5Gj jƒCjj\j}rG…�r?G}r@G(jj;Gjj9GubaubajjéubjÜ)�rAG}rBG(jUj}rCG(j]j]j]j]j]ujj1Gj]rDGjX)�rEG}rFG(jX�Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL.rGGjjAGj jƒCjj\j}rHG(j]j]j]j]j]ujMj]rIGj%X�Unit Test application demonstrating write and read a fixed number of bytes into MMCSD card. Verifies written data pattern to conclude PASS/FAIL.rJG…�rKG}rLG(jjGGjjEGubaubajjéubjÜ)�rMG}rNG(jUj}rOG(j]j]j]j]j]ujj1Gj]rPGjX)�rQG}rRG(jX'Prints on console All tests have passedrSGjjMGj jƒCjj\j}rTG(j]j]j]j]j]ujMj]rUGj%X'Prints on console All tests have passedrVG…�rWG}rXG(jjSGjjQGubaubajjéubjÜ)�rYG}rZG(jUj}r[G(j]j]j]j]j]ujj1Gj]r\GjX)�r]G}r^G(jX AM65x J721er_GjjYGj jƒCjj\j}r`G(j]j]j]j]j]ujMj]raGj%X AM65x J721erbG…�rcG}rdG(jj_Gjj]GubaubajjéubjÜ)�reG}rfG(jUj}rgG(j]j]j]j]j]ujj1Gj]rhGjX)�riG}rjG(jXMakefilerkGjjeGj jƒCjj\j}rlG(j]j]j]j]j]ujMj]rmGj%XMakefilernG…�roG}rpG(jjkGjjiGubaubajjéubejjubj×)�rqG}rrG(jUj}rsG(j]j]j]j]j]ujjíDj]rtG(jÜ)�ruG}rvG(jUj}rwG(j]j]j]j]j]ujjqGj]rxGjX)�ryG}rzG(jXMMCSD_DMA_TestAppr{GjjuGj jƒCjj\j}r|G(j]j]j]j]j]ujM j]r}Gj%XMMCSD_DMA_TestAppr~G…�rG}r€G(jj{GjjyGubaubajjéubjÜ)�r�G}r‚G(jUj}rƒG(j]j]j]j]j]ujjqGj]r„GjX)�r…G}r†G(jX7Functionally same as MMCSD_TestApp but with DMA enabledr‡Gjj�Gj jƒCjj\j}rˆG(j]j]j]j]j]ujM j]r‰Gj%X7Functionally same as MMCSD_TestApp but with DMA enabledrŠG…�r‹G}rŒG(jj‡Gjj…GubaubajjéubjÜ)�r�G}rŽG(jUj}r�G(j]j]j]j]j]ujjqGj]r�GjX)�r‘G}r’G(jX'Prints on console All tests have passedr“Gjj�Gj jƒCjj\j}r”G(j]j]j]j]j]ujM j]r•Gj%X'Prints on console All tests have passedr–G…�r—G}r˜G(jj“Gjj‘GubaubajjéubjÜ)�r™G}ršG(jUj}r›G(j]j]j]j]j]ujjqGj]rœGjX)�r�G}ržG(jX AM65x J721erŸGjj™Gj jƒCjj\j}r G(j]j]j]j]j]ujMj]r¡Gj%X AM65x J721er¢G…�r£G}r¤G(jjŸGjj�GubaubajjéubjÜ)�r¥G}r¦G(jUj}r§G(j]j]j]j]j]ujjqGj]r¨GjX)�r©G}rªG(jXMakefiler«Gjj¥Gj jƒCjj\j}r¬G(j]j]j]j]j]ujMj]r­Gj%XMakefiler®G…�r¯G}r°G(jj«Gjj©Gubaubajjéubejjubj×)�r±G}r²G(jUj}r³G(j]j]j]j]j]ujjíDj]r´G(jÜ)�rµG}r¶G(jUj}r·G(j]j]j]j]j]ujj±Gj]r¸GjX)�r¹G}rºG(jXMMCSD_EMMC_TestAppr»GjjµGj jƒCjj\j}r¼G(j]j]j]j]j]ujMj]r½Gj%XMMCSD_EMMC_TestAppr¾G…�r¿G}rÀG(jj»Gjj¹GubaubajjéubjÜ)�rÁG}rÂG(jUj}rÃG(j]j]j]j]j]ujj±Gj]rÄGjX)�rÅG}rÆG(jX•Unit Test application demonstrating write and read a fixed number of bytes into the onboard EMMC.Verifies written data pattern to conclude PASS/FAIL.rÇGjjÁGj jƒCjj\j}rÈG(j]j]j]j]j]ujMj]rÉGj%X•Unit Test application demonstrating write and read a fixed number of bytes into the onboard EMMC.Verifies written data pattern to conclude PASS/FAIL.rÊG…�rËG}rÌG(jjÇGjjÅGubaubajjéubjÜ)�rÍG}rÎG(jUj}rÏG(j]j]j]j]j]ujj±Gj]rÐGjX)�rÑG}rÒG(jX(Prints on console All tests have passedrÓGjjÍGj jƒCjj\j}rÔG(j]j]j]j]j]ujMj]rÕGj%X(Prints on console All tests have passedrÖG…�r×G}rØG(jjÓGjjÑGubaubajjéubjÜ)�rÙG}rÚG(jUj}rÛG(j]j]j]j]j]ujj±Gj]rÜGjX)�rÝG}rÞG(jX AM65x J721erßGjjÙGj jƒCjj\j}ràG(j]j]j]j]j]ujMj]ráGj%X AM65x J721erâG…�rãG}räG(jjßGjjÝGubaubajjéubjÜ)�råG}ræG(jUj}rçG(j]j]j]j]j]ujj±Gj]rèGjX)�réG}rêG(jXMakefilerëGjjåGj jƒCjj\j}rìG(j]j]j]j]j]ujMj]ríGj%XMakefilerîG…�rïG}rðG(jjëGjjéGubaubajjéubejjubj×)�rñG}ròG(jUj}róG(j]j]j]j]j]ujjíDj]rôG(jÜ)�rõG}röG(jUj}r÷G(j]j]j]j]j]ujjñGj]røGjX)�rùG}rúG(jXMMCSD_EMMC_DMA_TestApprûGjjõGj jƒCjj\j}rüG(j]j]j]j]j]ujMj]rýGj%XMMCSD_EMMC_DMA_TestApprþG…�rÿG}rH(jjûGjjùGubaubajjéubjÜ)�rH}rH(jUj}rH(j]j]j]j]j]ujjñGj]rHjX)�rH}rH(jX5Functionally Same as EMMC_TestApp but using DMA moderHjjHj jƒCjj\j}rH(j]j]j]j]j]ujMj]r Hj%X5Functionally Same as EMMC_TestApp but using DMA moder H…�r H}r H(jjHjjHubaubajjéubjÜ)�r H}rH(jUj}rH(j]j]j]j]j]ujjñGj]rHjX)�rH}rH(jX'Prints on console All tests have passedrHjj Hj jƒCjj\j}rH(j]j]j]j]j]ujMj]rHj%X'Prints on console All tests have passedrH…�rH}rH(jjHjjHubaubajjéubjÜ)�rH}rH(jUj}rH(j]j]j]j]j]ujjñGj]rHjX)�rH}rH(jX AM65x J721erHjjHj jƒCjj\j}r H(j]j]j]j]j]ujMj]r!Hj%X AM65x J721er"H…�r#H}r$H(jjHjjHubaubajjéubjÜ)�r%H}r&H(jUj}r'H(j]j]j]j]j]ujjñGj]r(HjX)�r)H}r*H(jXMakefiler+Hjj%Hj jƒCjj\j}r,H(j]j]j]j]j]ujMj]r-Hj%XMakefiler.H…�r/H}r0H(jj+Hjj)Hubaubajjéubejjubj×)�r1H}r2H(jUj}r3H(j]j]j]j]j]ujjíDj]r4H(jÜ)�r5H}r6H(jUj}r7H(j]j]j]j]j]ujj1Hj]r8HjX)�r9H}r:H(jXMMCSD_Baremetal_TestAppr;Hjj5Hj jƒCjj\j}rH…�r?H}r@H(jj;Hjj9HubaubajjéubjÜ)�rAH}rBH(jUj}rCH(j]j]j]j]j]ujj1Hj]rDHjX)�rEH}rFH(jX"Baremetal version of MMCSD_TestApprGHjjAHj jƒCjj\j}rHH(j]j]j]j]j]ujM"j]rIHj%X"Baremetal version of MMCSD_TestApprJH…�rKH}rLH(jjGHjjEHubaubajjéubjÜ)�rMH}rNH(jUj}rOH(j]j]j]j]j]ujj1Hj]rPHjX)�rQH}rRH(jX'Prints on console All tests have passedrSHjjMHj jƒCjj\j}rTH(j]j]j]j]j]ujM"j]rUHj%X'Prints on console All tests have passedrVH…�rWH}rXH(jjSHjjQHubaubajjéubjÜ)�rYH}rZH(jUj}r[H(j]j]j]j]j]ujj1Hj]r\HjX)�r]H}r^H(jX AM65x J721er_HjjYHj jƒCjj\j}r`H(j]j]j]j]j]ujM$j]raHj%X AM65x J721erbH…�rcH}rdH(jj_Hjj]HubaubajjéubjÜ)�reH}rfH(jUj}rgH(j]j]j]j]j]ujj1Hj]rhHjX)�riH}rjH(jXMakefilerkHjjeHj jƒCjj\j}rlH(j]j]j]j]j]ujM$j]rmHj%XMakefilernH…�roH}rpH(jjkHjjiHubaubajjéubejjubj×)�rqH}rrH(jUj}rsH(j]j]j]j]j]ujjíDj]rtH(jÜ)�ruH}rvH(jUj}rwH(j]j]j]j]j]ujjqHj]rxHjX)�ryH}rzH(jXMMCSD_Baremetal_DMA_TestAppr{HjjuHj jƒCjj\j}r|H(j]j]j]j]j]ujM'j]r}Hj%XMMCSD_Baremetal_DMA_TestAppr~H…�rH}r€H(jj{HjjyHubaubajjéubjÜ)�r�H}r‚H(jUj}rƒH(j]j]j]j]j]ujjqHj]r„HjX)�r…H}r†H(jX'Baremetal version of MMCSD_EMMC_TestAppr‡Hjj�Hj jƒCjj\j}rˆH(j]j]j]j]j]ujM'j]r‰Hj%X'Baremetal version of MMCSD_EMMC_TestApprŠH…�r‹H}rŒH(jj‡Hjj…HubaubajjéubjÜ)�r�H}rŽH(jUj}r�H(j]j]j]j]j]ujjqHj]r�HjX)�r‘H}r’H(jX'Prints on console All tests have passedr“Hjj�Hj jƒCjj\j}r”H(j]j]j]j]j]ujM'j]r•Hj%X'Prints on console All tests have passedr–H…�r—H}r˜H(jj“Hjj‘HubaubajjéubjÜ)�r™H}ršH(jUj}r›H(j]j]j]j]j]ujjqHj]rœHjX)�r�H}ržH(jX AM65x J721erŸHjj™Hj jƒCjj\j}r H(j]j]j]j]j]ujM)j]r¡Hj%X AM65x J721er¢H…�r£H}r¤H(jjŸHjj�HubaubajjéubjÜ)�r¥H}r¦H(jUj}r§H(j]j]j]j]j]ujjqHj]r¨HjX)�r©H}rªH(jXMakefiler«Hjj¥Hj jƒCjj\j}r¬H(j]j]j]j]j]ujM)j]r­Hj%XMakefiler®H…�r¯H}r°H(jj«Hjj©Hubaubajjéubejjubj×)�r±H}r²H(jUj}r³H(j]j]j]j]j]ujjíDj]r´H(jÜ)�rµH}r¶H(jUj}r·H(j]j]j]j]j]ujj±Hj]r¸HjX)�r¹H}rºH(jXMMCSD_Baremetal_EMMC_TestAppr»HjjµHj jƒCjj\j}r¼H(j]j]j]j]j]ujM,j]r½Hj%XMMCSD_Baremetal_EMMC_TestAppr¾H…�r¿H}rÀH(jj»Hjj¹HubaubajjéubjÜ)�rÁH}rÂH(jUj}rÃH(j]j]j]j]j]ujj±Hj]rÄHjX)�rÅH}rÆH(jX'Baremetal version of MMCSD_EMMC_TestApprÇHjjÁHj jƒCjj\j}rÈH(j]j]j]j]j]ujM,j]rÉHj%X'Baremetal version of MMCSD_EMMC_TestApprÊH…�rËH}rÌH(jjÇHjjÅHubaubajjéubjÜ)�rÍH}rÎH(jUj}rÏH(j]j]j]j]j]ujj±Hj]rÐHjX)�rÑH}rÒH(jX'Prints on console All tests have passedrÓHjjÍHj jƒCjj\j}rÔH(j]j]j]j]j]ujM,j]rÕHj%X'Prints on console All tests have passedrÖH…�r×H}rØH(jjÓHjjÑHubaubajjéubjÜ)�rÙH}rÚH(jUj}rÛH(j]j]j]j]j]ujj±Hj]rÜHjX)�rÝH}rÞH(jX AM65x J721erßHjjÙHj jƒCjj\j}ràH(j]j]j]j]j]ujM.j]ráHj%X AM65x J721erâH…�rãH}räH(jjßHjjÝHubaubajjéubjÜ)�råH}ræH(jUj}rçH(j]j]j]j]j]ujj±Hj]rèHjX)�réH}rêH(jXMakefilerëHjjåHj jƒCjj\j}rìH(j]j]j]j]j]ujM.j]ríHj%XMakefilerîH…�rïH}rðH(jjëHjjéHubaubajjéubejjubj×)�rñH}ròH(jUj}róH(j]j]j]j]j]ujjíDj]rôH(jÜ)�rõH}röH(jUj}r÷H(j]j]j]j]j]ujjñHj]røHjX)�rùH}rúH(jX MMCSD_Baremetal_EMMC_DMA_TestApprûHjjõHj jƒCjj\j}rüH(j]j]j]j]j]ujM1j]rýHj%X MMCSD_Baremetal_EMMC_DMA_TestApprþH…�rÿH}rI(jjûHjjùHubaubajjéubjÜ)�rI}rI(jUj}rI(j]j]j]j]j]ujjñHj]rIjX)�rI}rI(jXFFunctionally same as MMCSD_Baremetal_EMMC_TestApp but with DMA enabledrIjjIj jƒCjj\j}rI(j]j]j]j]j]ujM1j]r Ij%XFFunctionally same as MMCSD_Baremetal_EMMC_TestApp but with DMA enabledr I…�r I}r I(jjIjjIubaubajjéubjÜ)�r I}rI(jUj}rI(j]j]j]j]j]ujjñHj]rIjX)�rI}rI(jX'Prints on console All tests have passedrIjj Ij jƒCjj\j}rI(j]j]j]j]j]ujM1j]rIj%X'Prints on console All tests have passedrI…�rI}rI(jjIjjIubaubajjéubjÜ)�rI}rI(jUj}rI(j]j]j]j]j]ujjñHj]rIjX)�rI}rI(jX AM65x J721erIjjIj jƒCjj\j}r I(j]j]j]j]j]ujM3j]r!Ij%X AM65x J721er"I…�r#I}r$I(jjIjjIubaubajjéubjÜ)�r%I}r&I(jUj}r'I(j]j]j]j]j]ujjñHj]r(IjX)�r)I}r*I(jXMakefiler+Ijj%Ij jƒCjj\j}r,I(j]j]j]j]j]ujM3j]r-Ij%XMakefiler.I…�r/I}r0I(jj+Ijj)Iubaubajjéubejjubj×)�r1I}r2I(jUj}r3I(j]j]j]j]j]ujjíDj]r4I(jÜ)�r5I}r6I(jUj}r7I(j]j]j]j]j]ujj1Ij]r8IjX)�r9I}r:I(jXMMCSD_Regression_TestAppr;Ijj5Ij jƒCjj\j}rI…�r?I}r@I(jj;Ijj9IubaubajjéubjÜ)�rAI}rBI(jUj}rCI(j]j]j]j]j]ujj1Ij]rDIjX)�rEI}rFI(jXIMenu driven regression test which tests various configurations of SD cardrGIjjAIj jƒCjj\j}rHI(j]j]j]j]j]ujM6j]rIIj%XIMenu driven regression test which tests various configurations of SD cardrJI…�rKI}rLI(jjGIjjEIubaubajjéubjÜ)�rMI}rNI(jUj}rOI(j]j]j]j]j]ujj1Ij]rPIjX)�rQI}rRI(jX'Prints on console All tests have passedrSIjjMIj jƒCjj\j}rTI(j]j]j]j]j]ujM6j]rUIj%X'Prints on console All tests have passedrVI…�rWI}rXI(jjSIjjQIubaubajjéubjÜ)�rYI}rZI(jUj}r[I(j]j]j]j]j]ujj1Ij]r\IjX)�r]I}r^I(jX AM65x J721er_IjjYIj jƒCjj\j}r`I(j]j]j]j]j]ujM7j]raIj%X AM65x J721erbI…�rcI}rdI(jj_Ijj]IubaubajjéubjÜ)�reI}rfI(jUj}rgI(j]j]j]j]j]ujj1Ij]rhIjX)�riI}rjI(jXMakefilerkIjjeIj jƒCjj\j}rlI(j]j]j]j]j]ujM7j]rmIj%XMakefilernI…�roI}rpI(jjkIjjiIubaubajjéubejjubj×)�rqI}rrI(jUj}rsI(j]j]j]j]j]ujjíDj]rtI(jÜ)�ruI}rvI(jUj}rwI(j]j]j]j]j]ujjqIj]rxIjX)�ryI}rzI(jXMMCSD_EMMC_Regression_TestAppr{IjjuIj jƒCjj\j}r|I(j]j]j]j]j]ujM:j]r}Ij%XMMCSD_EMMC_Regression_TestAppr~I…�rI}r€I(jj{IjjyIubaubajjéubjÜ)�r�I}r‚I(jUj}rƒI(j]j]j]j]j]ujjqIj]r„IjX)�r…I}r†I(jXFMenu driven regression test which tests various configurations of EMMCr‡Ijj�Ij jƒCjj\j}rˆI(j]j]j]j]j]ujM:j]r‰Ij%XFMenu driven regression test which tests various configurations of EMMCrŠI…�r‹I}rŒI(jj‡Ijj…IubaubajjéubjÜ)�r�I}rŽI(jUj}r�I(j]j]j]j]j]ujjqIj]r�IjX)�r‘I}r’I(jX'Prints on console All tests have passedr“Ijj�Ij jƒCjj\j}r”I(j]j]j]j]j]ujM:j]r•Ij%X'Prints on console All tests have passedr–I…�r—I}r˜I(jj“Ijj‘IubaubajjéubjÜ)�r™I}ršI(jUj}r›I(j]j]j]j]j]ujjqIj]rœIjX)�r�I}ržI(jX AM65x J721erŸIjj™Ij jƒCjj\j}r I(j]j]j]j]j]ujM;j]r¡Ij%X AM65x J721er¢I…�r£I}r¤I(jjŸIjj�IubaubajjéubjÜ)�r¥I}r¦I(jUj}r§I(j]j]j]j]j]ujjqIj]r¨IjX)�r©I}rªI(jXMakefiler«Ijj¥Ij jƒCjj\j}r¬I(j]j]j]j]j]ujM;j]r­Ij%XMakefiler®I…�r¯I}r°I(jj«Ijj©Iubaubajjéubejjubejjðubejjñubaubeubeubj)�r±I}r²I(jUjjqCj jƒCjjj}r³I(j]j]j]j]r´IU2benchmarking-read-write-performance-on-am65x-j721erµIaj]r¶IhAaujM@jhj]r·I(j)�r¸I}r¹I(jX4Benchmarking Read/Write Performance (on AM65x/J721e)rºIjj±Ij jƒCjj"j}r»I(j]j]j]j]j]ujM@jhj]r¼Ij%X4Benchmarking Read/Write Performance (on AM65x/J721e)r½I…�r¾I}r¿I(jjºIjj¸IubaubjX)�rÀI}rÁI(jXvThe MMCSD__Regression_TestApp application (listed above) measures read/write throughput (in mega bytes per sec).rÂIjj±Ij jƒCjj\j}rÃI(j]j]j]j]j]ujMBjhj]rÄIj%XvThe MMCSD__Regression_TestApp application (listed above) measures read/write throughput (in mega bytes per sec).rÅI…�rÆI}rÇI(jjÂIjjÀIubaubjÆ )�rÈI}rÉI(jUjj±Ij NjjÉ j}rÊI(j]j]j]j]j]ujNjhj]rËIjÌ )�rÌI}rÍI(jXsIt measures the following - RAW read/write throughput: This involves the reading/writing of a continuous block of data, say 1MB data buffer on to the SD/eMMC using MMCSD_Read()/MMCSD_Write(). - FATFS read/write (SD Only) throughput: This involves reading/writing of a 1MB buffer of data through f_read()/f_write(). Please note that FAT32 is tested with SD card only jjÈIj jƒCjjÏ j}rÎI(j]j]j]j]j]ujMHj]rÏI(jÒ )�rÐI}rÑI(jXIt measures the followingrÒIjjÌIj jƒCjjÖ j}rÓI(j]j]j]j]j]ujMHj]rÔIj%XIt measures the followingrÕI…�rÖI}r×I(jjÒIjjÐIubaubjÜ )�rØI}rÙI(jUj}rÚI(j]j]j]j]j]ujjÌIj]rÛIj)�rÜI}rÝI(jUj}rÞI(jX-j]j]j]j]j]ujjØIj]rßI(j)�ràI}ráI(jX¤RAW read/write throughput: This involves the reading/writing of a continuous block of data, say 1MB data buffer on to the SD/eMMC using MMCSD_Read()/MMCSD_Write().j}râI(j]j]j]j]j]ujjÜIj]rãIjX)�räI}råI(jX¤RAW read/write throughput: This involves the reading/writing of a continuous block of data, say 1MB data buffer on to the SD/eMMC using MMCSD_Read()/MMCSD_Write().ræIjjàIj jƒCjj\j}rçI(j]j]j]j]j]ujMEj]rèIj%X¤RAW read/write throughput: This involves the reading/writing of a continuous block of data, say 1MB data buffer on to the SD/eMMC using MMCSD_Read()/MMCSD_Write().réI…�rêI}rëI(jjæIjjäIubaubajj ubj)�rìI}ríI(jX¬FATFS read/write (SD Only) throughput: This involves reading/writing of a 1MB buffer of data through f_read()/f_write(). Please note that FAT32 is tested with SD card only j}rîI(j]j]j]j]j]ujjÜIj]rïIjX)�rðI}rñI(jX«FATFS read/write (SD Only) throughput: This involves reading/writing of a 1MB buffer of data through f_read()/f_write(). Please note that FAT32 is tested with SD card onlyròIjjìIj jƒCjj\j}róI(j]j]j]j]j]ujMGj]rôIj%X«FATFS read/write (SD Only) throughput: This involves reading/writing of a 1MB buffer of data through f_read()/f_write(). Please note that FAT32 is tested with SD card onlyrõI…�röI}r÷I(jjòIjjðIubaubajj ubejjubajj ubeubaubeubj)�røI}rùI(jUjjqCj jƒCjjj}rúI(j]j]j]j]rûIUbenchmarking-stepsrüIaj]rýIh°aujMKjhj]rþI(j)�rÿI}rJ(jXBenchmarking StepsrJjjøIj jƒCjj"j}rJ(j]j]j]j]j]ujMKjhj]rJj%XBenchmarking StepsrJ…�rJ}rJ(jjJjjÿIubaubjX)�rJ}rJ(jXPThe performance benchmarks on SD Read/Write can be done with the following stepsr JjjøIj jƒCjj\j}r J(j]j]j]j]j]ujMMjhj]r Jj%XPThe performance benchmarks on SD Read/Write can be done with the following stepsr J…�r J}rJ(jj JjjJubaubj¤ )�rJ}rJ(jUjjøIj Njj§ j}rJ(j]j]j]j]j]ujNjhj]rJj)�rJ}rJ(jUj}rJ(jX-j]j]j]j]j]ujjJj]rJ(j)�rJ}rJ(jXXLoad the MMCSD_Regression_TestApp on A53/R5 core of AM65x or mpu1_0/mcu1_0 core of J721erJj}rJ(j]j]j]j]j]ujjJj]rJjX)�rJ}rJ(jjJjjJj jƒCjj\j}rJ(j]j]j]j]j]ujMOj]rJj%XXLoad the MMCSD_Regression_TestApp on A53/R5 core of AM65x or mpu1_0/mcu1_0 core of J721er J…�r!J}r"J(jjJjjJubaubajj ubj)�r#J}r$J(jXmInsert SD Card formatted with FAT32 format preferably with allocation size=4096 bytes for better performance.r%Jj}r&J(j]j]j]j]j]ujjJj]r'JjX)�r(J}r)J(jj%Jjj#Jj jƒCjj\j}r*J(j]j]j]j]j]ujMPj]r+Jj%XmInsert SD Card formatted with FAT32 format preferably with allocation size=4096 bytes for better performance.r,J…�r-J}r.J(jj%Jjj(Jubaubajj ubj)�r/J}r0J(jXnRun the application. It presents with a menu of various modes the SD card which can be run on the UART consoler1Jj}r2J(j]j]j]j]j]ujjJj]r3JjX)�r4J}r5J(jj1Jjj/Jj jƒCjj\j}r6J(j]j]j]j]j]ujMQj]r7Jj%XnRun the application. It presents with a menu of various modes the SD card which can be run on the UART consoler8J…�r9J}r:J(jj1Jjj4Jubaubajj ubj)�r;J}rJ(j]j]j]j]j]ujjJj]r?JjX)�r@J}rAJ(jj=Jjj;Jj jƒCjj\j}rBJ(j]j]j]j]j]ujMRj]rCJj%XCSelect the desired mode from the list (say HS mode) and press EnterrDJ…�rEJ}rFJ(jj=Jjj@Jubaubajj ubj)�rGJ}rHJ(jX‹The test will run RAW & FATFS read/writes of various buffer sizes 256K, 512K, 1024K and 2048K. This might take a minute or two to complete.j}rIJ(j]j]j]j]j]ujjJj]rJJjX)�rKJ}rLJ(jX‹The test will run RAW & FATFS read/writes of various buffer sizes 256K, 512K, 1024K and 2048K. This might take a minute or two to complete.rMJjjGJj jƒCjj\j}rNJ(j]j]j]j]j]ujMSj]rOJj%X‹The test will run RAW & FATFS read/writes of various buffer sizes 256K, 512K, 1024K and 2048K. This might take a minute or two to complete.rPJ…�rQJ}rRJ(jjMJjjKJubaubajj ubj)�rSJ}rTJ(jXyTwo tables are printed at the end of the test run for this mode with RAW & FATFS throughput numbers for each buffer size.j}rUJ(j]j]j]j]j]ujjJj]rVJjX)�rWJ}rXJ(jXyTwo tables are printed at the end of the test run for this mode with RAW & FATFS throughput numbers for each buffer size.rYJjjSJj jƒCjj\j}rZJ(j]j]j]j]j]ujMUj]r[Jj%XyTwo tables are printed at the end of the test run for this mode with RAW & FATFS throughput numbers for each buffer size.r\J…�r]J}r^J(jjYJjjWJubaubajj ubj)�r_J}r`J(jX½Note: Instead of running each mode seperately, you can select "All non powercycle tests" option (-1) which runs all the supported modes along with the throughput numbers for each of them. j}raJ(j]j]j]j]j]ujjJj]rbJjX)�rcJ}rdJ(jX»Note: Instead of running each mode seperately, you can select "All non powercycle tests" option (-1) which runs all the supported modes along with the throughput numbers for each of them.reJjj_Jj jƒCjj\j}rfJ(j]j]j]j]j]ujMWj]rgJj%X»Note: Instead of running each mode seperately, you can select "All non powercycle tests" option (-1) which runs all the supported modes along with the throughput numbers for each of them.rhJ…�riJ}rjJ(jjeJjjcJubaubajj ubejjubaubjX)�rkJ}rlJ(jXDEMMC performance benchmarks can be measured with the following stepsrmJjjøIj jƒCjj\j}rnJ(j]j]j]j]j]ujM[jhj]roJj%XDEMMC performance benchmarks can be measured with the following stepsrpJ…�rqJ}rrJ(jjmJjjkJubaubj¤ )�rsJ}rtJ(jUjjøIj Njj§ j}ruJ(j]j]j]j]j]ujNjhj]rvJj)�rwJ}rxJ(jUj}ryJ(jX-j]j]j]j]j]ujjsJj]rzJ(j)�r{J}r|J(jX]Load the MMCSD_EMMC_Regression_TestApp on A53/R5 core of AM65x or mpu1_0/mcu1_0 core of J721er}Jj}r~J(j]j]j]j]j]ujjwJj]rJjX)�r€J}r�J(jj}Jjj{Jj jƒCjj\j}r‚J(j]j]j]j]j]ujM]j]rƒJj%X]Load the MMCSD_EMMC_Regression_TestApp on A53/R5 core of AM65x or mpu1_0/mcu1_0 core of J721er„J…�r…J}r†J(jj}Jjj€Jubaubajj ubj)�r‡J}rˆJ(jXgRun the application. It presents with a menu of various eMMC modes which can be run on the UART consoler‰Jj}rŠJ(j]j]j]j]j]ujjwJj]r‹JjX)�rŒJ}r�J(jj‰Jjj‡Jj jƒCjj\j}rŽJ(j]j]j]j]j]ujM^j]r�Jj%XgRun the application. It presents with a menu of various eMMC modes which can be run on the UART consoler�J…�r‘J}r’J(jj‰JjjŒJubaubajj ubj)�r“J}r”J(jXGSelect the desired mode from the list (say HS-DDR mode) and press Enterr•Jj}r–J(j]j]j]j]j]ujjwJj]r—JjX)�r˜J}r™J(jj•Jjj“Jj jƒCjj\j}ršJ(j]j]j]j]j]ujM_j]r›Jj%XGSelect the desired mode from the list (say HS-DDR mode) and press EnterrœJ…�r�J}ržJ(jj•Jjj˜Jubaubajj ubj)�rŸJ}r J(jXƒThe test will run RAW read/writes of various buffer sizes 256K, 512K, 1024K and 2048K. This might take a minute or two to complete.j}r¡J(j]j]j]j]j]ujjwJj]r¢JjX)�r£J}r¤J(jXƒThe test will run RAW read/writes of various buffer sizes 256K, 512K, 1024K and 2048K. This might take a minute or two to complete.r¥JjjŸJj jƒCjj\j}r¦J(j]j]j]j]j]ujM`j]r§Jj%XƒThe test will run RAW read/writes of various buffer sizes 256K, 512K, 1024K and 2048K. This might take a minute or two to complete.r¨J…�r©J}rªJ(jj¥Jjj£Jubaubajj ubj)�r«J}r¬J(jX_A table is printed at the end of the test with the RAW throughput numbers for each buffer size.r­Jj}r®J(j]j]j]j]j]ujjwJj]r¯JjX)�r°J}r±J(jj­Jjj«Jj jƒCjj\j}r²J(j]j]j]j]j]ujMbj]r³Jj%X_A table is printed at the end of the test with the RAW throughput numbers for each buffer size.r´J…�rµJ}r¶J(jj­Jjj°Jubaubajj ubj)�r·J}r¸J(jX¼Note: Instead of running each mode seperately, you can select "All non powercycle tests" option (-1) which runs all the supported modes along with the throughput numbers for each of them. j}r¹J(j]j]j]j]j]ujjwJj]rºJjX)�r»J}r¼J(jX»Note: Instead of running each mode seperately, you can select "All non powercycle tests" option (-1) which runs all the supported modes along with the throughput numbers for each of them.r½Jjj·Jj jƒCjj\j}r¾J(j]j]j]j]j]ujMcj]r¿Jj%X»Note: Instead of running each mode seperately, you can select "All non powercycle tests" option (-1) which runs all the supported modes along with the throughput numbers for each of them.rÀJ…�rÁJ}rÂJ(jj½Jjj»Jubaubajj ubejjubaubeubj)�rÃJ}rÄJ(jUjKjjqCj jƒCjjj}rÅJ(j]rÆJj…Aaj]j]j]rÇJUid101rÈJaj]ujMgjhj]rÉJ(j)�rÊJ}rËJ(jX$Building CCS projects based examplesrÌJjjÃJj jƒCjj"j}rÍJ(j]j]j]j]j]ujMgjhj]rÎJj%X$Building CCS projects based examplesrÏJ…�rÐJ}rÑJ(jjÌJjjÊJubaubjX)�rÒJ}rÓJ(jXÇCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in `PDK Example and Test Project Creation `__jjÃJj jƒCjj\j}rÔJ(j]j]j]j]j]ujMijhj]rÕJ(j%XbCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in rÖJ…�r×J}rØJ(jXbCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in jjÒJubj)�rÙJ}rÚJ(jXe`PDK Example and Test Project Creation `__j}rÛJ(UnameX%PDK Example and Test Project CreationjX9index_overview.html#pdk-example-and-test-project-creationj]j]j]j]j]ujjÒJj]rÜJj%X%PDK Example and Test Project CreationrÝJ…�rÞJ}rßJ(jUjjÙJubajjubeubeubj)�ràJ}ráJ(jUjjqCj jƒCjjj}râJ(j]j]j]j]rãJU.building-mmcsd-test-applications-via-makefilesräJaj]råJh:aujMnjhj]ræJ(j)�rçJ}rèJ(jX.Building MMCSD Test applications via makefilesréJjjàJj jƒCjj"j}rêJ(j]j]j]j]j]ujMnjhj]rëJj%X.Building MMCSD Test applications via makefilesrìJ…�ríJ}rîJ(jjéJjjçJubaubj)�rïJ}rðJ(jUjjàJj jƒCjjj}rñJ(jX-j]j]j]j]j]ujMpjhj]ròJ(j)�róJ}rôJ(jX[MMCSD Test applications and dependent libraries are built from the top level mmcsd makefilerõJjjïJj jƒCjj j}röJ(j]j]j]j]j]ujNjhj]r÷JjX)�røJ}rùJ(jjõJjjóJj jƒCjj\j}rúJ(j]j]j]j]j]ujMpj]rûJj%X[MMCSD Test applications and dependent libraries are built from the top level mmcsd makefilerüJ…�rýJ}rþJ(jjõJjjøJubaubaubj)�rÿJ}rK(jX:Refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands: - cd /packages/ - To build: make mmcsd - To clean: make mmcsd_clean jjïJj jƒCjj j}rK(j]j]j]j]j]ujNjhj]rK(jX)�rK}rK(jXÞRefer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jjÿJj jƒCjj\j}rK(j]j]j]j]j]ujMqj]rK(j%X Refer to the rK…�rK}r K(jX Refer to the jjKubj)�r K}r K(jXT`Processor SDK RTOS Getting Started Guide `__j}r K(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujjKj]r Kj%X(Processor SDK RTOS Getting Started GuiderK…�rK}rK(jUjj Kubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:rK…�rK}rK(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jjKubeubj¤ )�rK}rK(jUj}rK(j]j]j]j]j]ujjÿJj]rKj)�rK}rK(jUj}rK(jX-j]j]j]j]j]ujjKj]rK(j)�rK}rK(jXcd /packages/rKj}rK(j]j]j]j]j]ujjKj]r KjX)�r!K}r"K(jjKjjKj jƒCjj\j}r#K(j]j]j]j]j]ujMsj]r$Kj%Xcd /packages/r%K…�r&K}r'K(jjKjj!Kubaubajj ubj)�r(K}r)K(jXTo build: make mmcsdr*Kj}r+K(j]j]j]j]j]ujjKj]r,KjX)�r-K}r.K(jj*Kjj(Kj jƒCjj\j}r/K(j]j]j]j]j]ujMtj]r0Kj%XTo build: make mmcsdr1K…�r2K}r3K(jj*Kjj-Kubaubajj ubj)�r4K}r5K(jXTo clean: make mmcsd_clean j}r6K(j]j]j]j]j]ujjKj]r7KjX)�r8K}r9K(jXTo clean: make mmcsd_cleanr:Kjj4Kj jƒCjj\j}r;K(j]j]j]j]j]ujMuj]rK}r?K(jj:Kjj8Kubaubajj ubejjubajj§ ubeubj)�r@K}rAK(jX¸Similarly, to build at the module level, issue the following commands for rebuilding : - cd /packages/ti/drv/mmcsd - To build: make all - To clean: make clean jjïJj jƒCjj j}rBK(j]j]j]j]j]ujNjhj]rCK(jX)�rDK}rEK(jXVSimilarly, to build at the module level, issue the following commands for rebuilding :rFKjj@Kj jƒCjj\j}rGK(j]j]j]j]j]ujMwj]rHKj%XVSimilarly, to build at the module level, issue the following commands for rebuilding :rIK…�rJK}rKK(jjFKjjDKubaubj¤ )�rLK}rMK(jUj}rNK(j]j]j]j]j]ujj@Kj]rOKj)�rPK}rQK(jUj}rRK(jX-j]j]j]j]j]ujjLKj]rSK(j)�rTK}rUK(jXcd /packages/ti/drv/mmcsdrVKj}rWK(j]j]j]j]j]ujjPKj]rXKjX)�rYK}rZK(jjVKjjTKj jƒCjj\j}r[K(j]j]j]j]j]ujMyj]r\Kj%Xcd /packages/ti/drv/mmcsdr]K…�r^K}r_K(jjVKjjYKubaubajj ubj)�r`K}raK(jXTo build: make allrbKj}rcK(j]j]j]j]j]ujjPKj]rdKjX)�reK}rfK(jjbKjj`Kj jƒCjj\j}rgK(j]j]j]j]j]ujMzj]rhKj%XTo build: make allriK…�rjK}rkK(jjbKjjeKubaubajj ubj)�rlK}rmK(jXTo clean: make clean j}rnK(j]j]j]j]j]ujjPKj]roKjX)�rpK}rqK(jXTo clean: make cleanrrKjjlKj jƒCjj\j}rsK(j]j]j]j]j]ujM{j]rtKj%XTo clean: make cleanruK…�rvK}rwK(jjrKjjpKubaubajj ubejjubajj§ ubeubeubeubj)�rxK}ryK(jUjKjjqCj jƒCjjj}rzK(j]r{KXadditional referencesr|Kaj]j]j]r}KUid102r~Kaj]ujMjhj]rK(j)�r€K}r�K(jXAdditional Referencesr‚KjjxKj jƒCjj"j}rƒK(j]j]j]j]j]ujMjhj]r„Kj%XAdditional Referencesr…K…�r†K}r‡K(jj‚Kjj€Kubaubj¶)�rˆK}r‰K(jUjjxKj jƒCjj¹j}rŠK(j]j]j]j]j]ujNjhj]r‹Kj¼)�rŒK}r�K(jUj}rŽK(j]j]j]j]j]UcolsKujjˆKj]r�K(jÁ)�r�K}r‘K(jUj}r’K(j]j]j]j]j]UcolwidthK#ujjŒKj]jjÅubjÁ)�r“K}r”K(jUj}r•K(j]j]j]j]j]UcolwidthK,ujjŒKj]jjÅubj)�r–K}r—K(jUj}r˜K(j]j]j]j]j]ujjŒKj]r™K(j×)�ršK}r›K(jUj}rœK(j]j]j]j]j]ujj–Kj]r�K(jÜ)�ržK}rŸK(jUj}r K(j]j]j]j]j]ujjšKj]r¡KjX)�r¢K}r£K(jX **Document**r¤KjjžKj jƒCjj\j}r¥K(j]j]j]j]j]ujM‚j]r¦Kj|)�r§K}r¨K(jj¤Kj}r©K(j]j]j]j]j]ujj¢Kj]rªKj%XDocumentr«K…�r¬K}r­K(jUjj§Kubajj„ubaubajjéubjÜ)�r®K}r¯K(jUj}r°K(j]j]j]j]j]ujjšKj]r±KjX)�r²K}r³K(jX **Location**r´Kjj®Kj jƒCjj\j}rµK(j]j]j]j]j]ujM‚j]r¶Kj|)�r·K}r¸K(jj´Kj}r¹K(j]j]j]j]j]ujj²Kj]rºKj%XLocationr»K…�r¼K}r½K(jUjj·Kubajj„ubaubajjéubejjubj×)�r¾K}r¿K(jUj}rÀK(j]j]j]j]j]ujj–Kj]rÁK(jÜ)�rÂK}rÃK(jUj}rÄK(j]j]j]j]j]ujj¾Kj]rÅKjX)�rÆK}rÇK(jXAPI Reference ManualrÈKjjÂKj jƒCjj\j}rÉK(j]j]j]j]j]ujM„j]rÊKj%XAPI Reference ManualrËK…�rÌK}rÍK(jjÈKjjÆKubaubajjéubjÜ)�rÎK}rÏK(jUj}rÐK(j]j]j]j]j]ujj¾Kj]rÑKjX)�rÒK}rÓK(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mmcsd\\docs\\doxygen\\html\\inde x.htmljjÎKj jƒCjj\j}rÔK(j]j]j]j]j]ujM„j]rÕKj%XJ$(TI_PDK_INSTALL_DIR)\packages\ti \drv\mmcsd\docs\doxygen\html\inde x.htmlrÖK…�r×K}rØK(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mmcsd\\docs\\doxygen\\html\\inde x.htmljjÒKubaubajjéubejjubj×)�rÙK}rÚK(jUj}rÛK(j]j]j]j]j]ujj–Kj]rÜK(jÜ)�rÝK}rÞK(jUj}rßK(j]j]j]j]j]ujjÙKj]ràKjX)�ráK}râK(jX Release NotesrãKjjÝKj jƒCjj\j}räK(j]j]j]j]j]ujMˆj]råKj%X Release NotesræK…�rçK}rèK(jjãKjjáKubaubajjéubjÜ)�réK}rêK(jUj}rëK(j]j]j]j]j]ujjÙKj]rìKjX)�ríK}rîK(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mmcsd\\docs\\ReleaseNotes_MMCS D_LLD.pdfjjéKj jƒCjj\j}rïK(j]j]j]j]j]ujMˆj]rðKj%XM$(TI_PDK_INSTALL_DIR)\packages\ti \drv\mmcsd\docs\ReleaseNotes_MMCS D_LLD.pdfrñK…�ròK}róK(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mmcsd\\docs\\ReleaseNotes_MMCS D_LLD.pdfjjíKubaubajjéubejjubejjðubejjñubaubjÁ)�rôK}rõK(jUjjxKj jƒCjjÄj}röK(j]j]j]j]j]ujM�jhj]r÷KjÇ)�røK}rùK(jUjÊKjjôKj jƒCjjj}rúK(j]j]j]j]j]ujKjhj]ubaubeubeubj jƒCjjj}rûK(j]rüKXoverviewrýKaj]j]j]rþKUid93rÿKaj]ujKjhj]rL(j)�rL}rL(jXOverviewrLjjoCj jƒCjj"j}rL(j]j]j]j]j]ujKjhj]rLj%XOverviewrL…�rL}rL(jjLjjLubaubj)�r L}r L(jUjKjjoCj jƒCjjj}r L(j]r LX introductionr Laj]j]j]rLUid94rLaj]ujKjhj]rL(j)�rL}rL(jX IntroductionrLjj Lj jƒCjj"j}rL(j]j]j]j]j]ujKjhj]rLj%X IntroductionrL…�rL}rL(jjLjjLubaubjX)�rL}rL(jXõMMCSD module provides an interface between CPU and any MMCSD-bus-compatible device that connects via MMCSD serial bus. External components attached to MMCSD bus can serially transmit/receive data to/from the CPU device through two-wire interfacerLjj Lj jƒCjj\j}rL(j]j]j]j]j]ujK jhj]rLj%XõMMCSD module provides an interface between CPU and any MMCSD-bus-compatible device that connects via MMCSD serial bus. External components attached to MMCSD bus can serially transmit/receive data to/from the CPU device through two-wire interfacerL…�rL}r L(jjLjjLubaubjb)�r!L}r"L(jX Key Featuresr#Ljj Lj jƒCjjfj}r$L(j]r%LU key-featuresr&Laj]j]j]j]r'Lh‹aujNjhj]r(Lj%X Key Featuresr)L…�r*L}r+L(jj#Ljj!LubaubjÁ)�r,L}r-L(jUjj Lj jƒCjjÄj}r.L(j]j]j]j]j]ujKjhj]r/LjÇ)�r0L}r1L(jXType of transfersr2LjÊKjj,Lj jƒCjjj}r3L(j]j]j]j]j]ujKjhj]r4Lj%XType of transfersr5L…�r6L}r7L(jj2Ljj0Lubaubaubj¤ )�r8L}r9L(jUjj Lj Njj§ j}r:L(j]j]j]j]j]ujNjhj]r;Lj)�rL(jX-j]j]j]j]j]ujj8Lj]r?L(j)�r@L}rAL(jX ReadrBLj}rCL(j]j]j]j]j]ujjM(j]UlevelKj]j]r?Mj~KaUsourcejƒCj]j]UlineMUtypejAujMjhj]r@MjX)�rAM}rBM(jX8Duplicate implicit target name: "additional references".j}rCM(j]j]j]j]j]ujjjj”Mj j^Mjj&j}r®M(j2j3j]j]j]j]j]ujM‚jhj]r¯Mj%X!#include r°M…�r±M}r²M(jUjj¬MubaubjX)�r³M}r´M(jXCPlease see the doxygen in "API Reference Manual" below for details.rµMjj”Mj j^Mjj\j}r¶M(j]j]j]j]j]ujKBjhj]r·Mj%XCPlease see the doxygen in "API Reference Manual" below for details.r¸M…�r¹M}rºM(jjµMjj³MubaubjÁ)�r»M}r¼M(jUjj”Mj j^MjjÄj}r½M(j]j]j]j]j]ujKDjhj]r¾MjÇ)�r¿M}rÀM(jUjÊKjj»Mj j^Mjjj}rÁM(j]j]j]j]j]ujKjhj]ubaubeubeubj)�rÂM}rÃM(jUjKjjLMj j^Mjjj}rÄM(j]rÅMX applicationrÆMaj]j]j]rÇMUid109rÈMaj]ujKGjhj]rÉM(j)�rÊM}rËM(jX ApplicationrÌMjjÂMj j^Mjj"j}rÍM(j]j]j]j]j]ujKGjhj]rÎMj%X ApplicationrÏM…�rÐM}rÑM(jjÌMjjÊMubaubj)�rÒM}rÓM(jUjKjjÂMj j^Mjjj}rÔM(j]rÕMXexamplesrÖMaj]j]j]r×MUid110rØMaj]ujKJjhj]rÙM(j)�rÚM}rÛM(jXExamplesrÜMjjÒMj j^Mjj"j}rÝM(j]j]j]j]j]ujKJjhj]rÞMj%XExamplesrßM…�ràM}ráM(jjÜMjjÚMubaubj¶)�râM}rãM(jUjjÒMj j^Mjj¹j}räM(j]j]j]j]j]ujNjhj]råMj¼)�ræM}rçM(jUj}rèM(j]j]j]j]j]UcolsKujjâMj]réM(jÁ)�rêM}rëM(jUj}rìM(j]j]j]j]j]UcolwidthKujjæMj]jjÅubjÁ)�ríM}rîM(jUj}rïM(j]j]j]j]j]UcolwidthKujjæMj]jjÅubjÁ)�rðM}rñM(jUj}ròM(j]j]j]j]j]UcolwidthKujjæMj]jjÅubjÒ)�róM}rôM(jUj}rõM(j]j]j]j]j]ujjæMj]röMj×)�r÷M}røM(jUj}rùM(j]j]j]j]j]ujjóMj]rúM(jÜ)�rûM}rüM(jUj}rýM(j]j]j]j]j]ujj÷Mj]rþMjX)�rÿM}rN(jXNamerNjjûMj j^Mjj\j}rN(j]j]j]j]j]ujKMj]rNj%XNamerN…�rN}rN(jjNjjÿMubaubajjéubjÜ)�rN}rN(jUj}r N(j]j]j]j]j]ujj÷Mj]r NjÁ)�r N}r N(jUj}r N(j]j]j]j]j]ujjNj]rNjÇ)�rN}rN(jX DescriptionrNjÊKjj Nj j^Mjjj}rN(j]j]j]j]j]ujKj]rNj%X DescriptionrN…�rN}rN(jjNjjNubaubajjÄubajjéubjÜ)�rN}rN(jUj}rN(j]j]j]j]j]ujj÷Mj]rNjX)�rN}rN(jXExpected ResultsrNjjNj j^Mjj\j}rN(j]j]j]j]j]ujKMj]rNj%XExpected Resultsr N…�r!N}r"N(jjNjjNubaubajjéubejjubajjubj)�r#N}r$N(jUj}r%N(j]j]j]j]j]ujjæMj]r&N(j×)�r'N}r(N(jUj}r)N(j]j]j]j]j]ujj#Nj]r*N(jÜ)�r+N}r,N(jUj}r-N(j]j]j]j]j]ujj'Nj]r.NjX)�r/N}r0N(jXQMSS_Example applicationr1Njj+Nj j^Mjj\j}r2N(j]j]j]j]j]ujKOj]r3Nj%XQMSS_Example applicationr4N…�r5N}r6N(jj1Njj/NubaubajjéubjÜ)�r7N}r8N(jUj}r9N(j]j]j]j]j]ujj'Nj]r:NjÁ)�r;N}rNjÇ)�r?N}r@N(jX\Example demonstrating *infra DMA, interrupt test* use case. Reference example for developersjÊKjj;Nj j^Mjjj}rAN(j]j]j]j]j]ujKj]rBN(j%XExample demonstrating rCN…�rDN}rEN(jXExample demonstrating jj?Nubj<)�rFN}rGN(jX*infra DMA, interrupt test*j}rHN(j]j]j]j]j]ujj?Nj]rINj%Xinfra DMA, interrupt testrJN…�rKN}rLN(jUjjFNubajjDubj%X+ use case. Reference example for developersrMN…�rNN}rON(jX+ use case. Reference example for developersjj?NubeubajjÄubajjéubjÜ)�rPN}rQN(jUj}rRN(j]j]j]j]j]ujj'Nj]rSNjÁ)�rTN}rUN(jUj}rVN(j]j]j]j]j]ujjPNj]rWNjÇ)�rXN}rYN(jX5User observes the output printed over the CCS consolerZNjÊKjjTNj j^Mjjj}r[N(j]j]j]j]j]ujKj]r\Nj%X5User observes the output printed over the CCS consoler]N…�r^N}r_N(jjZNjjXNubaubajjÄubajjéubejjubj×)�r`N}raN(jUj}rbN(j]j]j]j]j]ujj#Nj]rcN(jÜ)�rdN}reN(jUj}rfN(j]j]j]j]j]ujj`Nj]rgNjX)�rhN}riN(jXQMSS_UnitTestApplicat ionrjNjjdNj j^Mjj\j}rkN(j]j]j]j]j]ujKWj]rlNj%XQMSS_UnitTestApplicat ionrmN…�rnN}roN(jjjNjjhNubaubajjéubjÜ)�rpN}rqN(jUj}rrN(j]j]j]j]j]ujj`Nj]rsNjÁ)�rtN}ruN(jUj}rvN(j]j]j]j]j]ujjpNj]rwNjÇ)�rxN}ryN(jX&Unit Test application to test all APIsrzNjÊKjjtNj j^Mjjj}r{N(j]j]j]j]j]ujKj]r|Nj%X&Unit Test application to test all APIsr}N…�r~N}rN(jjzNjjxNubaubajjÄubajjéubjÜ)�r€N}r�N(jUj}r‚N(j]j]j]j]j]ujj`Nj]rƒNjÁ)�r„N}r…N(jUj}r†N(j]j]j]j]j]ujj€Nj]r‡NjÇ)�rˆN}r‰N(jX5User observes the output printed over the CCS consolerŠNjÊKjj„Nj j^Mjjj}r‹N(j]j]j]j]j]ujKj]rŒNj%X5User observes the output printed over the CCS consoler�N…�rŽN}r�N(jjŠNjjˆNubaubajjÄubajjéubejjubejjðubejjñubaubjb)�r�N}r‘N(jXSample Example Outputr’NjKjjÒMj j^Mjjfj}r“N(j]r”NUid111r•Naj]j]r–Nj<aj]j]ujNjhj]r—Nj%XSample Example Outputr˜N…�r™N}ršN(jj’Njj�NubaubjX)�r›N}rœN(jX%This came from K2K multicore example:r�NjjÒMj j^Mjj\j}ržN(j]j]j]j]j]ujK_jhj]rŸNj%X%This came from K2K multicore example:r N…�r¡N}r¢N(jj�Njj›Nubaubj#)�r£N}r¤N(jX &************************************************** ************ QMSS Multicore Example ************** ************************************************** ************************************************** ************ QMSS Multicore Example ************** ************************************************** ************************************************** ************************************************** ************ QMSS Multicore Example ************** ************ QMSS Multicore Example ************** ************************************************** ************************************************** Core 1 : Starting BIOS... Core 2 : Starting BIOS... Core 3 : Starting BIOS... Core 0 : Starting BIOS... Core 0 : Created RM packet heap Core 0 : Created IPC MessageQ heap Core 0 : Created receive Q for Client1 Core 1 : Opened RM packet heap Core 2 : Opened RM packet heap Core 3 : Opened RM packet heap Core 1 : Opened IPC MessageQ heap Core 2 : Opened IPC MessageQ heap Core 3 : Opened IPC MessageQ heap Core 1 : Created receive Q for Server Core 2 : Created receive Q for Server Core 3 : Created receive Q for Server Core 1 : Opened Server's receive Q Core 1 : Waiting for QMSS to be initialized... Core 0 : Opened Client1's receive Q for Server Core 0 : Created receive Q for Client2 Core 0 : Opened Client2's receive Q for Server Core 0 : Created receive Q for Client3 Core 2 : Opened Server's receive Q Core 2 : Waiting for QMSS to be initialized... Core 0 : Opened Client3's receive Q for Server -----------------------Initializing--------------------------- Core 0 : L1D cache size 4. L2 cache size 0. Core 0 : Memory region 0 inserted Core 0 : Memory region 1 inserted Core 0 : Tx Completion Queue Number  : 897 opened Core 0 : Number of Tx descriptors requested : 32. Number of descriptors allocated : 32 Core 0 : Number of Rx descriptors requested : 32. Number of descriptors allocated : 32 Core 0 : Number of Sync free descriptors requested : 32. Number of descriptors allocated : 32 Core 0 : Sync Queue Number  : 9025 opened Core 0 : Sync Cfg Queue Number  : 9026 opened Core 0 : Sync Free Queue Number  : 898 opened Core 0 : Receive Free Queue Number  : 736 opened Core 0 : Transmit Free Queue Number  : 8928 opened Core 0 : System initialization completed: 8928 Core 0 : Publishing RM nameserver names for shared queues --------------------Queue status CORE 0---------------------- After Initialization Tx Free Queue 8928 Entry Count  : 32 Rx Free Queue 736 Entry Count  : 32 Tx completion Queue 897 Entry Count  : 0 Sync Queue 9025 Entry Count  : 0 Sync free Queue 898 Entry Count  : 32 Sync Cfg Queue 9026 Entry Count  : 0 ------------------------------------------------------------- Core 0 : Registering High Priority interrupt channel : 0 eventId : 48 queue Number : 704 Core 3 : Opened Server's receive Q Core 1 : QMSS initialization done. Core 2 : QMSS initialization done. Core 3 : Waiting for QMSS to be initialized... Core 3 : QMSS initialization done. Core 1 : Rx Free Queue Number  : 736 opened Core 2 : Rx Free Queue Number  : 736 opened Core 3 : Rx Free Queue Number  : 736 opened Core 1 : Tx Free Queue Number  : 8928 opened Core 2 : Tx Free Queue Number  : 8928 opened Core 3 : Tx Free Queue Number  : 8928 opened Core 1 : Tx Completion Queue Number : 897 opened Core 2 : Tx Completion Queue Number : 897 opened Core 3 : Tx Completion Queue Number : 897 opened Core 1 : Sync Queue Number  : 9025 opened Core 2 : Sync Queue Number  : 9025 opened Core 3 : Sync Queue Number  : 9025 opened Core 1 : Sync Free Queue Number  : 898 opened Core 2 : Sync Free Queue Number  : 898 opened Core 3 : Sync Free Queue Number  : 898 opened Core 1 : Sync Cfg Queue Number  : 9026 opened Core 2 : Sync Cfg Queue Number  : 9026 opened Core 3 : Sync Cfg Queue Number  : 9026 opened Core 1 : Registering High Priority interrupt channel : 1 eventId : 48 queue Number : 705 Core 2 : Registering High Priority interrupt channel : 2 eventId : 48 queue Number : 706 Core 3 : Registering High Priority interrupt channel : 3 eventId : 48 queue Number : 707 Core 1 : Waiting for sync signal Core 2 : Waiting for sync signal Core 3 : Waiting for sync signal Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 704 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 0 queue : 704 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 705 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 1 queue : 705 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 706 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 2 queue : 706 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 707 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 3 queue : 707 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Waiting for sync signal Core 0 : Got sync signal ************************************************************* --------------------Queue status CORE 0---------------------- After packet processing Tx Free Queue 8928 Entry Count  : 0 Rx Free Queue 736 Entry Count  : 32 Tx completion Queue 897 Entry Count  : 32 Sync Queue 9025 Entry Count  : 4 Sync free Queue 898 Entry Count  : 27 Sync Cfg Queue 9026 Entry Count  : 1 ------------------------------------------------------------- Core 0 : Waiting for other cores to ack sync signal Core 1 : Got sync signal Core 2 : Got sync signal Core 3 : Got sync signal ************************************************************* ************************************************************* ************************************************************* Core 0 : acks found --------------------Deinitializing--------------------------- --------------------Queue status CORE 0---------------------- Before exit Tx Free Queue 8928 Entry Count  : 0 Rx Free Queue 736 Entry Count  : 32 Tx completion Queue 897 Entry Count  : 32 Sync Queue 9025 Entry Count  : 0 Sync free Queue 898 Entry Count  : 28 Sync Cfg Queue 9026 Entry Count  : 4 ------------------------------------------------------------- Core 0 : Receive free queue closed successfully. Ref count : 0 Core 0 : Transmit completion queue closed successfully. Ref count : 3 Core 0 : Transmit free queue closed successfully. Ref count : 3 Core 0 : Sync queue closed successfully. Ref count : 3 Core 0 : Sync free queue closed successfully. Ref count : 3 Core 0 : Sync queue closed successfully. Ref count : 3 Core 0 : CPPI CPDMA closed successfully Core 0 : CPPI exit successful Core 0: Cleaning regions Core 0: exit QMSS Core 1 : Receive free queue closed successfully. Ref count : 3 Core 2 : Receive free queue closed successfully. Ref count : 2 Core 3 : Receive free queue closed successfully. Ref count : 1 Core 1 : Transmit completion queue closed successfully. Ref count : 2 Core 2 : Transmit completion queue closed successfully. Ref count : 1 Core 3 : Transmit completion queue closed successfully. Ref count : 0 Core 1 : Transmit free queue closed successfully. Ref count : 2 Core 2 : Transmit free queue closed successfully. Ref count : 1 Core 3 : Transmit free queue closed successfully. Ref count : 0 Core 1 : Sync queue closed successfully. Ref count : 2 Core 2 : Sync queue closed successfully. Ref count : 1 Core 3 : Sync queue closed successfully. Ref count : 0 Core 1 : Sync free queue closed successfully. Ref count : 2 Core 2 : Sync free queue closed successfully. Ref count : 1 Core 3 : Sync free queue closed successfully. Ref count : 0 Core 1 : Sync queue closed successfully. Ref count : 2 Core 2 : Sync queue closed successfully. Ref count : 1 Core 3 : Sync queue closed successfully. Ref count : 0 ******************************************************* ******************************************************* ******************************************************* ******** QMSS Multicore (1) Example Done (PASS) ******* ******** QMSS Multicore (2) Example Done (PASS) ******* ******** QMSS Multicore (3) Example Done (PASS) ******* ******************************************************* ******************************************************* ******************************************************* Core 0 : Deleting RM nameserver names for shared queues Instance name: RM_Server Handle: 0x00854578 Type: Server Resource Status: Core 0 : All resources freed successfully ******************************************************* ******** QMSS Multicore (0) Example Done (PASS) ******* *******************************************************jjÒMj j^Mjj&j}r¥N(j2j3j]j]j]j]j]ujM¥jhj]r¦Nj%X &************************************************** ************ QMSS Multicore Example ************** ************************************************** ************************************************** ************ QMSS Multicore Example ************** ************************************************** ************************************************** ************************************************** ************ QMSS Multicore Example ************** ************ QMSS Multicore Example ************** ************************************************** ************************************************** Core 1 : Starting BIOS... Core 2 : Starting BIOS... Core 3 : Starting BIOS... Core 0 : Starting BIOS... Core 0 : Created RM packet heap Core 0 : Created IPC MessageQ heap Core 0 : Created receive Q for Client1 Core 1 : Opened RM packet heap Core 2 : Opened RM packet heap Core 3 : Opened RM packet heap Core 1 : Opened IPC MessageQ heap Core 2 : Opened IPC MessageQ heap Core 3 : Opened IPC MessageQ heap Core 1 : Created receive Q for Server Core 2 : Created receive Q for Server Core 3 : Created receive Q for Server Core 1 : Opened Server's receive Q Core 1 : Waiting for QMSS to be initialized... Core 0 : Opened Client1's receive Q for Server Core 0 : Created receive Q for Client2 Core 0 : Opened Client2's receive Q for Server Core 0 : Created receive Q for Client3 Core 2 : Opened Server's receive Q Core 2 : Waiting for QMSS to be initialized... Core 0 : Opened Client3's receive Q for Server -----------------------Initializing--------------------------- Core 0 : L1D cache size 4. L2 cache size 0. Core 0 : Memory region 0 inserted Core 0 : Memory region 1 inserted Core 0 : Tx Completion Queue Number  : 897 opened Core 0 : Number of Tx descriptors requested : 32. Number of descriptors allocated : 32 Core 0 : Number of Rx descriptors requested : 32. Number of descriptors allocated : 32 Core 0 : Number of Sync free descriptors requested : 32. Number of descriptors allocated : 32 Core 0 : Sync Queue Number  : 9025 opened Core 0 : Sync Cfg Queue Number  : 9026 opened Core 0 : Sync Free Queue Number  : 898 opened Core 0 : Receive Free Queue Number  : 736 opened Core 0 : Transmit Free Queue Number  : 8928 opened Core 0 : System initialization completed: 8928 Core 0 : Publishing RM nameserver names for shared queues --------------------Queue status CORE 0---------------------- After Initialization Tx Free Queue 8928 Entry Count  : 32 Rx Free Queue 736 Entry Count  : 32 Tx completion Queue 897 Entry Count  : 0 Sync Queue 9025 Entry Count  : 0 Sync free Queue 898 Entry Count  : 32 Sync Cfg Queue 9026 Entry Count  : 0 ------------------------------------------------------------- Core 0 : Registering High Priority interrupt channel : 0 eventId : 48 queue Number : 704 Core 3 : Opened Server's receive Q Core 1 : QMSS initialization done. Core 2 : QMSS initialization done. Core 3 : Waiting for QMSS to be initialized... Core 3 : QMSS initialization done. Core 1 : Rx Free Queue Number  : 736 opened Core 2 : Rx Free Queue Number  : 736 opened Core 3 : Rx Free Queue Number  : 736 opened Core 1 : Tx Free Queue Number  : 8928 opened Core 2 : Tx Free Queue Number  : 8928 opened Core 3 : Tx Free Queue Number  : 8928 opened Core 1 : Tx Completion Queue Number : 897 opened Core 2 : Tx Completion Queue Number : 897 opened Core 3 : Tx Completion Queue Number : 897 opened Core 1 : Sync Queue Number  : 9025 opened Core 2 : Sync Queue Number  : 9025 opened Core 3 : Sync Queue Number  : 9025 opened Core 1 : Sync Free Queue Number  : 898 opened Core 2 : Sync Free Queue Number  : 898 opened Core 3 : Sync Free Queue Number  : 898 opened Core 1 : Sync Cfg Queue Number  : 9026 opened Core 2 : Sync Cfg Queue Number  : 9026 opened Core 3 : Sync Cfg Queue Number  : 9026 opened Core 1 : Registering High Priority interrupt channel : 1 eventId : 48 queue Number : 705 Core 2 : Registering High Priority interrupt channel : 2 eventId : 48 queue Number : 706 Core 3 : Registering High Priority interrupt channel : 3 eventId : 48 queue Number : 707 Core 1 : Waiting for sync signal Core 2 : Waiting for sync signal Core 3 : Waiting for sync signal Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 704 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 0 queue : 704 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 705 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 1 queue : 705 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 706 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 2 queue : 706 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Opened Tx channel  : 0 Core 0 : Opened Rx channel  : 0 Core 0 : Transmit Queue Number  : 800 Core 0 : Receive Queue Number  : 707 Core 0 : Opened Rx flow  : 0 Core 0 : High priority accumulator programmed for channel : 3 queue : 707 Core 0 : Transmitting 8 packets.......... ************************************************************* Core 0 : Waiting for sync signal Core 0 : Got sync signal ************************************************************* --------------------Queue status CORE 0---------------------- After packet processing Tx Free Queue 8928 Entry Count  : 0 Rx Free Queue 736 Entry Count  : 32 Tx completion Queue 897 Entry Count  : 32 Sync Queue 9025 Entry Count  : 4 Sync free Queue 898 Entry Count  : 27 Sync Cfg Queue 9026 Entry Count  : 1 ------------------------------------------------------------- Core 0 : Waiting for other cores to ack sync signal Core 1 : Got sync signal Core 2 : Got sync signal Core 3 : Got sync signal ************************************************************* ************************************************************* ************************************************************* Core 0 : acks found --------------------Deinitializing--------------------------- --------------------Queue status CORE 0---------------------- Before exit Tx Free Queue 8928 Entry Count  : 0 Rx Free Queue 736 Entry Count  : 32 Tx completion Queue 897 Entry Count  : 32 Sync Queue 9025 Entry Count  : 0 Sync free Queue 898 Entry Count  : 28 Sync Cfg Queue 9026 Entry Count  : 4 ------------------------------------------------------------- Core 0 : Receive free queue closed successfully. Ref count : 0 Core 0 : Transmit completion queue closed successfully. Ref count : 3 Core 0 : Transmit free queue closed successfully. Ref count : 3 Core 0 : Sync queue closed successfully. Ref count : 3 Core 0 : Sync free queue closed successfully. Ref count : 3 Core 0 : Sync queue closed successfully. Ref count : 3 Core 0 : CPPI CPDMA closed successfully Core 0 : CPPI exit successful Core 0: Cleaning regions Core 0: exit QMSS Core 1 : Receive free queue closed successfully. Ref count : 3 Core 2 : Receive free queue closed successfully. Ref count : 2 Core 3 : Receive free queue closed successfully. Ref count : 1 Core 1 : Transmit completion queue closed successfully. Ref count : 2 Core 2 : Transmit completion queue closed successfully. Ref count : 1 Core 3 : Transmit completion queue closed successfully. Ref count : 0 Core 1 : Transmit free queue closed successfully. Ref count : 2 Core 2 : Transmit free queue closed successfully. Ref count : 1 Core 3 : Transmit free queue closed successfully. Ref count : 0 Core 1 : Sync queue closed successfully. Ref count : 2 Core 2 : Sync queue closed successfully. Ref count : 1 Core 3 : Sync queue closed successfully. Ref count : 0 Core 1 : Sync free queue closed successfully. Ref count : 2 Core 2 : Sync free queue closed successfully. Ref count : 1 Core 3 : Sync free queue closed successfully. Ref count : 0 Core 1 : Sync queue closed successfully. Ref count : 2 Core 2 : Sync queue closed successfully. Ref count : 1 Core 3 : Sync queue closed successfully. Ref count : 0 ******************************************************* ******************************************************* ******************************************************* ******** QMSS Multicore (1) Example Done (PASS) ******* ******** QMSS Multicore (2) Example Done (PASS) ******* ******** QMSS Multicore (3) Example Done (PASS) ******* ******************************************************* ******************************************************* ******************************************************* Core 0 : Deleting RM nameserver names for shared queues Instance name: RM_Server Handle: 0x00854578 Type: Server Resource Status: Core 0 : All resources freed successfully ******************************************************* ******** QMSS Multicore (0) Example Done (PASS) ******* *******************************************************r§N…�r¨N}r©N(jUjj£Nubaubeubeubj)�rªN}r«N(jUjKjjLMj j^Mjjj}r¬N(j]r­Njaaj]j]j]r®NUid112r¯Naj]ujMNjhj]r°N(j)�r±N}r²N(jX Debug FAQr³NjjªNj j^Mjj"j}r´N(j]j]j]j]j]ujMNjhj]rµNj%X Debug FAQr¶N…�r·N}r¸N(jj³Njj±Nubaubj`)�r¹N}rºN(jUjjªNj j^Mjjcj}r»N(jeU.j]j]j]jfUj]j]jgjhujMPjhj]r¼N(j)�r½N}r¾N(jXDouble Push - Some queue elements lost. #. Pushing the same pointer twice is illegal. In hardware it does something similar to double linking the same object into two places of a software linked list. It corrupts the list, such that some items will be orphaned/lost. jj¹Nj Njj j}r¿N(j]j]j]j]j]ujNjhj]rÀN(jX)�rÁN}rÂN(jX'Double Push - Some queue elements lost.rÃNjj½Nj j^Mjj\j}rÄN(j]j]j]j]j]ujMPj]rÅNj%X'Double Push - Some queue elements lost.rÆN…�rÇN}rÈN(jjÃNjjÁNubaubj`)�rÉN}rÊN(jUj}rËN(jeU.j]j]j]jfUj]j]jgjhujj½Nj]rÌNj)�rÍN}rÎN(jXàPushing the same pointer twice is illegal. In hardware it does something similar to double linking the same object into two places of a software linked list. It corrupts the list, such that some items will be orphaned/lost. j}rÏN(j]j]j]j]j]ujjÉNj]rÐNjX)�rÑN}rÒN(jXßPushing the same pointer twice is illegal. In hardware it does something similar to double linking the same object into two places of a software linked list. It corrupts the list, such that some items will be orphaned/lost.rÓNjjÍNj j^Mjj\j}rÔN(j]j]j]j]j]ujMRj]rÕNj%XßPushing the same pointer twice is illegal. In hardware it does something similar to double linking the same object into two places of a software linked list. It corrupts the list, such that some items will be orphaned/lost.rÖN…�r×N}rØN(jjÓNjjÑNubaubajj ubajjcubeubj)�rÙN}rÚN(jX*NULL Push - Entire queue lost #. Pushing NULL (0) clears the entire queue. This is intentionally done by Qmss_QueueEmpty(). However the various Qmss_QueuePush functions don't check for NULL (to save cycles). Don't push NULL (for example received when Qmss_QueuePop finds an empty queue). jj¹Nj Njj j}rÛN(j]j]j]j]j]ujNjhj]rÜN(jX)�rÝN}rÞN(jXNULL Push - Entire queue lostrßNjjÙNj j^Mjj\j}ràN(j]j]j]j]j]ujMWj]ráNj%XNULL Push - Entire queue lostrâN…�rãN}räN(jjßNjjÝNubaubj`)�råN}ræN(jUj}rçN(jeU.j]j]j]jfUj]j]jgjhujjÙNj]rèNj)�réN}rêN(jXÿPushing NULL (0) clears the entire queue. This is intentionally done by Qmss_QueueEmpty(). However the various Qmss_QueuePush functions don't check for NULL (to save cycles). Don't push NULL (for example received when Qmss_QueuePop finds an empty queue). j}rëN(j]j]j]j]j]ujjåNj]rìNjX)�ríN}rîN(jXþPushing NULL (0) clears the entire queue. This is intentionally done by Qmss_QueueEmpty(). However the various Qmss_QueuePush functions don't check for NULL (to save cycles). Don't push NULL (for example received when Qmss_QueuePop finds an empty queue).rïNjjéNj j^Mjj\j}rðN(j]j]j]j]j]ujMYj]rñNj%XþPushing NULL (0) clears the entire queue. This is intentionally done by Qmss_QueueEmpty(). However the various Qmss_QueuePush functions don't check for NULL (to save cycles). Don't push NULL (for example received when Qmss_QueuePop finds an empty queue).ròN…�róN}rôN(jjïNjjíNubaubajj ubajjcubeubj)�rõN}röN(jX.Hint Bits (4 low LSBs of desc pointer) #. These are used to tell DMAs such as CPPI the size of the descriptor. Thus, when receiving descriptors from hardware, you must use QMSS_DESC_PTR() to discard them, else unaligned memory accesses that corrupt descriptors will be generated by software. jj¹Nj Njj j}r÷N(j]j]j]j]j]ujNjhj]røN(jX)�rùN}rúN(jX&Hint Bits (4 low LSBs of desc pointer)rûNjjõNj j^Mjj\j}rüN(j]j]j]j]j]ujM^j]rýNj%X&Hint Bits (4 low LSBs of desc pointer)rþN…�rÿN}rO(jjûNjjùNubaubj`)�rO}rO(jUj}rO(jeU.j]j]j]jfUj]j]jgjhujjõNj]rOj)�rO}rO(jXúThese are used to tell DMAs such as CPPI the size of the descriptor. Thus, when receiving descriptors from hardware, you must use QMSS_DESC_PTR() to discard them, else unaligned memory accesses that corrupt descriptors will be generated by software. j}rO(j]j]j]j]j]ujjOj]rOjX)�r O}r O(jXùThese are used to tell DMAs such as CPPI the size of the descriptor. Thus, when receiving descriptors from hardware, you must use QMSS_DESC_PTR() to discard them, else unaligned memory accesses that corrupt descriptors will be generated by software.r OjjOj j^Mjj\j}r O(j]j]j]j]j]ujM`j]r Oj%XùThese are used to tell DMAs such as CPPI the size of the descriptor. Thus, when receiving descriptors from hardware, you must use QMSS_DESC_PTR() to discard them, else unaligned memory accesses that corrupt descriptors will be generated by software.rO…�rO}rO(jj Ojj Oubaubajj ubajjcubeubj)�rO}rO(jX=General lost descriptors #. Its not a bad idea to have code that can inventory all your descriptors as part of destructive debug. Iterate over all queues, and pop all descriptors. Set a bit in a large bitmap for each descriptor found. Bits that remain 0 indicate "lost" descriptors which could have happened due to double push or null push or software bugs that simply lost them. By examining the contents of descriptor(s) and buffer(s), can often determine who last used them therefore what part of code lost them. #. Its also good to have nondestructive debug code that can call Qmss_getQueueByteCount() and Qmss_getQueueEntryCount() for each queue. This should be able to find all but a few (~4) descriptors per hardware DMA that are in flight. If large amounts of descriptors are missing, it means there is a bug. For this debug/monitor purpose, its OK to make own Qmss_QueueHandle by casting the queue number (eg (Qmss_QueueHandle)queueNum) since its undesirable to generate accounting/management for purpose of nondestructive debug. jj¹Nj Njj j}rO(j]j]j]j]j]ujNjhj]rO(jX)�rO}rO(jXGeneral lost descriptorsrOjjOj j^Mjj\j}rO(j]j]j]j]j]ujMej]rOj%XGeneral lost descriptorsrO…�rO}rO(jjOjjOubaubj`)�rO}rO(jUj}rO(jeU.j]j]j]jfUj]j]jgjhujjOj]r O(j)�r!O}r"O(jXçIts not a bad idea to have code that can inventory all your descriptors as part of destructive debug. Iterate over all queues, and pop all descriptors. Set a bit in a large bitmap for each descriptor found. Bits that remain 0 indicate "lost" descriptors which could have happened due to double push or null push or software bugs that simply lost them. By examining the contents of descriptor(s) and buffer(s), can often determine who last used them therefore what part of code lost them.j}r#O(j]j]j]j]j]ujjOj]r$OjX)�r%O}r&O(jXçIts not a bad idea to have code that can inventory all your descriptors as part of destructive debug. Iterate over all queues, and pop all descriptors. Set a bit in a large bitmap for each descriptor found. Bits that remain 0 indicate "lost" descriptors which could have happened due to double push or null push or software bugs that simply lost them. By examining the contents of descriptor(s) and buffer(s), can often determine who last used them therefore what part of code lost them.r'Ojj!Oj j^Mjj\j}r(O(j]j]j]j]j]ujMgj]r)Oj%XçIts not a bad idea to have code that can inventory all your descriptors as part of destructive debug. Iterate over all queues, and pop all descriptors. Set a bit in a large bitmap for each descriptor found. Bits that remain 0 indicate "lost" descriptors which could have happened due to double push or null push or software bugs that simply lost them. By examining the contents of descriptor(s) and buffer(s), can often determine who last used them therefore what part of code lost them.r*O…�r+O}r,O(jj'Ojj%Oubaubajj ubj)�r-O}r.O(jXIts also good to have nondestructive debug code that can call Qmss_getQueueByteCount() and Qmss_getQueueEntryCount() for each queue. This should be able to find all but a few (~4) descriptors per hardware DMA that are in flight. If large amounts of descriptors are missing, it means there is a bug. For this debug/monitor purpose, its OK to make own Qmss_QueueHandle by casting the queue number (eg (Qmss_QueueHandle)queueNum) since its undesirable to generate accounting/management for purpose of nondestructive debug. j}r/O(j]j]j]j]j]ujjOj]r0OjX)�r1O}r2O(jXIts also good to have nondestructive debug code that can call Qmss_getQueueByteCount() and Qmss_getQueueEntryCount() for each queue. This should be able to find all but a few (~4) descriptors per hardware DMA that are in flight. If large amounts of descriptors are missing, it means there is a bug. For this debug/monitor purpose, its OK to make own Qmss_QueueHandle by casting the queue number (eg (Qmss_QueueHandle)queueNum) since its undesirable to generate accounting/management for purpose of nondestructive debug.r3Ojj-Oj j^Mjj\j}r4O(j]j]j]j]j]ujMoj]r5Oj%XIts also good to have nondestructive debug code that can call Qmss_getQueueByteCount() and Qmss_getQueueEntryCount() for each queue. This should be able to find all but a few (~4) descriptors per hardware DMA that are in flight. If large amounts of descriptors are missing, it means there is a bug. For this debug/monitor purpose, its OK to make own Qmss_QueueHandle by casting the queue number (eg (Qmss_QueueHandle)queueNum) since its undesirable to generate accounting/management for purpose of nondestructive debug.r6O…�r7O}r8O(jj3Ojj1Oubaubajj ubejjcubeubeubeubj)�r9O}r:O(jUjKjjLMj j^Mjjj}r;O(j]rOUid113r?Oaj]ujMzjhj]r@O(j)�rAO}rBO(jXAdditional ReferencesrCOjj9Oj j^Mjj"j}rDO(j]j]j]j]j]ujMzjhj]rEOj%XAdditional ReferencesrFO…�rGO}rHO(jjCOjjAOubaubj¶)�rIO}rJO(jUjj9Oj j^Mjj¹j}rKO(j]j]j]j]j]ujNjhj]rLOj¼)�rMO}rNO(jUj}rOO(j]j]j]j]j]UcolsKujjIOj]rPO(jÁ)�rQO}rRO(jUj}rSO(j]j]j]j]j]UcolwidthK#ujjMOj]jjÅubjÁ)�rTO}rUO(jUj}rVO(j]j]j]j]j]UcolwidthK#ujjMOj]jjÅubj)�rWO}rXO(jUj}rYO(j]j]j]j]j]ujjMOj]rZO(j×)�r[O}r\O(jUj}r]O(j]j]j]j]j]ujjWOj]r^O(jÜ)�r_O}r`O(jUj}raO(j]j]j]j]j]ujj[Oj]rbOjX)�rcO}rdO(jX **Document**reOjj_Oj j^Mjj\j}rfO(j]j]j]j]j]ujM}j]rgOj|)�rhO}riO(jjeOj}rjO(j]j]j]j]j]ujjcOj]rkOj%XDocumentrlO…�rmO}rnO(jUjjhOubajj„ubaubajjéubjÜ)�roO}rpO(jUj}rqO(j]j]j]j]j]ujj[Oj]rrOjX)�rsO}rtO(jX **Location**ruOjjoOj j^Mjj\j}rvO(j]j]j]j]j]ujM}j]rwOj|)�rxO}ryO(jjuOj}rzO(j]j]j]j]j]ujjsOj]r{Oj%XLocationr|O…�r}O}r~O(jUjjxOubajj„ubaubajjéubejjubj×)�rO}r€O(jUj}r�O(j]j]j]j]j]ujjWOj]r‚O(jÜ)�rƒO}r„O(jUj}r…O(j]j]j]j]j]ujjOj]r†OjX)�r‡O}rˆO(jXAPI Reference Manualr‰OjjƒOj j^Mjj\j}rŠO(j]j]j]j]j]ujMj]r‹Oj%XAPI Reference ManualrŒO…�r�O}rŽO(jj‰Ojj‡OubaubajjéubjÜ)�r�O}r�O(jUj}r‘O(j]j]j]j]j]ujjOj]r’OjX)�r“O}r”O(jXI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/doxygen/html/index .htmlr•Ojj�Oj j^Mjj\j}r–O(j]j]j]j]j]ujMj]r—Oj%XI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/doxygen/html/index .htmlr˜O…�r™O}ršO(jj•Ojj“Oubaubajjéubejjubj×)�r›O}rœO(jUj}r�O(j]j]j]j]j]ujjWOj]ržO(jÜ)�rŸO}r O(jUj}r¡O(j]j]j]j]j]ujj›Oj]r¢OjX)�r£O}r¤O(jX Release Notesr¥OjjŸOj j^Mjj\j}r¦O(j]j]j]j]j]ujMƒj]r§Oj%X Release Notesr¨O…�r©O}rªO(jj¥Ojj£OubaubajjéubjÜ)�r«O}r¬O(jUj}r­O(j]j]j]j]j]ujj›Oj]r®OjX)�r¯O}r°O(jXK$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/ReleaseNotes_QMSS_ LLD.pdfjj«Oj j^Mjj\j}r±O(j]j]j]j]j]ujMƒj]r²O(j%X1$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/r³O…�r´O}rµO(jX1$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/jj¯Oubjg-)�r¶O}r·O(jXReleaseNotes_QMSS_r¸Oj}r¹O(j]rºOUid291r»Oaj]j]j]j]UrefidUid290r¼Oujj¯Oj]r½Oj%XReleaseNotes_QMSS_r¾O…�r¿O}rÀO(jUjj¶Oubajjs-ubj%X LLD.pdfrÁO…�rÂO}rÃO(jX LLD.pdfjj¯Oubeubajjéubejjubj×)�rÄO}rÅO(jUj}rÆO(j]j]j]j]j]ujjWOj]rÇO(jÜ)�rÈO}rÉO(jUj}rÊO(j]j]j]j]j]ujjÄOj]rËOjX)�rÌO}rÍO(jX*QoS (Weighted Round Robin and SP QoS tree)rÎOjjÈOj j^Mjj\j}rÏO(j]j]j]j]j]ujM‡j]rÐOj%X*QoS (Weighted Round Robin and SP QoS tree)rÑO…�rÒO}rÓO(jjÎOjjÌOubaubajjéubjÜ)�rÔO}rÕO(jUj}rÖO(j]j]j]j]j]ujjÄOj]r×OjX)�rØO}rÙO(jXm$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/firmware/qos_sched ,qos_sched_drop_sched,qos_sched_w ide.pdfrÚOjjÔOj j^Mjj\j}rÛO(j]j]j]j]j]ujM‡j]rÜOj%Xm$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/firmware/qos_sched ,qos_sched_drop_sched,qos_sched_w ide.pdfrÝO…�rÞO}rßO(jjÚOjjØOubaubajjéubejjubj×)�ràO}ráO(jUj}râO(j]j]j]j]j]ujjWOj]rãO(jÜ)�räO}råO(jUj}ræO(j]j]j]j]j]ujjàOj]rçOjX)�rèO}réO(jX(QoS (Leaky bucket and SRIO TX Scheduler)rêOjjäOj j^Mjj\j}rëO(j]j]j]j]j]ujMŒj]rìOj%X(QoS (Leaky bucket and SRIO TX Scheduler)ríO…�rîO}rïO(jjêOjjèOubaubajjéubjÜ)�rðO}rñO(jUj}ròO(j]j]j]j]j]ujjàOj]róOjX)�rôO}rõO(jXA$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/firmware/qos.pdfröOjjðOj j^Mjj\j}r÷O(j]j]j]j]j]ujMŒj]røOj%XA$(TI_PDK_INSTALL_DIR)/packages/ti /drv/QMSS/docs/firmware/qos.pdfrùO…�rúO}rûO(jjöOjjôOubaubajjéubejjubj×)�rüO}rýO(jUj}rþO(j]j]j]j]j]ujjWOj]rÿO(jÜ)�rP}rP(jUj}rP(j]j]j]j]j]ujjüOj]rPjX)�rP}rP(jXHardware Userguide/TRMrPjjPj j^Mjj\j}rP(j]j]j]j]j]ujM�j]rPj%XHardware Userguide/TRMr P…�r P}r P(jjPjjPubaubajjéubjÜ)�r P}r P(jUj}rP(j]j]j]j]j]ujjüOj]rPjX)�rP}rP(jX/`UG TRM PDF `__rPjj Pj j^Mjj\j}rP(j]j]j]j]j]ujM�j]rPj)�rP}rP(jjPj}rP(UnameX UG TRM PDFjXhttp://www.ti.com/lit/sprugr9j]j]j]j]j]ujjPj]rPj%X UG TRM PDFrP…�rP}rP(jUjjPubajjubaubajjéubejjubj×)�rP}rP(jUj}rP(j]j]j]j]j]ujjWOj]rP(jÜ)�r P}r!P(jUj}r"P(j]j]j]j]j]ujjPj]r#PjX)�r$P}r%P(jX'CPPI LLD (Navigator/QMSS DMA component)r&Pjj Pj j^Mjj\j}r'P(j]j]j]j]j]ujM“j]r(Pj%X'CPPI LLD (Navigator/QMSS DMA component)r)P…�r*P}r+P(jj&Pjj$PubaubajjéubjÜ)�r,P}r-P(jUj}r.P(j]j]j]j]j]ujjPj]r/PjX)�r0P}r1P(jX `CPPI LLD`_r2Pjj,Pj j^Mjj\j}r3P(j]j]j]j]j]ujM“j]r4Pj)�r5P}r6P(jj2PjqKjj0Pjjj}r7P(UnameXCPPI LLDjXindex_device_drv.html#cppir8Pj]j]j]j]j]uj]r9Pj%XCPPI LLDr:P…�r;P}rP(jX(.. _CPPI LLD: index_device_drv.html#cppijKjj9Oj j^Mjj�j}r?P(jj8Pj]r@PUcppi-lldrAPaj]j]j]j]rBPhˆaujMÙjhj]ubjÁ)�rCP}rDP(jUjj9Oj j^MjjÄj}rEP(j]j]j]j]j]ujM™jhj]rFPjÇ)�rGP}rHP(jUjÊKjjCPj j^Mjjj}rIP(j]j]j]j]j]ujKjhj]ubaubeubeubj j^Mjjj}rJP(j]rKPXoverviewrLPaj]j]j]rMPUid103rNPaj]ujKjhj]rOP(j)�rPP}rQP(jXOverviewrRPjjJMj j^Mjj"j}rSP(j]j]j]j]j]ujKjhj]rTPj%XOverviewrUP…�rVP}rWP(jjRPjjPPubaubj)�rXP}rYP(jUjKjjJMj j^Mjjj}rZP(j]r[PX introductionr\Paj]j]j]r]PUid104r^Paj]ujKjhj]r_P(j)�r`P}raP(jX IntroductionrbPjjXPj j^Mjj"j}rcP(j]j]j]j]j]ujKjhj]rdPj%X IntroductionreP…�rfP}rgP(jjbPjj`PubaubjX)�rhP}riP(jXãThe Queue Manager Sub System (QMSS) low level driver provides the interface to Queue Manager Subsystem hardware which is part of the Multicore Navigator functional unit for a keystone device. QMSS provides hardware assisted queue system and implements fundamental operations such as en-queue and de-queue, descriptor management, accumulator functionality and configuration of infrastructure DMA mode. The LLD provides APIs to get full entitlement of supported hardware functionality.rjPjjXPj j^Mjj\j}rkP(j]j]j]j]j]ujK jhj]rlPj%XãThe Queue Manager Sub System (QMSS) low level driver provides the interface to Queue Manager Subsystem hardware which is part of the Multicore Navigator functional unit for a keystone device. QMSS provides hardware assisted queue system and implements fundamental operations such as en-queue and de-queue, descriptor management, accumulator functionality and configuration of infrastructure DMA mode. The LLD provides APIs to get full entitlement of supported hardware functionality.rmP…�rnP}roP(jjjPjjhPubaubjX)�rpP}rqP(jX=The LLD also includes accumulation and QoS (Quality of Service) firmware. QoS enables restriction of data rates in bytes per second or packets per second, weighted round robin queue selection, and selective descriptor dropping for oversubscribed queues. Accumulation The APIs are provided through the LLD. The API documentation for both QoS and Accumulator is available in the API Reference manual below. The capabilities of the QoS firmware are documented in their design documents. The capabilities of the accumulator are documented in the Hardware Peripheral User Guide.rrPjjXPj j^Mjj\j}rsP(j]j]j]j]j]ujKjhj]rtPj%X=The LLD also includes accumulation and QoS (Quality of Service) firmware. QoS enables restriction of data rates in bytes per second or packets per second, weighted round robin queue selection, and selective descriptor dropping for oversubscribed queues. Accumulation The APIs are provided through the LLD. The API documentation for both QoS and Accumulator is available in the API Reference manual below. The capabilities of the QoS firmware are documented in their design documents. The capabilities of the accumulator are documented in the Hardware Peripheral User Guide.ruP…�rvP}rwP(jjrPjjpPubaubjb)�rxP}ryP(jXModes of OperationrzPjKjjXPj j^Mjjfj}r{P(j]r|PUid105r}Paj]j]r~PXmodes-of-operationrPaj]j]ujNjhj]r€Pj%XModes of Operationr�P…�r‚P}rƒP(jjzPjjxPubaubjX)�r„P}r…P(jX-QMSS library (ti.drv.qm) supports below modesr†PjjXPj j^Mjj\j}r‡P(j]j]j]j]j]ujKjhj]rˆPj%X-QMSS library (ti.drv.qm) supports below modesr‰P…�rŠP}r‹P(jj†Pjj„PubaubjX)�rŒP}r�P(jX5**Joint Mode**: In this mode, only linkingRAM0Base, linkingRAM0Size, and linkingRAM1Base are used to configure all QM groups simultaneously. For all existing devices (K2H, K2K) this is only mode that should be used. For the rest of the devices such as K2L, K2E, 6678 and 6657, this is the only mode available.jjXPj j^Mjj\j}rŽP(j]j]j]j]j]ujK!jhj]r�P(j|)�r�P}r‘P(jX**Joint Mode**j}r’P(j]j]j]j]j]ujjŒPj]r“Pj%X Joint Moder”P…�r•P}r–P(jUjj�Pubajj„ubj%X': In this mode, only linkingRAM0Base, linkingRAM0Size, and linkingRAM1Base are used to configure all QM groups simultaneously. For all existing devices (K2H, K2K) this is only mode that should be used. For the rest of the devices such as K2L, K2E, 6678 and 6657, this is the only mode available.r—P…�r˜P}r™P(jX': In this mode, only linkingRAM0Base, linkingRAM0Size, and linkingRAM1Base are used to configure all QM groups simultaneously. For all existing devices (K2H, K2K) this is only mode that should be used. For the rest of the devices such as K2L, K2E, 6678 and 6657, this is the only mode available.jjŒPubeubjX)�ršP}r›P(jX`**Split Mode**: This mode shouldn't be used as it doesn't support all peripherals on the device.jjXPj j^Mjj\j}rœP(j]j]j]j]j]ujK'jhj]r�P(j|)�ržP}rŸP(jX**Split Mode**j}r P(j]j]j]j]j]ujjšPj]r¡Pj%X Split Moder¢P…�r£P}r¤P(jUjjžPubajj„ubj%XR: This mode shouldn't be used as it doesn't support all peripherals on the device.r¥P…�r¦P}r§P(jXR: This mode shouldn't be used as it doesn't support all peripherals on the device.jjšPubeubeubeubj j^Mjj?j}r¨P(j]UlevelKj]j]r©PjNPaUsourcej^Mj]j]UlineKUtypejAujKjhj]rªPjX)�r«P}r¬P(jX+Duplicate implicit target name: "overview".j}r­P(j]j]j]j]j]ujjHMj]r®Pj%X+Duplicate implicit target name: "overview".r¯P…�r°P}r±P(jUjj«Pubajj\ubaubhÿ)�r²P}r³P(jUjjXPj j^Mjj?j}r´P(j]UlevelKj]j]rµPj^PaUsourcej^Mj]j]UlineKUtypejAujKjhj]r¶PjX)�r·P}r¸P(jX/Duplicate implicit target name: "introduction".j}r¹P(j]j]j]j]j]ujj²Pj]rºPj%X/Duplicate implicit target name: "introduction".r»P…�r¼P}r½P(jUjj·Pubajj\ubaubhÿ)�r¾P}r¿P(jUj}rÀP(j]UlevelKj]j]rÁPj}PaUsourcej j]j]UlineKQUtypejXujjxPj]rÂPjX)�rÃP}rÄP(jX5Duplicate explicit target name: "modes-of-operation".j}rÅP(j]j]j]j]j]ujj¾Pj]rÆPj%X5Duplicate explicit target name: "modes-of-operation".rÇP…�rÈP}rÉP(jUjjÃPubajj\ubajj?ubhÿ)�rÊP}rËP(jUjjeMj j^Mjj?j}rÌP(j]UlevelKj]j]rÍPjkMaUsourcej^Mj]j]UlineK+UtypejAujK+jhj]rÎPjX)�rÏP}rÐP(jX1Duplicate implicit target name: "user interface".j}rÑP(j]j]j]j]j]ujjÊPj]rÒPj%X1Duplicate implicit target name: "user interface".rÓP…�rÔP}rÕP(jUjjÏPubajj\ubaubhÿ)�rÖP}r×P(jUjjuMj j^Mjj?j}rØP(j]UlevelKj]j]rÙPj{MaUsourcej^Mj]j]UlineK.UtypejAujK.jhj]rÚPjX)�rÛP}rÜP(jX7Duplicate implicit target name: "driver configuration".j}rÝP(j]j]j]j]j]ujjÖPj]rÞPj%X7Duplicate implicit target name: "driver configuration".rßP…�ràP}ráP(jUjjÛPubajj\ubaubhÿ)�râP}rãP(jUjj”Mj j^Mjj?j}räP(j]UlevelKj]j]råPjšMaUsourcej^Mj]j]UlineK:UtypejAujK:jhj]ræPjX)�rçP}rèP(jX'Duplicate implicit target name: "apis".j}réP(j]j]j]j]j]ujjâPj]rêPj%X'Duplicate implicit target name: "apis".rëP…�rìP}ríP(jUjjçPubajj\ubaubhÿ)�rîP}rïP(jUjjÂMj j^Mjj?j}rðP(j]UlevelKj]j]rñPjÈMaUsourcej^Mj]j]UlineKGUtypejAujKGjhj]ròPjX)�róP}rôP(jX.Duplicate implicit target name: "application".j}rõP(j]j]j]j]j]ujjîPj]röPj%X.Duplicate implicit target name: "application".r÷P…�røP}rùP(jUjjóPubajj\ubaubhÿ)�rúP}rûP(jUjjÒMj j^Mjj?j}rüP(j]UlevelKj]j]rýPjØMaUsourcej^Mj]j]UlineKJUtypejAujKJjhj]rþPjX)�rÿP}rQ(jX+Duplicate implicit target name: "examples".j}rQ(j]j]j]j]j]ujjúPj]rQj%X+Duplicate implicit target name: "examples".rQ…�rQ}rQ(jUjjÿPubajj\ubaubhÿ)�rQ}rQ(jUj}rQ(j]UlevelKj]j]r Qj•NaUsourcej j]j]UlineKQUtypejXujj�Nj]r QjX)�r Q}r Q(jX8Duplicate explicit target name: "sample-example-output".j}r Q(j]j]j]j]j]ujjQj]rQj%X8Duplicate explicit target name: "sample-example-output".rQ…�rQ}rQ(jUjj Qubajj\ubajj?ubhÿ)�rQ}rQ(jUjjªNj j^Mjj?j}rQ(j]UlevelKj]j]rQj¯NaUsourcej^Mj]j]UlineMNUtypejAujMNjhj]rQjX)�rQ}rQ(jX,Duplicate implicit target name: "debug faq".j}rQ(j]j]j]j]j]ujjQj]rQj%X,Duplicate implicit target name: "debug faq".rQ…�rQ}rQ(jUjjQubajj\ubaubhÿ)�rQ}rQ(jUjj9Oj j^Mjj?j}r Q(j]UlevelKj]j]r!Qj?OaUsourcej^Mj]j]UlineMzUtypejAujMzjhj]r"QjX)�r#Q}r$Q(jX8Duplicate implicit target name: "additional references".j}r%Q(j]j]j]j]j]ujjQj]r&Qj%X8Duplicate implicit target name: "additional references".r'Q…�r(Q}r)Q(jUjj#Qubajj\ubaubhÿ)�r*Q}r+Q(jUjj)�r,Q}r-Q(jUjKjj)�r.Q}r/Q(jUjhj j jjj}r0Q(j]j]j]j]r1QUcppir2Qaj]r3QhlaujKWjhj]r4Q(j)�r5Q}r6Q(jXCPPIr7Qjj.Qj j jj"j}r8Q(j]j]j]j]j]ujKWjhj]r9Qj%XCPPIr:Q…�r;Q}rQ(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_CPPIjj.Qj j,X=source/rtos/PDK_Platform_Software/Device_Drivers/CPPI.rst.incr?Q…�r@Q}rAQbjj0j}rBQ(j2j3j]j]j]j]j]ujKjhj]rCQj%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_CPPIrDQ…�rEQ}rFQ(jUjj=Qubaubj,Qj)�rGQ}rHQ(jUjKjj.Qj j@Qjjj}rIQ(j]rJQXuser interfacerKQaj]j]j]rLQUid116rMQaj]ujKjhj]rNQ(j)�rOQ}rPQ(jXUser InterfacerQQjjGQj j@Qjj"j}rRQ(j]j]j]j]j]ujKjhj]rSQj%XUser InterfacerTQ…�rUQ}rVQ(jjQQjjOQubaubj)�rWQ}rXQ(jUjKjjGQj j@Qjjj}rYQ(j]rZQXdriver configurationr[Qaj]j]j]r\QUid117r]Qaj]ujK jhj]r^Q(j)�r_Q}r`Q(jXDriver ConfigurationraQjjWQj j@Qjj"j}rbQ(j]j]j]j]j]ujK jhj]rcQj%XDriver ConfigurationrdQ…�reQ}rfQ(jjaQjj_QubaubjX)�rgQ}rhQ(jXÅThe driver configures the CPPI subsystem using cppiGblCfgParams(system configuration) structure. The default global configuration per device is present under cppi_device.c file provided per device.riQjjWQj j@Qjj\j}rjQ(j]j]j]j]j]ujK"jhj]rkQj%XÅThe driver configures the CPPI subsystem using cppiGblCfgParams(system configuration) structure. The default global configuration per device is present under cppi_device.c file provided per device.rlQ…�rmQ}rnQ(jjiQjjgQubaubjX)�roQ}rpQ(jX›For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\CPPIckages\ti\drv\CPPI\docs\doxygen\html\index.html.jjWQj j@Qjj\j}rqQ(j]j]j]j]j]ujK&jhj]rrQj%X“For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIRCPPIckagestidrvCPPIdocsdoxygenhtmlindex.html.rsQ…�rtQ}ruQ(jX›For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\CPPIckages\ti\drv\CPPI\docs\doxygen\html\index.html.jjoQubaubeubj)�rvQ}rwQ(jUjKjjGQj j@Qjjj}rxQ(j]ryQXapisrzQaj]j]j]r{QUid118r|Qaj]ujK+jhj]r}Q(j)�r~Q}rQ(jXAPIsr€QjjvQj j@Qjj"j}r�Q(j]j]j]j]j]ujK+jhj]r‚Qj%XAPIsrƒQ…�r„Q}r…Q(jj€Qjj~QubaubjX)�r†Q}r‡Q(jXAPI reference for application:rˆQjjvQj j@Qjj\j}r‰Q(j]j]j]j]j]ujK-jhj]rŠQj%XAPI reference for application:r‹Q…�rŒQ}r�Q(jjˆQjj†Qubaubj#)�rŽQ}r�Q(jX!#include jjvQj j@Qjj&j}r�Q(j2j3j]j]j]j]j]ujMjhj]r‘Qj%X!#include r’Q…�r“Q}r”Q(jUjjŽQubaubeubeubj)�r•Q}r–Q(jUjKjj.Qj j@Qjjj}r—Q(j]r˜QX applicationr™Qaj]j]j]ršQUid119r›Qaj]ujK4jhj]rœQ(j)�r�Q}ržQ(jX ApplicationrŸQjj•Qj j@Qjj"j}r Q(j]j]j]j]j]ujK4jhj]r¡Qj%X Applicationr¢Q…�r£Q}r¤Q(jjŸQjj�Qubaubj)�r¥Q}r¦Q(jUjKjj•Qj j@Qjjj}r§Q(j]r¨QXexamplesr©Qaj]j]j]rªQUid120r«Qaj]ujK7jhj]r¬Q(j)�r­Q}r®Q(jXExamplesr¯Qjj¥Qj j@Qjj"j}r°Q(j]j]j]j]j]ujK7jhj]r±Qj%XExamplesr²Q…�r³Q}r´Q(jj¯Qjj­Qubaubj¶)�rµQ}r¶Q(jUjj¥Qj j@Qjj¹j}r·Q(j]j]j]j]j]ujNjhj]r¸Qj¼)�r¹Q}rºQ(jUj}r»Q(j]j]j]j]j]UcolsKujjµQj]r¼Q(jÁ)�r½Q}r¾Q(jUj}r¿Q(j]j]j]j]j]UcolwidthKujj¹Qj]jjÅubjÁ)�rÀQ}rÁQ(jUj}rÂQ(j]j]j]j]j]UcolwidthKujj¹Qj]jjÅubjÁ)�rÃQ}rÄQ(jUj}rÅQ(j]j]j]j]j]UcolwidthKujj¹Qj]jjÅubjÒ)�rÆQ}rÇQ(jUj}rÈQ(j]j]j]j]j]ujj¹Qj]rÉQj×)�rÊQ}rËQ(jUj}rÌQ(j]j]j]j]j]ujjÆQj]rÍQ(jÜ)�rÎQ}rÏQ(jUj}rÐQ(j]j]j]j]j]ujjÊQj]rÑQjX)�rÒQ}rÓQ(jXNamerÔQjjÎQj j@Qjj\j}rÕQ(j]j]j]j]j]ujK:j]rÖQj%XNamer×Q…�rØQ}rÙQ(jjÔQjjÒQubaubajjéubjÜ)�rÚQ}rÛQ(jUj}rÜQ(j]j]j]j]j]ujjÊQj]rÝQjÁ)�rÞQ}rßQ(jUj}ràQ(j]j]j]j]j]ujjÚQj]ráQjÇ)�râQ}rãQ(jX DescriptionräQjÊKjjÞQj j@Qjjj}råQ(j]j]j]j]j]ujKj]ræQj%X DescriptionrçQ…�rèQ}réQ(jjäQjjâQubaubajjÄubajjéubjÜ)�rêQ}rëQ(jUj}rìQ(j]j]j]j]j]ujjÊQj]ríQjX)�rîQ}rïQ(jXExpected ResultsrðQjjêQj j@Qjj\j}rñQ(j]j]j]j]j]ujK:j]ròQj%XExpected ResultsróQ…�rôQ}rõQ(jjðQjjîQubaubajjéubejjubajjubj)�röQ}r÷Q(jUj}røQ(j]j]j]j]j]ujj¹Qj]rùQ(j×)�rúQ}rûQ(jUj}rüQ(j]j]j]j]j]ujjöQj]rýQ(jÜ)�rþQ}rÿQ(jUj}rR(j]j]j]j]j]ujjúQj]rRjX)�rR}rR(jXCPPI_Example applicationrRjjþQj j@Qjj\j}rR(j]j]j]j]j]ujKR(j]j]j]j]j]ujKCj]r?Rj%XCPPI_UnitTestApplicat ionr@R…�rAR}rBR(jj=Rjj;RubaubajjéubjÜ)�rCR}rDR(jUj}rER(j]j]j]j]j]ujj3Rj]rFRjÁ)�rGR}rHR(jUj}rIR(j]j]j]j]j]ujjCRj]rJRjÇ)�rKR}rLR(jX&Unit Test application to test all APIsrMRjÊKjjGRj j@Qjjj}rNR(j]j]j]j]j]ujKj]rORj%X&Unit Test application to test all APIsrPR…�rQR}rRR(jjMRjjKRubaubajjÄubajjéubjÜ)�rSR}rTR(jUj}rUR(j]j]j]j]j]ujj3Rj]rVRjÁ)�rWR}rXR(jUj}rYR(j]j]j]j]j]ujjSRj]rZRjÇ)�r[R}r\R(jX5User observes the output printed over the CCS consoler]RjÊKjjWRj j@Qjjj}r^R(j]j]j]j]j]ujKj]r_Rj%X5User observes the output printed over the CCS consoler`R…�raR}rbR(jj]Rjj[RubaubajjÄubajjéubejjubejjðubejjñubaubjb)�rcR}rdR(jXSample Example outputreRjKjj¥Qj j@Qjjfj}rfR(j]rgRUid121rhRaj]j]riRXsample-example-outputrjRaj]j]ujNjhj]rkRj%XSample Example outputrlR…�rmR}rnR(jjeRjjcRubaubjX)�roR}rpR(jXThis came from k2k example:rqRjj¥Qj j@Qjj\j}rrR(j]j]j]j]j]ujKKjhj]rsRj%XThis came from k2k example:rtR…�ruR}rvR(jjqRjjoRubaubj#)�rwR}rxR(jXð%************************************************** *************** CPPI LLD usage example *********** ************************************************** ************************************************** *************** CPPI LLD usage example *********** ************************************************** ************************************************** ************************************************** *************** CPPI LLD usage example *********** *************** CPPI LLD usage example *********** ************************************************** ************************************************** *******Test running on Core 1 ******************* *******Test running on Core 0 ******************* *******Test running on Core 2 ******************* *******Test running on Core 3 ******************* Core 0 : L1D cache size 4. L2 cache size 0. Core 2 : Starting BIOS... Core 3 : Starting BIOS... Core 0 : Starting BIOS... Core 1 : Starting BIOS... Core 0 : Created RM packet heap Core 0 : Created IPC MessageQ heap Core 0 : Created receive Q for Client1 Core 1 : Opened RM packet heap Core 2 : Opened RM packet heap Core 3 : Opened RM packet heap Core 1 : Opened IPC MessageQ heap Core 2 : Opened IPC MessageQ heap Core 3 : Opened IPC MessageQ heap Core 1 : Created receive Q for Server Core 2 : Created receive Q for Server Core 3 : Created receive Q for Server Core 1 : Opened Server's receive Q Core 1 : Waiting for QMSS to be initialized... Core 0 : Opened Client1's receive Q for Server Core 0 : Created receive Q for Client2 Core 0 : Opened Client2's receive Q for Server Core 0 : Created receive Q for Client3 Core 2 : Opened Server's receive Q Core 2 : Waiting for QMSS to be initialized... Core 0 : Opened Client3's receive Q for Server Core 0 : QMSS initialization done Core 3 : Opened Server's receive Q Core 1 : QMSS initialization done Core 2 : QMSS initialization done Core 3 : Waiting for QMSS to be initialized... Core 3 : QMSS initialization done Core 0 : QMSS CPDMA Opened Core 1 : QMSS CPDMA Opened Core 0 : Memory region 0 inserted Core 0 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 0 : Opened Rx channel : 0 Core 0 : Opened Tx channel : 0 Core 0 : Queue Number : 8192 opened Core 0 : Queue Number : 8193 opened Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853b20 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853b20 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853b50 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853b50 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853b80 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853b80 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853bb0 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853bb0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853be0 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853be0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853c10 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853c10 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853c40 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853c40 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853c70 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853c70 Core 0 : Received host descriptor from Queue 897 Sucessfully Core 0 : Tx Channel closed successfully. Ref count :0 Core 0 : Rx Channel closed successfully. Ref count :0 Core 0 : Rx queue closed successfully. Ref count :0 Core 0 : Tx queue closed successfully. Ref count :0 Core 0 : Free queue closed successfully. Ref count :0 Core 0 : Closing CPPI CPDMA Ref count : 3 Core 0 : CPPI CPDMA closed successfully Core 1 : Memory region 1 inserted Core 1 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 2 : QMSS CPDMA Opened Core 3 : QMSS CPDMA Opened Core 1 : Opened Rx channel : 0 Core 1 : Opened Tx channel : 0 Core 2 : Memory region 2 inserted Core 3 : Memory region 3 inserted Core 1 : Queue Number : 0 opened Core 2 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 3 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 1 : Queue Number : 1 opened Core 2 : Opened Rx channel : 1 Core 3 : Opened Rx channel : 2 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853b20 Core 2 : Opened Tx channel : 1 Core 3 : Opened Tx channel : 2 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853b20 Core 2 : Queue Number : 8192 opened Core 3 : Queue Number : 8193 opened Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853b50 Core 2 : Queue Number : 8194 opened Core 3 : Queue Number : 8195 opened Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853b50 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853b20 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853b20 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853b80 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853b20 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853b20 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853b80 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853b50 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853b50 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853bb0 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853b50 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853b50 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853bb0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853b80 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853b80 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853be0 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853b80 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853b80 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853be0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853bb0 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853bb0 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853c10 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853bb0 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853bb0 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853c10 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853be0 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853be0 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853c40 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853be0 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853be0 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853c40 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853c10 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853c10 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853c70 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853c10 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853c10 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853c70 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853c40 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853c40 Core 1 : Received host descriptor from Queue 896 Sucessfully Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853c40 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853c40 Core 1 : Tx Channel closed successfully. Ref count :0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853c70 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853c70 Core 1 : Rx Channel closed successfully. Ref count :0 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853c70 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853c70 Core 1 : Rx queue closed successfully. Ref count :0 Core 2 : Received host descriptor from Queue 9026 Sucessfully Core 3 : Received host descriptor from Queue 898 Sucessfully Core 1 : Tx queue closed successfully. Ref count :0 Core 2 : Tx Channel closed successfully. Ref count :0 Core 3 : Tx Channel closed successfully. Ref count :0 Core 1 : Free queue closed successfully. Ref count :0 Core 2 : Rx Channel closed successfully. Ref count :0 Core 3 : Rx Channel closed successfully. Ref count :0 Core 1 : Closing CPPI CPDMA Ref count : 2 Core 2 : Rx queue closed successfully. Ref count :0 Core 3 : Rx queue closed successfully. Ref count :0 Core 1 : CPPI CPDMA closed successfully Core 2 : Tx queue closed successfully. Ref count :0 Core 3 : Tx queue closed successfully. Ref count :0 Core 2 : Free queue closed successfully. Ref count :0 Core 3 : Free queue closed successfully. Ref count :0 Core 2 : Closing CPPI CPDMA Ref count : 1 Core 3 : CPPI CPDMA closed successfully Core 2 : CPPI CPDMA closed successfully Core 2 : CPPI exit successful ******************************************************* *************** CPPI LLD usage example Done *********** ******************************************************* Core 1 : CPPI exit successful Core 3 : CPPI exit successful ******************************************************* ******************************************************* *************** CPPI LLD usage example Done *********** *************** CPPI LLD usage example Done *********** ******************************************************* ******************************************************* Core 0 : CPPI exit successful Core 0: exit QMSS Instance name: RM_Server Handle: 0x00849ee8 Type: Server Resource Status: Core 0 : All resources freed successfully ******************************************************* *************** CPPI LLD usage example Done *********** *******************************************************jj¥Qj j@Qjj&j}ryR(j2j3j]j]j]j]j]ujM4jhj]rzRj%Xð%************************************************** *************** CPPI LLD usage example *********** ************************************************** ************************************************** *************** CPPI LLD usage example *********** ************************************************** ************************************************** ************************************************** *************** CPPI LLD usage example *********** *************** CPPI LLD usage example *********** ************************************************** ************************************************** *******Test running on Core 1 ******************* *******Test running on Core 0 ******************* *******Test running on Core 2 ******************* *******Test running on Core 3 ******************* Core 0 : L1D cache size 4. L2 cache size 0. Core 2 : Starting BIOS... Core 3 : Starting BIOS... Core 0 : Starting BIOS... Core 1 : Starting BIOS... Core 0 : Created RM packet heap Core 0 : Created IPC MessageQ heap Core 0 : Created receive Q for Client1 Core 1 : Opened RM packet heap Core 2 : Opened RM packet heap Core 3 : Opened RM packet heap Core 1 : Opened IPC MessageQ heap Core 2 : Opened IPC MessageQ heap Core 3 : Opened IPC MessageQ heap Core 1 : Created receive Q for Server Core 2 : Created receive Q for Server Core 3 : Created receive Q for Server Core 1 : Opened Server's receive Q Core 1 : Waiting for QMSS to be initialized... Core 0 : Opened Client1's receive Q for Server Core 0 : Created receive Q for Client2 Core 0 : Opened Client2's receive Q for Server Core 0 : Created receive Q for Client3 Core 2 : Opened Server's receive Q Core 2 : Waiting for QMSS to be initialized... Core 0 : Opened Client3's receive Q for Server Core 0 : QMSS initialization done Core 3 : Opened Server's receive Q Core 1 : QMSS initialization done Core 2 : QMSS initialization done Core 3 : Waiting for QMSS to be initialized... Core 3 : QMSS initialization done Core 0 : QMSS CPDMA Opened Core 1 : QMSS CPDMA Opened Core 0 : Memory region 0 inserted Core 0 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 0 : Opened Rx channel : 0 Core 0 : Opened Tx channel : 0 Core 0 : Queue Number : 8192 opened Core 0 : Queue Number : 8193 opened Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853b20 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853b20 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853b50 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853b50 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853b80 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853b80 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853bb0 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853bb0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853be0 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853be0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853c10 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853c10 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853c40 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853c40 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@10853c70 Receive Queue 8193 Entry Count : 1 Rx descriptor 0x@10853c70 Core 0 : Received host descriptor from Queue 897 Sucessfully Core 0 : Tx Channel closed successfully. Ref count :0 Core 0 : Rx Channel closed successfully. Ref count :0 Core 0 : Rx queue closed successfully. Ref count :0 Core 0 : Tx queue closed successfully. Ref count :0 Core 0 : Free queue closed successfully. Ref count :0 Core 0 : Closing CPPI CPDMA Ref count : 3 Core 0 : CPPI CPDMA closed successfully Core 1 : Memory region 1 inserted Core 1 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 2 : QMSS CPDMA Opened Core 3 : QMSS CPDMA Opened Core 1 : Opened Rx channel : 0 Core 1 : Opened Tx channel : 0 Core 2 : Memory region 2 inserted Core 3 : Memory region 3 inserted Core 1 : Queue Number : 0 opened Core 2 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 3 : Number of descriptors requested : 8. Number of descriptors allocated : 8 Core 1 : Queue Number : 1 opened Core 2 : Opened Rx channel : 1 Core 3 : Opened Rx channel : 2 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853b20 Core 2 : Opened Tx channel : 1 Core 3 : Opened Tx channel : 2 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853b20 Core 2 : Queue Number : 8192 opened Core 3 : Queue Number : 8193 opened Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853b50 Core 2 : Queue Number : 8194 opened Core 3 : Queue Number : 8195 opened Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853b50 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853b20 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853b20 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853b80 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853b20 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853b20 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853b80 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853b50 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853b50 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853bb0 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853b50 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853b50 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853bb0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853b80 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853b80 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853be0 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853b80 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853b80 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853be0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853bb0 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853bb0 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853c10 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853bb0 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853bb0 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853c10 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853be0 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853be0 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853c40 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853be0 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853be0 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853c40 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853c10 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853c10 Transmit Queue 0 Entry Count : 1 Tx descriptor 0x@11853c70 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853c10 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853c10 Receive Queue 1 Entry Count : 1 Rx descriptor 0x@11853c70 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853c40 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853c40 Core 1 : Received host descriptor from Queue 896 Sucessfully Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853c40 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853c40 Core 1 : Tx Channel closed successfully. Ref count :0 Transmit Queue 8192 Entry Count : 1 Tx descriptor 0x@12853c70 Transmit Queue 8193 Entry Count : 1 Tx descriptor 0x@13853c70 Core 1 : Rx Channel closed successfully. Ref count :0 Receive Queue 8194 Entry Count : 1 Rx descriptor 0x@12853c70 Receive Queue 8195 Entry Count : 1 Rx descriptor 0x@13853c70 Core 1 : Rx queue closed successfully. Ref count :0 Core 2 : Received host descriptor from Queue 9026 Sucessfully Core 3 : Received host descriptor from Queue 898 Sucessfully Core 1 : Tx queue closed successfully. Ref count :0 Core 2 : Tx Channel closed successfully. Ref count :0 Core 3 : Tx Channel closed successfully. Ref count :0 Core 1 : Free queue closed successfully. Ref count :0 Core 2 : Rx Channel closed successfully. Ref count :0 Core 3 : Rx Channel closed successfully. Ref count :0 Core 1 : Closing CPPI CPDMA Ref count : 2 Core 2 : Rx queue closed successfully. Ref count :0 Core 3 : Rx queue closed successfully. Ref count :0 Core 1 : CPPI CPDMA closed successfully Core 2 : Tx queue closed successfully. Ref count :0 Core 3 : Tx queue closed successfully. Ref count :0 Core 2 : Free queue closed successfully. Ref count :0 Core 3 : Free queue closed successfully. Ref count :0 Core 2 : Closing CPPI CPDMA Ref count : 1 Core 3 : CPPI CPDMA closed successfully Core 2 : CPPI CPDMA closed successfully Core 2 : CPPI exit successful ******************************************************* *************** CPPI LLD usage example Done *********** ******************************************************* Core 1 : CPPI exit successful Core 3 : CPPI exit successful ******************************************************* ******************************************************* *************** CPPI LLD usage example Done *********** *************** CPPI LLD usage example Done *********** ******************************************************* ******************************************************* Core 0 : CPPI exit successful Core 0: exit QMSS Instance name: RM_Server Handle: 0x00849ee8 Type: Server Resource Status: Core 0 : All resources freed successfully ******************************************************* *************** CPPI LLD usage example Done *********** *******************************************************r{R…�r|R}r}R(jUjjwRubaubjb)�r~R}rR(jX Debug FAQr€Rjj¥Qj j@Qjjfj}r�R(j]r‚RUid122rƒRaj]j]j]j]r„RhÔaujNjhj]r…Rj%X Debug FAQr†R…�r‡R}rˆR(jj€Rjj~Rubaubj`)�r‰R}rŠR(jUjj¥Qj j@Qjjcj}r‹R(jeU.j]j]j]jfUj]j]jgjhujM%jhj]rŒR(j)�r�R}rŽR(jXðCPPI Lockup #. CPPI can lock up if any pointer or length, including hint bits, are wrong. Use the User Guide (TRM) referenced below to verify every pointer and length in the descriptor. Also verify the hint bits (low 4 bits of each descriptor) which represents size of descriptor (not data) in 16-byte units. When using CPPI it should be at least 1 (32 bytes) if no extensions are used, or 2 (48 bytes) if some extensions are used. 0 (16 bytes) is likely to cause lock up!! jj‰Rj Njj j}r�R(j]j]j]j]j]ujNjhj]r�R(jX)�r‘R}r’R(jX CPPI Lockupr“Rjj�Rj j@Qjj\j}r”R(j]j]j]j]j]ujM%j]r•Rj%X CPPI Lockupr–R…�r—R}r˜R(jj“Rjj‘Rubaubj`)�r™R}ršR(jUj}r›R(jeU.j]j]j]jfUj]j]jgjhujj�Rj]rœRj)�r�R}ržR(jXËCPPI can lock up if any pointer or length, including hint bits, are wrong. Use the User Guide (TRM) referenced below to verify every pointer and length in the descriptor. Also verify the hint bits (low 4 bits of each descriptor) which represents size of descriptor (not data) in 16-byte units. When using CPPI it should be at least 1 (32 bytes) if no extensions are used, or 2 (48 bytes) if some extensions are used. 0 (16 bytes) is likely to cause lock up!! j}rŸR(j]j]j]j]j]ujj™Rj]r RjX)�r¡R}r¢R(jXÊCPPI can lock up if any pointer or length, including hint bits, are wrong. Use the User Guide (TRM) referenced below to verify every pointer and length in the descriptor. Also verify the hint bits (low 4 bits of each descriptor) which represents size of descriptor (not data) in 16-byte units. When using CPPI it should be at least 1 (32 bytes) if no extensions are used, or 2 (48 bytes) if some extensions are used. 0 (16 bytes) is likely to cause lock up!!r£Rjj�Rj j@Qjj\j}r¤R(j]j]j]j]j]ujM'j]r¥Rj%XÊCPPI can lock up if any pointer or length, including hint bits, are wrong. Use the User Guide (TRM) referenced below to verify every pointer and length in the descriptor. Also verify the hint bits (low 4 bits of each descriptor) which represents size of descriptor (not data) in 16-byte units. When using CPPI it should be at least 1 (32 bytes) if no extensions are used, or 2 (48 bytes) if some extensions are used. 0 (16 bytes) is likely to cause lock up!!r¦R…�r§R}r¨R(jj£Rjj¡Rubaubajj ubajjcubeubj)�r©R}rªR(jX>See `QMSS Debug FAQ `__ for more. jj‰Rj j@Qjj j}r«R(j]j]j]j]j]ujNjhj]r¬RjX)�r­R}r®R(jX=See `QMSS Debug FAQ `__ for more.jj©Rj j@Qjj\j}r¯R(j]j]j]j]j]ujM0j]r°R(j%XSee r±R…�r²R}r³R(jXSee jj­Rubj)�r´R}rµR(jX/`QMSS Debug FAQ `__j}r¶R(UnameXQMSS Debug FAQjXindex_device_drv.html#qmssj]j]j]j]j]ujj­Rj]r·Rj%XQMSS Debug FAQr¸R…�r¹R}rºR(jUjj´Rubajjubj%X for more.r»R…�r¼R}r½R(jX for more.jj­Rubeubaubeubeubeubj)�r¾R}r¿R(jUjKjj.Qj j@Qjjj}rÀR(j]rÁRXadditional referencesrÂRaj]j]j]rÃRUid123rÄRaj]ujM3jhj]rÅR(j)�rÆR}rÇR(jXAdditional ReferencesrÈRjj¾Rj j@Qjj"j}rÉR(j]j]j]j]j]ujM3jhj]rÊRj%XAdditional ReferencesrËR…�rÌR}rÍR(jjÈRjjÆRubaubj¶)�rÎR}rÏR(jUjj¾Rj j@Qjj¹j}rÐR(j]j]j]j]j]ujNjhj]rÑRj¼)�rÒR}rÓR(jUj}rÔR(j]j]j]j]j]UcolsKujjÎRj]rÕR(jÁ)�rÖR}r×R(jUj}rØR(j]j]j]j]j]UcolwidthK#ujjÒRj]jjÅubjÁ)�rÙR}rÚR(jUj}rÛR(j]j]j]j]j]UcolwidthK#ujjÒRj]jjÅubj)�rÜR}rÝR(jUj}rÞR(j]j]j]j]j]ujjÒRj]rßR(j×)�ràR}ráR(jUj}râR(j]j]j]j]j]ujjÜRj]rãR(jÜ)�räR}råR(jUj}ræR(j]j]j]j]j]ujjàRj]rçRjX)�rèR}réR(jX **Document**rêRjjäRj j@Qjj\j}rëR(j]j]j]j]j]ujM6j]rìRj|)�ríR}rîR(jjêRj}rïR(j]j]j]j]j]ujjèRj]rðRj%XDocumentrñR…�ròR}róR(jUjjíRubajj„ubaubajjéubjÜ)�rôR}rõR(jUj}röR(j]j]j]j]j]ujjàRj]r÷RjX)�røR}rùR(jX **Location**rúRjjôRj j@Qjj\j}rûR(j]j]j]j]j]ujM6j]rüRj|)�rýR}rþR(jjúRj}rÿR(j]j]j]j]j]ujjøRj]rSj%XLocationrS…�rS}rS(jUjjýRubajj„ubaubajjéubejjubj×)�rS}rS(jUj}rS(j]j]j]j]j]ujjÜRj]rS(jÜ)�rS}r S(jUj}r S(j]j]j]j]j]ujjSj]r SjX)�r S}r S(jXAPI Reference ManualrSjjSj j@Qjj\j}rS(j]j]j]j]j]ujM8j]rSj%XAPI Reference ManualrS…�rS}rS(jjSjj SubaubajjéubjÜ)�rS}rS(jUj}rS(j]j]j]j]j]ujjSj]rSjX)�rS}rS(jXI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/CPPI/docs/doxygen/html/index .htmlrSjjSj j@Qjj\j}rS(j]j]j]j]j]ujM8j]rSj%XI$(TI_PDK_INSTALL_DIR)/packages/ti /drv/CPPI/docs/doxygen/html/index .htmlrS…�rS}rS(jjSjjSubaubajjéubejjubj×)�r S}r!S(jUj}r"S(j]j]j]j]j]ujjÜRj]r#S(jÜ)�r$S}r%S(jUj}r&S(j]j]j]j]j]ujj Sj]r'SjX)�r(S}r)S(jX Release Notesr*Sjj$Sj j@Qjj\j}r+S(j]j]j]j]j]ujM<j]r,Sj%X Release Notesr-S…�r.S}r/S(jj*Sjj(SubaubajjéubjÜ)�r0S}r1S(jUj}r2S(j]j]j]j]j]ujj Sj]r3SjX)�r4S}r5S(jXK$(TI_PDK_INSTALL_DIR)/packages/ti /drv/CPPI/docs/ReleaseNotes_CPPI_ LLD.pdfjj0Sj j@Qjj\j}r6S(j]j]j]j]j]ujM<j]r7S(j%X1$(TI_PDK_INSTALL_DIR)/packages/ti /drv/CPPI/docs/r8S…�r9S}r:S(jX1$(TI_PDK_INSTALL_DIR)/packages/ti /drv/CPPI/docs/jj4Subjg-)�r;S}rS(j]r?SUid293r@Saj]j]j]j]UrefidUid292rASujj4Sj]rBSj%XReleaseNotes_CPPI_rCS…�rDS}rES(jUjj;Subajjs-ubj%X LLD.pdfrFS…�rGS}rHS(jX LLD.pdfjj4Subeubajjéubejjubj×)�rIS}rJS(jUj}rKS(j]j]j]j]j]ujjÜRj]rLS(jÜ)�rMS}rNS(jUj}rOS(j]j]j]j]j]ujjISj]rPSjX)�rQS}rRS(jXHardware Userguide/TRMrSSjjMSj j@Qjj\j}rTS(j]j]j]j]j]ujM@j]rUSj%XHardware Userguide/TRMrVS…�rWS}rXS(jjSSjjQSubaubajjéubjÜ)�rYS}rZS(jUj}r[S(j]j]j]j]j]ujjISj]r\SjX)�r]S}r^S(jX/`UG TRM PDF `__r_SjjYSj j@Qjj\j}r`S(j]j]j]j]j]ujM@j]raSj)�rbS}rcS(jj_Sj}rdS(UnameX UG TRM PDFjXhttp://www.ti.com/lit/sprugr9j]j]j]j]j]ujj]Sj]reSj%X UG TRM PDFrfS…�rgS}rhS(jUjjbSubajjubaubajjéubejjubj×)�riS}rjS(jUj}rkS(j]j]j]j]j]ujjÜRj]rlS(jÜ)�rmS}rnS(jUj}roS(j]j]j]j]j]ujjiSj]rpSjX)�rqS}rrS(jX*QMSS LLD (Navigator/Queueing HW component)rsSjjmSj j@Qjj\j}rtS(j]j]j]j]j]ujMDj]ruSj%X*QMSS LLD (Navigator/Queueing HW component)rvS…�rwS}rxS(jjsSjjqSubaubajjéubjÜ)�ryS}rzS(jUj}r{S(j]j]j]j]j]ujjiSj]r|SjX)�r}S}r~S(jX `QMSS LLD`_rSjjySj j@Qjj\j}r€S(j]j]j]j]j]ujMDj]r�Sj)�r‚S}rƒS(jjSjqKjj}Sjjj}r„S(UnameXQMSS LLDjXindex_device_drv.html#qmssr…Sj]j]j]j]j]uj]r†Sj%XQMSS LLDr‡S…�rˆS}r‰S(jUjj‚Subaubaubajjéubejjubejjðubejjñubaubjš)�rŠS}r‹S(jX).. _QMSS LLD: index_device_drv.html#qmssjKjj¾Rj j@Qjj�j}rŒS(jj…Sj]r�SUqmss-lldrŽSaj]j]j]j]r�ShŽaujM-jhj]ubjÁ)�r�S}r‘S(jUjj¾Rj j@QjjÄj}r’S(j]j]j]j]j]ujMJjhj]r“SjÇ)�r”S}r•S(jUjÊKjj�Sj j@Qjjj}r–S(j]j]j]j]j]ujKjhj]ubaubeubeubj j@Qjjj}r—S(j]r˜SXoverviewr™Saj]j]j]ršSUid114r›Saj]ujKjhj]rœS(j)�r�S}ržS(jXOverviewrŸSjj,Qj j@Qjj"j}r S(j]j]j]j]j]ujKjhj]r¡Sj%XOverviewr¢S…�r£S}r¤S(jjŸSjj�Subaubj)�r¥S}r¦S(jUjKjj,Qj j@Qjjj}r§S(j]r¨SX introductionr©Saj]j]j]rªSUid115r«Saj]ujKjhj]r¬S(j)�r­S}r®S(jX Introductionr¯Sjj¥Sj j@Qjj"j}r°S(j]j]j]j]j]ujKjhj]r±Sj%X Introductionr²S…�r³S}r´S(jj¯Sjj­SubaubjX)�rµS}r¶S(jXCPPI offers developers a common way of handling different protocol interfaces that may require multiple priorities and multiple channels on a single port. CPPI defines the register set, data structures, interrupts and buffer handling for all peripherals, regardless of protocol.r·Sjj¥Sj j@Qjj\j}r¸S(j]j]j]j]j]ujK jhj]r¹Sj%XCPPI offers developers a common way of handling different protocol interfaces that may require multiple priorities and multiple channels on a single port. CPPI defines the register set, data structures, interrupts and buffer handling for all peripherals, regardless of protocol.rºS…�r»S}r¼S(jj·SjjµSubaubjX)�r½S}r¾S(jXLCPPI is based on a buffer scatter/gather scheme, in which individual packets are broken up and then stored into small buffers, from which they are retrieved and reassembled (as opposed to using buffers that are located contiguously in memory). When protocol translation is required, a packet header can be appended in a small buffer, saving the CPU from having to rewrite the entire packet and header by performing a copy from one large buffer to another. The considerable savings in CPU cycles that result make buffer scatter/gathering the most efficient scheme for bridging and routing.r¿Sjj¥Sj j@Qjj\j}rÀS(j]j]j]j]j]ujKjhj]rÁSj%XLCPPI is based on a buffer scatter/gather scheme, in which individual packets are broken up and then stored into small buffers, from which they are retrieved and reassembled (as opposed to using buffers that are located contiguously in memory). When protocol translation is required, a packet header can be appended in a small buffer, saving the CPU from having to rewrite the entire packet and header by performing a copy from one large buffer to another. The considerable savings in CPU cycles that result make buffer scatter/gathering the most efficient scheme for bridging and routing.rÂS…�rÃS}rÄS(jj¿Sjj½SubaubjX)�rÅS}rÆS(jXbThe LLD provides resource management for descriptors, receive/transmit channels and receive flows.rÇSjj¥Sj j@Qjj\j}rÈS(j]j]j]j]j]ujKjhj]rÉSj%XbThe LLD provides resource management for descriptors, receive/transmit channels and receive flows.rÊS…�rËS}rÌS(jjÇSjjÅSubaubeubeubj j@Qjj?j}rÍS(j]UlevelKj]j]rÎSj›SaUsourcej@Qj]j]UlineKUtypejAujKjhj]rÏSjX)�rÐS}rÑS(jX+Duplicate implicit target name: "overview".j}rÒS(j]j]j]j]j]ujj*Qj]rÓSj%X+Duplicate implicit target name: "overview".rÔS…�rÕS}rÖS(jUjjÐSubajj\ubaubhÿ)�r×S}rØS(jUjj¥Sj j@Qjj?j}rÙS(j]UlevelKj]j]rÚSj«SaUsourcej@Qj]j]UlineKUtypejAujKjhj]rÛSjX)�rÜS}rÝS(jX/Duplicate implicit target name: "introduction".j}rÞS(j]j]j]j]j]ujj×Sj]rßSj%X/Duplicate implicit target name: "introduction".ràS…�ráS}râS(jUjjÜSubajj\ubaubhÿ)�rãS}räS(jUjjGQj j@Qjj?j}råS(j]UlevelKj]j]ræSjMQaUsourcej@Qj]j]UlineKUtypejAujKjhj]rçSjX)�rèS}réS(jX1Duplicate implicit target name: "user interface".j}rêS(j]j]j]j]j]ujjãSj]rëSj%X1Duplicate implicit target name: "user interface".rìS…�ríS}rîS(jUjjèSubajj\ubaubhÿ)�rïS}rðS(jUjjWQj j@Qjj?j}rñS(j]UlevelKj]j]ròSj]QaUsourcej@Qj]j]UlineK UtypejAujK jhj]róSjX)�rôS}rõS(jX7Duplicate implicit target name: "driver configuration".j}röS(j]j]j]j]j]ujjïSj]r÷Sj%X7Duplicate implicit target name: "driver configuration".røS…�rùS}rúS(jUjjôSubajj\ubaubhÿ)�rûS}rüS(jUjjvQj j@Qjj?j}rýS(j]UlevelKj]j]rþSj|QaUsourcej@Qj]j]UlineK+UtypejAujK+jhj]rÿSjX)�rT}rT(jX'Duplicate implicit target name: "apis".j}rT(j]j]j]j]j]ujjûSj]rTj%X'Duplicate implicit target name: "apis".rT…�rT}rT(jUjjTubajj\ubaubhÿ)�rT}rT(jUjj•Qj j@Qjj?j}r T(j]UlevelKj]j]r Tj›QaUsourcej@Qj]j]UlineK4UtypejAujK4jhj]r TjX)�r T}r T(jX.Duplicate implicit target name: "application".j}rT(j]j]j]j]j]ujjTj]rTj%X.Duplicate implicit target name: "application".rT…�rT}rT(jUjj Tubajj\ubaubhÿ)�rT}rT(jUjj¥Qj j@Qjj?j}rT(j]UlevelKj]j]rTj«QaUsourcej@Qj]j]UlineK7UtypejAujK7jhj]rTjX)�rT}rT(jX+Duplicate implicit target name: "examples".j}rT(j]j]j]j]j]ujjTj]rTj%X+Duplicate implicit target name: "examples".rT…�rT}rT(jUjjTubajj\ubaubhÿ)�rT}r T(jUj}r!T(j]UlevelKj]j]r"TjhRaUsourcej j]j]UlineKWUtypejXujjcRj]r#TjX)�r$T}r%T(jX8Duplicate explicit target name: "sample-example-output".j}r&T(j]j]j]j]j]ujjTj]r'Tj%X8Duplicate explicit target name: "sample-example-output".r(T…�r)T}r*T(jUjj$Tubajj\ubajj?ubhÿ)�r+T}r,T(jUjj¾Rj j@Qjj?j}r-T(j]UlevelKj]j]r.TjÄRaUsourcej@Qj]j]UlineM3UtypejAujM3jhj]r/TjX)�r0T}r1T(jX8Duplicate implicit target name: "additional references".j}r2T(j]j]j]j]j]ujj+Tj]r3Tj%X8Duplicate implicit target name: "additional references".r4T…�r5T}r6T(jUjj0Tubajj\ubaubhÿ)�r7T}r8T(jUjj)�r9T}r:T(jUjKjj)�r;T}rTUpar?Taj]r@Th‘aujK]jhj]rAT(j)�rBT}rCT(jXPArDTjj;Tj j jj"j}rET(j]j]j]j]j]ujK]jhj]rFTj%XPArGT…�rHT}rIT(jjDTjjBTubaubj))�rJT}rKT(jX=http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PAjj;Tj j,X;source/rtos/PDK_Platform_Software/Device_Drivers/PA.rst.incrLT…�rMT}rNTbjj0j}rOT(j2j3j]j]j]j]j]ujKjhj]rPTj%X=http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PArQT…�rRT}rST(jUjjJTubaubj9Tj)�rTT}rUT(jUjKjj;Tj jMTjjj}rVT(j]rWTX applicationrXTaj]j]j]rYTUid128rZTaj]ujK(jhj]r[T(j)�r\T}r]T(jX Applicationr^TjjTTj jMTjj"j}r_T(j]j]j]j]j]ujK(jhj]r`Tj%X ApplicationraT…�rbT}rcT(jj^Tjj\Tubaubj)�rdT}reT(jUjKjjTTj jMTjjj}rfT(j]rgTXexamplesrhTaj]j]j]riTUid129rjTaj]ujK+jhj]rkT(j)�rlT}rmT(jXExamplesrnTjjdTj jMTjj"j}roT(j]j]j]j]j]ujK+jhj]rpTj%XExamplesrqT…�rrT}rsT(jjnTjjlTubaubj¶)�rtT}ruT(jUjjdTj jMTjj¹j}rvT(j]j]j]j]j]ujNjhj]rwTj¼)�rxT}ryT(jUj}rzT(j]j]j]j]j]UcolsKujjtTj]r{T(jÁ)�r|T}r}T(jUj}r~T(j]j]j]j]j]UcolwidthKujjxTj]jjÅubjÁ)�rT}r€T(jUj}r�T(j]j]j]j]j]UcolwidthKujjxTj]jjÅubjÁ)�r‚T}rƒT(jUj}r„T(j]j]j]j]j]UcolwidthKujjxTj]jjÅubjÒ)�r…T}r†T(jUj}r‡T(j]j]j]j]j]ujjxTj]rˆTj×)�r‰T}rŠT(jUj}r‹T(j]j]j]j]j]ujj…Tj]rŒT(jÜ)�r�T}rŽT(jUj}r�T(j]j]j]j]j]ujj‰Tj]r�TjX)�r‘T}r’T(jXNamer“Tjj�Tj jMTjj\j}r”T(j]j]j]j]j]ujK.j]r•Tj%XNamer–T…�r—T}r˜T(jj“Tjj‘TubaubajjéubjÜ)�r™T}ršT(jUj}r›T(j]j]j]j]j]ujj‰Tj]rœTjX)�r�T}ržT(jX DescriptionrŸTjj™Tj jMTjj\j}r T(j]j]j]j]j]ujK.j]r¡Tj%X Descriptionr¢T…�r£T}r¤T(jjŸTjj�TubaubajjéubjÜ)�r¥T}r¦T(jUj}r§T(j]j]j]j]j]ujj‰Tj]r¨TjX)�r©T}rªT(jXExpected Resultsr«Tjj¥Tj jMTjj\j}r¬T(j]j]j]j]j]ujK.j]r­Tj%XExpected Resultsr®T…�r¯T}r°T(jj«Tjj©Tubaubajjéubejjubajjubj)�r±T}r²T(jUj}r³T(j]j]j]j]j]ujjxTj]r´T(j×)�rµT}r¶T(jUj}r·T(j]j]j]j]j]ujj±Tj]r¸T(jÜ)�r¹T}rºT(jUj}r»T(j]j]j]j]j]ujjµTj]r¼TjX)�r½T}r¾T(jXPA_Example applicationr¿Tjj¹Tj jMTjj\j}rÀT(j]j]j]j]j]ujK0j]rÁTj%XPA_Example applicationrÂT…�rÃT}rÄT(jj¿Tjj½TubaubajjéubjÜ)�rÅT}rÆT(jUj}rÇT(j]j]j]j]j]ujjµTj]rÈTjÁ)�rÉT}rÊT(jUj}rËT(j]j]j]j]j]ujjÅTj]rÌTjÇ)�rÍT}rÎT(jXWExample demonstrating *simple emac loopback* use case. Reference example for developersjÊKjjÉTj jMTjjj}rÏT(j]j]j]j]j]ujKj]rÐT(j%XExample demonstrating rÑT…�rÒT}rÓT(jXExample demonstrating jjÍTubj<)�rÔT}rÕT(jX*simple emac loopback*j}rÖT(j]j]j]j]j]ujjÍTj]r×Tj%Xsimple emac loopbackrØT…�rÙT}rÚT(jUjjÔTubajjDubj%X+ use case. Reference example for developersrÛT…�rÜT}rÝT(jX+ use case. Reference example for developersjjÍTubeubajjÄubajjéubjÜ)�rÞT}rßT(jUj}ràT(j]j]j]j]j]ujjµTj]ráTjÁ)�râT}rãT(jUj}räT(j]j]j]j]j]ujjÞTj]råTjÇ)�ræT}rçT(jX5User observes the output printed over the CCS consolerèTjÊKjjâTj jMTjjj}réT(j]j]j]j]j]ujKj]rêTj%X5User observes the output printed over the CCS consolerëT…�rìT}ríT(jjèTjjæTubaubajjÄubajjéubejjubj×)�rîT}rïT(jUj}rðT(j]j]j]j]j]ujj±Tj]rñT(jÜ)�ròT}róT(jUj}rôT(j]j]j]j]j]ujjîTj]rõTjX)�röT}r÷T(jXPA_UnitTestApplicatio nrøTjjòTj jMTjj\j}rùT(j]j]j]j]j]ujK7j]rúTj%XPA_UnitTestApplicatio nrûT…�rüT}rýT(jjøTjjöTubaubajjéubjÜ)�rþT}rÿT(jUj}rU(j]j]j]j]j]ujjîTj]rUjÁ)�rU}rU(jUj}rU(j]j]j]j]j]ujjþTj]rUjÇ)�rU}rU(jX&Unit Test application to test all APIsrUjÊKjjUj jMTjjj}r U(j]j]j]j]j]ujKj]r Uj%X&Unit Test application to test all APIsr U…�r U}r U(jjUjjUubaubajjÄubajjéubjÜ)�rU}rU(jUj}rU(j]j]j]j]j]ujjîTj]rUjÁ)�rU}rU(jUj}rU(j]j]j]j]j]ujjUj]rUjÇ)�rU}rU(jX5User observes the output printed over the CCS consolerUjÊKjjUj jMTjjj}rU(j]j]j]j]j]ujKj]rUj%X5User observes the output printed over the CCS consolerU…�rU}rU(jjUjjUubaubajjÄubajjéubejjubj×)�rU}rU(jUj}r U(j]j]j]j]j]ujj±Tj]r!U(jÜ)�r"U}r#U(jUj}r$U(j]j]j]j]j]ujjUj]r%UjX)�r&U}r'U(jXPA_PktCapTestApplicat ionr(Ujj"Uj jMTjj\j}r)U(j]j]j]j]j]ujK;j]r*Uj%XPA_PktCapTestApplicat ionr+U…�r,U}r-U(jj(Ujj&UubaubajjéubjÜ)�r.U}r/U(jUj}r0U(j]j]j]j]j]ujjUj]r1UjÁ)�r2U}r3U(jUj}r4U(j]j]j]j]j]ujj.Uj]r5UjÇ)�r6U}r7U(jX%Packet Capture Unit Test application.r8UjÊKjj2Uj jMTjjj}r9U(j]j]j]j]j]ujKj]r:Uj%X%Packet Capture Unit Test application.r;U…�rU}r?U(jUj}r@U(j]j]j]j]j]ujjUj]rAUjÁ)�rBU}rCU(jUj}rDU(j]j]j]j]j]ujj>Uj]rEUjÇ)�rFU}rGU(jX5User observes the output printed over the CCS consolerHUjÊKjjBUj jMTjjj}rIU(j]j]j]j]j]ujKj]rJUj%X5User observes the output printed over the CCS consolerKU…�rLU}rMU(jjHUjjFUubaubajjÄubajjéubejjubejjðubejjñubaubeubeubj)�rNU}rOU(jUjKjj;Tj jMTjjj}rPU(j]rQUXfaqrRUaj]j]j]rSUUid130rTUaj]ujKAjhj]rUU(j)�rVU}rWU(jXFAQrXUjjNUj jMTjj"j}rYU(j]j]j]j]j]ujKAjhj]rZUj%XFAQr[U…�r\U}r]U(jjXUjjVUubaubjb)�r^U}r_U(jXGWhat is the difference between internal loopback and external loopback?r`UjjNUj jMTjjfj}raU(j]rbUUFwhat-is-the-difference-between-internal-loopback-and-external-loopbackrcUaj]j]j]j]rdUhUaujNjhj]reUj%XGWhat is the difference between internal loopback and external loopback?rfU…�rgU}rhU(jj`Ujj^Uubaubj)�riU}rjU(jUjjNUj jMTjjj}rkU(jX-j]j]j]j]j]ujKGjhj]rlU(j)�rmU}rnU(jXsCPSW_LOOPBACK_INTERNAL (default): The transmitted packet is loopbacked at the SGMII through SGMII internal loopbackjjiUj jMTjj j}roU(j]j]j]j]j]ujNjhj]rpUjX)�rqU}rrU(jXsCPSW_LOOPBACK_INTERNAL (default): The transmitted packet is loopbacked at the SGMII through SGMII internal loopbackrsUjjmUj jMTjj\j}rtU(j]j]j]j]j]ujKGj]ruUj%XsCPSW_LOOPBACK_INTERNAL (default): The transmitted packet is loopbacked at the SGMII through SGMII internal loopbackrvU…�rwU}rxU(jjsUjjqUubaubaubj)�ryU}rzU(jXyCPSW_LOOPBACK_EXTERNAL: The transmitted packet should be loopbacked by an application outside of the SOC, e.g., PC, PHY. jjiUj jMTjj j}r{U(j]j]j]j]j]ujNjhj]r|UjX)�r}U}r~U(jXxCPSW_LOOPBACK_EXTERNAL: The transmitted packet should be loopbacked by an application outside of the SOC, e.g., PC, PHY.rUjjyUj jMTjj\j}r€U(j]j]j]j]j]ujKIj]r�Uj%XxCPSW_LOOPBACK_EXTERNAL: The transmitted packet should be loopbacked by an application outside of the SOC, e.g., PC, PHY.r‚U…�rƒU}r„U(jjUjj}Uubaubaubeubjb)�r…U}r†U(jX&How to test PA EMAC example with a PC?r‡UjjNUj jMTjjfj}rˆU(j]r‰UU%how-to-test-pa-emac-example-with-a-pcrŠUaj]j]j]j]r‹UhmaujNjhj]rŒUj%X&How to test PA EMAC example with a PC?r�U…�rŽU}r�U(jj‡Ujj…UubaubjX)�r�U}r‘U(jXÆThe EVM has to be connected to PC via RJ-45 port. By default, the PA example uses the internal loopback mode, please change code: int cpswLpbkMode = CPSW_LOOPBACK_INTERNAL to CPSW_LOOPBACK_EXTERNAL.r’UjjNUj jMTjj\j}r“U(j]j]j]j]j]ujKOjhj]r”Uj%XÆThe EVM has to be connected to PC via RJ-45 port. By default, the PA example uses the internal loopback mode, please change code: int cpswLpbkMode = CPSW_LOOPBACK_INTERNAL to CPSW_LOOPBACK_EXTERNAL.r•U…�r–U}r—U(jj’Ujj�UubaubjX)�r˜U}r™U(jX)To test the egress path (from SOC to PC):ršUjjNUj jMTjj\j}r›U(j]j]j]j]j]ujKSjhj]rœUj%X)To test the egress path (from SOC to PC):r�U…�ržU}rŸU(jjšUjj˜Uubaubj)�r U}r¡U(jUjjNUj jMTjjj}r¢U(jX-j]j]j]j]j]ujKUjhj]r£U(j)�r¤U}r¥U(jX&Rebuilt the CCS project, load and run.r¦Ujj Uj jMTjj j}r§U(j]j]j]j]j]ujNjhj]r¨UjX)�r©U}rªU(jj¦Ujj¤Uj jMTjj\j}r«U(j]j]j]j]j]ujKUj]r¬Uj%X&Rebuilt the CCS project, load and run.r­U…�r®U}r¯U(jj¦Ujj©Uubaubaubj)�r°U}r±U(jXˆThe PC should receive 10 identical UDP packets sending out by the PA example, the packet is defined by an array pktMatch[] in the code. jj Uj jMTjj j}r²U(j]j]j]j]j]ujNjhj]r³UjX)�r´U}rµU(jX‡The PC should receive 10 identical UDP packets sending out by the PA example, the packet is defined by an array pktMatch[] in the code.r¶Ujj°Uj jMTjj\j}r·U(j]j]j]j]j]ujKVj]r¸Uj%X‡The PC should receive 10 identical UDP packets sending out by the PA example, the packet is defined by an array pktMatch[] in the code.r¹U…�rºU}r»U(jj¶Ujj´UubaubaubeubjX)�r¼U}r½U(jXâTo test the ingress direction (from PC to SOC): The PC needs a tool to send out packets with controlled MAC address, IP address and UDP port matching the PA layer 2, 3 and 4 classifications, defined by the following functions:r¾UjjNUj jMTjj\j}r¿U(j]j]j]j]j]ujKYjhj]rÀUj%XâTo test the ingress direction (from PC to SOC): The PC needs a tool to send out packets with controlled MAC address, IP address and UDP port matching the PA layer 2, 3 and 4 classifications, defined by the following functions:rÁU…�rÂU}rÃU(jj¾Ujj¼Uubaubj)�rÄU}rÅU(jUjjNUj jMTjjj}rÆU(jX-j]j]j]j]j]ujK^jhj]rÇU(j)�rÈU}rÉU(jXAdd_MACAddress(): ethInfo.dstrÊUjjÄUj jMTjj j}rËU(j]j]j]j]j]ujNjhj]rÌUjX)�rÍU}rÎU(jjÊUjjÈUj jMTjj\j}rÏU(j]j]j]j]j]ujK^j]rÐUj%XAdd_MACAddress(): ethInfo.dstrÑU…�rÒU}rÓU(jjÊUjjÍUubaubaubj)�rÔU}rÕU(jXAdd_IPAddress(): ipInfo.dstrÖUjjÄUj jMTjj j}r×U(j]j]j]j]j]ujNjhj]rØUjX)�rÙU}rÚU(jjÖUjjÔUj jMTjj\j}rÛU(j]j]j]j]j]ujK_j]rÜUj%XAdd_IPAddress(): ipInfo.dstrÝU…�rÞU}rßU(jjÖUjjÙUubaubaubj)�ràU}ráU(jXAdd_Port (): ports jjÄUj jMTjj j}râU(j]j]j]j]j]ujNjhj]rãUjX)�räU}råU(jXAdd_Port (): portsræUjjàUj jMTjj\j}rçU(j]j]j]j]j]ujK`j]rèUj%XAdd_Port (): portsréU…�rêU}rëU(jjæUjjäUubaubaubeubjb)�rìU}ríU(jXEHow to use PA EMAC example to test other Ethernet ports than default?rîUjjNUj jMTjjfj}rïU(j]rðUUDhow-to-use-pa-emac-example-to-test-other-ethernet-ports-than-defaultrñUaj]j]j]j]ròUhaujNjhj]róUj%XEHow to use PA EMAC example to test other Ethernet ports than default?rôU…�rõU}röU(jjîUjjìUubaubjX)�r÷U}røU(jX�The Keystone devices may have multiple Ethernet ports, connected through an internal GbE switch with a host port. There is a pre-defined symbol "NUM_PORTS" in the text file when creating the PA project. This controls how many ports used in loopback mode test. In non-loopback case, the port number may be hardcoded by gNum_Mac_Ports. This has to be changed for the test. On EVMs, those additional Ethernet ports may be accessed by various ways: Rear-Transition Module – Breakout Card (RTM-BOC) or Advanced Mezzanine Card – Breakout Card (AMC-BOC), or AMC backplane, they are EVM hardware dependent. For example, K2E has 8 SGMII ports. In the K2E EVM, two Ethernet PHYs (PHY1 and PHY2) are connected to SoC SGMII 0 and 1 respectively, to provide a copper interface and routed to a Gigabit RJ-45 connector. The SGMII 2 and 3 of SoC are routed to Port 0 and 1 of the AMC edge connector backplane interface. The SGMII 4 to 7 are routed to RTM connector which can be accessed by RTM BOC. The PA EMAC example by default tests all 8 ports in loopback. To test additional ports in non-loopback, check/modify the gNum_Mac_Ports defined to include the SGMII testing port.rùUjjNUj jMTjj\j}rúU(j]j]j]j]j]ujKfjhj]rûUj%X�The Keystone devices may have multiple Ethernet ports, connected through an internal GbE switch with a host port. There is a pre-defined symbol "NUM_PORTS" in the text file when creating the PA project. This controls how many ports used in loopback mode test. In non-loopback case, the port number may be hardcoded by gNum_Mac_Ports. This has to be changed for the test. On EVMs, those additional Ethernet ports may be accessed by various ways: Rear-Transition Module – Breakout Card (RTM-BOC) or Advanced Mezzanine Card – Breakout Card (AMC-BOC), or AMC backplane, they are EVM hardware dependent. For example, K2E has 8 SGMII ports. In the K2E EVM, two Ethernet PHYs (PHY1 and PHY2) are connected to SoC SGMII 0 and 1 respectively, to provide a copper interface and routed to a Gigabit RJ-45 connector. The SGMII 2 and 3 of SoC are routed to Port 0 and 1 of the AMC edge connector backplane interface. The SGMII 4 to 7 are routed to RTM connector which can be accessed by RTM BOC. The PA EMAC example by default tests all 8 ports in loopback. To test additional ports in non-loopback, check/modify the gNum_Mac_Ports defined to include the SGMII testing port.rüU…�rýU}rþU(jjùUjj÷Uubaubjb)�rÿU}rV(jX7Can PA be used to forward all incoming packets to host?rVjjNUj jMTjjfj}rV(j]rVU6can-pa-be-used-to-forward-all-incoming-packets-to-hostrVaj]j]j]j]rVh(aujNjhj]rVj%X7Can PA be used to forward all incoming packets to host?rV…�rV}r V(jjVjjÿUubaubjX)�r V}r V(jXÙThe design of PA is to use firmware to offload host for classifying packets, the PA has layer 2, 3 and 4 classifications. PA LLD supports two APIs to add MAC LUT1 classification and routing. The application can call either the first generation API Pa_addMac() or the second generation Pa_addMac2() APIs. When using the first API, initialize all the elements of paEthInfo_t with zero and update the routing info paRouteInfo_t with pa_DEST_HOST. When using the second generation API, paEthInfo2_t with validBitMap = 0 and paRouteInfo2_t (in paParamDesc) with pa_DEST_HOST can be passed. Please refer to Pa_addMac and Pa_addMac2() API explanations as provided under the doxygen folder of PA (Or refer to Pa.h interface header file).r VjjNUj jMTjj\j}r V(j]j]j]j]j]ujK{jhj]rVj%XÙThe design of PA is to use firmware to offload host for classifying packets, the PA has layer 2, 3 and 4 classifications. PA LLD supports two APIs to add MAC LUT1 classification and routing. The application can call either the first generation API Pa_addMac() or the second generation Pa_addMac2() APIs. When using the first API, initialize all the elements of paEthInfo_t with zero and update the routing info paRouteInfo_t with pa_DEST_HOST. When using the second generation API, paEthInfo2_t with validBitMap = 0 and paRouteInfo2_t (in paParamDesc) with pa_DEST_HOST can be passed. Please refer to Pa_addMac and Pa_addMac2() API explanations as provided under the doxygen folder of PA (Or refer to Pa.h interface header file).rV…�rV}rV(jj Vjj Vubaubjb)�rV}rV(jXWWhat are the right PA/NETCP/Ethernet user guides to use for different keystone devices?rVjjNUj jMTjjfj}rV(j]rVUVwhat-are-the-right-pa-netcp-ethernet-user-guides-to-use-for-different-keystone-devicesrVaj]j]j]j]rVh�aujNjhj]rVj%XWWhat are the right PA/NETCP/Ethernet user guides to use for different keystone devices?rV…�rV}rV(jjVjjVubaubj)�rV}rV(jUjjNUj jMTjjj}rV(jX-j]j]j]j]j]ujKŠjhj]r V(j)�r!V}r"V(jX†All Keystone I (C665x, C667x) devices use the same Serdes and documented in respective datasheets (See Device State Control Registers)r#VjjVj jMTjj j}r$V(j]j]j]j]j]ujNjhj]r%VjX)�r&V}r'V(jj#Vjj!Vj jMTjj\j}r(V(j]j]j]j]j]ujKŠj]r)Vj%X†All Keystone I (C665x, C667x) devices use the same Serdes and documented in respective datasheets (See Device State Control Registers)r*V…�r+V}r,V(jj#Vjj&Vubaubaubj)�r-V}r.V(jXxAll Keystone II (K2H, K2K, K2G, K2E, K2L) device use the same Serdes and documented in http://www.ti.com/lit/pdf/SPRUHO3r/VjjVj jMTjj j}r0V(j]j]j]j]j]ujNjhj]r1VjX)�r2V}r3V(jj/Vjj-Vj jMTjj\j}r4V(j]j]j]j]j]ujK‹j]r5V(j%XWAll Keystone II (K2H, K2K, K2G, K2E, K2L) device use the same Serdes and documented in r6V…�r7V}r8V(jXWAll Keystone II (K2H, K2K, K2G, K2E, K2L) device use the same Serdes and documented in jj2Vubj)�r9V}r:V(jX!http://www.ti.com/lit/pdf/SPRUHO3r;Vj}rV…�r?V}r@V(jUjj9Vubajjubeubaubj)�rAV}rBV(jX>For Keystone I, C667x has PA and NETCP GEN1, C665x has neitherrCVjjVj jMTjj j}rDV(j]j]j]j]j]ujNjhj]rEVjX)�rFV}rGV(jjCVjjAVj jMTjj\j}rHV(j]j]j]j]j]ujKŒj]rIVj%X>For Keystone I, C667x has PA and NETCP GEN1, C665x has neitherrJV…�rKV}rLV(jjCVjjFVubaubaubj)�rMV}rNV(jXmFor Keystone II, K2H/K2K use the same PA and NETCP GEN1 as C667x, K2E/K2L uses a different PA2 and NETCP GEN2rOVjjVj jMTjj j}rPV(j]j]j]j]j]ujNjhj]rQVjX)�rRV}rSV(jjOVjjMVj jMTjj\j}rTV(j]j]j]j]j]ujK�j]rUVj%XmFor Keystone II, K2H/K2K use the same PA and NETCP GEN1 as C667x, K2E/K2L uses a different PA2 and NETCP GEN2rVV…�rWV}rXV(jjOVjjRVubaubaubj)�rYV}rZV(jX.For Keystone II, K2G has neither PA nor NETCP jjVj jMTjj j}r[V(j]j]j]j]j]ujNjhj]r\VjX)�r]V}r^V(jX-For Keystone II, K2G has neither PA nor NETCPr_VjjYVj jMTjj\j}r`V(j]j]j]j]j]ujKŽj]raVj%X-For Keystone II, K2G has neither PA nor NETCPrbV…�rcV}rdV(jj_Vjj]VubaubaubeubjX)�reV}rfV(jX To summarize:rgVjjNUj jMTjj\j}rhV(j]j]j]j]j]ujK�jhj]riVj%X To summarize:rjV…�rkV}rlV(jjgVjjeVubaubj¶)�rmV}rnV(jUjjNUj jMTjj¹j}roV(j]j]j]j]j]ujNjhj]rpVj¼)�rqV}rrV(jUj}rsV(j]j]j]j]j]UcolsKujjmVj]rtV(jÁ)�ruV}rvV(jUj}rwV(j]j]j]j]j]UcolwidthKujjqVj]jjÅubjÁ)�rxV}ryV(jUj}rzV(j]j]j]j]j]UcolwidthKujjqVj]jjÅubjÁ)�r{V}r|V(jUj}r}V(j]j]j]j]j]UcolwidthK"ujjqVj]jjÅubjÁ)�r~V}rV(jUj}r€V(j]j]j]j]j]UcolwidthK"ujjqVj]jjÅubjÁ)�r�V}r‚V(jUj}rƒV(j]j]j]j]j]UcolwidthK"ujjqVj]jjÅubj)�r„V}r…V(jUj}r†V(j]j]j]j]j]ujjqVj]r‡V(j×)�rˆV}r‰V(jUj}rŠV(j]j]j]j]j]ujj„Vj]r‹V(jÜ)�rŒV}r�V(jUj}rŽV(j]j]j]j]j]ujjˆVj]r�VjX)�r�V}r‘V(jXSOCr’VjjŒVj jMTjj\j}r“V(j]j]j]j]j]ujK“j]r”Vj%XSOCr•V…�r–V}r—V(jj’Vjj�VubaubajjéubjÜ)�r˜V}r™V(jUj}ršV(j]j]j]j]j]ujjˆVj]r›VjX)�rœV}r�V(jXSerdesržVjj˜Vj jMTjj\j}rŸV(j]j]j]j]j]ujK“j]r Vj%XSerdesr¡V…�r¢V}r£V(jjžVjjœVubaubajjéubjÜ)�r¤V}r¥V(jUj}r¦V(j]j]j]j]j]ujjˆVj]r§VjX)�r¨V}r©V(jXEthernetrªVjj¤Vj jMTjj\j}r«V(j]j]j]j]j]ujK“j]r¬Vj%XEthernetr­V…�r®V}r¯V(jjªVjj¨VubaubajjéubjÜ)�r°V}r±V(jUj}r²V(j]j]j]j]j]ujjˆVj]r³VjX)�r´V}rµV(jXPAr¶Vjj°Vj jMTjj\j}r·V(j]j]j]j]j]ujK“j]r¸Vj%XPAr¹V…�rºV}r»V(jj¶Vjj´VubaubajjéubjÜ)�r¼V}r½V(jUj}r¾V(j]j]j]j]j]ujjˆVj]r¿VjX)�rÀV}rÁV(jXNetcprÂVjj¼Vj jMTjj\j}rÃV(j]j]j]j]j]ujK“j]rÄVj%XNetcprÅV…�rÆV}rÇV(jjÂVjjÀVubaubajjéubejjubj×)�rÈV}rÉV(jUj}rÊV(j]j]j]j]j]ujj„Vj]rËV(jÜ)�rÌV}rÍV(jUj}rÎV(j]j]j]j]j]ujjÈVj]rÏVjX)�rÐV}rÑV(jXC665xrÒVjjÌVj jMTjj\j}rÓV(j]j]j]j]j]ujK•j]rÔVj%XC665xrÕV…�rÖV}r×V(jjÒVjjÐVubaubajjéubjÜ)�rØV}rÙV(jUj}rÚV(j]j]j]j]j]ujjÈVj]rÛVjX)�rÜV}rÝV(jX See datasheetrÞVjjØVj jMTjj\j}rßV(j]j]j]j]j]ujK•j]ràVj%X See datasheetráV…�râV}rãV(jjÞVjjÜVubaubajjéubjÜ)�räV}råV(jUj}ræV(j]j]j]j]j]ujjÈVj]rçVjX)�rèV}réV(jX!http://www.ti.com/lit/pdf/SPRUHH1rêVjjäVj jMTjj\j}rëV(j]j]j]j]j]ujK•j]rìVj)�ríV}rîV(jjêVj}rïV(UrefurijêVj]j]j]j]j]ujjèVj]rðVj%X!http://www.ti.com/lit/pdf/SPRUHH1rñV…�ròV}róV(jUjjíVubajjubaubajjéubjÜ)�rôV}rõV(jUj}röV(j]j]j]j]j]ujjÈVj]r÷VjX)�røV}rùV(jXN/ArúVjjôVj jMTjj\j}rûV(j]j]j]j]j]ujK•j]rüVj%XN/ArýV…�rþV}rÿV(jjúVjjøVubaubajjéubjÜ)�rW}rW(jUj}rW(j]j]j]j]j]ujjÈVj]rWjX)�rW}rW(jXN/ArWjjWj jMTjj\j}rW(j]j]j]j]j]ujK•j]rWj%XN/Ar W…�r W}r W(jjWjjWubaubajjéubejjubj×)�r W}r W(jUj}rW(j]j]j]j]j]ujj„Vj]rW(jÜ)�rW}rW(jUj}rW(j]j]j]j]j]ujj Wj]rWjX)�rW}rW(jXC667xrWjjWj jMTjj\j}rW(j]j]j]j]j]ujK—j]rWj%XC667xrW…�rW}rW(jjWjjWubaubajjéubjÜ)�rW}rW(jUj}rW(j]j]j]j]j]ujj Wj]rWjX)�r W}r!W(jX See datasheetr"WjjWj jMTjj\j}r#W(j]j]j]j]j]ujK—j]r$Wj%X See datasheetr%W…�r&W}r'W(jj"Wjj WubaubajjéubjÜ)�r(W}r)W(jUj}r*W(j]j]j]j]j]ujj Wj]r+WjX)�r,W}r-W(jX!http://www.ti.com/lit/pdf/SPRUGV9r.Wjj(Wj jMTjj\j}r/W(j]j]j]j]j]ujK—j]r0Wj)�r1W}r2W(jj.Wj}r3W(Urefurij.Wj]j]j]j]j]ujj,Wj]r4Wj%X!http://www.ti.com/lit/pdf/SPRUGV9r5W…�r6W}r7W(jUjj1WubajjubaubajjéubjÜ)�r8W}r9W(jUj}r:W(j]j]j]j]j]ujj Wj]r;WjX)�r\ti.drv.pajj8Wj jMTjj\j}r>W(j]j]j]j]j]ujK—j]r?W(j)�r@W}rAW(jX!http://www.ti.com/lit/pdf/SPRUGS4rBWj}rCW(UrefurijBWj]j]j]j]j]ujjti.drv.parHW…�rIW}rJW(jX Driver: lib\\ti.drv.pajjhttp://www.ti.com/lit/pdf/SPRUHZ2 Driver: lib\\ti.drv.pa2jjXj jMTjj\j}rX(j]j]j]j]j]ujKŸj]rX(j)�rX}rX(jX!http://www.ti.com/lit/pdf/SPRUHZ2rXj}rX(UrefurijXj]j]j]j]j]ujjXj]rXj%X!http://www.ti.com/lit/pdf/SPRUHZ2rX…�r X}r!X(jUjjXubajjubj%X Driver: libti.drv.pa2r"X…�r#X}r$X(jX Driver: lib\\ti.drv.pa2jjXubeubajjéubjÜ)�r%X}r&X(jUj}r'X(j]j]j]j]j]ujjæWj]r(XjX)�r)X}r*X(jX!http://www.ti.com/lit/pdf/SPRUHZ0r+Xjj%Xj jMTjj\j}r,X(j]j]j]j]j]ujKŸj]r-Xj)�r.X}r/X(jj+Xj}r0X(Urefurij+Xj]j]j]j]j]ujj)Xj]r1Xj%X!http://www.ti.com/lit/pdf/SPRUHZ0r2X…�r3X}r4X(jUjj.Xubajjubaubajjéubejjubejjðubejjñubaubeubj)�r5X}r6X(jUjKjj;Tj jMTjjj}r7X(j]r8XXadditional referencesr9Xaj]j]j]r:XUid131r;Xaj]ujK¦jhj]rX(jXAdditional Referencesr?Xjj5Xj jMTjj"j}r@X(j]j]j]j]j]ujK¦jhj]rAXj%XAdditional ReferencesrBX…�rCX}rDX(jj?Xjj=Xubaubj¶)�rEX}rFX(jUjj5Xj jMTjj¹j}rGX(j]j]j]j]j]ujNjhj]rHXj¼)�rIX}rJX(jUj}rKX(j]j]j]j]j]UcolsKujjEXj]rLX(jÁ)�rMX}rNX(jUj}rOX(j]j]j]j]j]UcolwidthK#ujjIXj]jjÅubjÁ)�rPX}rQX(jUj}rRX(j]j]j]j]j]UcolwidthK)ujjIXj]jjÅubj)�rSX}rTX(jUj}rUX(j]j]j]j]j]ujjIXj]rVX(j×)�rWX}rXX(jUj}rYX(j]j]j]j]j]ujjSXj]rZX(jÜ)�r[X}r\X(jUj}r]X(j]j]j]j]j]ujjWXj]r^XjX)�r_X}r`X(jX **Document**raXjj[Xj jMTjj\j}rbX(j]j]j]j]j]ujK©j]rcXj|)�rdX}reX(jjaXj}rfX(j]j]j]j]j]ujj_Xj]rgXj%XDocumentrhX…�riX}rjX(jUjjdXubajj„ubaubajjéubjÜ)�rkX}rlX(jUj}rmX(j]j]j]j]j]ujjWXj]rnXjX)�roX}rpX(jX **Location**rqXjjkXj jMTjj\j}rrX(j]j]j]j]j]ujK©j]rsXj|)�rtX}ruX(jjqXj}rvX(j]j]j]j]j]ujjoXj]rwXj%XLocationrxX…�ryX}rzX(jUjjtXubajj„ubaubajjéubejjubj×)�r{X}r|X(jUj}r}X(j]j]j]j]j]ujjSXj]r~X(jÜ)�rX}r€X(jUj}r�X(j]j]j]j]j]ujj{Xj]r‚XjX)�rƒX}r„X(jXAPI Reference Manualr…XjjXj jMTjj\j}r†X(j]j]j]j]j]ujK«j]r‡Xj%XAPI Reference ManualrˆX…�r‰X}rŠX(jj…XjjƒXubaubajjéubjÜ)�r‹X}rŒX(jUj}r�X(j]j]j]j]j]ujj{Xj]rŽXjX)�r�X}r�X(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\PA\\docs\\doxygen\\html\\index.h tmljj‹Xj jMTjj\j}r‘X(j]j]j]j]j]ujK«j]r’Xj%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\PA\docs\doxygen\html\index.h tmlr“X…�r”X}r•X(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\PA\\docs\\doxygen\\html\\index.h tmljj�Xubaubajjéubejjubj×)�r–X}r—X(jUj}r˜X(j]j]j]j]j]ujjSXj]r™X(jÜ)�ršX}r›X(jUj}rœX(j]j]j]j]j]ujj–Xj]r�XjX)�ržX}rŸX(jX Release Notesr XjjšXj jMTjj\j}r¡X(j]j]j]j]j]ujK¯j]r¢Xj%X Release Notesr£X…�r¤X}r¥X(jj XjjžXubaubajjéubjÜ)�r¦X}r§X(jUj}r¨X(j]j]j]j]j]ujj–Xj]r©XjX)�rªX}r«X(jXM$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\PA\\docs\\ReleaseNotes_PA_LLD. pdfjj¦Xj jMTjj\j}r¬X(j]j]j]j]j]ujK¯j]r­Xj%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\PA\docs\ReleaseNotes_PA_LLD. pdfr®X…�r¯X}r°X(jXM$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\PA\\docs\\ReleaseNotes_PA_LLD. pdfjjªXubaubajjéubejjubejjðubejjñubaubjÁ)�r±X}r²X(jUjj5Xj jMTjjÄj}r³X(j]j]j]j]j]ujK´jhj]r´XjÇ)�rµX}r¶X(jUjÊKjj±Xj jMTjjj}r·X(j]j]j]j]j]ujKjhj]ubaubeubeubj jMTjjj}r¸X(j]r¹XXoverviewrºXaj]j]j]r»XUid124r¼Xaj]ujKjhj]r½X(j)�r¾X}r¿X(jXOverviewrÀXjj9Tj jMTjj"j}rÁX(j]j]j]j]j]ujKjhj]rÂXj%XOverviewrÃX…�rÄX}rÅX(jjÀXjj¾Xubaubj)�rÆX}rÇX(jUjKjj9Tj jMTjjj}rÈX(j]rÉXX introductionrÊXaj]j]j]rËXUid125rÌXaj]ujKjhj]rÍX(j)�rÎX}rÏX(jX IntroductionrÐXjjÆXj jMTjj"j}rÑX(j]j]j]j]j]ujKjhj]rÒXj%X IntroductionrÓX…�rÔX}rÕX(jjÐXjjÎXubaubjX)�rÖX}r×X(jXÀThe packet accelerator (PA) is one of the main components of the network coprocessor (NETCP) peripheral in KeyStone devices, including C6678, K2H/K/E/L. The PA works together with the security accelerator (SA) and the gigabit Ethernet switch subsystem to form a network processing solution. The purpose of PA in the NETCP is to perform packet processing operations such as packet header classification, checksum generation, and multi-queue routing.rØXjjÆXj jMTjj\j}rÙX(j]j]j]j]j]ujK jhj]rÚXj%XÀThe packet accelerator (PA) is one of the main components of the network coprocessor (NETCP) peripheral in KeyStone devices, including C6678, K2H/K/E/L. The PA works together with the security accelerator (SA) and the gigabit Ethernet switch subsystem to form a network processing solution. The purpose of PA in the NETCP is to perform packet processing operations such as packet header classification, checksum generation, and multi-queue routing.rÛX…�rÜX}rÝX(jjØXjjÖXubaubeubcdocutils.nodes transition rÞX)�rßX}ràX(jX--------------ráXjj9Tj jMTjU transitionrâXj}rãX(j]j]j]j]j]ujKjhj]ubj)�räX}råX(jUjKjj9Tj jMTjjj}ræX(j]rçXXdriver configurationrèXaj]j]j]réXUid126rêXaj]ujKjhj]rëX(j)�rìX}ríX(jXDriver ConfigurationrîXjjäXj jMTjj"j}rïX(j]j]j]j]j]ujKjhj]rðXj%XDriver ConfigurationrñX…�ròX}róX(jjîXjjìXubaubjX)�rôX}rõX(jXÖThe driver configures the PASS subsystem using Pa_config_t structure. This structure must be initialized before the Pa_create() function is called and cannot be changed afterwards. Also, there are bunch of system/global configurations and per entry configurations for PA. For details about individual fields of this structure and other configuration API structures, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\PA\\docs\\doxygen\\html\\index.html.jjäXj jMTjj\j}röX(j]j]j]j]j]ujKjhj]r÷Xj%XÎThe driver configures the PASS subsystem using Pa_config_t structure. This structure must be initialized before the Pa_create() function is called and cannot be changed afterwards. Also, there are bunch of system/global configurations and per entry configurations for PA. For details about individual fields of this structure and other configuration API structures, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\PA\docs\doxygen\html\index.html.røX…�rùX}rúX(jXÖThe driver configures the PASS subsystem using Pa_config_t structure. This structure must be initialized before the Pa_create() function is called and cannot be changed afterwards. Also, there are bunch of system/global configurations and per entry configurations for PA. For details about individual fields of this structure and other configuration API structures, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\PA\\docs\\doxygen\\html\\index.html.jjôXubaubeubj)�rûX}rüX(jUjKjj9Tj jMTjjj}rýX(j]rþXXapisrÿXaj]j]j]rYUid127rYaj]ujKjhj]rY(j)�rY}rY(jXAPIsrYjjûXj jMTjj"j}rY(j]j]j]j]j]ujKjhj]rYj%XAPIsrY…�r Y}r Y(jjYjjYubaubjX)�r Y}r Y(jX9API reference for application can be found in below file:r YjjûXj jMTjj\j}rY(j]j]j]j]j]ujK!jhj]rYj%X9API reference for application can be found in below file:rY…�rY}rY(jj Yjj Yubaubj#)�rY}rY(jX#include jjûXj jMTjj&j}rY(j2j3j]j]j]j]j]ujM]jhj]rYj%X#include rY…�rY}rY(jUjjYubaubeubeubj jMTjj?j}rY(j]UlevelKj]j]rYj¼XaUsourcejMTj]j]UlineKUtypejAujKjhj]rYjX)�rY}rY(jX+Duplicate implicit target name: "overview".j}rY(j]j]j]j]j]ujj7Tj]r Yj%X+Duplicate implicit target name: "overview".r!Y…�r"Y}r#Y(jUjjYubajj\ubaubhÿ)�r$Y}r%Y(jUjjÆXj jMTjj?j}r&Y(j]UlevelKj]j]r'YjÌXaUsourcejMTj]j]UlineKUtypejAujKjhj]r(YjX)�r)Y}r*Y(jX/Duplicate implicit target name: "introduction".j}r+Y(j]j]j]j]j]ujj$Yj]r,Yj%X/Duplicate implicit target name: "introduction".r-Y…�r.Y}r/Y(jUjj)Yubajj\ubaubhÿ)�r0Y}r1Y(jUjjäXj jMTjj?j}r2Y(j]UlevelKj]j]r3YjêXaUsourcejMTj]j]UlineKUtypejAujKjhj]r4YjX)�r5Y}r6Y(jX7Duplicate implicit target name: "driver configuration".j}r7Y(j]j]j]j]j]ujj0Yj]r8Yj%X7Duplicate implicit target name: "driver configuration".r9Y…�r:Y}r;Y(jUjj5Yubajj\ubaubhÿ)�rY(j]UlevelKj]j]r?YjYaUsourcejMTj]j]UlineKUtypejAujKjhj]r@YjX)�rAY}rBY(jX'Duplicate implicit target name: "apis".j}rCY(j]j]j]j]j]ujjjjÄYj jŽYjj&j}rÞY(j2j3j]j]j]j]j]ujM(jhj]rßYj%X#include ràY…�ráY}râY(jUjjÜYubaubeubeubj)�rãY}räY(jUjKjj|Yj jŽYjjj}råY(j]ræYX applicationrçYaj]j]j]rèYUid138réYaj]ujK6jhj]rêY(j)�rëY}rìY(jX ApplicationríYjjãYj jŽYjj"j}rîY(j]j]j]j]j]ujK6jhj]rïYj%X ApplicationrðY…�rñY}ròY(jjíYjjëYubaubj)�róY}rôY(jUjKjjãYj jŽYjjj}rõY(j]röYXexamplesr÷Yaj]j]j]røYUid139rùYaj]ujK9jhj]rúY(j)�rûY}rüY(jXExamplesrýYjjóYj jŽYjj"j}rþY(j]j]j]j]j]ujK9jhj]rÿYj%XExamplesrZ…�rZ}rZ(jjýYjjûYubaubj¶)�rZ}rZ(jUjjóYj jŽYjj¹j}rZ(j]j]j]j]j]ujNjhj]rZj¼)�rZ}rZ(jUj}r Z(j]j]j]j]j]UcolsKujjZj]r Z(jÁ)�r Z}r Z(jUj}r Z(j]j]j]j]j]UcolwidthKujjZj]jjÅubjÁ)�rZ}rZ(jUj}rZ(j]j]j]j]j]UcolwidthKujjZj]jjÅubjÁ)�rZ}rZ(jUj}rZ(j]j]j]j]j]UcolwidthKujjZj]jjÅubjÁ)�rZ}rZ(jUj}rZ(j]j]j]j]j]UcolwidthK"ujjZj]jjÅubjÁ)�rZ}rZ(jUj}rZ(j]j]j]j]j]UcolwidthK"ujjZj]jjÅubjÒ)�rZ}rZ(jUj}rZ(j]j]j]j]j]ujjZj]rZj×)�rZ}rZ(jUj}r Z(j]j]j]j]j]ujjZj]r!Z(jÜ)�r"Z}r#Z(jUj}r$Z(j]j]j]j]j]ujjZj]r%ZjX)�r&Z}r'Z(jXNamer(Zjj"Zj jŽYjj\j}r)Z(j]j]j]j]j]ujKZ}r?Z(jUj}r@Z(j]j]j]j]j]ujjZj]rAZjÁ)�rBZ}rCZ(jUj}rDZ(j]j]j]j]j]ujj>Zj]rEZjÇ)�rFZ}rGZ(jXExpected ResultsrHZjÊKjjBZj jŽYjjj}rIZ(j]j]j]j]j]ujKj]rJZj%XExpected ResultsrKZ…�rLZ}rMZ(jjHZjjFZubaubajjÄubajjéubjÜ)�rNZ}rOZ(jUj}rPZ(j]j]j]j]j]ujjZj]rQZ(jÁ)�rRZ}rSZ(jUj}rTZ(j]j]j]j]j]ujjNZj]rUZjÇ)�rVZ}rWZ(jXList of SOCs withrXZjÊKjjRZj jŽYjjj}rYZ(j]j]j]j]j]ujKj]rZZj%XList of SOCs withr[Z…�r\Z}r]Z(jjXZjjVZubaubajjÄubjX)�r^Z}r_Z(jX Application Build Support as CCSr`ZjjNZj jŽYjj\j}raZ(j]j]j]j]j]ujK=j]rbZj%X Application Build Support as CCSrcZ…�rdZ}reZ(jj`Zjj^ZubaubejjéubjÜ)�rfZ}rgZ(jUj}rhZ(j]j]j]j]j]ujjZj]riZ(jÁ)�rjZ}rkZ(jUj}rlZ(j]j]j]j]j]ujjfZj]rmZjÇ)�rnZ}roZ(jXList of SOCs withrpZjÊKjjjZj jŽYjjj}rqZ(j]j]j]j]j]ujKj]rrZj%XList of SOCs withrsZ…�rtZ}ruZ(jjpZjjnZubaubajjÄubjX)�rvZ}rwZ(jXApplications Build Support MakerxZjjfZj jŽYjj\j}ryZ(j]j]j]j]j]ujK=j]rzZj%XApplications Build Support Maker{Z…�r|Z}r}Z(jjxZjjvZubaubejjéubejjubajjubj)�r~Z}rZ(jUj}r€Z(j]j]j]j]j]ujjZj]r�Z(j×)�r‚Z}rƒZ(jUj}r„Z(j]j]j]j]j]ujj~Zj]r…Z(jÜ)�r†Z}r‡Z(jUj}rˆZ(j]j]j]j]j]ujj‚Zj]r‰ZjX)�rŠZ}r‹Z(jXSA_Example applicationrŒZjj†Zj jŽYjj\j}r�Z(j]j]j]j]j]ujK?j]rŽZj%XSA_Example applicationr�Z…�r�Z}r‘Z(jjŒZjjŠZubaubajjéubjÜ)�r’Z}r“Z(jUj}r”Z(j]j]j]j]j]ujj‚Zj]r•ZjÁ)�r–Z}r—Z(jUj}r˜Z(j]j]j]j]j]ujj’Zj]r™ZjÇ)�ršZ}r›Z(jX[CCS Project Example demonstrating *simple IPSec* use case. Reference example for developersjÊKjj–Zj jŽYjjj}rœZ(j]j]j]j]j]ujKj]r�Z(j%X"CCS Project Example demonstrating ržZ…�rŸZ}r Z(jX"CCS Project Example demonstrating jjšZubj<)�r¡Z}r¢Z(jX*simple IPSec*j}r£Z(j]j]j]j]j]ujjšZj]r¤Zj%X simple IPSecr¥Z…�r¦Z}r§Z(jUjj¡ZubajjDubj%X+ use case. Reference example for developersr¨Z…�r©Z}rªZ(jX+ use case. Reference example for developersjjšZubeubajjÄubajjéubjÜ)�r«Z}r¬Z(jUj}r­Z(j]j]j]j]j]ujj‚Zj]r®ZjÁ)�r¯Z}r°Z(jUj}r±Z(j]j]j]j]j]ujj«Zj]r²ZjÇ)�r³Z}r´Z(jX5User observes the output printed over the CCS consolerµZjÊKjj¯Zj jŽYjjj}r¶Z(j]j]j]j]j]ujKj]r·Zj%X5User observes the output printed over the CCS consoler¸Z…�r¹Z}rºZ(jjµZjj³ZubaubajjÄubajjéubjÜ)�r»Z}r¼Z(jUj}r½Z(j]j]j]j]j]ujj‚Zj]r¾ZjÁ)�r¿Z}rÀZ(jUj}rÁZ(j]j]j]j]j]ujj»Zj]rÂZjÇ)�rÃZ}rÄZ(jXK2HK, K2L, K2E, C6678rÅZjÊKjj¿Zj jŽYjjj}rÆZ(j]j]j]j]j]ujKj]rÇZj%XK2HK, K2L, K2E, C6678rÈZ…�rÉZ}rÊZ(jjÅZjjÃZubaubajjÄubajjéubjÜ)�rËZ}rÌZ(jUj}rÍZ(j]j]j]j]j]ujj‚Zj]rÎZjX)�rÏZ}rÐZ(jXNonerÑZjjËZj jŽYjj\j}rÒZ(j]j]j]j]j]ujK?j]rÓZj%XNonerÔZ…�rÕZ}rÖZ(jjÑZjjÏZubaubajjéubejjubj×)�r×Z}rØZ(jUj}rÙZ(j]j]j]j]j]ujj~Zj]rÚZ(jÜ)�rÛZ}rÜZ(jUj}rÝZ(j]j]j]j]j]ujj×Zj]rÞZjX)�rßZ}ràZ(jXSA_UnitTestApplicationráZjjÛZj jŽYjj\j}râZ(j]j]j]j]j]ujKFj]rãZj%XSA_UnitTestApplicationräZ…�råZ}ræZ(jjáZjjßZubaubajjéubjÜ)�rçZ}rèZ(jUj}réZ(j]j]j]j]j]ujj×Zj]rêZjÁ)�rëZ}rìZ(jUj}ríZ(j]j]j]j]j]ujjçZj]rîZjÇ)�rïZ}rðZ(jX&Unit Test application to test all APIsrñZjÊKjjëZj jŽYjjj}ròZ(j]j]j]j]j]ujKj]róZj%X&Unit Test application to test all APIsrôZ…�rõZ}röZ(jjñZjjïZubaubajjÄubajjéubjÜ)�r÷Z}røZ(jUj}rùZ(j]j]j]j]j]ujj×Zj]rúZjÁ)�rûZ}rüZ(jUj}rýZ(j]j]j]j]j]ujj÷Zj]rþZjÇ)�rÿZ}r[(jX5User observes the output printed over the CCS consoler[jÊKjjûZj jŽYjjj}r[(j]j]j]j]j]ujKj]r[j%X5User observes the output printed over the CCS consoler[…�r[}r[(jj[jjÿZubaubajjÄubajjéubjÜ)�r[}r[(jUj}r [(j]j]j]j]j]ujj×Zj]r [jÁ)�r [}r [(jUj}r [(j]j]j]j]j]ujj[j]r[jÇ)�r[}r[(jXK2HK, K2L, K2E, C6678, K2Gr[jÊKjj [j jŽYjjj}r[(j]j]j]j]j]ujKj]r[j%XK2HK, K2L, K2E, C6678, K2Gr[…�r[}r[(jj[jj[ubaubajjÄubajjéubjÜ)�r[}r[(jUj}r[(j]j]j]j]j]ujj×Zj]r[jX)�r[}r[(jXAM65XXr[jj[j jŽYjj\j}r[(j]j]j]j]j]ujKFj]r[j%XAM65XXr […�r![}r"[(jj[jjbaubajjéubejjubejjðubejjñubaubjX)�r#[}r$[(jX}**NOTE** : SA Unit Test applications are makefile based for AM65XX. Note that the application built, can be loaded on to CCS.jjóYj jŽYjj\j}r%[(j]j]j]j]j]ujKKjhj]r&[(j|)�r'[}r([(jX**NOTE**j}r)[(j]j]j]j]j]ujj#[j]r*[j%XNOTEr+[…�r,[}r-[(jUjj'[ubajj„ubj%Xu : SA Unit Test applications are makefile based for AM65XX. Note that the application built, can be loaded on to CCS.r.[…�r/[}r0[(jXu : SA Unit Test applications are makefile based for AM65XX. Note that the application built, can be loaded on to CCS.jj#[ubeubeubj)�r1[}r2[(jUjjãYj jŽYjjj}r3[(j]j]j]j]r4[Ubuilding-sa-examples-unit-testr5[aj]r6[h^aujKOjhj]r7[(j)�r8[}r9[(jXBuilding SA Examples/Unit Testr:[jj1[j jŽYjj"j}r;[(j]j]j]j]j]ujKOjhj]r<[j%XBuilding SA Examples/Unit Testr=[…�r>[}r?[(jj:[jj8[ubaubj)�r@[}rA[(jUjj1[j jŽYjjj}rB[(jX-j]j]j]j]j]ujKQjhj]rC[(j)�rD[}rE[(jXŸSetup the build environment `SetupBuildEnvironment `__rF[jj@[j jŽYjj j}rG[(j]j]j]j]j]ujNjhj]rH[jX)�rI[}rJ[(jjF[jjD[j jŽYjj\j}rK[(j]j]j]j]j]ujKQj]rL[(j%XSetup the build environment rM[…�rN[}rO[(jXSetup the build environment jjI[ubj)�rP[}rQ[(jXƒ`SetupBuildEnvironment `__j}rR[(UnameXSetupBuildEnvironmentjXghttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#setup-environmentj]j]j]j]j]ujjI[j]rS[j%XSetupBuildEnvironmentrT[…�rU[}rV[(jUjjP[ubajjubeubaubj)�rW[}rX[(jXûFollow the steps `SDK example and test CCS Project Creation `__ for creating the CCS based example and test projects creationrY[jj@[j jŽYjj j}rZ[(j]j]j]j]j]ujNjhj]r[[jX)�r\[}r][(jjY[jjW[j jŽYjj\j}r^[(j]j]j]j]j]ujKRj]r_[(j%XFollow the steps r`[…�ra[}rb[(jXFollow the steps jj\[ubj)�rc[}rd[(jX«`SDK example and test CCS Project Creation `__j}re[(UnameX)SDK example and test CCS Project CreationjX{http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#pdk-example-and-test-project-creationj]j]j]j]j]ujj\[j]rf[j%X)SDK example and test CCS Project Creationrg[…�rh[}ri[(jUjjc[ubajjubj%X? for creating the CCS based example and test projects creationrj[…�rk[}rl[(jX? for creating the CCS based example and test projects creationjj\[ubeubaubj)�rm[}rn[(jXzCreate make based test application executables following the link `Building the component and make based test application `__. Once the build environment is set, issue the following commands: - cd /packages/ - To build: make sa - To clean: make sa_clean jj@[j Njj j}ro[(j]j]j]j]j]ujNjhj]rp[jÆ )�rq[}rr[(jUj}rs[(j]j]j]j]j]ujjm[j]rt[jÌ )�ru[}rv[(jXtCreate make based test application executables following the link `Building the component and make based test application `__. Once the build environment is set, issue the following commands: - cd /packages/ - To build: make sa - To clean: make sa_clean jjq[j jŽYjjÏ j}rw[(j]j]j]j]j]ujKWj]rx[(jÒ )�ry[}rz[(jX,Create make based test application executables following the link `Building the component and make based test application `__. Once the build environment is set, issue the following commands:jju[j jŽYjjÖ j}r{[(j]j]j]j]j]ujKWj]r|[(j%XBCreate make based test application executables following the link r}[…�r~[}r[(jXBCreate make based test application executables following the link jjy[ubj)�r€[}r�[(jX¨`Building the component and make based test application `__j}r‚[(UnameX6Building the component and make based test applicationjXkhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#rebuilding-componentsj]j]j]j]j]ujjy[j]rƒ[j%X6Building the component and make based test applicationr„[…�r…[}r†[(jUjj€[ubajjubj%XB. Once the build environment is set, issue the following commands:r‡[…�rˆ[}r‰[(jXB. Once the build environment is set, issue the following commands:jjy[ubeubjÜ )�rŠ[}r‹[(jUj}rŒ[(j]j]j]j]j]ujju[j]r�[j)�rŽ[}r�[(jUj}r�[(jX-j]j]j]j]j]ujjŠ[j]r‘[(j)�r’[}r“[(jXcd /packages/r”[j}r•[(j]j]j]j]j]ujjŽ[j]r–[jX)�r—[}r˜[(jj”[jj’[j jŽYjj\j}r™[(j]j]j]j]j]ujKTj]rš[j%Xcd /packages/r›[…�rœ[}r�[(jj”[jj—[ubaubajj ubj)�rž[}rŸ[(jXTo build: make sar [j}r¡[(j]j]j]j]j]ujjŽ[j]r¢[jX)�r£[}r¤[(jj [jjž[j jŽYjj\j}r¥[(j]j]j]j]j]ujKUj]r¦[j%XTo build: make sar§[…�r¨[}r©[(jj [jj£[ubaubajj ubj)�rª[}r«[(jXTo clean: make sa_clean j}r¬[(j]j]j]j]j]ujjŽ[j]r­[jX)�r®[}r¯[(jXTo clean: make sa_cleanr°[jjª[j jŽYjj\j}r±[(j]j]j]j]j]ujKVj]r²[j%XTo clean: make sa_cleanr³[…�r´[}rµ[(jj°[jj®[ubaubajj ubejjubajj ubeubajjÉ ubaubeubeubeubj)�r¶[}r·[(jUjKjj|Yj jŽYjjj}r¸[(j]r¹[Xadditional referencesrº[aj]j]j]r»[Uid140r¼[aj]ujKZjhj]r½[(j)�r¾[}r¿[(jXAdditional ReferencesrÀ[jj¶[j jŽYjj"j}rÁ[(j]j]j]j]j]ujKZjhj]rÂ[j%XAdditional ReferencesrÃ[…�rÄ[}rÅ[(jjÀ[jj¾[ubaubj¶)�rÆ[}rÇ[(jUjj¶[j jŽYjj¹j}rÈ[(j]j]j]j]j]ujNjhj]rÉ[j¼)�rÊ[}rË[(jUj}rÌ[(j]j]j]j]j]UcolsKujjÆ[j]rÍ[(jÁ)�rÎ[}rÏ[(jUj}rÐ[(j]j]j]j]j]UcolwidthK#ujjÊ[j]jjÅubjÁ)�rÑ[}rÒ[(jUj}rÓ[(j]j]j]j]j]UcolwidthK)ujjÊ[j]jjÅubj)�rÔ[}rÕ[(jUj}rÖ[(j]j]j]j]j]ujjÊ[j]r×[(j×)�rØ[}rÙ[(jUj}rÚ[(j]j]j]j]j]ujjÔ[j]rÛ[(jÜ)�rÜ[}rÝ[(jUj}rÞ[(j]j]j]j]j]ujjØ[j]rß[jX)�rà[}rá[(jX **Document**râ[jjÜ[j jŽYjj\j}rã[(j]j]j]j]j]ujK]j]rä[j|)�rå[}ræ[(jjâ[j}rç[(j]j]j]j]j]ujjà[j]rè[j%XDocumentré[…�rê[}rë[(jUjjå[ubajj„ubaubajjéubjÜ)�rì[}rí[(jUj}rî[(j]j]j]j]j]ujjØ[j]rï[jX)�rð[}rñ[(jX **Location**rò[jjì[j jŽYjj\j}ró[(j]j]j]j]j]ujK]j]rô[j|)�rõ[}rö[(jjò[j}r÷[(j]j]j]j]j]ujjð[j]rø[j%XLocationrù[…�rú[}rû[(jUjjõ[ubajj„ubaubajjéubejjubj×)�rü[}rý[(jUj}rþ[(j]j]j]j]j]ujjÔ[j]rÿ[(jÜ)�r\}r\(jUj}r\(j]j]j]j]j]ujjü[j]r\jX)�r\}r\(jXAPI Reference Manualr\jj\j jŽYjj\j}r\(j]j]j]j]j]ujK_j]r\j%XAPI Reference Manualr \…�r \}r \(jj\jj\ubaubajjéubjÜ)�r \}r \(jUj}r\(j]j]j]j]j]ujjü[j]r\jX)�r\}r\(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\sa\\docs\\doxygen\\html\\index.h tmljj \j jŽYjj\j}r\(j]j]j]j]j]ujK_j]r\j%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\sa\docs\doxygen\html\index.h tmlr\…�r\}r\(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\sa\\docs\\doxygen\\html\\index.h tmljj\ubaubajjéubejjubj×)�r\}r\(jUj}r\(j]j]j]j]j]ujjÔ[j]r\(jÜ)�r\}r\(jUj}r\(j]j]j]j]j]ujj\j]r\jX)�r\}r \(jX Release Notesr!\jj\j jŽYjj\j}r"\(j]j]j]j]j]ujKcj]r#\j%X Release Notesr$\…�r%\}r&\(jj!\jj\ubaubajjéubjÜ)�r'\}r(\(jUj}r)\(j]j]j]j]j]ujj\j]r*\jX)�r+\}r,\(jXM$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\sa\\docs\\ReleaseNotes_SA_LLD. pdfjj'\j jŽYjj\j}r-\(j]j]j]j]j]ujKcj]r.\j%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\sa\docs\ReleaseNotes_SA_LLD. pdfr/\…�r0\}r1\(jXM$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\sa\\docs\\ReleaseNotes_SA_LLD. pdfjj+\ubaubajjéubejjubejjðubejjñubaubj\)�r2\}r3\(jXçAlthough SASS supports 3GPP specific Ciphering and Authentication algorithms such as Kasumi F8/F9 and Snow3G F8, those algorithms are locked out in this standard SA LLD distribution. In order to access 3GPP specific functionalities, one must obtain ETSI licensing as described at http://www.etsi.org/services/security-algorithms/cellular-algorithms and then download the SASS 3GPP Enabler package from TI from the link http://software-dl.ti.com/libs/sa_3gpp_enabler/latest/index_FDS.htmljj¶[j jŽYjj_j}r4\(j]j]j]j]j]ujNjhj]r5\jX)�r6\}r7\(jXçAlthough SASS supports 3GPP specific Ciphering and Authentication algorithms such as Kasumi F8/F9 and Snow3G F8, those algorithms are locked out in this standard SA LLD distribution. In order to access 3GPP specific functionalities, one must obtain ETSI licensing as described at http://www.etsi.org/services/security-algorithms/cellular-algorithms and then download the SASS 3GPP Enabler package from TI from the link http://software-dl.ti.com/libs/sa_3gpp_enabler/latest/index_FDS.htmljj2\j jŽYjj\j}r8\(j]j]j]j]j]ujKjj]r9\(j%XAlthough SASS supports 3GPP specific Ciphering and Authentication algorithms such as Kasumi F8/F9 and Snow3G F8, those algorithms are locked out in this standard SA LLD distribution. In order to access 3GPP specific functionalities, one must obtain ETSI licensing as described at r:\…�r;\}r<\(jXAlthough SASS supports 3GPP specific Ciphering and Authentication algorithms such as Kasumi F8/F9 and Snow3G F8, those algorithms are locked out in this standard SA LLD distribution. In order to access 3GPP specific functionalities, one must obtain ETSI licensing as described at jj6\ubj)�r=\}r>\(jXDhttp://www.etsi.org/services/security-algorithms/cellular-algorithmsr?\j}r@\(Urefurij?\j]j]j]j]j]ujj6\j]rA\j%XDhttp://www.etsi.org/services/security-algorithms/cellular-algorithmsrB\…�rC\}rD\(jUjj=\ubajjubj%XG and then download the SASS 3GPP Enabler package from TI from the link rE\…�rF\}rG\(jXG and then download the SASS 3GPP Enabler package from TI from the link jj6\ubj)�rH\}rI\(jXDhttp://software-dl.ti.com/libs/sa_3gpp_enabler/latest/index_FDS.htmlrJ\j}rK\(UrefurijJ\j]j]j]j]j]ujj6\j]rL\j%XDhttp://software-dl.ti.com/libs/sa_3gpp_enabler/latest/index_FDS.htmlrM\…�rN\}rO\(jUjjH\ubajjubeubaubjX)�rP\}rQ\(jXrDue to export control restrictions, the SA 3GPP Enabler is a seperate download from the rest of the PROCESSOR-SDK.rR\jj¶[j jŽYjj\j}rS\(j]j]j]j]j]ujKtjhj]rT\j%XrDue to export control restrictions, the SA 3GPP Enabler is a seperate download from the rest of the PROCESSOR-SDK.rU\…�rV\}rW\(jjR\jjP\ubaubjÁ)�rX\}rY\(jUjj¶[j jŽYjjÄj}rZ\(j]j]j]j]j]ujKwjhj]r[\jÇ)�r\\}r]\(jUjÊKjjX\j jŽYjjj}r^\(j]j]j]j]j]ujKjhj]ubaubeubeubj jŽYjjj}r_\(j]r`\Xoverviewra\aj]j]j]rb\Uid132rc\aj]ujKjhj]rd\(j)�re\}rf\(jXOverviewrg\jjzYj jŽYjj"j}rh\(j]j]j]j]j]ujKjhj]ri\j%XOverviewrj\…�rk\}rl\(jjg\jje\ubaubj)�rm\}rn\(jUjKjjzYj jŽYjjj}ro\(j]rp\X introductionrq\aj]j]j]rr\Uid133rs\aj]ujKjhj]rt\(j)�ru\}rv\(jX Introductionrw\jjm\j jŽYjj"j}rx\(j]j]j]j]j]ujKjhj]ry\j%X Introductionrz\…�r{\}r|\(jjw\jju\ubaubjX)�r}\}r~\(jX8The Security Accelerator (SA) also known as cp_ace (Adaptive Cryptographic Engine) is designed to provide packet security as part of IPSEC, SRTP, and 3GPP industry standards. The security accelerator low level driver (referred to as the module) provides APIs for the configuration and control of the security accelerator sub-system. The SA low level driver provides an abstraction layer between the application and the Security Accelerator Sub System (SASS). It provides both the system level interface and the channel-level interface with a set of APIs in the driver.r\jjm\j jŽYjj\j}r€\(j]j]j]j]j]ujK jhj]r�\j%X8The Security Accelerator (SA) also known as cp_ace (Adaptive Cryptographic Engine) is designed to provide packet security as part of IPSEC, SRTP, and 3GPP industry standards. The security accelerator low level driver (referred to as the module) provides APIs for the configuration and control of the security accelerator sub-system. The SA low level driver provides an abstraction layer between the application and the Security Accelerator Sub System (SASS). It provides both the system level interface and the channel-level interface with a set of APIs in the driver.r‚\…�rƒ\}r„\(jj\jj}\ubaubjb)�r…\}r†\(jXModes of Operationr‡\jKjjm\j jŽYjjfj}rˆ\(j]r‰\Uid134rŠ\aj]j]r‹\Xmodes-of-operationrŒ\aj]j]ujNjhj]r�\j%XModes of OperationrŽ\…�r�\}r�\(jj‡\jj…\ubaubjX)�r‘\}r’\(jX=Security accelerator library (ti.drv.sa) supports below modesr“\jjm\j jŽYjj\j}r”\(j]j]j]j]j]ujKjhj]r•\j%X=Security accelerator library (ti.drv.sa) supports below modesr–\…�r—\}r˜\(jj“\jj‘\ubaubjX)�r™\}rš\(jX **Protocol Specific Mode**: In this mode, standards such as Ipv4/Ipv6 and 3gpp protocols are supported, where command labels are created based on the protocols.jjm\j jŽYjj\j}r›\(j]j]j]j]j]ujKjhj]rœ\(j|)�r�\}rž\(jX**Protocol Specific Mode**j}rŸ\(j]j]j]j]j]ujj™\j]r \j%XProtocol Specific Moder¡\…�r¢\}r£\(jUjj�\ubajj„ubj%X†: In this mode, standards such as Ipv4/Ipv6 and 3gpp protocols are supported, where command labels are created based on the protocols.r¤\…�r¥\}r¦\(jX†: In this mode, standards such as Ipv4/Ipv6 and 3gpp protocols are supported, where command labels are created based on the protocols.jj™\ubeubjX)�r§\}r¨\(jX{**Data Mode**: In this mode, user can implement a custom/proprietary protocol mode with the help of APIs provided by SA LLDjjm\j jŽYjj\j}r©\(j]j]j]j]j]ujKjhj]rª\(j|)�r«\}r¬\(jX **Data Mode**j}r­\(j]j]j]j]j]ujj§\j]r®\j%X Data Moder¯\…�r°\}r±\(jUjj«\ubajj„ubj%Xn: In this mode, user can implement a custom/proprietary protocol mode with the help of APIs provided by SA LLDr²\…�r³\}r´\(jXn: In this mode, user can implement a custom/proprietary protocol mode with the help of APIs provided by SA LLDjj§\ubeubeubeubj jŽYjj?j}rµ\(j]UlevelKj]j]r¶\jc\aUsourcejŽYj]j]UlineKUtypejAujKjhj]r·\jX)�r¸\}r¹\(jX+Duplicate implicit target name: "overview".j}rº\(j]j]j]j]j]ujjxYj]r»\j%X+Duplicate implicit target name: "overview".r¼\…�r½\}r¾\(jUjj¸\ubajj\ubaubhÿ)�r¿\}rÀ\(jUjjm\j jŽYjj?j}rÁ\(j]UlevelKj]j]rÂ\js\aUsourcejŽYj]j]UlineKUtypejAujKjhj]rÃ\jX)�rÄ\}rÅ\(jX/Duplicate implicit target name: "introduction".j}rÆ\(j]j]j]j]j]ujj¿\j]rÇ\j%X/Duplicate implicit target name: "introduction".rÈ\…�rÉ\}rÊ\(jUjjÄ\ubajj\ubaubhÿ)�rË\}rÌ\(jUj}rÍ\(j]UlevelKj]j]rÎ\jŠ\aUsourcej j]j]UlineKcUtypejXujj…\j]rÏ\jX)�rÐ\}rÑ\(jX5Duplicate explicit target name: "modes-of-operation".j}rÒ\(j]j]j]j]j]ujjË\j]rÓ\j%X5Duplicate explicit target name: "modes-of-operation".rÔ\…�rÕ\}rÖ\(jUjjÐ\ubajj\ubajj?ubhÿ)�r×\}rØ\(jUjj•Yj jŽYjj?j}rÙ\(j]UlevelKj]j]rÚ\j›YaUsourcejŽYj]j]UlineK UtypejAujK jhj]rÛ\jX)�rÜ\}rÝ\(jX1Duplicate implicit target name: "user interface".j}rÞ\(j]j]j]j]j]ujj×\j]rß\j%X1Duplicate implicit target name: "user interface".rà\…�rá\}râ\(jUjjÜ\ubajj\ubaubhÿ)�rã\}rä\(jUjj¥Yj jŽYjj?j}rå\(j]UlevelKj]j]ræ\j«YaUsourcejŽYj]j]UlineK#UtypejAujK#jhj]rç\jX)�rè\}ré\(jX7Duplicate implicit target name: "driver configuration".j}rê\(j]j]j]j]j]ujjã\j]rë\j%X7Duplicate implicit target name: "driver configuration".rì\…�rí\}rî\(jUjjè\ubajj\ubaubhÿ)�rï\}rð\(jUjjÄYj jŽYjj?j}rñ\(j]UlevelKj]j]rò\jÊYaUsourcejŽYj]j]UlineK-UtypejAujK-jhj]ró\jX)�rô\}rõ\(jX'Duplicate implicit target name: "apis".j}rö\(j]j]j]j]j]ujjï\j]r÷\j%X'Duplicate implicit target name: "apis".rø\…�rù\}rú\(jUjjô\ubajj\ubaubhÿ)�rû\}rü\(jUjjãYj jŽYjj?j}rý\(j]UlevelKj]j]rþ\jéYaUsourcejŽYj]j]UlineK6UtypejAujK6jhj]rÿ\jX)�r]}r](jX.Duplicate implicit target name: "application".j}r](j]j]j]j]j]ujjû\j]r]j%X.Duplicate implicit target name: "application".r]…�r]}r](jUjj]ubajj\ubaubhÿ)�r]}r](jUjjóYj jŽYjj?j}r ](j]UlevelKj]j]r ]jùYaUsourcejŽYj]j]UlineK9UtypejAujK9jhj]r ]jX)�r ]}r ](jX+Duplicate implicit target name: "examples".j}r](j]j]j]j]j]ujj]j]r]j%X+Duplicate implicit target name: "examples".r]…�r]}r](jUjj ]ubajj\ubaubhÿ)�r]}r](jUj}r](j]UlevelKj]j]UsourcejŽYj]j]UlineK>UtypejXujjNZj]r]jX)�r]}r](jX%Line block ends without a blank line.j}r](j]j]j]j]j]ujj]j]r]j%X%Line block ends without a blank line.r]…�r]}r](jUjj]ubajj\ubajj?ubhÿ)�r]}r](jUj}r ](j]UlevelKj]j]UsourcejŽYj]j]UlineK>UtypejXujjfZj]r!]jX)�r"]}r#](jX%Line block ends without a blank line.j}r$](j]j]j]j]j]ujj]j]r%]j%X%Line block ends without a blank line.r&]…�r']}r(](jUjj"]ubajj\ubajj?ubhÿ)�r)]}r*](jUjj¶[j jŽYjj?j}r+](j]UlevelKj]j]r,]j¼[aUsourcejŽYj]j]UlineKZUtypejAujKZjhj]r-]jX)�r.]}r/](jX8Duplicate implicit target name: "additional references".j}r0](j]j]j]j]j]ujj)]j]r1]j%X8Duplicate implicit target name: "additional references".r2]…�r3]}r4](jUjj.]ubajj\ubaubhÿ)�r5]}r6](jUjj)�r7]}r8](jUjKjj)�r9]}r:](jUjhj j jjj}r;](j]j]j]j]r<]Usrior=]aj]r>]h¸aujKijhj]r?](j)�r@]}rA](jXSRIOrB]jj9]j j jj"j}rC](j]j]j]j]j]ujKijhj]rD]j%XSRIOrE]…�rF]}rG](jjB]jj@]ubaubj))�rH]}rI](jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_SRIOjj9]j j,X=source/rtos/PDK_Platform_Software/Device_Drivers/SRIO.rst.incrJ]…�rK]}rL]bjj0j}rM](j2j3j]j]j]j]j]ujKjhj]rN]j%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_SRIOrO]…�rP]}rQ](jUjjH]ubaubj7]j)�rR]}rS](jUjKjj9]j jK]jjj}rT](j]rU]Xuser interfacerV]aj]j]j]rW]Uid144rX]aj]ujK!jhj]rY](j)�rZ]}r[](jXUser Interfacer\]jjR]j jK]jj"j}r]](j]j]j]j]j]ujK!jhj]r^]j%XUser Interfacer_]…�r`]}ra](jj\]jjZ]ubaubj)�rb]}rc](jUjKjjR]j jK]jjj}rd](j]re]Xdriver configurationrf]aj]j]j]rg]Uid145rh]aj]ujK$jhj]ri](j)�rj]}rk](jXDriver Configurationrl]jjb]j jK]jj"j}rm](j]j]j]j]j]ujK$jhj]rn]j%XDriver Configurationro]…�rp]}rq](jjl]jjj]ubaubjb)�rr]}rs](jX **Board Specific Configuration**rt]jKjjb]j jK]jjfj}ru](j]rv]Uid146rw]aj]j]rx]Xboard-specific-configurationry]aj]j]ujNjhj]rz]j|)�r{]}r|](jjt]j}r}](j]j]j]j]j]ujjr]j]r~]j%XBoard Specific Configurationr]…�r€]}r�](jUjj{]ubajj„ubaubjX)�r‚]}rƒ](jX All board specific configurations eg:enabling and configuring the SRIO SERDES registers and SRIO lane configurations (communication rates, device IDs, etc) are required before calling any driver APIs. Template functions for configuring the SRIO IP and SERDES registers are provided in PDK_INSTALL_DIR\\packages\\ti\\drv\\srio\\device\\\\src\\. A template function is provided for each soc that supports SRIO.jjb]j jK]jj\j}r„](j]j]j]j]j]ujK)jhj]r…]j%X˜All board specific configurations eg:enabling and configuring the SRIO SERDES registers and SRIO lane configurations (communication rates, device IDs, etc) are required before calling any driver APIs. Template functions for configuring the SRIO IP and SERDES registers are provided in PDK_INSTALL_DIR\packages\ti\drv\srio\device\\src\. A template function is provided for each soc that supports SRIO.r†]…�r‡]}rˆ](jX All board specific configurations eg:enabling and configuring the SRIO SERDES registers and SRIO lane configurations (communication rates, device IDs, etc) are required before calling any driver APIs. Template functions for configuring the SRIO IP and SERDES registers are provided in PDK_INSTALL_DIR\\packages\\ti\\drv\\srio\\device\\\\src\\. A template function is provided for each soc that supports SRIO.jj‚]ubaubeubj)�r‰]}rŠ](jUjKjjR]j jK]jjj}r‹](j]rŒ]Xapisr�]aj]j]j]rŽ]Uid147r�]aj]ujK1jhj]r�](j)�r‘]}r’](jXAPIsr“]jj‰]j jK]jj"j}r”](j]j]j]j]j]ujK1jhj]r•]j%XAPIsr–]…�r—]}r˜](jj“]jj‘]ubaubjX)�r™]}rš](jXAPI reference for application:r›]jj‰]j jK]jj\j}rœ](j]j]j]j]j]ujK3jhj]r�]j%XAPI reference for application:rž]…�rŸ]}r ](jj›]jj™]ubaubj#)�r¡]}r¢](jX!#include jj‰]j jK]jj&j}r£](j2j3j]j]j]j]j]ujM¬jhj]r¤]j%X!#include r¥]…�r¦]}r§](jUjj¡]ubaubjX)�r¨]}r©](jX#OSAL API reference for application:rª]jj‰]j jK]jj\j}r«](j]j]j]j]j]ujK9jhj]r¬]j%X#OSAL API reference for application:r­]…�r®]}r¯](jjª]jj¨]ubaubj#)�r°]}r±](jX"#include jj‰]j jK]jj&j}r²](j2j3j]j]j]j]j]ujM²jhj]r³]j%X"#include r´]…�rµ]}r¶](jUjj°]ubaubjb)�r·]}r¸](jX Init SRIOr¹]jj‰]j jK]jjfj}rº](j]r»]U init-srior¼]aj]j]j]j]r½]haujNjhj]r¾]j%X Init SRIOr¿]…�rÀ]}rÁ](jj¹]jj·]ubaubj#)�rÂ]}rÃ](jX#Initialize QMSS and CPPI modules...jj‰]j jK]jj&j}rÄ](j2j3j]j]j]j]j]ujM¹jhj]rÅ]j%X#Initialize QMSS and CPPI modules...rÆ]…�rÇ]}rÈ](jUjjÂ]ubaubj#)�rÉ]}rÊ](jX©... SrioDevice_init(); Srio_init (); ... /* Start the application Managed SRIO Driver. Refer example/test for appCfg fields */ hAppManagedSrioDrv = Srio_start (&appCfg);jj‰]j jK]jj&j}rË](j2j3j]j]j]j]j]ujM½jhj]rÌ]j%X©... SrioDevice_init(); Srio_init (); ... /* Start the application Managed SRIO Driver. Refer example/test for appCfg fields */ hAppManagedSrioDrv = Srio_start (&appCfg);rÍ]…�rÎ]}rÏ](jUjjÉ]ubaubjX)�rÐ]}rÑ](jX_At this point SRIO driver is ready for data transfer on specific instance identified by handle.rÒ]jj‰]j jK]jj\j}rÓ](j]j]j]j]j]ujKOjhj]rÔ]j%X_At this point SRIO driver is ready for data transfer on specific instance identified by handle.rÕ]…�rÖ]}r×](jjÒ]jjÐ]ubaubjb)�rØ]}rÙ](jXSend/Receive APIsrÚ]jj‰]j jK]jjfj}rÛ](j]rÜ]Usendreceive-apisrÝ]aj]j]j]j]rÞ]h~aujNjhj]rß]j%XSend/Receive APIsrà]…�rá]}râ](jjÚ]jjØ]ubaubjX)�rã]}rä](jX**Direct IO**:rå]jj‰]j jK]jj\j}ræ](j]j]j]j]j]ujKUjhj]rç](j|)�rè]}ré](jX **Direct IO**j}rê](j]j]j]j]j]ujjã]j]rë]j%X Direct IOrì]…�rí]}rî](jUjjè]ubajj„ubj%X:…�rï]}rð](jX:jjã]ubeubj#)�rñ]}rò](jXjSrio_sockSend_DIO(Srio_SockHandle srioSock, Srio_DrvBuffer hBuffer, uint32_t size, Srio_SockAddrInfo* to);jj‰]j jK]jj&j}ró](j2j3j]j]j]j]j]ujMÎjhj]rô]j%XjSrio_sockSend_DIO(Srio_SockHandle srioSock, Srio_DrvBuffer hBuffer, uint32_t size, Srio_SockAddrInfo* to);rõ]…�rö]}r÷](jUjjñ]ubaubjX)�rø]}rù](jX **Type 9**:rú]jj‰]j jK]jj\j}rû](j]j]j]j]j]ujK[jhj]rü](j|)�rý]}rþ](jX **Type 9**j}rÿ](j]j]j]j]j]ujjø]j]r^j%XType 9r^…�r^}r^(jUjjý]ubajj„ubj%X:…�r^}r^(jX:jjø]ubeubj#)�r^}r^(jXoSrio_sockSend_TYPE9 (Srio_SockHandle srioSock, Srio_DrvBuffer hBuffer, uint32_t size, Srio_SockAddrInfo* to);jj‰]j jK]jj&j}r^(j2j3j]j]j]j]j]ujMÔjhj]r ^j%XoSrio_sockSend_TYPE9 (Srio_SockHandle srioSock, Srio_DrvBuffer hBuffer, uint32_t size, Srio_SockAddrInfo* to);r ^…�r ^}r ^(jUjj^ubaubjX)�r ^}r^(jX **Type 11**:r^jj‰]j jK]jj\j}r^(j]j]j]j]j]ujKajhj]r^(j|)�r^}r^(jX **Type 11**j}r^(j]j]j]j]j]ujj ^j]r^j%XType 11r^…�r^}r^(jUjj^ubajj„ubj%X:…�r^}r^(jX:jj ^ubeubj#)�r^}r^(jXoSrio_sockSend_TYPE11 (Srio_SockHandle srioSock, Srio_DrvBuffer hBuffer, uint32_t size, Srio_SockAddrInfo* to);jj‰]j jK]jj&j}r^(j2j3j]j]j]j]j]ujMÚjhj]r^j%XoSrio_sockSend_TYPE11 (Srio_SockHandle srioSock, Srio_DrvBuffer hBuffer, uint32_t size, Srio_SockAddrInfo* to);r^…�r ^}r!^(jUjj^ubaubjX)�r"^}r#^(jX **Receive**:r$^jj‰]j jK]jj\j}r%^(j]j]j]j]j]ujKgjhj]r&^(j|)�r'^}r(^(jX **Receive**j}r)^(j]j]j]j]j]ujj"^j]r*^j%XReceiver+^…�r,^}r-^(jUjj'^ubajj„ubj%X:…�r.^}r/^(jX:jj"^ubeubj#)�r0^}r1^(jXeSrio_sockRecv (Srio_SockHandle srioSock, Srio_DrvBuffer* hDrvBuffer,Srio_SockAddrInfo* from);jj‰]j jK]jj&j}r2^(j2j3j]j]j]j]j]ujMàjhj]r3^j%XeSrio_sockRecv (Srio_SockHandle srioSock, Srio_DrvBuffer* hDrvBuffer,Srio_SockAddrInfo* from);r4^…�r5^}r6^(jUjj0^ubaubeubeubj)�r7^}r8^(jUjKjj9]j jK]jjj}r9^(j]r:^X applicationr;^aj]j]j]r<^Uid148r=^aj]ujKnjhj]r>^(j)�r?^}r@^(jX ApplicationrA^jj7^j jK]jj"j}rB^(j]j]j]j]j]ujKnjhj]rC^j%X ApplicationrD^…�rE^}rF^(jjA^jj?^ubaubj)�rG^}rH^(jUjKjj7^j jK]jjj}rI^(j]rJ^XexamplesrK^aj]j]j]rL^Uid149rM^aj]ujKqjhj]rN^(j)�rO^}rP^(jXExamplesrQ^jjG^j jK]jj"j}rR^(j]j]j]j]j]ujKqjhj]rS^j%XExamplesrT^…�rU^}rV^(jjQ^jjO^ubaubj¶)�rW^}rX^(jUjjG^j jK]jj¹j}rY^(j]j]j]j]j]ujNjhj]rZ^j¼)�r[^}r\^(jUj}r]^(j]j]j]j]j]UcolsKujjW^j]r^^(jÁ)�r_^}r`^(jUj}ra^(j]j]j]j]j]UcolwidthKujj[^j]jjÅubjÁ)�rb^}rc^(jUj}rd^(j]j]j]j]j]UcolwidthKujj[^j]jjÅubjÁ)�re^}rf^(jUj}rg^(j]j]j]j]j]UcolwidthKujj[^j]jjÅubjÒ)�rh^}ri^(jUj}rj^(j]j]j]j]j]ujj[^j]rk^j×)�rl^}rm^(jUj}rn^(j]j]j]j]j]ujjh^j]ro^(jÜ)�rp^}rq^(jUj}rr^(j]j]j]j]j]ujjl^j]rs^jX)�rt^}ru^(jXNamerv^jjp^j jK]jj\j}rw^(j]j]j]j]j]ujKtj]rx^j%XNamery^…�rz^}r{^(jjv^jjt^ubaubajjéubjÜ)�r|^}r}^(jUj}r~^(j]j]j]j]j]ujjl^j]r^jÁ)�r€^}r�^(jUj}r‚^(j]j]j]j]j]ujj|^j]rƒ^jÇ)�r„^}r…^(jX Descriptionr†^jÊKjj€^j jK]jjj}r‡^(j]j]j]j]j]ujKj]rˆ^j%X Descriptionr‰^…�rŠ^}r‹^(jj†^jj„^ubaubajjÄubajjéubjÜ)�rŒ^}r�^(jUj}rŽ^(j]j]j]j]j]ujjl^j]r�^jX)�r�^}r‘^(jXExpected Resultsr’^jjŒ^j jK]jj\j}r“^(j]j]j]j]j]ujKtj]r”^j%XExpected Resultsr•^…�r–^}r—^(jj’^jj�^ubaubajjéubejjubajjubj)�r˜^}r™^(jUj}rš^(j]j]j]j]j]ujj[^j]r›^(j×)�rœ^}r�^(jUj}rž^(j]j]j]j]j]ujj˜^j]rŸ^(jÜ)�r ^}r¡^(jUj}r¢^(j]j]j]j]j]ujjœ^j]r£^jX)�r¤^}r¥^(jX Loopback DIO ISR Example Projectr¦^jj ^j jK]jj\j}r§^(j]j]j]j]j]ujKvj]r¨^j%X Loopback DIO ISR Example Projectr©^…�rª^}r«^(jj¦^jj¤^ubaubajjéubjÜ)�r¬^}r­^(jUj}r®^(j]j]j]j]j]ujjœ^j]r¯^(jÁ)�r°^}r±^(jUj}r²^(j]j]j]j]j]ujj¬^j]r³^jÇ)�r´^}rµ^(jXÓThe example is a demonstration of the SRIO driver running the SRIO IP Block in loopback mode. The example showcases the use of SRIO DIO sockets using LSU interrupts to indicate the completion of packet transfer.r¶^jÊKjj°^j jK]jjj}r·^(j]j]j]j]j]ujKj]r¸^j%XÓThe example is a demonstration of the SRIO driver running the SRIO IP Block in loopback mode. The example showcases the use of SRIO DIO sockets using LSU interrupts to indicate the completion of packet transfer.r¹^…�rº^}r»^(jj¶^jj´^ubaubajjÄubjÁ)�r¼^}r½^(jUj}r¾^(j]j]j]j]j]ujj¬^j]r¿^jÇ)�rÀ^}rÁ^(jX‰It is shown how multiple sockets with different Source IDs can post transactions and process the pending interrupt raised by SRIO device.rÂ^jÊKjj¼^j jK]jjj}rÃ^(j]j]j]j]j]ujKj]rÄ^j%X‰It is shown how multiple sockets with different Source IDs can post transactions and process the pending interrupt raised by SRIO device.rÅ^…�rÆ^}rÇ^(jjÂ^jjÀ^ubaubajjÄubejjéubjÜ)�rÈ^}rÉ^(jUj}rÊ^(j]j]j]j]j]ujjœ^j]rË^jX)�rÌ^}rÍ^(jXªThe application will run through a set of DIO tests. Upon successful completion the following string will be printed "DIO with Interrupts example completed successfully."rÎ^jjÈ^j jK]jj\j}rÏ^(j]j]j]j]j]ujKvj]rÐ^j%XªThe application will run through a set of DIO tests. Upon successful completion the following string will be printed "DIO with Interrupts example completed successfully."rÑ^…�rÒ^}rÓ^(jjÎ^jjÌ^ubaubajjéubejjubj×)�rÔ^}rÕ^(jUj}rÖ^(j]j]j]j]j]ujj˜^j]r×^(jÜ)�rØ^}rÙ^(jUj}rÚ^(j]j]j]j]j]ujjÔ^j]rÛ^jX)�rÜ^}rÝ^(jX"Multicore Loopback Example ProjectrÞ^jjØ^j jK]jj\j}rß^(j]j]j]j]j]ujKŒj]rà^j%X"Multicore Loopback Example Projectrá^…�râ^}rã^(jjÞ^jjÜ^ubaubajjéubjÜ)�rä^}rå^(jUj}ræ^(j]j]j]j]j]ujjÔ^j]rç^(jÁ)�rè^}ré^(jUj}rê^(j]j]j]j]j]ujjä^j]rë^jÇ)�rì^}rí^(jX;The example is a demonstration of the SRIO driver while operating in a Multicore environment by running the SRIO IP Block in loopback mode. The test case here showcases the SRIO Driver API being multicore safe and using the SRIO IP peripheral to exchange messages between different cores running on the same device.rî^jÊKjjè^j jK]jjj}rï^(j]j]j]j]j]ujKj]rð^j%X;The example is a demonstration of the SRIO driver while operating in a Multicore environment by running the SRIO IP Block in loopback mode. The test case here showcases the SRIO Driver API being multicore safe and using the SRIO IP peripheral to exchange messages between different cores running on the same device.rñ^…�rò^}ró^(jjî^jjì^ubaubajjÄubjÁ)�rô^}rõ^(jUj}rö^(j]j]j]j]j]ujjä^j]r÷^jÇ)�rø^}rù^(jXnIn this test case each core performs the role of a producer and consumer. The test starts with Core 1 sending data to Core 2. Core 2 receives and validates the data and sends another data message to Core3; which receives and validates the data and sends another different data message to Core 0. Core 0 then sends a message to Core 1 which is received and validated.rú^jÊKjjô^j jK]jjj}rû^(j]j]j]j]j]ujKj]rü^j%XnIn this test case each core performs the role of a producer and consumer. The test starts with Core 1 sending data to Core 2. Core 2 receives and validates the data and sends another data message to Core3; which receives and validates the data and sends another different data message to Core 0. Core 0 then sends a message to Core 1 which is received and validated.rý^…�rþ^}rÿ^(jjú^jjø^ubaubajjÄubejjéubjÜ)�r_}r_(jUj}r_(j]j]j]j]j]ujjÔ^j]r_jX)�r_}r_(jXÓThe application will run through a set of tests sending and receiving data between two cores over SRIO. Upon successful completion the following string will be printed "Multicore Test Passed" from each DSP core.r_jj_j jK]jj\j}r_(j]j]j]j]j]ujKŒj]r_j%XÓThe application will run through a set of tests sending and receiving data between two cores over SRIO. Upon successful completion the following string will be printed "Multicore Test Passed" from each DSP core.r _…�r _}r _(jj_jj_ubaubajjéubejjubj×)�r _}r _(jUj}r_(j]j]j]j]j]ujj˜^j]r_(jÜ)�r_}r_(jUj}r_(j]j]j]j]j]ujj _j]r_jX)�r_}r_(jX Loopback Testr_jj_j jK]jj\j}r_(j]j]j]j]j]ujKµj]r_j%X Loopback Testr_…�r_}r_(jj_jj_ubaubajjéubjÜ)�r_}r_(jUj}r_(j]j]j]j]j]ujj _j]r_jÁ)�r _}r!_(jUj}r"_(j]j]j]j]j]ujj_j]r#_jÇ)�r$_}r%_(jX&Unit Test application to test all APIsr&_jÊKjj _j jK]jjj}r'_(j]j]j]j]j]ujKj]r(_j%X&Unit Test application to test all APIsr)_…�r*_}r+_(jj&_jj$_ubaubajjÄubajjéubjÜ)�r,_}r-_(jUj}r._(j]j]j]j]j]ujj _j]r/_jX)�r0_}r1_(jXÇThe application will run through a set of tests to verify all SRIO LLD APIS. Upon successful completion the following string will be printed "Unit Testing completed successfully." from each DSP core.r2_jj,_j jK]jj\j}r3_(j]j]j]j]j]ujKµj]r4_j%XÇThe application will run through a set of tests to verify all SRIO LLD APIS. Upon successful completion the following string will be printed "Unit Testing completed successfully." from each DSP core.r5_…�r6_}r7_(jj2_jj0_ubaubajjéubejjubj×)�r8_}r9_(jUj}r:_(j]j]j]j]j]ujj˜^j]r;_(jÜ)�r<_}r=_(jUj}r>_(j]j]j]j]j]ujj8_j]r?_jX)�r@_}rA_(jXSRIO Benchmarking TestrB_jj<_j jK]jj\j}rC_(j]j]j]j]j]ujKÃj]rD_j%XSRIO Benchmarking TestrE_…�rF_}rG_(jjB_jj@_ubaubajjéubjÜ)�rH_}rI_(jUj}rJ_(j]j]j]j]j]ujj8_j]rK_jÁ)�rL_}rM_(jUj}rN_(j]j]j]j]j]ujjH_j]rO_jÇ)�rP_}rQ_(jX?The SRIO benchmarking example code is created to allow customers to run benchmarks on their own TI EVMs with code that utilizes the SRIO LLD APIs. The benchmarking example code allows the user to run core to core in loopback mode (internal or external) on a single EVM, or board to board using the external interface between two EVMs. This document’s purpose is to explain how measurements are obtained and how to configure the example code for different test scenarios. SRIO physical connectivity or external SRIO switch configuration is beyond the scope of this document.rR_jÊKjjL_j jK]jjj}rS_(j]j]j]j]j]ujKj]rT_j%X?The SRIO benchmarking example code is created to allow customers to run benchmarks on their own TI EVMs with code that utilizes the SRIO LLD APIs. The benchmarking example code allows the user to run core to core in loopback mode (internal or external) on a single EVM, or board to board using the external interface between two EVMs. This document’s purpose is to explain how measurements are obtained and how to configure the example code for different test scenarios. SRIO physical connectivity or external SRIO switch configuration is beyond the scope of this document.rU_…�rV_}rW_(jjR_jjP_ubaubajjÄubajjéubjÜ)�rX_}rY_(jUj}rZ_(j]j]j]j]j]ujj8_j]r[_jX)�r\_}r]_(jXéReview the SRIO Benchmarking Example documentation located in PDK_INSTALL_DIR\\packa ges\\ti\\drv\\srio\\test\\ tput_benchmarking\\doc s\\SRIO_Benchmarking_E xample_Code_Guide.doc for more information on the tests pass/fail criteria.jjX_j jK]jj\j}r^_(j]j]j]j]j]ujKÃj]r__j%XáReview the SRIO Benchmarking Example documentation located in PDK_INSTALL_DIR\packa ges\ti\drv\srio\test\ tput_benchmarking\doc s\SRIO_Benchmarking_E xample_Code_Guide.doc for more information on the tests pass/fail criteria.r`_…�ra_}rb_(jXéReview the SRIO Benchmarking Example documentation located in PDK_INSTALL_DIR\\packa ges\\ti\\drv\\srio\\test\\ tput_benchmarking\\doc s\\SRIO_Benchmarking_E xample_Code_Guide.doc for more information on the tests pass/fail criteria.jj\_ubaubajjéubejjubejjðubejjñubaubjÁ)�rc_}rd_(jUjjG^j jK]jjÄj}re_(j]j]j]j]j]ujKãjhj]rf_jÇ)�rg_}rh_(jUjÊKjjc_j jK]jjj}ri_(j]j]j]j]j]ujKjhj]ubaubeubeubj)�rj_}rk_(jUjKjj9]j jK]jjj}rl_(j]rm_Xadditional referencesrn_aj]j]j]ro_Uid150rp_aj]ujKæjhj]rq_(j)�rr_}rs_(jXAdditional Referencesrt_jjj_j jK]jj"j}ru_(j]j]j]j]j]ujKæjhj]rv_j%XAdditional Referencesrw_…�rx_}ry_(jjt_jjr_ubaubj¶)�rz_}r{_(jUjjj_j jK]jj¹j}r|_(j]j]j]j]j]ujNjhj]r}_j¼)�r~_}r_(jUj}r€_(j]j]j]j]j]UcolsKujjz_j]r�_(jÁ)�r‚_}rƒ_(jUj}r„_(j]j]j]j]j]UcolwidthK#ujj~_j]jjÅubjÁ)�r…_}r†_(jUj}r‡_(j]j]j]j]j]UcolwidthK(ujj~_j]jjÅubj)�rˆ_}r‰_(jUj}rŠ_(j]j]j]j]j]ujj~_j]r‹_(j×)�rŒ_}r�_(jUj}rŽ_(j]j]j]j]j]ujjˆ_j]r�_(jÜ)�r�_}r‘_(jUj}r’_(j]j]j]j]j]ujjŒ_j]r“_jX)�r”_}r•_(jX **Document**r–_jj�_j jK]jj\j}r—_(j]j]j]j]j]ujKéj]r˜_j|)�r™_}rš_(jj–_j}r›_(j]j]j]j]j]ujj”_j]rœ_j%XDocumentr�_…�rž_}rŸ_(jUjj™_ubajj„ubaubajjéubjÜ)�r _}r¡_(jUj}r¢_(j]j]j]j]j]ujjŒ_j]r£_jX)�r¤_}r¥_(jX **Location**r¦_jj _j jK]jj\j}r§_(j]j]j]j]j]ujKéj]r¨_j|)�r©_}rª_(jj¦_j}r«_(j]j]j]j]j]ujj¤_j]r¬_j%XLocationr­_…�r®_}r¯_(jUjj©_ubajj„ubaubajjéubejjubj×)�r°_}r±_(jUj}r²_(j]j]j]j]j]ujjˆ_j]r³_(jÜ)�r´_}rµ_(jUj}r¶_(j]j]j]j]j]ujj°_j]r·_jX)�r¸_}r¹_(jXAPI Reference Manualrº_jj´_j jK]jj\j}r»_(j]j]j]j]j]ujKëj]r¼_j%XAPI Reference Manualr½_…�r¾_}r¿_(jjº_jj¸_ubaubajjéubjÜ)�rÀ_}rÁ_(jUj}rÂ_(j]j]j]j]j]ujj°_j]rÃ_jX)�rÄ_}rÅ_(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\srio\\docs\\doxygen\\html\\index .htmljjÀ_j jK]jj\j}rÆ_(j]j]j]j]j]ujKëj]rÇ_j%XI$(TI_PDK_INSTALL_DIR)\packages\ti \drv\srio\docs\doxygen\html\index .htmlrÈ_…�rÉ_}rÊ_(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\srio\\docs\\doxygen\\html\\index .htmljjÄ_ubaubajjéubejjubj×)�rË_}rÌ_(jUj}rÍ_(j]j]j]j]j]ujjˆ_j]rÎ_(jÜ)�rÏ_}rÐ_(jUj}rÑ_(j]j]j]j]j]ujjË_j]rÒ_jX)�rÓ_}rÔ_(jX Release NotesrÕ_jjÏ_j jK]jj\j}rÖ_(j]j]j]j]j]ujKïj]r×_j%X Release NotesrØ_…�rÙ_}rÚ_(jjÕ_jjÓ_ubaubajjéubjÜ)�rÛ_}rÜ_(jUj}rÝ_(j]j]j]j]j]ujjË_j]rÞ_jX)�rß_}rà_(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\srio\\docs\\ReleaseNotes_SRIOD river.pdfjjÛ_j jK]jj\j}rá_(j]j]j]j]j]ujKïj]râ_j%XM$(TI_PDK_INSTALL_DIR)\packages\ti \drv\srio\docs\ReleaseNotes_SRIOD river.pdfrã_…�rä_}rå_(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\srio\\docs\\ReleaseNotes_SRIOD river.pdfjjß_ubaubajjéubejjubejjðubejjñubaubjÁ)�ræ_}rç_(jUjjj_j jK]jjÄj}rè_(j]j]j]j]j]ujKôjhj]ré_jÇ)�rê_}rë_(jUjÊKjjæ_j jK]jjj}rì_(j]j]j]j]j]ujKjhj]ubaubeubeubj jK]jjj}rí_(j]rî_Xoverviewrï_aj]j]j]rð_Uid141rñ_aj]ujKjhj]rò_(j)�ró_}rô_(jXOverviewrõ_jj7]j jK]jj"j}rö_(j]j]j]j]j]ujKjhj]r÷_j%XOverviewrø_…�rù_}rú_(jjõ_jjó_ubaubj)�rû_}rü_(jUjKjj7]j jK]jjj}rý_(j]rþ_X introductionrÿ_aj]j]j]r`Uid142r`aj]ujKjhj]r`(j)�r`}r`(jX Introductionr`jjû_j jK]jj"j}r`(j]j]j]j]j]ujKjhj]r`j%X Introductionr`…�r `}r `(jj`jj`ubaubjX)�r `}r `(jX¯Driver enables the high-bandwidth system level interconnects. It is intended to offer Gigabyte per second performance levels for chip-to-chip and board-to-board communication.r `jjû_j jK]jj\j}r`(j]j]j]j]j]ujK jhj]r`j%X¯Driver enables the high-bandwidth system level interconnects. It is intended to offer Gigabyte per second performance levels for chip-to-chip and board-to-board communication.r`…�r`}r`(jj `jj `ubaubjb)�r`}r`(jXModes of Operationr`jKjjû_j jK]jjfj}r`(j]r`Uid143r`aj]j]r`Xmodes-of-operationr`aj]j]ujNjhj]r`j%XModes of Operationr`…�r`}r`(jj`jj`ubaubjX)�r`}r `(jX+Following modes of operations are supportedr!`jjû_j jK]jj\j}r"`(j]j]j]j]j]ujKjhj]r#`j%X+Following modes of operations are supportedr$`…�r%`}r&`(jj!`jj`ubaubjX)�r'`}r(`(jXü**Direct I/O**: The SRIO packet contains the specific address where the data should be stored or read in the destination device. This means that the source device must have detailed knowledge of the available memory space within the destination device.jjû_j jK]jj\j}r)`(j]j]j]j]j]ujKjhj]r*`(j|)�r+`}r,`(jX**Direct I/O**j}r-`(j]j]j]j]j]ujj'`j]r.`j%X Direct I/Or/`…�r0`}r1`(jUjj+`ubajj„ubj%Xî: The SRIO packet contains the specific address where the data should be stored or read in the destination device. This means that the source device must have detailed knowledge of the available memory space within the destination device.r2`…�r3`}r4`(jXî: The SRIO packet contains the specific address where the data should be stored or read in the destination device. This means that the source device must have detailed knowledge of the available memory space within the destination device.jj'`ubeubjX)�r5`}r6`(jX**Type 9**: A destination address is not specified. Instead the Stream ID is used to map the request to a specific memory region by the local (destination) device. TI IP additionally uses Class of Service (COS) as well to further classify the mapping of a request to a memory region.jjû_j jK]jj\j}r7`(j]j]j]j]j]ujKjhj]r8`(j|)�r9`}r:`(jX **Type 9**j}r;`(j]j]j]j]j]ujj5`j]r<`j%XType 9r=`…�r>`}r?`(jUjj9`ubajj„ubj%X: A destination address is not specified. Instead the Stream ID is used to map the request to a specific memory region by the local (destination) device. TI IP additionally uses Class of Service (COS) as well to further classify the mapping of a request to a memory region.r@`…�rA`}rB`(jX: A destination address is not specified. Instead the Stream ID is used to map the request to a specific memory region by the local (destination) device. TI IP additionally uses Class of Service (COS) as well to further classify the mapping of a request to a memory region.jj5`ubeubjX)�rC`}rD`(jXÄ**Type 11**: A destination address is not specified, instead, a mailbox identifier is used within the SRIO packet. The mailbox is controlled and mapped to memory by the local (destination) device.jjû_j jK]jj\j}rE`(j]j]j]j]j]ujKjhj]rF`(j|)�rG`}rH`(jX **Type 11**j}rI`(j]j]j]j]j]ujjC`j]rJ`j%XType 11rK`…�rL`}rM`(jUjjG`ubajj„ubj%X¹: A destination address is not specified, instead, a mailbox identifier is used within the SRIO packet. The mailbox is controlled and mapped to memory by the local (destination) device.rN`…�rO`}rP`(jX¹: A destination address is not specified, instead, a mailbox identifier is used within the SRIO packet. The mailbox is controlled and mapped to memory by the local (destination) device.jjC`ubeubeubeubj jK]jj?j}rQ`(j]UlevelKj]j]rR`jñ_aUsourcejK]j]j]UlineKUtypejAujKjhj]rS`jX)�rT`}rU`(jX+Duplicate implicit target name: "overview".j}rV`(j]j]j]j]j]ujj5]j]rW`j%X+Duplicate implicit target name: "overview".rX`…�rY`}rZ`(jUjjT`ubajj\ubaubhÿ)�r[`}r\`(jUjjû_j jK]jj?j}r]`(j]UlevelKj]j]r^`j`aUsourcejK]j]j]UlineKUtypejAujKjhj]r_`jX)�r``}ra`(jX/Duplicate implicit target name: "introduction".j}rb`(j]j]j]j]j]ujj[`j]rc`j%X/Duplicate implicit target name: "introduction".rd`…�re`}rf`(jUjj``ubajj\ubaubhÿ)�rg`}rh`(jUj}ri`(j]UlevelKj]j]rj`j`aUsourcej j]j]UlineKiUtypejXujj`j]rk`jX)�rl`}rm`(jX5Duplicate explicit target name: "modes-of-operation".j}rn`(j]j]j]j]j]ujjg`j]ro`j%X5Duplicate explicit target name: "modes-of-operation".rp`…�rq`}rr`(jUjjl`ubajj\ubajj?ubhÿ)�rs`}rt`(jUjjR]j jK]jj?j}ru`(j]UlevelKj]j]rv`jX]aUsourcejK]j]j]UlineK!UtypejAujK!jhj]rw`jX)�rx`}ry`(jX1Duplicate implicit target name: "user interface".j}rz`(j]j]j]j]j]ujjs`j]r{`j%X1Duplicate implicit target name: "user interface".r|`…�r}`}r~`(jUjjx`ubajj\ubaubhÿ)�r`}r€`(jUjjb]j jK]jj?j}r�`(j]UlevelKj]j]r‚`jh]aUsourcejK]j]j]UlineK$UtypejAujK$jhj]rƒ`jX)�r„`}r…`(jX7Duplicate implicit target name: "driver configuration".j}r†`(j]j]j]j]j]ujj`j]r‡`j%X7Duplicate implicit target name: "driver configuration".rˆ`…�r‰`}rŠ`(jUjj„`ubajj\ubaubhÿ)�r‹`}rŒ`(jUj}r�`(j]UlevelKj]j]rŽ`jw]aUsourcej j]j]UlineKiUtypejXujjr]j]r�`jX)�r�`}r‘`(jX?Duplicate explicit target name: "board-specific-configuration".j}r’`(j]j]j]j]j]ujj‹`j]r“`j%X?Duplicate explicit target name: "board-specific-configuration".r”`…�r•`}r–`(jUjj�`ubajj\ubajj?ubhÿ)�r—`}r˜`(jUjj‰]j jK]jj?j}r™`(j]UlevelKj]j]rš`j�]aUsourcejK]j]j]UlineK1UtypejAujK1jhj]r›`jX)�rœ`}r�`(jX'Duplicate implicit target name: "apis".j}rž`(j]j]j]j]j]ujj—`j]rŸ`j%X'Duplicate implicit target name: "apis".r `…�r¡`}r¢`(jUjjœ`ubajj\ubaubhÿ)�r£`}r¤`(jUjj7^j jK]jj?j}r¥`(j]UlevelKj]j]r¦`j=^aUsourcejK]j]j]UlineKnUtypejAujKnjhj]r§`jX)�r¨`}r©`(jX.Duplicate implicit target name: "application".j}rª`(j]j]j]j]j]ujj£`j]r«`j%X.Duplicate implicit target name: "application".r¬`…�r­`}r®`(jUjj¨`ubajj\ubaubhÿ)�r¯`}r°`(jUjjG^j jK]jj?j}r±`(j]UlevelKj]j]r²`jM^aUsourcejK]j]j]UlineKqUtypejAujKqjhj]r³`jX)�r´`}rµ`(jX+Duplicate implicit target name: "examples".j}r¶`(j]j]j]j]j]ujj¯`j]r·`j%X+Duplicate implicit target name: "examples".r¸`…�r¹`}rº`(jUjj´`ubajj\ubaubhÿ)�r»`}r¼`(jUjjj_j jK]jj?j}r½`(j]UlevelKj]j]r¾`jp_aUsourcejK]j]j]UlineKæUtypejAujKæjhj]r¿`jX)�rÀ`}rÁ`(jX8Duplicate implicit target name: "additional references".j}rÂ`(j]j]j]j]j]ujj»`j]rÃ`j%X8Duplicate implicit target name: "additional references".rÄ`…�rÅ`}rÆ`(jUjjÀ`ubajj\ubaubhÿ)�rÇ`}rÈ`(jUjj)�rÉ`}rÊ`(jUjKjj)�rË`}rÌ`(jUjhj j jjj}rÍ`(j]j]j]j]rÎ`UhyplnkrÏ`aj]rÐ`h½aujKojhj]rÑ`(j)�rÒ`}rÓ`(jXHYPLNKrÔ`jjË`j j jj"j}rÕ`(j]j]j]j]j]ujKojhj]rÖ`j%XHYPLNKr×`…�rØ`}rÙ`(jjÔ`jjÒ`ubaubj))�rÚ`}rÛ`(jXAhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_HYPLNKjjË`j j,X?source/rtos/PDK_Platform_Software/Device_Drivers/HYPLNK.rst.incrÜ`…�rÝ`}rÞ`bjj0j}rß`(j2j3j]j]j]j]j]ujKjhj]rà`j%XAhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_HYPLNKrá`…�râ`}rã`(jUjjÚ`ubaubjÉ`j)�rä`}rå`(jUjKjjË`j jÝ`jjj}ræ`(j]rç`Xuser interfacerè`aj]j]j]ré`Uid155rê`aj]ujK#jhj]rë`(j)�rì`}rí`(jXUser Interfacerî`jjä`j jÝ`jj"j}rï`(j]j]j]j]j]ujK#jhj]rð`j%XUser Interfacerñ`…�rò`}ró`(jjî`jjì`ubaubj)�rô`}rõ`(jUjKjjä`j jÝ`jjj}rö`(j]r÷`Xdriver configurationrø`aj]j]j]rù`Uid156rú`aj]ujK&jhj]rû`(j)�rü`}rý`(jXDriver Configurationrþ`jjô`j jÝ`jj"j}rÿ`(j]j]j]j]j]ujK&jhj]raj%XDriver Configurationra…�ra}ra(jjþ`jjü`ubaubjX)�ra}ra(jX¦The driver itself is entirely configured via API at runtime. However, the examples are configured using compiler flags that are in hyplnkPlatCfg.h and hyplnkLLDCfg.h.rajjô`j jÝ`jj\j}ra(j]j]j]j]j]ujK(jhj]raj%X¦The driver itself is entirely configured via API at runtime. However, the examples are configured using compiler flags that are in hyplnkPlatCfg.h and hyplnkLLDCfg.h.r a…�r a}r a(jjajjaubaubjb)�r a}r a(jX!Hyperlink configuration structurerajjô`j jÝ`jjfj}ra(j]raU!hyperlink-configuration-structureraaj]j]j]j]rah�aujNjhj]raj%X!Hyperlink configuration structurera…�ra}ra(jjajj aubaubjX)�ra}ra(jX~The hyplnk_device.c binds the driver to the hardware on the board. It is passed into the driver via the call to Hyplnk_init().rajjô`j jÝ`jj\j}ra(j]j]j]j]j]ujK/jhj]raj%X~The hyplnk_device.c binds the driver to the hardware on the board. It is passed into the driver via the call to Hyplnk_init().ra…�ra}ra(jjajjaubaubeubj)�ra}r a(jUjKjjä`j jÝ`jjj}r!a(j]r"aXapisr#aaj]j]j]r$aUid157r%aaj]ujK3jhj]r&a(j)�r'a}r(a(jXAPIsr)ajjaj jÝ`jj"j}r*a(j]j]j]j]j]ujK3jhj]r+aj%XAPIsr,a…�r-a}r.a(jj)ajj'aubaubjb)�r/a}r0a(jX API Call Flowr1ajKjjaj jÝ`jjfj}r2a(j]r3aUid158r4aaj]j]r5aX api-call-flowr6aaj]j]ujNjhj]r7aj%X API Call Flowr8a…�r9a}r:a(jj1ajj/aubaubjX)�r;a}raj%XKThe API call flow is covered in examplememoryMappedExamplesrchyplnkExample.r?a…�r@a}rAa(jXNThe API call flow is covered in example\memoryMappedExample\src\hyplnkExample.jj;aubaubjX)�rBa}rCa(jXThey key parts are:rDajjaj jÝ`jj\j}rEa(j]j]j]j]j]ujK;jhj]rFaj%XThey key parts are:rGa…�rHa}rIa(jjDajjBaubaubj`)�rJa}rKa(jUjjaj jÝ`jjcj}rLa(jeU.j]j]j]jfUj]j]jgjhujK=jhj]rMa(j)�rNa}rOa(jX%Initialize the LLD via Hyplnk_init().rPajjJaj jÝ`jj j}rQa(j]j]j]j]j]ujNjhj]rRajX)�rSa}rTa(jjPajjNaj jÝ`jj\j}rUa(j]j]j]j]j]ujK=j]rVaj%X%Initialize the LLD via Hyplnk_init().rWa…�rXa}rYa(jjPajjSaubaubaubj)�rZa}r[a(jXUConfigure PLL, PSC and memories via hyplnkExampleSysSetup() which is all example codejjJaj jÝ`jj j}r\a(j]j]j]j]j]ujNjhj]r]ajX)�r^a}r_a(jXUConfigure PLL, PSC and memories via hyplnkExampleSysSetup() which is all example coder`ajjZaj jÝ`jj\j}raa(j]j]j]j]j]ujK>j]rbaj%XUConfigure PLL, PSC and memories via hyplnkExampleSysSetup() which is all example coderca…�rda}rea(jj`ajj^aubaubaubj)�rfa}rga(jXInstall ISR(s)rhajjJaj jÝ`jj j}ria(j]j]j]j]j]ujNjhj]rjajX)�rka}rla(jjhajjfaj jÝ`jj\j}rma(j]j]j]j]j]ujK@j]rnaj%XInstall ISR(s)roa…�rpa}rqa(jjhajjkaubaubaubj)�rra}rsa(jXBEnable the peripheral using sequence in hyplnkExamplePeriphSetup()rtajjJaj jÝ`jj j}rua(j]j]j]j]j]ujNjhj]rvajX)�rwa}rxa(jjtajjraj jÝ`jj\j}rya(j]j]j]j]j]ujKAj]rzaj%XBEnable the peripheral using sequence in hyplnkExamplePeriphSetup()r{a…�r|a}r}a(jjtajjwaubaubaubj)�r~a}ra(jX8Open memory maps using hyplnkExampleAddrMap() as a guider€ajjJaj jÝ`jj j}r�a(j]j]j]j]j]ujNjhj]r‚ajX)�rƒa}r„a(jj€ajj~aj jÝ`jj\j}r…a(j]j]j]j]j]ujKBj]r†aj%X8Open memory maps using hyplnkExampleAddrMap() as a guider‡a…�rˆa}r‰a(jj€ajjƒaubaubaubj)�rŠa}r‹a(jX]Exchange data with memcpy or EDMA using mapped address (returned from hyplnkExampleAddrMap). jjJaj jÝ`jj j}rŒa(j]j]j]j]j]ujNjhj]r�ajX)�rŽa}r�a(jX\Exchange data with memcpy or EDMA using mapped address (returned from hyplnkExampleAddrMap).r�ajjŠaj jÝ`jj\j}r‘a(j]j]j]j]j]ujKCj]r’aj%X\Exchange data with memcpy or EDMA using mapped address (returned from hyplnkExampleAddrMap).r“a…�r”a}r•a(jj�ajjŽaubaubaubeubjÁ)�r–a}r—a(jUjjaj jÝ`jjÄj}r˜a(j]j]j]j]j]ujKFjhj]r™ajÇ)�rša}r›a(jUjÊKjj–aj jÝ`jjj}rœa(j]j]j]j]j]ujKjhj]ubaubeubeubj)�r�a}rža(jUjKjjË`j jÝ`jjj}rŸa(j]r aX applicationr¡aaj]j]j]r¢aUid159r£aaj]ujKIjhj]r¤a(j)�r¥a}r¦a(jX Applicationr§ajj�aj jÝ`jj"j}r¨a(j]j]j]j]j]ujKIjhj]r©aj%X Applicationrªa…�r«a}r¬a(jj§ajj¥aubaubj)�r­a}r®a(jUjKjj�aj jÝ`jjj}r¯a(j]r°aXexamplesr±aaj]j]j]r²aUid160r³aaj]ujKLjhj]r´a(j)�rµa}r¶a(jXExamplesr·ajj­aj jÝ`jj"j}r¸a(j]j]j]j]j]ujKLjhj]r¹aj%XExamplesrºa…�r»a}r¼a(jj·ajjµaubaubjX)�r½a}r¾a(jXzHyperlink/hyplnk is supported only on Keystone devices. It is available on 6678, 6657, K2H, K2K, K2E. All examples can be used in either loopback (on any EVM without any special cables or breakout cards) or with two boards. For 6678 or 6657, the required cable is `HL5CABLE `__. For K2H/K2K/K2E, the breakout card is `RTM-BOCRT `__, and the cable is also required. Below is a picture showing how a K2H EVM is connected to a 6678 EVM via breakout card and cable.jj­aj jÝ`jj\j}r¿a(j]j]j]j]j]ujKNjhj]rÀa(j%XHyperlink/hyplnk is supported only on Keystone devices. It is available on 6678, 6657, K2H, K2K, K2E. All examples can be used in either loopback (on any EVM without any special cables or breakout cards) or with two boards. For 6678 or 6657, the required cable is rÁa…�rÂa}rÃa(jXHyperlink/hyplnk is supported only on Keystone devices. It is available on 6678, 6657, K2H, K2K, K2E. All examples can be used in either loopback (on any EVM without any special cables or breakout cards) or with two boards. For 6678 or 6657, the required cable is jj½aubj)�rÄa}rÅa(jXG`HL5CABLE `__j}rÆa(UnameXHL5CABLEjX8https://store.ti.com/HL5CABLE-Hyperlink-Cable-P2888.aspxj]j]j]j]j]ujj½aj]rÇaj%XHL5CABLErÈa…�rÉa}rÊa(jUjjÄaubajjubj%X(. For K2H/K2K/K2E, the breakout card is rËa…�rÌa}rÍa(jX(. For K2H/K2K/K2E, the breakout card is jj½aubj)�rÎa}rÏa(jX�`RTM-BOCRT `__j}rÐa(UnameX RTM-BOCRTjXqhttp://www.ti.com/devnet/docs/catalog/endequipmentproductfolder.tsp?actionPerformed=productFolder&productId=17440j]j]j]j]j]ujj½aj]rÑaj%X RTM-BOCRTrÒa…�rÓa}rÔa(jUjjÎaubajjubj%X‚, and the cable is also required. Below is a picture showing how a K2H EVM is connected to a 6678 EVM via breakout card and cable.rÕa…�rÖa}r×a(jX‚, and the cable is also required. Below is a picture showing how a K2H EVM is connected to a 6678 EVM via breakout card and cable.jj½aubeubj^)�rØa}rÙa(jX&.. Image:: ../images/K2-k1-hyplnk.jpg jj­aj jÝ`jjaj}rÚa(UuriXrtos/../images/K2-k1-hyplnk.jpgrÛaj]j]j]j]jd}rÜaU*jÛasj]ujKZjhj]ubj¶)�rÝa}rÞa(jUjj­aj jÝ`jj¹j}rßa(j]j]j]j]j]ujNjhj]ràaj¼)�ráa}râa(jUj}rãa(j]j]j]j]j]UcolsKujjÝaj]räa(jÁ)�råa}ræa(jUj}rça(j]j]j]j]j]UcolwidthKujjáaj]jjÅubjÁ)�rèa}réa(jUj}rêa(j]j]j]j]j]UcolwidthKujjáaj]jjÅubjÁ)�rëa}rìa(jUj}ría(j]j]j]j]j]UcolwidthKujjáaj]jjÅubjÁ)�rîa}rïa(jUj}rða(j]j]j]j]j]UcolwidthKujjáaj]jjÅubjÒ)�rña}ròa(jUj}róa(j]j]j]j]j]ujjáaj]rôaj×)�rõa}röa(jUj}r÷a(j]j]j]j]j]ujjñaj]røa(jÜ)�rùa}rúa(jUj}rûa(j]j]j]j]j]ujjõaj]rüajX)�rýa}rþa(jXNamerÿajjùaj jÝ`jj\j}rb(j]j]j]j]j]ujK\j]rbj%XNamerb…�rb}rb(jjÿajjýaubaubajjéubjÜ)�rb}rb(jUj}rb(j]j]j]j]j]ujjõaj]rbjX)�r b}r b(jX Descriptionr bjjbj jÝ`jj\j}r b(j]j]j]j]j]ujK\j]r bj%X Descriptionrb…�rb}rb(jj bjj bubaubajjéubjÜ)�rb}rb(jUj}rb(j]j]j]j]j]ujjõaj]rbjX)�rb}rb(jXEVM Configurationrbjjbj jÝ`jj\j}rb(j]j]j]j]j]ujK\j]rbj%XEVM Configurationrb…�rb}rb(jjbjjbubaubajjéubjÜ)�rb}rb(jUj}rb(j]j]j]j]j]ujjõaj]r bjX)�r!b}r"b(jXExpected Resultsr#bjjbj jÝ`jj\j}r$b(j]j]j]j]j]ujK\j]r%bj%XExpected Resultsr&b…�r'b}r(b(jj#bjj!bubaubajjéubejjubajjubj)�r)b}r*b(jUj}r+b(j]j]j]j]j]ujjáaj]r,b(j×)�r-b}r.b(jUj}r/b(j]j]j]j]j]ujj)bj]r0b(jÜ)�r1b}r2b(jUj}r3b(j]j]j]j]j]ujj-bj]r4bjX)�r5b}r6b(jXmemoryMappedExa mpler7bjj1bj jÝ`jj\j}r8b(j]j]j]j]j]ujK_j]r9bj%XmemoryMappedExa mpler:b…�r;b}rb(jUj}r?b(j]j]j]j]j]ujj-bj]r@bjX)�rAb}rBb(jX6Memory mapped data exchange with loopback or 2 devicesrCbjj=bj jÝ`jj\j}rDb(j]j]j]j]j]ujK_j]rEbj%X6Memory mapped data exchange with loopback or 2 devicesrFb…�rGb}rHb(jjCbjjAbubaubajjéubjÜ)�rIb}rJb(jUj}rKb(j]j]j]j]j]ujj-bj]rLbjX)�rMb}rNb(jX^Loopback runs without any extra hardware. See below for details on configuring board-to-board.rObjjIbj jÝ`jj\j}rPb(j]j]j]j]j]ujK_j]rQbj%X^Loopback runs without any extra hardware. See below for details on configuring board-to-board.rRb…�rSb}rTb(jjObjjMbubaubajjéubjÜ)�rUb}rVb(jUj}rWb(j]j]j]j]j]ujj-bj]rXbjX)�rYb}rZb(jX*Link is established and data is exchanged.r[bjjUbj jÝ`jj\j}r\b(j]j]j]j]j]ujK_j]r]bj%X*Link is established and data is exchanged.r^b…�r_b}r`b(jj[bjjYbubaubajjéubejjubj×)�rab}rbb(jUj}rcb(j]j]j]j]j]ujj)bj]rdb(jÜ)�reb}rfb(jUj}rgb(j]j]j]j]j]ujjabj]rhbjX)�rib}rjb(jXcicInterruptExa mplerkbjjebj jÝ`jj\j}rlb(j]j]j]j]j]ujKgj]rmbj%XcicInterruptExa mplernb…�rob}rpb(jjkbjjibubaubajjéubjÜ)�rqb}rrb(jUj}rsb(j]j]j]j]j]ujjabj]rtbjX)�rub}rvb(jXCIC-based interrupt exchange.rwbjjqbj jÝ`jj\j}rxb(j]j]j]j]j]ujKgj]rybj%XCIC-based interrupt exchange.rzb…�r{b}r|b(jjwbjjububaubajjéubjÜ)�r}b}r~b(jUj}rb(j]j]j]j]j]ujjabj]r€bjX)�r�b}r‚b(jX^Loopback runs without any extra hardware. See below for details on configuring board-to-board.rƒbjj}bj jÝ`jj\j}r„b(j]j]j]j]j]ujKgj]r…bj%X^Loopback runs without any extra hardware. See below for details on configuring board-to-board.r†b…�r‡b}rˆb(jjƒbjj�bubaubajjéubjÜ)�r‰b}rŠb(jUj}r‹b(j]j]j]j]j]ujjabj]rŒbjX)�r�b}rŽb(jX9Interrupts are sent between ARM Linux Userspace and DSPs.r�bjj‰bj jÝ`jj\j}r�b(j]j]j]j]j]ujKgj]r‘bj%X9Interrupts are sent between ARM Linux Userspace and DSPs.r’b…�r“b}r”b(jj�bjj�bubaubajjéubejjubejjðubejjñubaubjb)�r•b}r–b(jX/Setup of multiple EVMs with one instance of CCSr—bjj­aj jÝ`jjfj}r˜b(j]r™bU/setup-of-multiple-evms-with-one-instance-of-ccsršbaj]j]j]j]r›bh[aujNjhj]rœbj%X/Setup of multiple EVMs with one instance of CCSr�b…�ržb}rŸb(jj—bjj•bubaubjX)�r b}r¡b(jXéThis is only needed for 2 board use cases. See `Multi-Emulator_Debug_with_CCS `__ for general configuration of multiple EVMs/emulators within one instance of CCS.jj­aj jÝ`jj\j}r¢b(j]j]j]j]j]ujKsjhj]r£b(j%X/This is only needed for 2 board use cases. See r¤b…�r¥b}r¦b(jX/This is only needed for 2 board use cases. See jj bubj)�r§b}r¨b(jXi`Multi-Emulator_Debug_with_CCS `__j}r©b(UnameXMulti-Emulator_Debug_with_CCSjXEhttp://processors.wiki.ti.com/index.php/Multi-Emulator_Debug_with_CCSj]j]j]j]j]ujj bj]rªbj%XMulti-Emulator_Debug_with_CCSr«b…�r¬b}r­b(jUjj§bubajjubj%XQ for general configuration of multiple EVMs/emulators within one instance of CCS.r®b…�r¯b}r°b(jXQ for general configuration of multiple EVMs/emulators within one instance of CCS.jj bubeubjb)�r±b}r²b(jX0Detailed instructions to run memoryMappedExampler³bjj­aj jÝ`jjfj}r´b(j]rµbU0detailed-instructions-to-run-memorymappedexampler¶baj]j]j]j]r·bh¾aujNjhj]r¸bj%X0Detailed instructions to run memoryMappedExampler¹b…�rºb}r»b(jj³bjj±bubaubjX)�r¼b}r½b(jXœIf running with one board, enable loopback via uncommenting hyplnk_EXAMPLE_LOOPBACK in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h.r¾bjj­aj jÝ`jj\j}r¿b(j]j]j]j]j]ujK{jhj]rÀbj%XœIf running with one board, enable loopback via uncommenting hyplnk_EXAMPLE_LOOPBACK in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h.rÁb…�rÂb}rÃb(jj¾bjj¼bubaubjX)�rÄb}rÅb(jX7Compile the project for the specific device/evm in use.rÆbjj­aj jÝ`jj\j}rÇb(j]j]j]j]j]ujKjhj]rÈbj%X7Compile the project for the specific device/evm in use.rÉb…�rÊb}rËb(jjÆbjjÄbubaubjX)�rÌb}rÍb(jX}For loopback: Load the example with hyplnk_EXAMPLE_LOOPBACK definined onto one board and run. The results should be as below.rÎbjj­aj jÝ`jj\j}rÏb(j]j]j]j]j]ujK�jhj]rÐbj%X}For loopback: Load the example with hyplnk_EXAMPLE_LOOPBACK definined onto one board and run. The results should be as below.rÑb…�rÒb}rÓb(jjÎbjjÌbubaubjX)�rÔb}rÕb(jX—For 2 board: Make sure the both boards configuration match each other by checking PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h:rÖbjj­aj jÝ`jj\j}r×b(j]j]j]j]j]ujK„jhj]rØbj%X—For 2 board: Make sure the both boards configuration match each other by checking PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h:rÙb…�rÚb}rÛb(jjÖbjjÔbubaubj#)�rÜb}rÝb(jXžhyplnk_EXAMPLE_PORT --> which port to use for K2H/K2K/K2E hyplnk_EXAMPLE_ALLOW_x_LANES --> 0, 1 or 4 lanes hyplnk_EXAMPLE_SERRATE_xxpxxx --> serdes rate setupjj­aj jÝ`jj&j}rÞb(j2j3j]j]j]j]j]ujMüjhj]rßbj%Xžhyplnk_EXAMPLE_PORT --> which port to use for K2H/K2K/K2E hyplnk_EXAMPLE_ALLOW_x_LANES --> 0, 1 or 4 lanes hyplnk_EXAMPLE_SERRATE_xxpxxx --> serdes rate setupràb…�ráb}râb(jUjjÜbubaubjX)�rãb}räb(jX¶Load the same example on both boards. It is fulling symmetric. No special configuration is needed to distinguish side A and side B. Each side should generate output similar to below.råbjj­aj jÝ`jj\j}ræb(j]j]j]j]j]ujKŽjhj]rçbj%X¶Load the same example on both boards. It is fulling symmetric. No special configuration is needed to distinguish side A and side B. Each side should generate output similar to below.rèb…�réb}rêb(jjåbjjãbubaubjb)�rëb}rìb(jX0Detailed instructions to run cicInterruptExampleríbjj­aj jÝ`jjfj}rîb(j]rïbU0detailed-instructions-to-run-cicinterruptexamplerðbaj]j]j]j]rñbhjaujNjhj]ròbj%X0Detailed instructions to run cicInterruptExamplerób…�rôb}rõb(jjíbjjëbubaubjX)�röb}r÷b(jX¦This only works on devices with A15 running Linux (K2H, K2K, K2E). See PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/cicInterruptExample/Readme.txt for instructions.røbjj­aj jÝ`jj\j}rùb(j]j]j]j]j]ujK•jhj]rúbj%X¦This only works on devices with A15 running Linux (K2H, K2K, K2E). See PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/cicInterruptExample/Readme.txt for instructions.rûb…�rüb}rýb(jjøbjjöbubaubjb)�rþb}rÿb(jXSample example outputrcjKjj­aj jÝ`jjfj}rc(j]rcUid161rcaj]j]rcXsample-example-outputrcaj]j]ujNjhj]rcj%XSample example outputrc…�rc}r c(jjcjjþbubaubjX)�r c}r c(jX.This came from k2h device running in loopback.r cjj­aj jÝ`jj\j}r c(j]j]j]j]j]ujKœjhj]rcj%X.This came from k2h device running in loopback.rc…�rc}rc(jj cjj cubaubj#)�rc}rc(jXŽ Version #: 0x02010005; string HYPLNK LLD Revision: 02.01.00.05:Dec 24 2015:17:48:28 About to do system setup (PLL, PSC, and DDR) Power domain is already enabled. You probably re-ran without device reset (which is OK) Constructed SERDES configs: PLL=0x00000228; RX=0x0046c495; TX=0x000ccf95 system setup worked About to set up HyperLink Peripheral ============================Hyperlink Testing Port 0 ========================================== begin registers before initialization =========== Revision register contents: Raw = 0x4e902101 Status register contents: Raw = 0x00003004 Link status register contents: Raw = 0x00000000 Control register contents: Raw = 0x00000000 Control register contents: Raw = 0x00000000 ============== end registers before initialization =========== Hyperlink Serdes Common Init Complete Hyperlink Serdes Lane 0 Init Complete Hyperlink Serdes Lane 1 Init Complete Hyperlink Serdes Lane 2 Init Complete Hyperlink Serdes Lane 3 Init Complete ============== begin registers after initialization =========== Status register contents: Raw = 0x04402005 Link status register contents: Raw = 0xfdf0bdf0 Control register contents: Raw = 0x00006206 ============== end registers after initialization =========== Waiting 5 seconds to check link stability Precursors 1 Postcursors: 19 Link seems stable About to try to read remote registers ============== begin REMOTE registers after initialization =========== Status register contents: Raw = 0x0440080f Link status register contents: Raw = 0xfdf0bdf0 Control register contents: Raw = 0x00006202 ============== end REMOTE registers after initialization =========== Peripheral setup worked About to read/write once Single write test passed About to pass 65536 tokens; iteration = 0 === this is not an optimized example === Link Speed is 4 * 3.125 Gbps Passed 65536 tokens round trip (read+write through hyplnk) in 16829 Mcycles Approximately 256799 cycles per round-trip === this is not an optimized example === Checking statistics About to pass 65536 tokens; iteration = 1 === this is not an optimized example === Link Speed is 4 * 3.125 Gbps Passed 65536 tokens round trip (read+write through hyplnk) in 16829 Mcycles Approximately 256799 cycles per round-trip === this is not an optimized example === Checking statistics About to pass 65536 tokens; iteration = 2 . . .jj­aj jÝ`jj&j}rc(j2j3j]j]j]j]j]ujMjhj]rcj%XŽ Version #: 0x02010005; string HYPLNK LLD Revision: 02.01.00.05:Dec 24 2015:17:48:28 About to do system setup (PLL, PSC, and DDR) Power domain is already enabled. You probably re-ran without device reset (which is OK) Constructed SERDES configs: PLL=0x00000228; RX=0x0046c495; TX=0x000ccf95 system setup worked About to set up HyperLink Peripheral ============================Hyperlink Testing Port 0 ========================================== begin registers before initialization =========== Revision register contents: Raw = 0x4e902101 Status register contents: Raw = 0x00003004 Link status register contents: Raw = 0x00000000 Control register contents: Raw = 0x00000000 Control register contents: Raw = 0x00000000 ============== end registers before initialization =========== Hyperlink Serdes Common Init Complete Hyperlink Serdes Lane 0 Init Complete Hyperlink Serdes Lane 1 Init Complete Hyperlink Serdes Lane 2 Init Complete Hyperlink Serdes Lane 3 Init Complete ============== begin registers after initialization =========== Status register contents: Raw = 0x04402005 Link status register contents: Raw = 0xfdf0bdf0 Control register contents: Raw = 0x00006206 ============== end registers after initialization =========== Waiting 5 seconds to check link stability Precursors 1 Postcursors: 19 Link seems stable About to try to read remote registers ============== begin REMOTE registers after initialization =========== Status register contents: Raw = 0x0440080f Link status register contents: Raw = 0xfdf0bdf0 Control register contents: Raw = 0x00006202 ============== end REMOTE registers after initialization =========== Peripheral setup worked About to read/write once Single write test passed About to pass 65536 tokens; iteration = 0 === this is not an optimized example === Link Speed is 4 * 3.125 Gbps Passed 65536 tokens round trip (read+write through hyplnk) in 16829 Mcycles Approximately 256799 cycles per round-trip === this is not an optimized example === Checking statistics About to pass 65536 tokens; iteration = 1 === this is not an optimized example === Link Speed is 4 * 3.125 Gbps Passed 65536 tokens round trip (read+write through hyplnk) in 16829 Mcycles Approximately 256799 cycles per round-trip === this is not an optimized example === Checking statistics About to pass 65536 tokens; iteration = 2 . . .rc…�rc}rc(jUjjcubaubeubeubj)�rc}rc(jUjKjjË`j jÝ`jjj}rc(j]rcX debug faqrcaj]j]j]rcUid162rcaj]ujKäjhj]r c(j)�r!c}r"c(jX Debug FAQr#cjjcj jÝ`jj"j}r$c(j]j]j]j]j]ujKäjhj]r%cj%X Debug FAQr&c…�r'c}r(c(jj#cjj!cubaubj`)�r)c}r*c(jUjjcj jÝ`jjcj}r+c(jeU.j]j]j]jfUj]j]jgjhujKæjhj]r,c(j)�r-c}r.c(jX.If it seems to not work, check for lError and rError in the status register (hyplnkStatusReg_s). If these appear, it means double ecc error occurred and the link is non functional. This is fatal error. Next look at hyplnkECCErrorReg_s for single (corrected) bit errors. After startup these should increment slowly (order of minutes, hours, days, not seconds or less). If they are incrementing quickly (several times per minute or second), then it means the SERDES coefficients should be calibrated by following the Keystone SERDES UG. See references section.jj)cj jÝ`jj j}r/c(j]j]j]j]j]ujNjhj]r0cjX)�r1c}r2c(jX.If it seems to not work, check for lError and rError in the status register (hyplnkStatusReg_s). If these appear, it means double ecc error occurred and the link is non functional. This is fatal error. Next look at hyplnkECCErrorReg_s for single (corrected) bit errors. After startup these should increment slowly (order of minutes, hours, days, not seconds or less). If they are incrementing quickly (several times per minute or second), then it means the SERDES coefficients should be calibrated by following the Keystone SERDES UG. See references section.r3cjj-cj jÝ`jj\j}r4c(j]j]j]j]j]ujKæj]r5cj%X.If it seems to not work, check for lError and rError in the status register (hyplnkStatusReg_s). If these appear, it means double ecc error occurred and the link is non functional. This is fatal error. Next look at hyplnkECCErrorReg_s for single (corrected) bit errors. After startup these should increment slowly (order of minutes, hours, days, not seconds or less). If they are incrementing quickly (several times per minute or second), then it means the SERDES coefficients should be calibrated by following the Keystone SERDES UG. See references section.r6c…�r7c}r8c(jj3cjj1cubaubaubj)�r9c}r:c(jXNote that if the link goes down (uncorrectable ECC error) it is possible for the entire interconnect to lock up. If this occurs, it will not be possible to access any memory even through the JTAG interface (CCS will return errors instead of reading memory, and often disconnect the target). Thus the primary cause of this lockup should be avoided by carefully following the shutdown/reset requirement in section 2.9 of the Hyperlink UG (which is to invoke serial stop, and wait for it to take effect before resetting either endpoint).jj)cj jÝ`jj j}r;c(j]j]j]j]j]ujNjhj]rc(jXNote that if the link goes down (uncorrectable ECC error) it is possible for the entire interconnect to lock up. If this occurs, it will not be possible to access any memory even through the JTAG interface (CCS will return errors instead of reading memory, and often disconnect the target). Thus the primary cause of this lockup should be avoided by carefully following the shutdown/reset requirement in section 2.9 of the Hyperlink UG (which is to invoke serial stop, and wait for it to take effect before resetting either endpoint).r?cjj9cj jÝ`jj\j}r@c(j]j]j]j]j]ujKïj]rAcj%XNote that if the link goes down (uncorrectable ECC error) it is possible for the entire interconnect to lock up. If this occurs, it will not be possible to access any memory even through the JTAG interface (CCS will return errors instead of reading memory, and often disconnect the target). Thus the primary cause of this lockup should be avoided by carefully following the shutdown/reset requirement in section 2.9 of the Hyperlink UG (which is to invoke serial stop, and wait for it to take effect before resetting either endpoint).rBc…�rCc}rDc(jj?cjj=cubaubaubj)�rEc}rFc(jXÕAnother workaround for ECC single errors is to lower link rate and/or reduce to 1 lane. This can be done by adjusting the commented defines in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h. jj)cj jÝ`jj j}rGc(j]j]j]j]j]ujNjhj]rHcjX)�rIc}rJc(jXÔAnother workaround for ECC single errors is to lower link rate and/or reduce to 1 lane. This can be done by adjusting the commented defines in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h.rKcjjEcj jÝ`jj\j}rLc(j]j]j]j]j]ujKøj]rMcj%XÔAnother workaround for ECC single errors is to lower link rate and/or reduce to 1 lane. This can be done by adjusting the commented defines in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkLLDCfg.h.rNc…�rOc}rPc(jjKcjjIcubaubaubeubeubj)�rQc}rRc(jUjKjjË`j jÝ`jjj}rSc(j]rTcXadditional referencesrUcaj]j]j]rVcUid163rWcaj]ujKþjhj]rXc(j)�rYc}rZc(jXAdditional Referencesr[cjjQcj jÝ`jj"j}r\c(j]j]j]j]j]ujKþjhj]r]cj%XAdditional Referencesr^c…�r_c}r`c(jj[cjjYcubaubjX)�rac}rbc(jX)Additional documentation can be found in:rccjjQcj jÝ`jj\j}rdc(j]j]j]j]j]ujMjhj]recj%X)Additional documentation can be found in:rfc…�rgc}rhc(jjccjjacubaubj¶)�ric}rjc(jUjjQcj jÝ`jj¹j}rkc(j]j]j]j]j]ujNjhj]rlcj¼)�rmc}rnc(jUj}roc(j]j]j]j]j]UcolsKujjicj]rpc(jÁ)�rqc}rrc(jUj}rsc(j]j]j]j]j]UcolwidthK#ujjmcj]jjÅubjÁ)�rtc}ruc(jUj}rvc(j]j]j]j]j]UcolwidthK)ujjmcj]jjÅubj)�rwc}rxc(jUj}ryc(j]j]j]j]j]ujjmcj]rzc(j×)�r{c}r|c(jUj}r}c(j]j]j]j]j]ujjwcj]r~c(jÜ)�rc}r€c(jUj}r�c(j]j]j]j]j]ujj{cj]r‚cjX)�rƒc}r„c(jX **Document**r…cjjcj jÝ`jj\j}r†c(j]j]j]j]j]ujMj]r‡cj|)�rˆc}r‰c(jj…cj}rŠc(j]j]j]j]j]ujjƒcj]r‹cj%XDocumentrŒc…�r�c}rŽc(jUjjˆcubajj„ubaubajjéubjÜ)�r�c}r�c(jUj}r‘c(j]j]j]j]j]ujj{cj]r’cjX)�r“c}r”c(jX **Location**r•cjj�cj jÝ`jj\j}r–c(j]j]j]j]j]ujMj]r—cj|)�r˜c}r™c(jj•cj}ršc(j]j]j]j]j]ujj“cj]r›cj%XLocationrœc…�r�c}ržc(jUjj˜cubajj„ubaubajjéubejjubj×)�rŸc}r c(jUj}r¡c(j]j]j]j]j]ujjwcj]r¢c(jÜ)�r£c}r¤c(jUj}r¥c(j]j]j]j]j]ujjŸcj]r¦cjX)�r§c}r¨c(jX)Hardware Peripheral Hyperlink Users Guider©cjj£cj jÝ`jj\j}rªc(j]j]j]j]j]ujMj]r«cj%X)Hardware Peripheral Hyperlink Users Guider¬c…�r­c}r®c(jj©cjj§cubaubajjéubjÜ)�r¯c}r°c(jUj}r±c(j]j]j]j]j]ujjŸcj]r²cjX)�r³c}r´c(jX/`User Guide `__rµcjj¯cj jÝ`jj\j}r¶c(j]j]j]j]j]ujMj]r·cj)�r¸c}r¹c(jjµcj}rºc(UnameX User GuidejXhttp://www.ti.com/lit/sprugw8j]j]j]j]j]ujj³cj]r»cj%X User Guider¼c…�r½c}r¾c(jUjj¸cubajjubaubajjéubejjubj×)�r¿c}rÀc(jUj}rÁc(j]j]j]j]j]ujjwcj]rÂc(jÜ)�rÃc}rÄc(jUj}rÅc(j]j]j]j]j]ujj¿cj]rÆcjX)�rÇc}rÈc(jXSerdes Users GuiderÉcjjÃcj jÝ`jj\j}rÊc(j]j]j]j]j]ujM j]rËcj%XSerdes Users GuiderÌc…�rÍc}rÎc(jjÉcjjÇcubaubajjéubjÜ)�rÏc}rÐc(jUj}rÑc(j]j]j]j]j]ujj¿cj]rÒcjX)�rÓc}rÔc(jX/`User Guide `__rÕcjjÏcj jÝ`jj\j}rÖc(j]j]j]j]j]ujM j]r×cj)�rØc}rÙc(jjÕcj}rÚc(UnameX User GuidejXhttp://www.ti.com/lit/spruho3j]j]j]j]j]ujjÓcj]rÛcj%X User GuiderÜc…�rÝc}rÞc(jUjjØcubajjubaubajjéubejjubj×)�rßc}ràc(jUj}rác(j]j]j]j]j]ujjwcj]râc(jÜ)�rãc}räc(jUj}råc(j]j]j]j]j]ujjßcj]ræcjX)�rçc}rèc(jXCIC Peripheral Users Guiderécjjãcj jÝ`jj\j}rêc(j]j]j]j]j]ujM j]rëcj%XCIC Peripheral Users Guiderìc…�ríc}rîc(jjécjjçcubaubajjéubjÜ)�rïc}rðc(jUj}rñc(j]j]j]j]j]ujjßcj]ròcjX)�róc}rôc(jX3`CIC User Guide `__rõcjjïcj jÝ`jj\j}röc(j]j]j]j]j]ujM j]r÷cj)�røc}rùc(jjõcj}rúc(UnameXCIC User GuidejXhttp://www.ti.com/lit/sprugw4j]j]j]j]j]ujjócj]rûcj%XCIC User Guiderüc…�rýc}rþc(jUjjøcubajjubaubajjéubejjubj×)�rÿc}rd(jUj}rd(j]j]j]j]j]ujjwcj]rd(jÜ)�rd}rd(jUj}rd(j]j]j]j]j]ujjÿcj]rdjX)�rd}rd(jXAPI Reference Manualr djjdj jÝ`jj\j}r d(j]j]j]j]j]ujMj]r dj%XAPI Reference Manualr d…�r d}rd(jj djjdubaubajjéubjÜ)�rd}rd(jUj}rd(j]j]j]j]j]ujjÿcj]rdjX)�rd}rd(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\hyplnk\\docs\\doxygen\\html\\ind ex.htmljjdj jÝ`jj\j}rd(j]j]j]j]j]ujMj]rdj%XK$(TI_PDK_INSTALL_DIR)\packages\ti \drv\hyplnk\docs\doxygen\html\ind ex.htmlrd…�rd}rd(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\hyplnk\\docs\\doxygen\\html\\ind ex.htmljjdubaubajjéubejjubj×)�rd}rd(jUj}rd(j]j]j]j]j]ujjwcj]rd(jÜ)�rd}rd(jUj}r d(j]j]j]j]j]ujjdj]r!djX)�r"d}r#d(jX Release Notesr$djjdj jÝ`jj\j}r%d(j]j]j]j]j]ujMj]r&dj%X Release Notesr'd…�r(d}r)d(jj$djj"dubaubajjéubjÜ)�r*d}r+d(jUj}r,d(j]j]j]j]j]ujjdj]r-djX)�r.d}r/d(jXU$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\hyplnk\\docs\\ReleaseNotes_HYP LNK_LLD.pdfjj*dj jÝ`jj\j}r0d(j]j]j]j]j]ujMj]r1dj%XO$(TI_PDK_INSTALL_DIR)\packages\ti \drv\hyplnk\docs\ReleaseNotes_HYP LNK_LLD.pdfr2d…�r3d}r4d(jXU$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\hyplnk\\docs\\ReleaseNotes_HYP LNK_LLD.pdfjj.dubaubajjéubejjubejjðubejjñubaubjÁ)�r5d}r6d(jUjjQcj jÝ`jjÄj}r7d(j]j]j]j]j]ujMjhj]r8djÇ)�r9d}r:d(jUjÊKjj5dj jÝ`jjj}r;d(j]j]j]j]j]ujKjhj]ubaubeubeubj jÝ`jjj}rdaj]j]j]r?dUid151r@daj]ujKjhj]rAd(j)�rBd}rCd(jXOverviewrDdjjÉ`j jÝ`jj"j}rEd(j]j]j]j]j]ujKjhj]rFdj%XOverviewrGd…�rHd}rId(jjDdjjBdubaubj)�rJd}rKd(jUjKjjÉ`j jÝ`jjj}rLd(j]rMdX introductionrNdaj]j]j]rOdUid152rPdaj]ujKjhj]rQd(j)�rRd}rSd(jX IntroductionrTdjjJdj jÝ`jj"j}rUd(j]j]j]j]j]ujKjhj]rVdj%X IntroductionrWd…�rXd}rYd(jjTdjjRdubaubjX)�rZd}r[d(jXÍHyperlink is a point-to-point peripheral. Each device has equal capability to operate on the address space of the other device. This also means that there is no complex enumeration in order to get started.r\djjJdj jÝ`jj\j}r]d(j]j]j]j]j]ujK jhj]r^dj%XÍHyperlink is a point-to-point peripheral. Each device has equal capability to operate on the address space of the other device. This also means that there is no complex enumeration in order to get started.r_d…�r`d}rad(jj\djjZdubaubjb)�rbd}rcd(jXModes of OperationrddjKjjJdj jÝ`jjfj}red(j]rfdUid153rgdaj]j]rhdXmodes-of-operationridaj]j]ujNjhj]rjdj%XModes of Operationrkd…�rld}rmd(jjddjjbdubaubjX)�rnd}rod(jXRThe LLD is intended to bring up the Hyperlink peripheral and open memory mappings.rpdjjJdj jÝ`jj\j}rqd(j]j]j]j]j]ujKjhj]rrdj%XRThe LLD is intended to bring up the Hyperlink peripheral and open memory mappings.rsd…�rtd}rud(jjpdjjndubaubjb)�rvd}rwd(jX InterruptsrxdjKjjJdj jÝ`jjfj}ryd(j]rzdUid154r{daj]j]r|dj'aj]j]ujNjhj]r}dj%X Interruptsr~d…�rd}r€d(jjxdjjvdubaubjX)�r�d}r‚d(jXíThere is an interrupt generation example (in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/cicInterruptExample) which maps and pokes the other device's CIC (Chip/SOC level interrupt controller) to generate interrupts for data transfers.rƒdjjJdj jÝ`jj\j}r„d(j]j]j]j]j]ujKjhj]r…dj%XíThere is an interrupt generation example (in PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/cicInterruptExample) which maps and pokes the other device's CIC (Chip/SOC level interrupt controller) to generate interrupts for data transfers.r†d…�r‡d}rˆd(jjƒdjj�dubaubjX)�r‰d}rŠd(jXwThe PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkIsr.c monitors local interrupts to detect fatal errors. It can also be used for IO interrupts, but there is only one output event that has to be demuxed. Thus for multicore orthogonality, the cicInterruptExample is often better example (because each destination core can have completely independent interrupts).r‹djjJdj jÝ`jj\j}rŒd(j]j]j]j]j]ujKjhj]r�dj%XwThe PDK_INSTALL_DIR/packages/ti/drv/hyplnk/example/common/hyplnkIsr.c monitors local interrupts to detect fatal errors. It can also be used for IO interrupts, but there is only one output event that has to be demuxed. Thus for multicore orthogonality, the cicInterruptExample is often better example (because each destination core can have completely independent interrupts).rŽd…�r�d}r�d(jj‹djj‰dubaubeubeubj jÝ`jj?j}r‘d(j]UlevelKj]j]r’dj@daUsourcejÝ`j]j]UlineKUtypejAujKjhj]r“djX)�r”d}r•d(jX+Duplicate implicit target name: "overview".j}r–d(j]j]j]j]j]ujjÇ`j]r—dj%X+Duplicate implicit target name: "overview".r˜d…�r™d}ršd(jUjj”dubajj\ubaubhÿ)�r›d}rœd(jUjjJdj jÝ`jj?j}r�d(j]UlevelKj]j]rždjPdaUsourcejÝ`j]j]UlineKUtypejAujKjhj]rŸdjX)�r d}r¡d(jX/Duplicate implicit target name: "introduction".j}r¢d(j]j]j]j]j]ujj›dj]r£dj%X/Duplicate implicit target name: "introduction".r¤d…�r¥d}r¦d(jUjj dubajj\ubaubhÿ)�r§d}r¨d(jUj}r©d(j]UlevelKj]j]rªdjgdaUsourcej j]j]UlineKoUtypejXujjbdj]r«djX)�r¬d}r­d(jX5Duplicate explicit target name: "modes-of-operation".j}r®d(j]j]j]j]j]ujj§dj]r¯dj%X5Duplicate explicit target name: "modes-of-operation".r°d…�r±d}r²d(jUjj¬dubajj\ubajj?ubhÿ)�r³d}r´d(jUj}rµd(j]UlevelKj]j]r¶dj{daUsourcej j]j]UlineKoUtypejXujjvdj]r·djX)�r¸d}r¹d(jX-Duplicate explicit target name: "interrupts".j}rºd(j]j]j]j]j]ujj³dj]r»dj%X-Duplicate explicit target name: "interrupts".r¼d…�r½d}r¾d(jUjj¸dubajj\ubajj?ubhÿ)�r¿d}rÀd(jUjjä`j jÝ`jj?j}rÁd(j]UlevelKj]j]rÂdjê`aUsourcejÝ`j]j]UlineK#UtypejAujK#jhj]rÃdjX)�rÄd}rÅd(jX1Duplicate implicit target name: "user interface".j}rÆd(j]j]j]j]j]ujj¿dj]rÇdj%X1Duplicate implicit target name: "user interface".rÈd…�rÉd}rÊd(jUjjÄdubajj\ubaubhÿ)�rËd}rÌd(jUjjô`j jÝ`jj?j}rÍd(j]UlevelKj]j]rÎdjú`aUsourcejÝ`j]j]UlineK&UtypejAujK&jhj]rÏdjX)�rÐd}rÑd(jX7Duplicate implicit target name: "driver configuration".j}rÒd(j]j]j]j]j]ujjËdj]rÓdj%X7Duplicate implicit target name: "driver configuration".rÔd…�rÕd}rÖd(jUjjÐdubajj\ubaubhÿ)�r×d}rØd(jUjjaj jÝ`jj?j}rÙd(j]UlevelKj]j]rÚdj%aaUsourcejÝ`j]j]UlineK3UtypejAujK3jhj]rÛdjX)�rÜd}rÝd(jX'Duplicate implicit target name: "apis".j}rÞd(j]j]j]j]j]ujj×dj]rßdj%X'Duplicate implicit target name: "apis".ràd…�rád}râd(jUjjÜdubajj\ubaubhÿ)�rãd}räd(jUj}råd(j]UlevelKj]j]rædj4aaUsourcej j]j]UlineKoUtypejXujj/aj]rçdjX)�rèd}réd(jX0Duplicate explicit target name: "api-call-flow".j}rêd(j]j]j]j]j]ujjãdj]rëdj%X0Duplicate explicit target name: "api-call-flow".rìd…�ríd}rîd(jUjjèdubajj\ubajj?ubhÿ)�rïd}rðd(jUjj�aj jÝ`jj?j}rñd(j]UlevelKj]j]ròdj£aaUsourcejÝ`j]j]UlineKIUtypejAujKIjhj]ródjX)�rôd}rõd(jX.Duplicate implicit target name: "application".j}röd(j]j]j]j]j]ujjïdj]r÷dj%X.Duplicate implicit target name: "application".rød…�rùd}rúd(jUjjôdubajj\ubaubhÿ)�rûd}rüd(jUjj­aj jÝ`jj?j}rýd(j]UlevelKj]j]rþdj³aaUsourcejÝ`j]j]UlineKLUtypejAujKLjhj]rÿdjX)�re}re(jX+Duplicate implicit target name: "examples".j}re(j]j]j]j]j]ujjûdj]rej%X+Duplicate implicit target name: "examples".re…�re}re(jUjjeubajj\ubaubhÿ)�re}re(jUj}r e(j]UlevelKj]j]r ejcaUsourcej j]j]UlineKoUtypejXujjþbj]r ejX)�r e}r e(jX8Duplicate explicit target name: "sample-example-output".j}re(j]j]j]j]j]ujjej]rej%X8Duplicate explicit target name: "sample-example-output".re…�re}re(jUjj eubajj\ubajj?ubhÿ)�re}re(jUjjcj jÝ`jj?j}re(j]UlevelKj]j]rejcaUsourcejÝ`j]j]UlineKäUtypejAujKäjhj]rejX)�re}re(jX,Duplicate implicit target name: "debug faq".j}re(j]j]j]j]j]ujjej]rej%X,Duplicate implicit target name: "debug faq".re…�re}re(jUjjeubajj\ubaubhÿ)�re}r e(jUjjQcj jÝ`jj?j}r!e(j]UlevelKj]j]r"ejWcaUsourcejÝ`j]j]UlineKþUtypejAujKþjhj]r#ejX)�r$e}r%e(jX8Duplicate implicit target name: "additional references".j}r&e(j]j]j]j]j]ujjej]r'ej%X8Duplicate implicit target name: "additional references".r(e…�r)e}r*e(jUjj$eubajj\ubaubhÿ)�r+e}r,e(jUjj)�r-e}r.e(jUjKjj)�r/e}r0e(jUjhj j jjj}r1e(j]j]j]j]r2eUtsipr3eaj]r4eh†aujKujhj]r5e(j)�r6e}r7e(jXTSIPr8ejj/ej j jj"j}r9e(j]j]j]j]j]ujKujhj]r:ej%XTSIPr;e…�re}r?e(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_TSIPjj/ej j,X=source/rtos/PDK_Platform_Software/Device_Drivers/TSIP.rst.incr@e…�rAe}rBebjj0j}rCe(j2j3j]j]j]j]j]ujKjhj]rDej%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_TSIPrEe…�rFe}rGe(jUjj>eubaubj-ej)�rHe}rIe(jUjKjj/ej jAejjj}rJe(j]rKeXuser interfacerLeaj]j]j]rMeUid166rNeaj]ujK&jhj]rOe(j)�rPe}rQe(jXUser InterfacerRejjHej jAejj"j}rSe(j]j]j]j]j]ujK&jhj]rTej%XUser InterfacerUe…�rVe}rWe(jjRejjPeubaubj)�rXe}rYe(jUjKjjHej jAejjj}rZe(j]r[eXdriver configurationr\eaj]j]j]r]eUid167r^eaj]ujK)jhj]r_e(j)�r`e}rae(jXDriver ConfigurationrbejjXej jAejj"j}rce(j]j]j]j]j]ujK)jhj]rdej%XDriver Configurationree…�rfe}rge(jjbejj`eubaubjX)�rhe}rie(jXTSIP configuration involves configurations for desired stagger phase of a TSIP timeout, using Tsip_configPhase() API. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\Packages\\ti\\drv\\TSIP\\docs\\doxygen\\html\\index.html.jjXej jAejj\j}rje(j]j]j]j]j]ujK+jhj]rkej%XTSIP configuration involves configurations for desired stagger phase of a TSIP timeout, using Tsip_configPhase() API. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\Packages\ti\drv\TSIP\docs\doxygen\html\index.html.rle…�rme}rne(jXTSIP configuration involves configurations for desired stagger phase of a TSIP timeout, using Tsip_configPhase() API. For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\Packages\\ti\\drv\\TSIP\\docs\\doxygen\\html\\index.html.jjheubaubeubj)�roe}rpe(jUjKjjHej jAejjj}rqe(j]rreXapisrseaj]j]j]rteUid168rueaj]ujK1jhj]rve(j)�rwe}rxe(jXAPIsryejjoej jAejj"j}rze(j]j]j]j]j]ujK1jhj]r{ej%XAPIsr|e…�r}e}r~e(jjyejjweubaubjX)�re}r€e(jXAPI reference for application:r�ejjoej jAejj\j}r‚e(j]j]j]j]j]ujK3jhj]rƒej%XAPI reference for application:r„e…�r…e}r†e(jj�ejjeubaubj#)�r‡e}rˆe(jX#include jjoej jAejj&j}r‰e(j2j3j]j]j]j]j]ujMÌjhj]rŠej%X#include r‹e…�rŒe}r�e(jUjj‡eubaubeubeubj)�rŽe}r�e(jUjKjj/ej jAejjj}r�e(j]r‘eX applicationr’eaj]j]j]r“eUid169r”eaj]ujK:jhj]r•e(j)�r–e}r—e(jX Applicationr˜ejjŽej jAejj"j}r™e(j]j]j]j]j]ujK:jhj]ršej%X Applicationr›e…�rœe}r�e(jj˜ejj–eubaubj)�rže}rŸe(jUjKjjŽej jAejjj}r e(j]r¡eXexamplesr¢eaj]j]j]r£eUid170r¤eaj]ujK=jhj]r¥e(j)�r¦e}r§e(jXExamplesr¨ejjžej jAejj"j}r©e(j]j]j]j]j]ujK=jhj]rªej%XExamplesr«e…�r¬e}r­e(jj¨ejj¦eubaubj¶)�r®e}r¯e(jUjjžej jAejj¹j}r°e(j]j]j]j]j]ujNjhj]r±ej¼)�r²e}r³e(jUj}r´e(j]j]j]j]j]UcolsKujj®ej]rµe(jÁ)�r¶e}r·e(jUj}r¸e(j]j]j]j]j]UcolwidthKujj²ej]jjÅubjÁ)�r¹e}rºe(jUj}r»e(j]j]j]j]j]UcolwidthKujj²ej]jjÅubjÁ)�r¼e}r½e(jUj}r¾e(j]j]j]j]j]UcolwidthKujj²ej]jjÅubjÒ)�r¿e}rÀe(jUj}rÁe(j]j]j]j]j]ujj²ej]rÂej×)�rÃe}rÄe(jUj}rÅe(j]j]j]j]j]ujj¿ej]rÆe(jÜ)�rÇe}rÈe(jUj}rÉe(j]j]j]j]j]ujjÃej]rÊejX)�rËe}rÌe(jXNamerÍejjÇej jAejj\j}rÎe(j]j]j]j]j]ujK@j]rÏej%XNamerÐe…�rÑe}rÒe(jjÍejjËeubaubajjéubjÜ)�rÓe}rÔe(jUj}rÕe(j]j]j]j]j]ujjÃej]rÖejX)�r×e}rØe(jX DescriptionrÙejjÓej jAejj\j}rÚe(j]j]j]j]j]ujK@j]rÛej%X DescriptionrÜe…�rÝe}rÞe(jjÙejj×eubaubajjéubjÜ)�rße}ràe(jUj}ráe(j]j]j]j]j]ujjÃej]râejX)�rãe}räe(jXExpected Resultsråejjßej jAejj\j}ræe(j]j]j]j]j]ujK@j]rçej%XExpected Resultsrèe…�rée}rêe(jjåejjãeubaubajjéubejjubajjubj)�rëe}rìe(jUj}ríe(j]j]j]j]j]ujj²ej]rîe(j×)�rïe}rðe(jUj}rñe(j]j]j]j]j]ujjëej]ròe(jÜ)�róe}rôe(jUj}rõe(j]j]j]j]j]ujjïej]röejX)�r÷e}røe(jXtsip_Example applicationrùejjóej jAejj\j}rúe(j]j]j]j]j]ujKBj]rûej%Xtsip_Example applicationrüe…�rýe}rþe(jjùejj÷eubaubajjéubjÜ)�rÿe}rf(jUj}rf(j]j]j]j]j]ujjïej]rfjÁ)�rf}rf(jUj}rf(j]j]j]j]j]ujjÿej]rfjÇ)�rf}rf(jXJExample demonstrating *sample tsip* test. Reference example for developersjÊKjjfj jAejjj}r f(j]j]j]j]j]ujKj]r f(j%XExample demonstrating r f…�r f}r f(jXExample demonstrating jjfubj<)�rf}rf(jX *sample tsip*j}rf(j]j]j]j]j]ujjfj]rfj%X sample tsiprf…�rf}rf(jUjjfubajjDubj%X' test. Reference example for developersrf…�rf}rf(jX' test. Reference example for developersjjfubeubajjÄubajjéubjÜ)�rf}rf(jUj}rf(j]j]j]j]j]ujjïej]rfjÁ)�rf}rf(jUj}rf(j]j]j]j]j]ujjfj]rfjÇ)�r f}r!f(jX5User observes the output printed over the CCS consoler"fjÊKjjfj jAejjj}r#f(j]j]j]j]j]ujKj]r$fj%X5User observes the output printed over the CCS consoler%f…�r&f}r'f(jj"fjj fubaubajjÄubajjéubejjubj×)�r(f}r)f(jUj}r*f(j]j]j]j]j]ujjëej]r+f(jÜ)�r,f}r-f(jUj}r.f(j]j]j]j]j]ujj(fj]r/fjX)�r0f}r1f(jXtsip_UnitTestApplicat ionr2fjj,fj jAejj\j}r3f(j]j]j]j]j]ujKHj]r4fj%Xtsip_UnitTestApplicat ionr5f…�r6f}r7f(jj2fjj0fubaubajjéubjÜ)�r8f}r9f(jUj}r:f(j]j]j]j]j]ujj(fj]r;fjÁ)�rf(j]j]j]j]j]ujj8fj]r?fjÇ)�r@f}rAf(jX&Unit Test application to test all APIsrBfjÊKjjg(jUjj8gubajj\ubaubhÿ)�r?g}r@g(jUjjoej jAejj?j}rAg(j]UlevelKj]j]rBgjueaUsourcejAej]j]UlineK1UtypejAujK1jhj]rCgjX)�rDg}rEg(jX'Duplicate implicit target name: "apis".j}rFg(j]j]j]j]j]ujj?gj]rGgj%X'Duplicate implicit target name: "apis".rHg…�rIg}rJg(jUjjDgubajj\ubaubhÿ)�rKg}rLg(jUjjŽej jAejj?j}rMg(j]UlevelKj]j]rNgj”eaUsourcejAej]j]UlineK:UtypejAujK:jhj]rOgjX)�rPg}rQg(jX.Duplicate implicit target name: "application".j}rRg(j]j]j]j]j]ujjKgj]rSgj%X.Duplicate implicit target name: "application".rTg…�rUg}rVg(jUjjPgubajj\ubaubhÿ)�rWg}rXg(jUjjžej jAejj?j}rYg(j]UlevelKj]j]rZgj¤eaUsourcejAej]j]UlineK=UtypejAujK=jhj]r[gjX)�r\g}r]g(jX+Duplicate implicit target name: "examples".j}r^g(j]j]j]j]j]ujjWgj]r_gj%X+Duplicate implicit target name: "examples".r`g…�rag}rbg(jUjj\gubajj\ubaubhÿ)�rcg}rdg(jUjjXfj jAejj?j}reg(j]UlevelKj]j]rfgj^faUsourcejAej]j]UlineKNUtypejAujKNjhj]rggjX)�rhg}rig(jX8Duplicate implicit target name: "additional references".j}rjg(j]j]j]j]j]ujjcgj]rkgj%X8Duplicate implicit target name: "additional references".rlg…�rmg}rng(jUjjhgubajj\ubaubhÿ)�rog}rpg(jUjj)�rqg}rrg(jUjKjj)�rsg}rtg(jUjhj j jjj}rug(j]j]j]j]rvgUmcbsprwgaj]rxghúaujK{jhj]ryg(j)�rzg}r{g(jXMCBSPr|gjjsgj j jj"j}r}g(j]j]j]j]j]ujK{jhj]r~gj%XMCBSPrg…�r€g}r�g(jj|gjjzgubaubj))�r‚g}rƒg(jX@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MCBSPjjsgj j,X>source/rtos/PDK_Platform_Software/Device_Drivers/MCBSP.rst.incr„g…�r…g}r†gbjj0j}r‡g(j2j3j]j]j]j]j]ujKjhj]rˆgj%X@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MCBSPr‰g…�rŠg}r‹g(jUjj‚gubaubjqgj)�rŒg}r�g(jUjKjjsgj j…gjjj}rŽg(j]r�gXuser interfacer�gaj]j]j]r‘gUid174r’gaj]ujKjhj]r“g(j)�r”g}r•g(jXUser Interfacer–gjjŒgj j…gjj"j}r—g(j]j]j]j]j]ujKjhj]r˜gj%XUser Interfacer™g…�ršg}r›g(jj–gjj”gubaubj)�rœg}r�g(jUjKjjŒgj j…gjjj}ržg(j]rŸgXdriver configurationr gaj]j]j]r¡gUid175r¢gaj]ujKjhj]r£g(j)�r¤g}r¥g(jXDriver Configurationr¦gjjœgj j…gjj"j}r§g(j]j]j]j]j]ujKjhj]r¨gj%XDriver Configurationr©g…�rªg}r«g(jj¦gjj¤gubaubjX)�r¬g}r­g(jXBThe MCBSP Driver initialization API needs to be called only once and it initializes the internal driver data structures like device objects. Application developers need to ensure that they call the MCBSP Driver Init API before they call the MCBSP Device Initialization. Following API is used to initialize the MCBSP Driverr®gjjœgj j…gjj\j}r¯g(j]j]j]j]j]ujKjhj]r°gj%XBThe MCBSP Driver initialization API needs to be called only once and it initializes the internal driver data structures like device objects. Application developers need to ensure that they call the MCBSP Driver Init API before they call the MCBSP Device Initialization. Following API is used to initialize the MCBSP Driverr±g…�r²g}r³g(jj®gjj¬gubaubj#)�r´g}rµg(jXint32_t mcbspInit (void)jjœgj j…gjj&j}r¶g(j2j3j]j]j]j]j]ujMjhj]r·gj%Xint32_t mcbspInit (void)r¸g…�r¹g}rºg(jUjj´gubaubjX)�r»g}r¼g(jXÉMCBSP Peripheral Configuration The MCBSP driver provides a sample implementation sequence which initializes the MCBSP IP block. The MCBSP Device initialization API is implemented as a sample prototype:r½gjjœgj j…gjj\j}r¾g(j]j]j]j]j]ujK'jhj]r¿gj%XÉMCBSP Peripheral Configuration The MCBSP driver provides a sample implementation sequence which initializes the MCBSP IP block. The MCBSP Device initialization API is implemented as a sample prototype:rÀg…�rÁg}rÂg(jj½gjj»gubaubj#)�rÃg}rÄg(jXvoid McbspDevice_init (void)jjœgj j…gjj&j}rÅg(j2j3j]j]j]j]j]ujM(jhj]rÆgj%Xvoid McbspDevice_init (void)rÇg…�rÈg}rÉg(jUjjÃgubaubjX)�rÊg}rËg(jXšFor details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\Packages\ti\drv\MCBSP\docs\doxygen\html\index.html.jjœgj j…gjj\j}rÌg(j]j]j]j]j]ujK0jhj]rÍgj%X’For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIRPackagestidrvMCBSPdocsdoxygenhtmlindex.html.rÎg…�rÏg}rÐg(jXšFor details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\Packages\ti\drv\MCBSP\docs\doxygen\html\index.html.jjÊgubaubeubj)�rÑg}rÒg(jUjKjjŒgj j…gjjj}rÓg(j]rÔgXapisrÕgaj]j]j]rÖgUid176r×gaj]ujK5jhj]rØg(j)�rÙg}rÚg(jXAPIsrÛgjjÑgj j…gjj"j}rÜg(j]j]j]j]j]ujK5jhj]rÝgj%XAPIsrÞg…�rßg}ràg(jjÛgjjÙgubaubjX)�rág}râg(jXAPI reference for application:rãgjjÑgj j…gjj\j}räg(j]j]j]j]j]ujK7jhj]rågj%XAPI reference for application:ræg…�rçg}règ(jjãgjjágubaubj#)�rég}rêg(jX##include jjÑgj j…gjj&j}rëg(j2j3j]j]j]j]j]ujM5jhj]rìgj%X##include ríg…�rîg}rïg(jUjjégubaubeubeubj)�rðg}rñg(jUjKjjsgj j…gjjj}ròg(j]rógX applicationrôgaj]j]j]rõgUid177rögaj]ujK>jhj]r÷g(j)�røg}rùg(jX Applicationrúgjjðgj j…gjj"j}rûg(j]j]j]j]j]ujK>jhj]rügj%X Applicationrýg…�rþg}rÿg(jjúgjjøgubaubj)�rh}rh(jUjKjjðgj j…gjjj}rh(j]rhXexamplesrhaj]j]j]rhUid178rhaj]ujKAjhj]rh(j)�rh}r h(jXExamplesr hjjhj j…gjj"j}r h(j]j]j]j]j]ujKAjhj]r hj%XExamplesr h…�rh}rh(jj hjjhubaubj¶)�rh}rh(jUjjhj j…gjj¹j}rh(j]j]j]j]j]ujNjhj]rhj¼)�rh}rh(jUj}rh(j]j]j]j]j]UcolsKujjhj]rh(jÁ)�rh}rh(jUj}rh(j]j]j]j]j]UcolwidthKujjhj]jjÅubjÁ)�rh}rh(jUj}rh(j]j]j]j]j]UcolwidthKujjhj]jjÅubjÒ)�rh}rh(jUj}r h(j]j]j]j]j]ujjhj]r!hj×)�r"h}r#h(jUj}r$h(j]j]j]j]j]ujjhj]r%h(jÜ)�r&h}r'h(jUj}r(h(j]j]j]j]j]ujj"hj]r)hjX)�r*h}r+h(jXNamer,hjj&hj j…gjj\j}r-h(j]j]j]j]j]ujKDj]r.hj%XNamer/h…�r0h}r1h(jj,hjj*hubaubajjéubjÜ)�r2h}r3h(jUj}r4h(j]j]j]j]j]ujj"hj]r5hjX)�r6h}r7h(jX Descriptionr8hjj2hj j…gjj\j}r9h(j]j]j]j]j]ujKDj]r:hj%X Descriptionr;h…�rh}r?h(jUj}r@h(j]j]j]j]j]ujjhj]rAhj×)�rBh}rCh(jUj}rDh(j]j]j]j]j]ujj>hj]rEh(jÜ)�rFh}rGh(jUj}rHh(j]j]j]j]j]ujjBhj]rIhjX)�rJh}rKh(jXMCBSP_Example applicationrLhjjFhj j…gjj\j}rMh(j]j]j]j]j]ujKFj]rNhj%XMCBSP_Example applicationrOh…�rPh}rQh(jjLhjjJhubaubajjéubjÜ)�rRh}rSh(jUj}rTh(j]j]j]j]j]ujjBhj]rUhjX)�rVh}rWh(jXTExample demonstrating *sample MCBSP loopback* test. Reference example for developersjjRhj j…gjj\j}rXh(j]j]j]j]j]ujKFj]rYh(j%XExample demonstrating rZh…�r[h}r\h(jXExample demonstrating jjVhubj<)�r]h}r^h(jX*sample MCBSP loopback*j}r_h(j]j]j]j]j]ujjVhj]r`hj%Xsample MCBSP loopbackrah…�rbh}rch(jUjj]hubajjDubj%X' test. Reference example for developersrdh…�reh}rfh(jX' test. Reference example for developersjjVhubeubajjéubejjubajjðubejjñubaubeubeubj)�rgh}rhh(jUjKjjsgj j…gjjj}rih(j]rjhXadditional referencesrkhaj]j]j]rlhUid179rmhaj]ujKOjhj]rnh(j)�roh}rph(jXAdditional Referencesrqhjjghj j…gjj"j}rrh(j]j]j]j]j]ujKOjhj]rshj%XAdditional Referencesrth…�ruh}rvh(jjqhjjohubaubj¶)�rwh}rxh(jUjjghj j…gjj¹j}ryh(j]j]j]j]j]ujNjhj]rzhj¼)�r{h}r|h(jUj}r}h(j]j]j]j]j]UcolsKujjwhj]r~h(jÁ)�rh}r€h(jUj}r�h(j]j]j]j]j]UcolwidthK#ujj{hj]jjÅubjÁ)�r‚h}rƒh(jUj}r„h(j]j]j]j]j]UcolwidthK)ujj{hj]jjÅubj)�r…h}r†h(jUj}r‡h(j]j]j]j]j]ujj{hj]rˆh(j×)�r‰h}rŠh(jUj}r‹h(j]j]j]j]j]ujj…hj]rŒh(jÜ)�r�h}rŽh(jUj}r�h(j]j]j]j]j]ujj‰hj]r�hjX)�r‘h}r’h(jX **Document**r“hjj�hj j…gjj\j}r”h(j]j]j]j]j]ujKRj]r•hj|)�r–h}r—h(jj“hj}r˜h(j]j]j]j]j]ujj‘hj]r™hj%XDocumentršh…�r›h}rœh(jUjj–hubajj„ubaubajjéubjÜ)�r�h}ržh(jUj}rŸh(j]j]j]j]j]ujj‰hj]r hjX)�r¡h}r¢h(jX **Location**r£hjj�hj j…gjj\j}r¤h(j]j]j]j]j]ujKRj]r¥hj|)�r¦h}r§h(jj£hj}r¨h(j]j]j]j]j]ujj¡hj]r©hj%XLocationrªh…�r«h}r¬h(jUjj¦hubajj„ubaubajjéubejjubj×)�r­h}r®h(jUj}r¯h(j]j]j]j]j]ujj…hj]r°h(jÜ)�r±h}r²h(jUj}r³h(j]j]j]j]j]ujj­hj]r´hjX)�rµh}r¶h(jXAPI Reference Manualr·hjj±hj j…gjj\j}r¸h(j]j]j]j]j]ujKTj]r¹hj%XAPI Reference Manualrºh…�r»h}r¼h(jj·hjjµhubaubajjéubjÜ)�r½h}r¾h(jUj}r¿h(j]j]j]j]j]ujj­hj]rÀhjX)�rÁh}rÂh(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\MCBSP\\docs\\doxygen\\html\\inde x.htmljj½hj j…gjj\j}rÃh(j]j]j]j]j]ujKTj]rÄhj%XJ$(TI_PDK_INSTALL_DIR)\packages\ti \drv\MCBSP\docs\doxygen\html\inde x.htmlrÅh…�rÆh}rÇh(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\MCBSP\\docs\\doxygen\\html\\inde x.htmljjÁhubaubajjéubejjubj×)�rÈh}rÉh(jUj}rÊh(j]j]j]j]j]ujj…hj]rËh(jÜ)�rÌh}rÍh(jUj}rÎh(j]j]j]j]j]ujjÈhj]rÏhjX)�rÐh}rÑh(jX Release NotesrÒhjjÌhj j…gjj\j}rÓh(j]j]j]j]j]ujKXj]rÔhj%X Release NotesrÕh…�rÖh}r×h(jjÒhjjÐhubaubajjéubjÜ)�rØh}rÙh(jUj}rÚh(j]j]j]j]j]ujjÈhj]rÛhjX)�rÜh}rÝh(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\MCBSP\\docs\\ReleaseNotes_MCBS P.pdfjjØhj j…gjj\j}rÞh(j]j]j]j]j]ujKXj]rßhj%XI$(TI_PDK_INSTALL_DIR)\packages\ti \drv\MCBSP\docs\ReleaseNotes_MCBS P.pdfràh…�ráh}râh(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\MCBSP\\docs\\ReleaseNotes_MCBS P.pdfjjÜhubaubajjéubejjubejjðubejjñubaubjÁ)�rãh}räh(jUjjghj j…gjjÄj}råh(j]j]j]j]j]ujK]jhj]ræhjÇ)�rçh}rèh(jUjÊKjjãhj j…gjjj}réh(j]j]j]j]j]ujKjhj]ubaubeubeubj j…gjjj}rêh(j]rëhXoverviewrìhaj]j]j]ríhUid172rîhaj]ujKjhj]rïh(j)�rðh}rñh(jXOverviewròhjjqgj j…gjj"j}róh(j]j]j]j]j]ujKjhj]rôhj%XOverviewrõh…�röh}r÷h(jjòhjjðhubaubj)�røh}rùh(jUjKjjqgj j…gjjj}rúh(j]rûhX introductionrühaj]j]j]rýhUid173rþhaj]ujKjhj]rÿh(j)�ri}ri(jX Introductionrijjøhj j…gjj"j}ri(j]j]j]j]j]ujKjhj]rij%X Introductionri…�ri}ri(jjijjiubaubjX)�ri}r i(jX2The multichannel buffered serial port (MCBSP) peripheral allows direct interface to other TI DSPs, codecs, and other devices in a system. The primary use for the MCBSP is for audio interface purposes. The following sub sections explain the hardware (MCBSP peripheral) and software context of the MCBSP LLD.r ijjøhj j…gjj\j}r i(j]j]j]j]j]ujK jhj]r ij%X2The multichannel buffered serial port (MCBSP) peripheral allows direct interface to other TI DSPs, codecs, and other devices in a system. The primary use for the MCBSP is for audio interface purposes. The following sub sections explain the hardware (MCBSP peripheral) and software context of the MCBSP LLD.r i…�ri}ri(jj ijjiubaubjX)�ri}ri(jXéThe device driver exposes a set of well-defined APIs which are used by the application layer to send and receive data via the MCBSP peripheral. The driver also exposes a set of well-defined OS abstraction APIs which are used to ensure that the driver is OS independent and portable. The MCBSP driver uses the CSL MCBSP register layer for all MCBSP MMR access. The MCBSP driver also interfaces with the EDMA3 library to be able to transfer data to and from MCBSP peripheral and data memory.rijjøhj j…gjj\j}ri(j]j]j]j]j]ujKjhj]rij%XéThe device driver exposes a set of well-defined APIs which are used by the application layer to send and receive data via the MCBSP peripheral. The driver also exposes a set of well-defined OS abstraction APIs which are used to ensure that the driver is OS independent and portable. The MCBSP driver uses the CSL MCBSP register layer for all MCBSP MMR access. The MCBSP driver also interfaces with the EDMA3 library to be able to transfer data to and from MCBSP peripheral and data memory.ri…�ri}ri(jjijjiubaubeubeubj j…gjj?j}ri(j]UlevelKj]j]rijîhaUsourcej…gj]j]UlineKUtypejAujKjhj]rijX)�ri}ri(jX+Duplicate implicit target name: "overview".j}ri(j]j]j]j]j]ujjogj]rij%X+Duplicate implicit target name: "overview".ri…�r i}r!i(jUjjiubajj\ubaubhÿ)�r"i}r#i(jUjjøhj j…gjj?j}r$i(j]UlevelKj]j]r%ijþhaUsourcej…gj]j]UlineKUtypejAujKjhj]r&ijX)�r'i}r(i(jX/Duplicate implicit target name: "introduction".j}r)i(j]j]j]j]j]ujj"ij]r*ij%X/Duplicate implicit target name: "introduction".r+i…�r,i}r-i(jUjj'iubajj\ubaubhÿ)�r.i}r/i(jUjjŒgj j…gjj?j}r0i(j]UlevelKj]j]r1ij’gaUsourcej…gj]j]UlineKUtypejAujKjhj]r2ijX)�r3i}r4i(jX1Duplicate implicit target name: "user interface".j}r5i(j]j]j]j]j]ujj.ij]r6ij%X1Duplicate implicit target name: "user interface".r7i…�r8i}r9i(jUjj3iubajj\ubaubhÿ)�r:i}r;i(jUjjœgj j…gjj?j}rijX)�r?i}r@i(jX7Duplicate implicit target name: "driver configuration".j}rAi(j]j]j]j]j]ujj:ij]rBij%X7Duplicate implicit target name: "driver configuration".rCi…�rDi}rEi(jUjj?iubajj\ubaubhÿ)�rFi}rGi(jUjjÑgj j…gjj?j}rHi(j]UlevelKj]j]rIij×gaUsourcej…gj]j]UlineK5UtypejAujK5jhj]rJijX)�rKi}rLi(jX'Duplicate implicit target name: "apis".j}rMi(j]j]j]j]j]ujjFij]rNij%X'Duplicate implicit target name: "apis".rOi…�rPi}rQi(jUjjKiubajj\ubaubhÿ)�rRi}rSi(jUjjðgj j…gjj?j}rTi(j]UlevelKj]j]rUijögaUsourcej…gj]j]UlineK>UtypejAujK>jhj]rVijX)�rWi}rXi(jX.Duplicate implicit target name: "application".j}rYi(j]j]j]j]j]ujjRij]rZij%X.Duplicate implicit target name: "application".r[i…�r\i}r]i(jUjjWiubajj\ubaubhÿ)�r^i}r_i(jUjjhj j…gjj?j}r`i(j]UlevelKj]j]raijhaUsourcej…gj]j]UlineKAUtypejAujKAjhj]rbijX)�rci}rdi(jX+Duplicate implicit target name: "examples".j}rei(j]j]j]j]j]ujj^ij]rfij%X+Duplicate implicit target name: "examples".rgi…�rhi}rii(jUjjciubajj\ubaubhÿ)�rji}rki(jUjjghj j…gjj?j}rli(j]UlevelKj]j]rmijmhaUsourcej…gj]j]UlineKOUtypejAujKOjhj]rnijX)�roi}rpi(jX8Duplicate implicit target name: "additional references".j}rqi(j]j]j]j]j]ujjjij]rrij%X8Duplicate implicit target name: "additional references".rsi…�rti}rui(jUjjoiubajj\ubaubhÿ)�rvi}rwi(jUjj)�rxi}ryi(jUjKjj)�rzi}r{i(jUjhj j jjj}r|i(j]j]j]j]r}iUemacr~iaj]rihHaujK�jhj]r€i(j)�r�i}r‚i(jXEMACrƒijjzij j jj"j}r„i(j]j]j]j]j]ujK�jhj]r…ij%XEMACr†i…�r‡i}rˆi(jjƒijj�iubaubj))�r‰i}rŠi(jXFhttp://http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_EMACjjzij j,X=source/rtos/PDK_Platform_Software/Device_Drivers/EMAC.rst.incr‹i…�rŒi}r�ibjj0j}rŽi(j2j3j]j]j]j]j]ujKjhj]r�ij%XFhttp://http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_EMACr�i…�r‘i}r’i(jUjj‰iubaubjxij)�r“i}r”i(jUjKjjzij jŒijjj}r•i(j]r–iXdriver configurationr—iaj]j]j]r˜iUid181r™iaj]ujKjhj]rši(j)�r›i}rœi(jXDriver Configurationr�ijj“ij jŒijj"j}rži(j]j]j]j]j]ujKjhj]rŸij%XDriver Configurationr i…�r¡i}r¢i(jj�ijj›iubaubj)�r£i}r¤i(jUjKjj“ij jŒijjj}r¥i(j]r¦ij&aj]j]j]r§iUid182r¨iaj]ujKjhj]r©i(j)�rªi}r«i(jXBoard Specific Configurationr¬ijj£ij jŒijj"j}r­i(j]j]j]j]j]ujKjhj]r®ij%XBoard Specific Configurationr¯i…�r°i}r±i(jj¬ijjªiubaubjX)�r²i}r³i(jX?All the board specific configurations eg:enabling and pin-mux of RGMII/MDIO pins should be performed before calling any driver APIs. By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer `Processor SDK RTOS Board Support `__ for additional details.jj£ij jŒijj\j}r´i(j]j]j]j]j]ujKjhj]rµi(j%XâAll the board specific configurations eg:enabling and pin-mux of RGMII/MDIO pins should be performed before calling any driver APIs. By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer r¶i…�r·i}r¸i(jXâAll the board specific configurations eg:enabling and pin-mux of RGMII/MDIO pins should be performed before calling any driver APIs. By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer jj²iubj)�r¹i}rºi(jXE`Processor SDK RTOS Board Support `__j}r»i(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujj²ij]r¼ij%X Processor SDK RTOS Board Supportr½i…�r¾i}r¿i(jUjj¹iubajjubj%X for additional details.rÀi…�rÁi}rÂi(jX for additional details.jj²iubeubjX)�rÃi}rÄi(jXkOnce the board specific configuration is complete driver API emac_open() can be called to initialize driverrÅijj£ij jŒijj\j}rÆi(j]j]j]j]j]ujKjhj]rÇij%XkOnce the board specific configuration is complete driver API emac_open() can be called to initialize driverrÈi…�rÉi}rÊi(jjÅijjÃiubaubjb)�rËi}rÌi(jX **EMAC Configuration Structure**rÍijj£ij jŒijjfj}rÎi(j]rÏiUemac-configuration-structurerÐiaj]j]j]j]rÑihîaujNjhj]rÒij|)�rÓi}rÔi(jjÍij}rÕi(j]j]j]j]j]ujjËij]rÖij%XEMAC Configuration Structurer×i…�rØi}rÙi(jUjjÓiubajj„ubaubjX)�rÚi}rÛi(jXÔThe emac_soc.c file binds driver with hardware attributes on the board through EMAC_Cfg structure. This structure must be provided to EMAC driver. It must be initialized before the emac_open() function is called.rÜijj£ij jŒijj\j}rÝi(j]j]j]j]j]ujK jhj]rÞij%XÔThe emac_soc.c file binds driver with hardware attributes on the board through EMAC_Cfg structure. This structure must be provided to EMAC driver. It must be initialized before the emac_open() function is called.rßi…�rài}rái(jjÜijjÚiubaubjX)�râi}rãi(jX¡For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\emac\\docs\\doxygen\\html\\index.html.jj£ij jŒijj\j}räi(j]j]j]j]j]ujK%jhj]råij%X™For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\emac\docs\doxygen\html\index.html.ræi…�rçi}rèi(jX¡For details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\emac\\docs\\doxygen\\html\\index.html.jjâiubaubeubeubj)�réi}rêi(jUjKjjzij jŒijjj}rëi(j]rìiXapisríiaj]j]j]rîiUid183rïiaj]ujK*jhj]rði(j)�rñi}ròi(jXAPIsróijjéij jŒijj"j}rôi(j]j]j]j]j]ujK*jhj]rõij%XAPIsröi…�r÷i}røi(jjóijjñiubaubjX)�rùi}rúi(jXAPI reference for application:rûijjéij jŒijj\j}rüi(j]j]j]j]j]ujK,jhj]rýij%XAPI reference for application:rþi…�rÿi}rj(jjûijjùiubaubj#)�rj}rj(jX!#include jjéij jŒijj&j}rj(j2j3j]j]j]j]j]ujM�jhj]rjj%X!#include rj…�rj}rj(jUjjjubaubjb)�rj}r j(jX API Call Flowr jjKjjéij jŒijjfj}r j(j]r jUid184r jaj]j]rjX api-call-flowrjaj]j]ujNjhj]rjj%X API Call Flowrj…�rj}rj(jj jjjjubaubjX)�rj}rj(jXÏThe below sequence indicates the calling sequence of EMAC driver APIs for a use case of an EMAC example which implements a single Ethernet MAC port. This example call flow is illustrated using port number 0.rjjjéij jŒijj\j}rj(j]j]j]j]j]ujK5jhj]rjj%XÏThe below sequence indicates the calling sequence of EMAC driver APIs for a use case of an EMAC example which implements a single Ethernet MAC port. This example call flow is illustrated using port number 0.rj…�rj}rj(jjjjjjubaubj#)�rj}rj(jXñport_num = 0; Board_initCfg cfg = BOARD_INIT_UART_STDIO | BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_ETH_PHY; Board_init(boardCfg); /* Update emac_cfg with SOC specific config required by the driver */ /* Do a socGet, update emac_cfg as required and followed by socSet */ EMAC_socGetInitCfg(port_num, &emac_cfg); ... EMAC_socSetInitCfg(port_num, &emac_cfg); ... /* For UDMA based DMA interface, init the UDMA driver */ retVal = Udma_init(&gUdmaDrvObj, &initPrms); .... /* Populate open_cfg structure with application specific configuration */ retVal = emac_open(port_num, &open_cfg) .... /* Provide RX filter configuration (currently only applicable for C6657 & OMAPL13x SOCs */ retVal = emac_config(port_num, &cfg_info); .... /* For SOCs with CPSW ports, query driver for CPSW statistics */ retVal = emac_get_statistics(port_num, &stats); .... /* For SOCs with ICSSG ports, query driver for ICSSG hardware statistics */ retVal = emac_get_statistics_icssg(port_num, &stats, clear);jjéij jŒijj&j}rj(j‰j Xcj2j3j]j]j]j!}j]j]ujK:jhj]rjj%Xñport_num = 0; Board_initCfg cfg = BOARD_INIT_UART_STDIO | BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_ETH_PHY; Board_init(boardCfg); /* Update emac_cfg with SOC specific config required by the driver */ /* Do a socGet, update emac_cfg as required and followed by socSet */ EMAC_socGetInitCfg(port_num, &emac_cfg); ... EMAC_socSetInitCfg(port_num, &emac_cfg); ... /* For UDMA based DMA interface, init the UDMA driver */ retVal = Udma_init(&gUdmaDrvObj, &initPrms); .... /* Populate open_cfg structure with application specific configuration */ retVal = emac_open(port_num, &open_cfg) .... /* Provide RX filter configuration (currently only applicable for C6657 & OMAPL13x SOCs */ retVal = emac_config(port_num, &cfg_info); .... /* For SOCs with CPSW ports, query driver for CPSW statistics */ retVal = emac_get_statistics(port_num, &stats); .... /* For SOCs with ICSSG ports, query driver for ICSSG hardware statistics */ retVal = emac_get_statistics_icssg(port_num, &stats, clear);r j…�r!j}r"j(jUjjjubaubjX)�r#j}r$j(jX?At this point EMAC driver is ready to send and receive packets.r%jjjéij jŒijj\j}r&j(j]j]j]j]j]ujKXjhj]r'jj%X?At this point EMAC driver is ready to send and receive packets.r(j…�r)j}r*j(jj%jjj#jubaubj#)�r+j}r,j(jX’/* Provide a context to poll the driver for received packets, showing RTOS use case */ Task_create(app_test_task_poll_pkt, &taskParams, NULL); /* Sample implementation of task context */ app_test_task_pol_pkt(UArg arg0, UArg arg1) { while (1) { /* AM65xx supports optional mode of direct polling of RX queue for packets which can be configured at time of emac_open. This mode of operation does not use interrupts. Note that default mode is via use of interrupts*/ emac_poll_pkt(port_num); } } /* Provide a context to poll the driver for link status, showing RTOS use case */ Task_create(app_test_task_poll_link, &taskParams, NULL); /* Sample implementation of task context */ app_test_task_pol_link(UArg arg0, UArg arg1) { EMAC_LINK_INFO_T linkInfo; do { emac_poll(port_num, &linkInfo); Osal_delay(1000); UART_printf("Link for port %d is DOWN\n", port_num); } while(linkInfo.link_status == EMAC_LINKSTATUS_NOLINK); UART_printf("Link for port %d is UP\n", port_num); } /* Close port and release all resources allocated at time of emac_open */ retVal = emac_close(port_num);jjéij jŒijj&j}r-j(j‰j Xcj2j3j]j]j]j!}j]j]ujKZjhj]r.jj%X’/* Provide a context to poll the driver for received packets, showing RTOS use case */ Task_create(app_test_task_poll_pkt, &taskParams, NULL); /* Sample implementation of task context */ app_test_task_pol_pkt(UArg arg0, UArg arg1) { while (1) { /* AM65xx supports optional mode of direct polling of RX queue for packets which can be configured at time of emac_open. This mode of operation does not use interrupts. Note that default mode is via use of interrupts*/ emac_poll_pkt(port_num); } } /* Provide a context to poll the driver for link status, showing RTOS use case */ Task_create(app_test_task_poll_link, &taskParams, NULL); /* Sample implementation of task context */ app_test_task_pol_link(UArg arg0, UArg arg1) { EMAC_LINK_INFO_T linkInfo; do { emac_poll(port_num, &linkInfo); Osal_delay(1000); UART_printf("Link for port %d is DOWN\n", port_num); } while(linkInfo.link_status == EMAC_LINKSTATUS_NOLINK); UART_printf("Link for port %d is UP\n", port_num); } /* Close port and release all resources allocated at time of emac_open */ retVal = emac_close(port_num);r/j…�r0j}r1j(jUjj+jubaubjÁ)�r2j}r3j(jUjjéij jŒijjÄj}r4j(j]j]j]j]j]ujK}jhj]r5jjÇ)�r6j}r7j(jUjÊKjj2jj jŒijjj}r8j(j]j]j]j]j]ujKjhj]ubaubeubj)�r9j}r:j(jUjjzij jŒijjj}r;j(j]j]j]j]rjhÊaujK�jhj]r?j(j)�r@j}rAj(jXInterposer Card SupportrBjjj9jj jŒijj"j}rCj(j]j]j]j]j]ujK�jhj]rDjj%XInterposer Card SupportrEj…�rFj}rGj(jjBjjj@jubaubjX)�rHj}rIj(jXInterposer card is an ethernet wiring adapter to let 2 ICSSG subsystems drive 2 ethernet ports with DUAL MAC or SWITCH firmware. So that each direction (TX/RX) can be handled by one pair of PRU cores. The interposer card permits the power of two ICSSG instances to be used on a two port switch or dual EMAC as opposed to the two-port, single ICSSG configuration. The following diagrams show the PRU-ICSSG RGMII TX/RX mapping to the physical ports for Maxwell and then for Maxwell with interposer card configured. Interposer card functionality can be verified by running the icssg-emac DIAG test( Refer `Processor SDK RTOS Board Support `__ for additional details ) or the emac LLD test application (Emac_Icssg_TestApp described below). Note that prior to running these tests on Maxwell with interposer card, please hook up an ethernet cable between PHY0 and PHY1.jj9jj jŒijj\j}rJj(j]j]j]j]j]ujK‚jhj]rKj(j%XZInterposer card is an ethernet wiring adapter to let 2 ICSSG subsystems drive 2 ethernet ports with DUAL MAC or SWITCH firmware. So that each direction (TX/RX) can be handled by one pair of PRU cores. The interposer card permits the power of two ICSSG instances to be used on a two port switch or dual EMAC as opposed to the two-port, single ICSSG configuration. The following diagrams show the PRU-ICSSG RGMII TX/RX mapping to the physical ports for Maxwell and then for Maxwell with interposer card configured. Interposer card functionality can be verified by running the icssg-emac DIAG test( Refer rLj…�rMj}rNj(jXZInterposer card is an ethernet wiring adapter to let 2 ICSSG subsystems drive 2 ethernet ports with DUAL MAC or SWITCH firmware. So that each direction (TX/RX) can be handled by one pair of PRU cores. The interposer card permits the power of two ICSSG instances to be used on a two port switch or dual EMAC as opposed to the two-port, single ICSSG configuration. The following diagrams show the PRU-ICSSG RGMII TX/RX mapping to the physical ports for Maxwell and then for Maxwell with interposer card configured. Interposer card functionality can be verified by running the icssg-emac DIAG test( Refer jjHjubj)�rOj}rPj(jXE`Processor SDK RTOS Board Support `__j}rQj(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujjHjj]rRjj%X Processor SDK RTOS Board SupportrSj…�rTj}rUj(jUjjOjubajjubj%Xà for additional details ) or the emac LLD test application (Emac_Icssg_TestApp described below). Note that prior to running these tests on Maxwell with interposer card, please hook up an ethernet cable between PHY0 and PHY1.rVj…�rWj}rXj(jXà for additional details ) or the emac LLD test application (Emac_Icssg_TestApp described below). Note that prior to running these tests on Maxwell with interposer card, please hook up an ethernet cable between PHY0 and PHY1.jjHjubeubjb)�rYj}rZj(jXInterposer Layoutr[jjj9jj jŒijjfj}r\j(j]r]jUinterposer-layoutr^jaj]j]j]j]r_jh5aujNjhj]r`jj%XInterposer Layoutraj…�rbj}rcj(jj[jjjYjubaubj^)�rdj}rej(jX$.. Image:: ../images/Interposer.png jj9jj jŒijjaj}rfj(UuriXrtos/../images/Interposer.pngrgjj]j]j]j]jd}rhjU*jgjsj]ujK�jhj]ubeubj)�rij}rjj(jUjjzij jŒijjj}rkj(j]j]j]j]rljUexample-and-test-applicationsrmjaj]rnjh…aujK’jhj]roj(j)�rpj}rqj(jXExample and Test Applicationsrrjjjijj jŒijj"j}rsj(j]j]j]j]j]ujK’jhj]rtjj%XExample and Test Applicationsruj…�rvj}rwj(jjrjjjpjubaubj¶)�rxj}ryj(jUjjijj jŒijj¹j}rzj(j]j]j]j]j]ujNjhj]r{jj¼)�r|j}r}j(jUj}r~j(j]j]j]j]j]UcolsKujjxjj]rj(jÁ)�r€j}r�j(jUj}r‚j(j]j]j]j]j]UcolwidthKujj|jj]jjÅubjÁ)�rƒj}r„j(jUj}r…j(j]j]j]j]j]UcolwidthKujj|jj]jjÅubjÁ)�r†j}r‡j(jUj}rˆj(j]j]j]j]j]UcolwidthKujj|jj]jjÅubjÁ)�r‰j}rŠj(jUj}r‹j(j]j]j]j]j]UcolwidthKujj|jj]jjÅubjÁ)�rŒj}r�j(jUj}rŽj(j]j]j]j]j]UcolwidthKujj|jj]jjÅubjÒ)�r�j}r�j(jUj}r‘j(j]j]j]j]j]ujj|jj]r’jj×)�r“j}r”j(jUj}r•j(j]j]j]j]j]ujj�jj]r–j(jÜ)�r—j}r˜j(jUj}r™j(j]j]j]j]j]ujj“jj]ršjjX)�r›j}rœj(jXNamer�jjj—jj jŒijj\j}ržj(j]j]j]j]j]ujK•j]rŸjj%XNamer j…�r¡j}r¢j(jj�jjj›jubaubajjéubjÜ)�r£j}r¤j(jUj}r¥j(j]j]j]j]j]ujj“jj]r¦jjX)�r§j}r¨j(jX Descriptionr©jjj£jj jŒijj\j}rªj(j]j]j]j]j]ujK•j]r«jj%X Descriptionr¬j…�r­j}r®j(jj©jjj§jubaubajjéubjÜ)�r¯j}r°j(jUj}r±j(j]j]j]j]j]ujj“jj]r²jjX)�r³j}r´j(jXExpected Resultsrµjjj¯jj jŒijj\j}r¶j(j]j]j]j]j]ujK•j]r·jj%XExpected Resultsr¸j…�r¹j}rºj(jjµjjj³jubaubajjéubjÜ)�r»j}r¼j(jUj}r½j(j]j]j]j]j]ujj“jj]r¾jjX)�r¿j}rÀj(jXSOC SuppportedrÁjjj»jj jŒijj\j}rÂj(j]j]j]j]j]ujK•j]rÃjj%XSOC SuppportedrÄj…�rÅj}rÆj(jjÁjjj¿jubaubajjéubjÜ)�rÇj}rÈj(jUj}rÉj(j]j]j]j]j]ujj“jj]rÊjjX)�rËj}rÌj(jX Build TyperÍjjjÇjj jŒijj\j}rÎj(j]j]j]j]j]ujK•j]rÏjj%X Build TyperÐj…�rÑj}rÒj(jjÍjjjËjubaubajjéubejjubajjubj)�rÓj}rÔj(jUj}rÕj(j]j]j]j]j]ujj|jj]rÖj(j×)�r×j}rØj(jUj}rÙj(j]j]j]j]j]ujjÓjj]rÚj(jÜ)�rÛj}rÜj(jUj}rÝj(j]j]j]j]j]ujj×jj]rÞjjX)�rßj}ràj(jXEMAC_BasicExamplerájjjÛjj jŒijj\j}râj(j]j]j]j]j]ujK—j]rãjj%XEMAC_BasicExampleräj…�råj}ræj(jjájjjßjubaubajjéubjÜ)�rçj}rèj(jUj}réj(j]j]j]j]j]ujj×jj]rêj(jX)�rëj}rìj(jXMEMAC Loopback test at CPSW switch interface. Reference example for developersríjjjçjj jŒijj\j}rîj(j]j]j]j]j]ujK—j]rïjj%XMEMAC Loopback test at CPSW switch interface. Reference example for developersrðj…�rñj}ròj(jjíjjjëjubaubjX)�rój}rôj(jXŽExample demonstrates loopback capability by sending dummy broadcast packet to CPSW switch. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.rõjjjçjj jŒijj\j}röj(j]j]j]j]j]ujK�j]r÷jj%XŽExample demonstrates loopback capability by sending dummy broadcast packet to CPSW switch. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.røj…�rùj}rúj(jjõjjjójubaubejjéubjÜ)�rûj}rüj(jUj}rýj(j]j]j]j]j]ujj×jj]rþjjX)�rÿj}rk(jX>Unit Test will print "All tests have passed" via UART console.rkjjûjj jŒijj\j}rk(j]j]j]j]j]ujK—j]rkj%X>Unit Test will print "All tests have passed" via UART console.rk…�rk}rk(jjkjjÿjubaubajjéubjÜ)�rk}rk(jUj}r k(j]j]j]j]j]ujj×jj]r kjX)�r k}r k(jX+AM335x, AM437x, AM572x, AM571x, AM574x, K2Gr kjjkj jŒijj\j}rk(j]j]j]j]j]ujK—j]rkj%X+AM335x, AM437x, AM572x, AM571x, AM574x, K2Grk…�rk}rk(jj kjj kubaubajjéubjÜ)�rk}rk(jUj}rk(j]j]j]j]j]ujj×jj]rkjX)�rk}rk(jX CCS projectrkjjkj jŒijj\j}rk(j]j]j]j]j]ujK—j]rkj%X CCS projectrk…�rk}rk(jjkjjkubaubajjéubejjubj×)�rk}r k(jUj}r!k(j]j]j]j]j]ujjÓjj]r"k(jÜ)�r#k}r$k(jUj}r%k(j]j]j]j]j]ujjkj]r&kjX)�r'k}r(k(jXEMAC_SMP_BasicExampler)kjj#kj jŒijj\j}r*k(j]j]j]j]j]ujK³j]r+kj%XEMAC_SMP_BasicExampler,k…�r-k}r.k(jj)kjj'kubaubajjéubjÜ)�r/k}r0k(jUj}r1k(j]j]j]j]j]ujjkj]r2kjX)�r3k}r4k(jXMEMAC Loopback test at CPSW switch interface with SMP enabled. (A15 core only)r5kjj/kj jŒijj\j}r6k(j]j]j]j]j]ujK³j]r7kj%XMEMAC Loopback test at CPSW switch interface with SMP enabled. (A15 core only)r8k…�r9k}r:k(jj5kjj3kubaubajjéubjÜ)�r;k}rkjX)�r?k}r@k(jX>Unit Test will print "All tests have passed" via UART console.rAkjj;kj jŒijj\j}rBk(j]j]j]j]j]ujK³j]rCkj%X>Unit Test will print "All tests have passed" via UART console.rDk…�rEk}rFk(jjAkjj?kubaubajjéubjÜ)�rGk}rHk(jUj}rIk(j]j]j]j]j]ujjkj]rJkjX)�rKk}rLk(jX AM572x-EVMrMkjjGkj jŒijj\j}rNk(j]j]j]j]j]ujK³j]rOkj%X AM572x-EVMrPk…�rQk}rRk(jjMkjjKkubaubajjéubjÜ)�rSk}rTk(jUj}rUk(j]j]j]j]j]ujjkj]rVkjX)�rWk}rXk(jX CCS projectrYkjjSkj jŒijj\j}rZk(j]j]j]j]j]ujK³j]r[kj%X CCS projectr\k…�r]k}r^k(jjYkjjWkubaubajjéubejjubj×)�r_k}r`k(jUj}rak(j]j]j]j]j]ujjÓjj]rbk(jÜ)�rck}rdk(jUj}rek(j]j]j]j]j]ujj_kj]rfkjX)�rgk}rhk(jXEMACLoopback_testProj ectrikjjckj jŒijj\j}rjk(j]j]j]j]j]ujK»j]rkkj%XEMACLoopback_testProj ectrlk…�rmk}rnk(jjikjjgkubaubajjéubjÜ)�rok}rpk(jUj}rqk(j]j]j]j]j]ujj_kj]rrk(jX)�rsk}rtk(jXMEMAC Loopback test at CPSW switch interface. Reference example for developersrukjjokj jŒijj\j}rvk(j]j]j]j]j]ujK»j]rwkj%XMEMAC Loopback test at CPSW switch interface. Reference example for developersrxk…�ryk}rzk(jjukjjskubaubjX)�r{k}r|k(jXŽExample demonstrates loopback capability by sending dummy broadcast packet to CPSW switch. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.r}kjjokj jŒijj\j}r~k(j]j]j]j]j]ujKÁj]rkj%XŽExample demonstrates loopback capability by sending dummy broadcast packet to CPSW switch. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.r€k…�r�k}r‚k(jj}kjj{kubaubjX)�rƒk}r„k(jXäThis example needs to be run on the OMAPL137 and OMAPL138 platforms using external loopback cable. OMAPL137 EVM is having two Ethernet ports. Connect the loopback cable to the port 1 (ENET-P1) while running the loopback example.r…kjjokj jŒijj\j}r†k(j]j]j]j]j]ujK×j]r‡kj%XäThis example needs to be run on the OMAPL137 and OMAPL138 platforms using external loopback cable. OMAPL137 EVM is having two Ethernet ports. Connect the loopback cable to the port 1 (ENET-P1) while running the loopback example.rˆk…�r‰k}rŠk(jj…kjjƒkubaubejjéubjÜ)�r‹k}rŒk(jUj}r�k(j]j]j]j]j]ujj_kj]rŽkjX)�r�k}r�k(jXˆUnit Test will print "Loopback Test completed successfully on core 0" via CCS console for C6657 and on UART serial console for OMAPL13x.r‘kjj‹kj jŒijj\j}r’k(j]j]j]j]j]ujK»j]r“kj%XˆUnit Test will print "Loopback Test completed successfully on core 0" via CCS console for C6657 and on UART serial console for OMAPL13x.r”k…�r•k}r–k(jj‘kjj�kubaubajjéubjÜ)�r—k}r˜k(jUj}r™k(j]j]j]j]j]ujj_kj]rškjX)�r›k}rœk(jX!C6657, DRA7xx, OMAPL137, OMAPL138r�kjj—kj jŒijj\j}ržk(j]j]j]j]j]ujK»j]rŸkj%X!C6657, DRA7xx, OMAPL137, OMAPL138r k…�r¡k}r¢k(jj�kjj›kubaubajjéubjÜ)�r£k}r¤k(jUj}r¥k(j]j]j]j]j]ujj_kj]r¦kjX)�r§k}r¨k(jX CCS projectr©kjj£kj jŒijj\j}rªk(j]j]j]j]j]ujK»j]r«kj%X CCS projectr¬k…�r­k}r®k(jj©kjj§kubaubajjéubejjubj×)�r¯k}r°k(jUj}r±k(j]j]j]j]j]ujjÓjj]r²k(jÜ)�r³k}r´k(jUj}rµk(j]j]j]j]j]ujj¯kj]r¶kjX)�r·k}r¸k(jXEMAC_PktInspectionExa mpler¹kjj³kj jŒijj\j}rºk(j]j]j]j]j]ujKåj]r»kj%XEMAC_PktInspectionExa mpler¼k…�r½k}r¾k(jj¹kjj·kubaubajjéubjÜ)�r¿k}rÀk(jUj}rÁk(j]j]j]j]j]ujj¯kj]rÂk(jX)�rÃk}rÄk(jX\This demonstrates how to write an application to filter Ethernet packets based on IP addressrÅkjj¿kj jŒijj\j}rÆk(j]j]j]j]j]ujKåj]rÇkj%X\This demonstrates how to write an application to filter Ethernet packets based on IP addressrÈk…�rÉk}rÊk(jjÅkjjÃkubaubjX)�rËk}rÌk(jXPrerequisites:rÍkjj¿kj jŒijj\j}rÎk(j]j]j]j]j]ujKìj]rÏkj%XPrerequisites:rÐk…�rÑk}rÒk(jjÍkjjËkubaubj)�rÓk}rÔk(jUj}rÕk(jX-j]j]j]j]j]ujj¿kj]rÖk(j)�r×k}rØk(jXŠInstall the packETH utility (v 1.8.1) on a Linux PC. The packETH tool is available for Windows as well, but not all features are supportedj}rÙk(j]j]j]j]j]ujjÓkj]rÚkjX)�rÛk}rÜk(jXŠInstall the packETH utility (v 1.8.1) on a Linux PC. The packETH tool is available for Windows as well, but not all features are supportedrÝkjj×kj jŒijj\j}rÞk(j]j]j]j]j]ujKîj]rßkj%XŠInstall the packETH utility (v 1.8.1) on a Linux PC. The packETH tool is available for Windows as well, but not all features are supportedràk…�rák}râk(jjÝkjjÛkubaubajj ubj)�rãk}räk(jXÚDownload the test PCAP `files`_ and update the source and dest MAC address of the PC and EVM to be used in the test. The tcprewrite utility can be used to set the new MAC addresses (i.e. tcprewrite --enet-smac=`ròkj]j]j]j]j]uj]rókj%Xfilesrôk…�rõk}rök(jUjjîkubaubeubjX)�r÷k}røk(jX¸and update the source and dest MAC address of the PC and EVM to be used in the test. The tcprewrite utility can be used to set the new MAC addresses (i.e. tcprewrite --enet-smac= --enet-dmac=r ljjlj jŒijjÖ j}r l(j]j]j]j]j]ujMj]r lj%X C-address>r l…�r l}rl(jj ljjlubaubjÜ )�rl}rl(jUj}rl(j]j]j]j]j]ujjlj]rljX)�rl}rl(jX--enet-dmac= -i ./ip1_test.pcap -o ./ip1_test.pcap) jjÿkj jŒijjÏ j}rl(j]j]j]j]j]ujM j]rl(jÒ )�rl}r l(jX AC-address>r!ljjlj jŒijjÖ j}r"l(j]j]j]j]j]ujM j]r#lj%X AC-address>r$l…�r%l}r&l(jj!ljjlubaubjÜ )�r'l}r(l(jUj}r)l(j]j]j]j]j]ujjlj]r*ljX)�r+l}r,l(jX&-i ./ip1_test.pcap -o ./ip1_test.pcap)r-ljj'lj jŒijj\j}r.l(j]j]j]j]j]ujM j]r/lj%X&-i ./ip1_test.pcap -o ./ip1_test.pcap)r0l…�r1l}r2l(jj-ljj+lubaubajj ubeubejjÉ ubjX)�r3l}r4l(jXSteps:r5ljj¿kj jŒijj\j}r6l(j]j]j]j]j]ujM j]r7lj%XSteps:r8l…�r9l}r:l(jj5ljj3lubaubj)�r;l}rl(j)�r?l}r@l(jX@Launch the packETH utility on the Linux PC with root permissionsj}rAl(j]j]j]j]j]ujj;lj]rBljX)�rCl}rDl(jX@Launch the packETH utility on the Linux PC with root permissionsrEljj?lj jŒijj\j}rFl(j]j]j]j]j]ujMj]rGlj%X@Launch the packETH utility on the Linux PC with root permissionsrHl…�rIl}rJl(jjEljjClubaubajj ubj)�rKl}rLl(jXQGo to the "Gen-S" tab of the packETH utility and select the PCAP files to be usedj}rMl(j]j]j]j]j]ujj;lj]rNljX)�rOl}rPl(jXQGo to the "Gen-S" tab of the packETH utility and select the PCAP files to be usedrQljjKlj jŒijj\j}rRl(j]j]j]j]j]ujMj]rSlj%XQGo to the "Gen-S" tab of the packETH utility and select the PCAP files to be usedrTl…�rUl}rVl(jjQljjOlubaubajj ubj)�rWl}rXl(jXISet the transfer rate for each PCAP file (i.e. 200 Mbit/s and 150 Mbit/s)j}rYl(j]j]j]j]j]ujj;lj]rZljX)�r[l}r\l(jXISet the transfer rate for each PCAP file (i.e. 200 Mbit/s and 150 Mbit/s)r]ljjWlj jŒijj\j}r^l(j]j]j]j]j]ujMj]r_lj%XISet the transfer rate for each PCAP file (i.e. 200 Mbit/s and 150 Mbit/s)r`l…�ral}rbl(jj]ljj[lubaubajj ubj)�rcl}rdl(jX+Set the total packets to transfer to 500000j}rel(j]j]j]j]j]ujj;lj]rfljX)�rgl}rhl(jX+Set the total packets to transfer to 500000riljjclj jŒijj\j}rjl(j]j]j]j]j]ujMj]rklj%X+Set the total packets to transfer to 500000rll…�rml}rnl(jjiljjglubaubajj ubj)�rol}rpl(jXDLoad and run the EMAC packet inspection application to the IPU1 corej}rql(j]j]j]j]j]ujj;lj]rrljX)�rsl}rtl(jXDLoad and run the EMAC packet inspection application to the IPU1 coreruljjolj jŒijj\j}rvl(j]j]j]j]j]ujM j]rwlj%XDLoad and run the EMAC packet inspection application to the IPU1 corerxl…�ryl}rzl(jjuljjslubaubajj ubj)�r{l}r|l(jX?Hit the "Send" button on the packETH utility to start streamingj}r}l(j]j]j]j]j]ujj;lj]r~ljX)�rl}r€l(jX?Hit the "Send" button on the packETH utility to start streamingr�ljj{lj jŒijj\j}r‚l(j]j]j]j]j]ujM%j]rƒlj%X?Hit the "Send" button on the packETH utility to start streamingr„l…�r…l}r†l(jj�ljjlubaubajj ubj)�r‡l}rˆl(jX0The packet streaming should last for few secondsj}r‰l(j]j]j]j]j]ujj;lj]rŠljX)�r‹l}rŒl(jX0The packet streaming should last for few secondsr�ljj‡lj jŒijj\j}rŽl(j]j]j]j]j]ujM)j]r�lj%X0The packet streaming should last for few secondsr�l…�r‘l}r’l(jj�ljj‹lubaubajj ubejjubejjéubjÜ)�r“l}r”l(jUj}r•l(j]j]j]j]j]ujj¯kj]r–l(jX)�r—l}r˜l(jXPass criteria:r™ljj“lj jŒijj\j}ršl(j]j]j]j]j]ujKåj]r›lj%XPass criteria:rœl…�r�l}ržl(jj™ljj—lubaubj)�rŸl}r l(jUj}r¡l(jX-j]j]j]j]j]ujj“lj]r¢l(j)�r£l}r¤l(jX´The total packet sent for each stream is shown at the bottom of the packETH widow. The packet stream statistics must match the packet statistics printed by the DUT via serial portj}r¥l(j]j]j]j]j]ujjŸlj]r¦l(jX)�r§l}r¨l(jXCThe total packet sent for each stream is shown at the bottom of ther©ljj£lj jŒijj\j}rªl(j]j]j]j]j]ujKçj]r«lj%XCThe total packet sent for each stream is shown at the bottom of ther¬l…�r­l}r®l(jj©ljj§lubaubjX)�r¯l}r°l(jXopackETH widow. The packet stream statistics must match the packet statistics printed by the DUT via serial portr±ljj£lj jŒijj\j}r²l(j]j]j]j]j]ujKìj]r³lj%XopackETH widow. The packet stream statistics must match the packet statistics printed by the DUT via serial portr´l…�rµl}r¶l(jj±ljj¯lubaubejj ubj)�r·l}r¸l(jX¬The packet inspection utility periodically prints the EMAC statistics, which include DMA overruns, underruns and other error. No errors should be seen during the transfer. j}r¹l(j]j]j]j]j]ujjŸlj]rºljX)�r»l}r¼l(jX«The packet inspection utility periodically prints the EMAC statistics, which include DMA overruns, underruns and other error. No errors should be seen during the transfer.r½ljj·lj jŒijj\j}r¾l(j]j]j]j]j]ujKój]r¿lj%X«The packet inspection utility periodically prints the EMAC statistics, which include DMA overruns, underruns and other error. No errors should be seen during the transfer.rÀl…�rÁl}rÂl(jj½ljj»lubaubajj ubejjubjX)�rÃl}rÄl(jXFail criteria:rÅljj“lj jŒijj\j}rÆl(j]j]j]j]j]ujMj]rÇlj%XFail criteria:rÈl…�rÉl}rÊl(jjÅljjÃlubaubj)�rËl}rÌl(jUj}rÍl(jX-j]j]j]j]j]ujj“lj]rÎl(j)�rÏl}rÐl(jXTPacket count mismatch between packETH utility and counters from the IPU1 applicationj}rÑl(j]j]j]j]j]ujjËlj]rÒljX)�rÓl}rÔl(jXTPacket count mismatch between packETH utility and counters from the IPU1 applicationrÕljjÏlj jŒijj\j}rÖl(j]j]j]j]j]ujMj]r×lj%XTPacket count mismatch between packETH utility and counters from the IPU1 applicationrØl…�rÙl}rÚl(jjÕljjÓlubaubajj ubj)�rÛl}rÜl(jXRAny EMAC errors reported by the IPU1 application j}rÝl(j]j]j]j]j]ujjËlj]rÞljX)�rßl}ràl(jX0Any EMAC errors reported by the IPU1 applicationráljjÛlj jŒijj\j}râl(j]j]j]j]j]ujMj]rãlj%X0Any EMAC errors reported by the IPU1 applicationräl…�rål}ræl(jjáljjßlubaubajj ubejjubejjéubjÜ)�rçl}rèl(jUj}rél(j]j]j]j]j]ujj¯kj]rêljX)�rël}rìl(jXDRA7xxríljjçlj jŒijj\j}rîl(j]j]j]j]j]ujKåj]rïlj%XDRA7xxrðl…�rñl}ròl(jjíljjëlubaubajjéubjÜ)�ról}rôl(jUj}rõl(j]j]j]j]j]ujj¯kj]röljX)�r÷l}røl(jX CCS projectrùljjólj jŒijj\j}rúl(j]j]j]j]j]ujKåj]rûlj%X CCS projectrül…�rýl}rþl(jjùljj÷lubaubajjéubejjubj×)�rÿl}rm(jUj}rm(j]j]j]j]j]ujjÓjj]rm(jÜ)�rm}rm(jUj}rm(j]j]j]j]j]ujjÿlj]rmjX)�rm}rm(jXEmac_Cpsw_TestAppr mjjmj jŒijj\j}r m(j]j]j]j]j]ujM.j]r mj%XEmac_Cpsw_TestAppr m…�r m}rm(jj mjjmubaubajjéubjÜ)�rm}rm(jUj}rm(j]j]j]j]j]ujjÿlj]rm(jX)�rm}rm(jXQEMAC Loopback test at CPSW switch interface. Reference application for developersrmjjmj jŒijj\j}rm(j]j]j]j]j]ujM.j]rmj%XQEMAC Loopback test at CPSW switch interface. Reference application for developersrm…�rm}rm(jjmjjmubaubjX)�rm}rm(jXTestApp demonstrates loopback capability by sending packets to CPSW switch. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.rmjjmj jŒijj\j}rm(j]j]j]j]j]ujM4j]rmj%XTestApp demonstrates loopback capability by sending packets to CPSW switch. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.r m…�r!m}r"m(jjmjjmubaubejjéubjÜ)�r#m}r$m(jUj}r%m(j]j]j]j]j]ujjÿlj]r&mjX)�r'm}r(m(jX>Unit Test will print "All tests have passed" via UART console.r)mjj#mj jŒijj\j}r*m(j]j]j]j]j]ujM.j]r+mj%X>Unit Test will print "All tests have passed" via UART console.r,m…�r-m}r.m(jj)mjj'mubaubajjéubjÜ)�r/m}r0m(jUj}r1m(j]j]j]j]j]ujjÿlj]r2mjX)�r3m}r4m(jX AM65xx, J721Er5mjj/mj jŒijj\j}r6m(j]j]j]j]j]ujM.j]r7mj%X AM65xx, J721Er8m…�r9m}r:m(jj5mjj3mubaubajjéubjÜ)�r;m}rmjX)�r?m}r@m(jXmakefilerAmjj;mj jŒijj\j}rBm(j]j]j]j]j]ujM.j]rCmj%XmakefilerDm…�rEm}rFm(jjAmjj?mubaubajjéubejjubj×)�rGm}rHm(jUj}rIm(j]j]j]j]j]ujjÓjj]rJm(jÜ)�rKm}rLm(jUj}rMm(j]j]j]j]j]ujjGmj]rNmjX)�rOm}rPm(jXEmac_Cpsw_SMP_TestApprQmjjKmj jŒijj\j}rRm(j]j]j]j]j]ujMIj]rSmj%XEmac_Cpsw_SMP_TestApprTm…�rUm}rVm(jjQmjjOmubaubajjéubjÜ)�rWm}rXm(jUj}rYm(j]j]j]j]j]ujjGmj]rZmjX)�r[m}r\m(jXLEMAC Loopback test at CPSW switch interface with SMP enabled (A53 core only)r]mjjWmj jŒijj\j}r^m(j]j]j]j]j]ujMIj]r_mj%XLEMAC Loopback test at CPSW switch interface with SMP enabled (A53 core only)r`m…�ram}rbm(jj]mjj[mubaubajjéubjÜ)�rcm}rdm(jUj}rem(j]j]j]j]j]ujjGmj]rfmjX)�rgm}rhm(jX>Unit Test will print "All tests have passed" via UART console.rimjjcmj jŒijj\j}rjm(j]j]j]j]j]ujMIj]rkmj%X>Unit Test will print "All tests have passed" via UART console.rlm…�rmm}rnm(jjimjjgmubaubajjéubjÜ)�rom}rpm(jUj}rqm(j]j]j]j]j]ujjGmj]rrmjX)�rsm}rtm(jXAM65xxrumjjomj jŒijj\j}rvm(j]j]j]j]j]ujMIj]rwmj%XAM65xxrxm…�rym}rzm(jjumjjsmubaubajjéubjÜ)�r{m}r|m(jUj}r}m(j]j]j]j]j]ujjGmj]r~mjX)�rm}r€m(jXmakefiler�mjj{mj jŒijj\j}r‚m(j]j]j]j]j]ujMIj]rƒmj%Xmakefiler„m…�r…m}r†m(jj�mjjmubaubajjéubejjubj×)�r‡m}rˆm(jUj}r‰m(j]j]j]j]j]ujjÓjj]rŠm(jÜ)�r‹m}rŒm(jUj}r�m(j]j]j]j]j]ujj‡mj]rŽmjX)�r�m}r�m(jXEmac_Icssg_TestAppr‘mjj‹mj jŒijj\j}r’m(j]j]j]j]j]ujMPj]r“mj%XEmac_Icssg_TestAppr”m…�r•m}r–m(jj‘mjj�mubaubajjéubjÜ)�r—m}r˜m(jUj}r™m(j]j]j]j]j]ujj‡mj]ršm(jX)�r›m}rœm(jXOEMAC port 2 port test between ICSSG ports. Reference application for developersr�mjj—mj jŒijj\j}ržm(j]j]j]j]j]ujMPj]rŸmj%XOEMAC port 2 port test between ICSSG ports. Reference application for developersr m…�r¡m}r¢m(jj�mjj›mubaubjX)�r£m}r¤m(jX[Prior to running this test, please connect the ICSSG ports as follows with ethernet cables:r¥mjj—mj jŒijj\j}r¦m(j]j]j]j]j]ujMUj]r§mj%X[Prior to running this test, please connect the ICSSG ports as follows with ethernet cables:r¨m…�r©m}rªm(jj¥mjj£mubaubjX)�r«m}r¬m(jX PHY0 to PHY1r­mjj—mj jŒijj\j}r®m(j]j]j]j]j]ujM[j]r¯mj%X PHY0 to PHY1r°m…�r±m}r²m(jj­mjj«mubaubjX)�r³m}r´m(jX PHY2 to PHY3rµmjj—mj jŒijj\j}r¶m(j]j]j]j]j]ujM]j]r·mj%X PHY2 to PHY3r¸m…�r¹m}rºm(jjµmjj³mubaubjX)�r»m}r¼m(jX PHY4 to PHY5r½mjj—mj jŒijj\j}r¾m(j]j]j]j]j]ujM_j]r¿mj%X PHY4 to PHY5rÀm…�rÁm}rÂm(jj½mjj»mubaubjX)�rÃm}rÄm(jXÈTest app demonstrates packet TX/RX between 2 ICSSG ports. All 6 ICSSG ports will be tested for am65xx-idk. PRU2 ports will be tested for am65xx-evm. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.rÅmjj—mj jŒijj\j}rÆm(j]j]j]j]j]ujMaj]rÇmj%XÈTest app demonstrates packet TX/RX between 2 ICSSG ports. All 6 ICSSG ports will be tested for am65xx-idk. PRU2 ports will be tested for am65xx-evm. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.rÈm…�rÉm}rÊm(jjÅmjjÃmubaubejjéubjÜ)�rËm}rÌm(jUj}rÍm(j]j]j]j]j]ujj‡mj]rÎmjX)�rÏm}rÐm(jX=Unit Test will print "All tests have passed" via UART consolerÑmjjËmj jŒijj\j}rÒm(j]j]j]j]j]ujMPj]rÓmj%X=Unit Test will print "All tests have passed" via UART consolerÔm…�rÕm}rÖm(jjÑmjjÏmubaubajjéubjÜ)�r×m}rØm(jUj}rÙm(j]j]j]j]j]ujj‡mj]rÚmjX)�rÛm}rÜm(jXAM65xxrÝmjj×mj jŒijj\j}rÞm(j]j]j]j]j]ujMPj]rßmj%XAM65xxràm…�rám}râm(jjÝmjjÛmubaubajjéubjÜ)�rãm}räm(jUj}råm(j]j]j]j]j]ujj‡mj]ræmjX)�rçm}rèm(jXmakefilerémjjãmj jŒijj\j}rêm(j]j]j]j]j]ujMPj]rëmj%Xmakefilerìm…�rím}rîm(jjémjjçmubaubajjéubejjubj×)�rïm}rðm(jUj}rñm(j]j]j]j]j]ujjÓjj]ròm(jÜ)�róm}rôm(jUj}rõm(j]j]j]j]j]ujjïmj]römjX)�r÷m}røm(jXEmac_Icssg_Switch_TestApprùmjjómj jŒijj\j}rúm(j]j]j]j]j]ujMyj]rûmj%XEmac_Icssg_Switch_TestApprüm…�rým}rþm(jjùmjj÷mubaubajjéubjÜ)�rÿm}rn(jUj}rn(j]j]j]j]j]ujjïmj]rn(jX)�rn}rn(jXQSwitch port 2 port test between ICSSG ports. Reference application for developersrnjjÿmj jŒijj\j}rn(j]j]j]j]j]ujMyj]rnj%XQSwitch port 2 port test between ICSSG ports. Reference application for developersrn…�r n}r n(jjnjjnubaubjX)�r n}r n(jX[Prior to running this test, please connect the ICSSG ports as follows with ethernet cables:r njjÿmj jŒijj\j}rn(j]j]j]j]j]ujMj]rnj%X[Prior to running this test, please connect the ICSSG ports as follows with ethernet cables:rn…�rn}rn(jj njj nubaubjX)�rn}rn(jX PHY0 to PHY1rnjjÿmj jŒijj\j}rn(j]j]j]j]j]ujM…j]rnj%X PHY0 to PHY1rn…�rn}rn(jjnjjnubaubjX)�rn}rn(jXtTest app demonstrates packet TX/RX between 2 ICSSG Switch ports. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.rnjjÿmj jŒijj\j}rn(j]j]j]j]j]ujM‡j]rnj%XtTest app demonstrates packet TX/RX between 2 ICSSG Switch ports. Unit test registers receive packet callback routine with LLD to be called for RX packet. Call back routine will extract packet received, perform simple memory comparison against packet sent for integrity check. Unit test will iterate over configured packet count for packet transmission and reception check.r n…�r!n}r"n(jjnjjnubaubejjéubjÜ)�r#n}r$n(jUj}r%n(j]j]j]j]j]ujjïmj]r&n(jX)�r'n}r(n(jXUnit Test will print "All testsr)njj#nj jŒijj\j}r*n(j]j]j]j]j]ujMyj]r+nj%XUnit Test will print "All testsr,n…�r-n}r.n(jj)njj'nubaubjX)�r/n}r0n(jXhave passed" via UART consoler1njj#nj jŒijj\j}r2n(j]j]j]j]j]ujM|j]r3nj%Xhave passed" via UART consoler4n…�r5n}r6n(jj1njj/nubaubejjéubjÜ)�r7n}r8n(jUj}r9n(j]j]j]j]j]ujjïmj]r:njX)�r;n}rn(j]j]j]j]j]ujMyj]r?nj%XAM65xxr@n…�rAn}rBn(jj=njj;nubaubajjéubjÜ)�rCn}rDn(jUj}rEn(j]j]j]j]j]ujjïmj]rFnjX)�rGn}rHn(jXmakefilerInjjCnj jŒijj\j}rJn(j]j]j]j]j]ujMyj]rKnj%XmakefilerLn…�rMn}rNn(jjInjjGnubaubajjéubejjubejjðubejjñubaubeubj)�rOn}rPn(jUjKjjzij jŒijjj}rQn(j]rRnjø0aj]j]j]rSnUid185rTnaj]ujMžjhj]rUn(j)�rVn}rWn(jXSupport for Benchmark TestingrXnjjOnj jŒijj"j}rYn(j]j]j]j]j]ujMžjhj]rZnj%XSupport for Benchmark Testingr[n…�r\n}r]n(jjXnjjVnubaubj¶)�r^n}r_n(jUjjOnj jŒijj¹j}r`n(j]j]j]j]j]ujNjhj]ranj¼)�rbn}rcn(jUj}rdn(j]j]j]j]j]UcolsKujj^nj]ren(jÁ)�rfn}rgn(jUj}rhn(j]j]j]j]j]UcolwidthKujjbnj]jjÅubjÁ)�rin}rjn(jUj}rkn(j]j]j]j]j]UcolwidthKujjbnj]jjÅubjÁ)�rln}rmn(jUj}rnn(j]j]j]j]j]UcolwidthKujjbnj]jjÅubjÁ)�ron}rpn(jUj}rqn(j]j]j]j]j]UcolwidthKujjbnj]jjÅubjÁ)�rrn}rsn(jUj}rtn(j]j]j]j]j]UcolwidthKujjbnj]jjÅubjÒ)�run}rvn(jUj}rwn(j]j]j]j]j]ujjbnj]rxnj×)�ryn}rzn(jUj}r{n(j]j]j]j]j]ujjunj]r|n(jÜ)�r}n}r~n(jUj}rn(j]j]j]j]j]ujjynj]r€njX)�r�n}r‚n(jXNamerƒnjj}nj jŒijj\j}r„n(j]j]j]j]j]ujM¡j]r…nj%XNamer†n…�r‡n}rˆn(jjƒnjj�nubaubajjéubjÜ)�r‰n}rŠn(jUj}r‹n(j]j]j]j]j]ujjynj]rŒnjX)�r�n}rŽn(jX Descriptionr�njj‰nj jŒijj\j}r�n(j]j]j]j]j]ujM¡j]r‘nj%X Descriptionr’n…�r“n}r”n(jj�njj�nubaubajjéubjÜ)�r•n}r–n(jUj}r—n(j]j]j]j]j]ujjynj]r˜njX)�r™n}ršn(jXExpected Resultsr›njj•nj jŒijj\j}rœn(j]j]j]j]j]ujM¡j]r�nj%XExpected Resultsržn…�rŸn}r n(jj›njj™nubaubajjéubjÜ)�r¡n}r¢n(jUj}r£n(j]j]j]j]j]ujjynj]r¤njX)�r¥n}r¦n(jXSOC Suppportedr§njj¡nj jŒijj\j}r¨n(j]j]j]j]j]ujM¡j]r©nj%XSOC Suppportedrªn…�r«n}r¬n(jj§njj¥nubaubajjéubjÜ)�r­n}r®n(jUj}r¯n(j]j]j]j]j]ujjynj]r°njX)�r±n}r²n(jX Build Typer³njj­nj jŒijj\j}r´n(j]j]j]j]j]ujM¡j]rµnj%X Build Typer¶n…�r·n}r¸n(jj³njj±nubaubajjéubejjubajjubj)�r¹n}rºn(jUj}r»n(j]j]j]j]j]ujjbnj]r¼n(j×)�r½n}r¾n(jUj}r¿n(j]j]j]j]j]ujj¹nj]rÀn(jÜ)�rÁn}rÂn(jUj}rÃn(j]j]j]j]j]ujj½nj]rÄnjX)�rÅn}rÆn(jXEmac_Icssg_TestApprÇnjjÁnj jŒijj\j}rÈn(j]j]j]j]j]ujM£j]rÉnj%XEmac_Icssg_TestApprÊn…�rËn}rÌn(jjÇnjjÅnubaubajjéubjÜ)�rÍn}rÎn(jUj}rÏn(j]j]j]j]j]ujj½nj]rÐn(jX)�rÑn}rÒn(jXITest application with modifications can used for performance benchmarkingrÓnjjÍnj jŒijj\j}rÔn(j]j]j]j]j]ujM£j]rÕnj%XITest application with modifications can used for performance benchmarkingrÖn…�r×n}rØn(jjÓnjjÑnubaubjX)�rÙn}rÚn(jX—In order to run the test application in benchamrk mode you need to update ti/drv/emac/test/ EmacLoopbackTest/ test_loc.h to enable EMAC_BENCHMARK macrorÛnjjÍnj jŒijj\j}rÜn(j]j]j]j]j]ujM©j]rÝnj%X—In order to run the test application in benchamrk mode you need to update ti/drv/emac/test/ EmacLoopbackTest/ test_loc.h to enable EMAC_BENCHMARK macrorÞn…�rßn}ràn(jjÛnjjÙnubaubjX)�rán}rân(jX*Connect external packet generator to PHY4.rãnjjÍnj jŒijj\j}rän(j]j]j]j]j]ujM³j]rånj%X*Connect external packet generator to PHY4.ræn…�rçn}rèn(jjãnjjánubaubjX)�rén}rên(jX«The unit test will poll the RX packet channel/ring for the port being testing and will loop the packet back to the external traffic generator with "no touch" to the packetrënjjÍnj jŒijj\j}rìn(j]j]j]j]j]ujM·j]rínj%X«The unit test will poll the RX packet channel/ring for the port being testing and will loop the packet back to the external traffic generator with "no touch" to the packetrîn…�rïn}rðn(jjënjjénubaubejjéubjÜ)�rñn}ròn(jUj}rón(j]j]j]j]j]ujj½nj]rôn(jX)�rõn}rön(jXOTest applicaiton will print "polling rx packets on port 4" via the UART consoler÷njjñnj jŒijj\j}røn(j]j]j]j]j]ujM£j]rùnj%XOTest applicaiton will print "polling rx packets on port 4" via the UART consolerún…�rûn}rün(jj÷njjõnubaubjX)�rýn}rþn(jXUEvery 60 seconds, a sub-set of hardware statistics will be displayed via UART consolerÿnjjñnj jŒijj\j}ro(j]j]j]j]j]ujM¨j]roj%XUEvery 60 seconds, a sub-set of hardware statistics will be displayed via UART consolero…�ro}ro(jjÿnjjýnubaubejjéubjÜ)�ro}ro(jUj}ro(j]j]j]j]j]ujj½nj]rojX)�r o}r o(jXam65xxr ojjoj jŒijj\j}r o(j]j]j]j]j]ujM£j]r oj%Xam65xxro…�ro}ro(jj ojj oubaubajjéubjÜ)�ro}ro(jUj}ro(j]j]j]j]j]ujj½nj]rojX)�ro}ro(jXmakerojjoj jŒijj\j}ro(j]j]j]j]j]ujM£j]roj%Xmakero…�ro}ro(jjojjoubaubajjéubejjubj×)�ro}ro(jUj}ro(j]j]j]j]j]ujj¹nj]r o(jÜ)�r!o}r"o(jUj}r#o(j]j]j]j]j]ujjoj]r$ojX)�r%o}r&o(jXEmac_Cpsw_TestAppr'ojj!oj jŒijj\j}r(o(j]j]j]j]j]ujMÂj]r)oj%XEmac_Cpsw_TestAppr*o…�r+o}r,o(jj'ojj%oubaubajjéubjÜ)�r-o}r.o(jUj}r/o(j]j]j]j]j]ujjoj]r0o(jX)�r1o}r2o(jXITest application with modifications can used for performance benchmarkingr3ojj-oj jŒijj\j}r4o(j]j]j]j]j]ujMÂj]r5oj%XITest application with modifications can used for performance benchmarkingr6o…�r7o}r8o(jj3ojj1oubaubjX)�r9o}r:o(jX—In order to run the test application in benchamrk mode you need to update ti/drv/emac/test/ EmacLoopbackTest/ test_loc.h to enable EMAC_BENCHMARK macror;ojj-oj jŒijj\j}ro…�r?o}r@o(jj;ojj9oubaubjX)�rAo}rBo(jX=To benchmark ICSSG connect external packet generator to PHY4.rCojj-oj jŒijj\j}rDo(j]j]j]j]j]ujMÑj]rEoj%X=To benchmark ICSSG connect external packet generator to PHY4.rFo…�rGo}rHo(jjCojjAoubaubjX)�rIo}rJo(jX@To benchmark CPSW connect external packet generator to CPSW portrKojj-oj jŒijj\j}rLo(j]j]j]j]j]ujMÖj]rMoj%X@To benchmark CPSW connect external packet generator to CPSW portrNo…�rOo}rPo(jjKojjIoubaubjX)�rQo}rRo(jX«The unit test will poll the RX packet channel/ring for the port being testing and will loop the packet back to the external traffic generator with "no touch" to the packetrSojj-oj jŒijj\j}rTo(j]j]j]j]j]ujMÛj]rUoj%X«The unit test will poll the RX packet channel/ring for the port being testing and will loop the packet back to the external traffic generator with "no touch" to the packetrVo…�rWo}rXo(jjSojjQoubaubejjéubjÜ)�rYo}rZo(jUj}r[o(j]j]j]j]j]ujjoj]r\o(jX)�r]o}r^o(jXOTest application will print "polling rx packets on port 6" via the UART consoler_ojjYoj jŒijj\j}r`o(j]j]j]j]j]ujMÂj]raoj%XOTest application will print "polling rx packets on port 6" via the UART consolerbo…�rco}rdo(jj_ojj]oubaubjX)�reo}rfo(jXUEvery 60 seconds, a sub-set of hardware statistics will be displayed via UART consolergojjYoj jŒijj\j}rho(j]j]j]j]j]ujMÇj]rioj%XUEvery 60 seconds, a sub-set of hardware statistics will be displayed via UART consolerjo…�rko}rlo(jjgojjeoubaubejjéubjÜ)�rmo}rno(jUj}roo(j]j]j]j]j]ujjoj]rpojX)�rqo}rro(jXam65xxrsojjmoj jŒijj\j}rto(j]j]j]j]j]ujMÂj]ruoj%Xam65xxrvo…�rwo}rxo(jjsojjqoubaubajjéubjÜ)�ryo}rzo(jUj}r{o(j]j]j]j]j]ujjoj]r|ojX)�r}o}r~o(jXmakerojjyoj jŒijj\j}r€o(j]j]j]j]j]ujMÂj]r�oj%Xmaker‚o…�rƒo}r„o(jjojj}oubaubajjéubejjubejjðubejjñubaubeubj)�r…o}r†o(jUjjzij jŒijjj}r‡o(j]j]j]j]rˆoU-building-emac-test-applications-via-makefilesr‰oaj]rŠoh©aujMéjhj]r‹o(j)�rŒo}r�o(jX-Building EMAC Test applications via makefilesrŽojj…oj jŒijj"j}r�o(j]j]j]j]j]ujMéjhj]r�oj%X-Building EMAC Test applications via makefilesr‘o…�r’o}r“o(jjŽojjŒoubaubj)�r”o}r•o(jUjj…oj jŒijjj}r–o(jX-j]j]j]j]j]ujMëjhj]r—o(j)�r˜o}r™o(jXYEMAC Test applications and dependent libraries are built from the top level emac makefilejj”oj jŒijj j}ršo(j]j]j]j]j]ujNjhj]r›ojX)�rœo}r�o(jXYEMAC Test applications and dependent libraries are built from the top level emac makefileržojj˜oj jŒijj\j}rŸo(j]j]j]j]j]ujMëj]r oj%XYEMAC Test applications and dependent libraries are built from the top level emac makefiler¡o…�r¢o}r£o(jjžojjœoubaubaubj)�r¤o}r¥o(jX8Refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands: - cd /packages/ - To build: make emac - To clean: make emac_clean jj”oj jŒijj j}r¦o(j]j]j]j]j]ujNjhj]r§o(jX)�r¨o}r©o(jXÞRefer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj¤oj jŒijj\j}rªo(j]j]j]j]j]ujMíj]r«o(j%X Refer to the r¬o…�r­o}r®o(jX Refer to the jj¨oubj)�r¯o}r°o(jXT`Processor SDK RTOS Getting Started Guide `__j}r±o(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj¨oj]r²oj%X(Processor SDK RTOS Getting Started Guider³o…�r´o}rµo(jUjj¯oubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r¶o…�r·o}r¸o(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj¨oubeubj¤ )�r¹o}rºo(jUj}r»o(j]j]j]j]j]ujj¤oj]r¼oj)�r½o}r¾o(jUj}r¿o(jX-j]j]j]j]j]ujj¹oj]rÀo(j)�rÁo}rÂo(jXcd /packages/rÃoj}rÄo(j]j]j]j]j]ujj½oj]rÅojX)�rÆo}rÇo(jjÃojjÁoj jŒijj\j}rÈo(j]j]j]j]j]ujMïj]rÉoj%Xcd /packages/rÊo…�rËo}rÌo(jjÃojjÆoubaubajj ubj)�rÍo}rÎo(jXTo build: make emacrÏoj}rÐo(j]j]j]j]j]ujj½oj]rÑojX)�rÒo}rÓo(jjÏojjÍoj jŒijj\j}rÔo(j]j]j]j]j]ujMðj]rÕoj%XTo build: make emacrÖo…�r×o}rØo(jjÏojjÒoubaubajj ubj)�rÙo}rÚo(jXTo clean: make emac_clean j}rÛo(j]j]j]j]j]ujj½oj]rÜojX)�rÝo}rÞo(jXTo clean: make emac_cleanrßojjÙoj jŒijj\j}rào(j]j]j]j]j]ujMñj]ráoj%XTo clean: make emac_cleanrâo…�rão}räo(jjßojjÝoubaubajj ubejjubajj§ ubeubj)�råo}ræo(jX·Similarly, to build at the module level, issue the following commands for rebuilding : - cd /packages/ti/drv/emac - To build: make all - To clean: make clean jj”oj jŒijj j}rço(j]j]j]j]j]ujNjhj]rèo(jX)�réo}rêo(jXVSimilarly, to build at the module level, issue the following commands for rebuilding :rëojjåoj jŒijj\j}rìo(j]j]j]j]j]ujMój]ríoj%XVSimilarly, to build at the module level, issue the following commands for rebuilding :rîo…�rïo}rðo(jjëojjéoubaubj¤ )�rño}ròo(jUj}róo(j]j]j]j]j]ujjåoj]rôoj)�rõo}röo(jUj}r÷o(jX-j]j]j]j]j]ujjñoj]røo(j)�rùo}rúo(jXcd /packages/ti/drv/emacrûoj}rüo(j]j]j]j]j]ujjõoj]rýojX)�rþo}rÿo(jjûojjùoj jŒijj\j}rp(j]j]j]j]j]ujMõj]rpj%Xcd /packages/ti/drv/emacrp…�rp}rp(jjûojjþoubaubajj ubj)�rp}rp(jXTo build: make allrpj}rp(j]j]j]j]j]ujjõoj]r pjX)�r p}r p(jjpjjpj jŒijj\j}r p(j]j]j]j]j]ujMöj]r pj%XTo build: make allrp…�rp}rp(jjpjj pubaubajj ubj)�rp}rp(jXTo clean: make clean j}rp(j]j]j]j]j]ujjõoj]rpjX)�rp}rp(jXTo clean: make cleanrpjjpj jŒijj\j}rp(j]j]j]j]j]ujM÷j]rpj%XTo clean: make cleanrp…�rp}rp(jjpjjpubaubajj ubejjubajj§ ubeubeubeubj)�rp}rp(jUjjzij jŒijjj}rp(j]j]j]j]r pU+running-emac-examples-and-test-applicationsr!paj]r"ph’aujMûjhj]r#p(j)�r$p}r%p(jX+Running EMAC Examples and Test applicationsr&pjjpj jŒijj"j}r'p(j]j]j]j]j]ujMûjhj]r(pj%X+Running EMAC Examples and Test applicationsr)p…�r*p}r+p(jj&pjj$pubaubjb)�r,p}r-p(jX *Description*r.pjKjjpj jŒijjfj}r/p(j]r0pU descriptionr1paj]j]r2pX descriptionr3paj]j]ujNjhj]r4pj<)�r5p}r6p(jj.pj}r7p(j]j]j]j]j]ujj,pj]r8pj%X Descriptionr9p…�r:p}r;p(jUjj5pubajjDubaubjX)�rpjjpj jŒijj\j}r?p(j]j]j]j]j]ujMjhj]r@pj%XCEMAC Test applications demonstrates the key features of the driver.rAp…�rBp}rCp(jj>pjj`__jjpj jŒijj\j}r¬p(j]j]j]j]j]ujMjhj]r­p(j%X†EMAC Test applications can also be run via SBL. To run via SBL, please following the instructions as specified in the following link: r®p…�r¯p}r°p(jX†EMAC Test applications can also be run via SBL. To run via SBL, please following the instructions as specified in the following link: jjªpubj)�r±p}r²p(jX—`SBL User Guide `__j}r³p(UnameXSBL User GuidejX‚http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#am655x-compiling-apps-for-sblj]j]j]j]j]ujjªpj]r´pj%XSBL User Guiderµp…�r¶p}r·p(jUjj±pubajjubeubjš)�r¸p}r¹p(jX+.. _files: :download:`<../images/Pcap.zip>`jKjjpj jŒijj�j}rºp(jjòkj]r»pUfilesr¼paj]j]j]j]r½ph—aujMtjhj]ubeubj)�r¾p}r¿p(jUjKjjzij jŒijjj}rÀp(j]rÁpXadditional referencesrÂpaj]j]j]rÃpUid186rÄpaj]ujMjhj]rÅp(j)�rÆp}rÇp(jXAdditional ReferencesrÈpjj¾pj jŒijj"j}rÉp(j]j]j]j]j]ujMjhj]rÊpj%XAdditional ReferencesrËp…�rÌp}rÍp(jjÈpjjÆpubaubj¶)�rÎp}rÏp(jUjj¾pj jŒijj¹j}rÐp(j]j]j]j]j]ujNjhj]rÑpj¼)�rÒp}rÓp(jUj}rÔp(j]j]j]j]j]UcolsKujjÎpj]rÕp(jÁ)�rÖp}r×p(jUj}rØp(j]j]j]j]j]UcolwidthK#ujjÒpj]jjÅubjÁ)�rÙp}rÚp(jUj}rÛp(j]j]j]j]j]UcolwidthK)ujjÒpj]jjÅubj)�rÜp}rÝp(jUj}rÞp(j]j]j]j]j]ujjÒpj]rßp(j×)�ràp}ráp(jUj}râp(j]j]j]j]j]ujjÜpj]rãp(jÜ)�räp}råp(jUj}ræp(j]j]j]j]j]ujjàpj]rçpjX)�rèp}rép(jX **Document**rêpjjäpj jŒijj\j}rëp(j]j]j]j]j]ujMj]rìpj|)�ríp}rîp(jjêpj}rïp(j]j]j]j]j]ujjèpj]rðpj%XDocumentrñp…�ròp}róp(jUjjípubajj„ubaubajjéubjÜ)�rôp}rõp(jUj}röp(j]j]j]j]j]ujjàpj]r÷pjX)�røp}rùp(jX **Location**rúpjjôpj jŒijj\j}rûp(j]j]j]j]j]ujMj]rüpj|)�rýp}rþp(jjúpj}rÿp(j]j]j]j]j]ujjøpj]rqj%XLocationrq…�rq}rq(jUjjýpubajj„ubaubajjéubejjubj×)�rq}rq(jUj}rq(j]j]j]j]j]ujjÜpj]rq(jÜ)�rq}r q(jUj}r q(j]j]j]j]j]ujjqj]r qjX)�r q}r q(jXAPI Reference Manualrqjjqj jŒijj\j}rq(j]j]j]j]j]ujMj]rqj%XAPI Reference Manualrq…�rq}rq(jjqjj qubaubajjéubjÜ)�rq}rq(jUj}rq(j]j]j]j]j]ujjqj]rqjX)�rq}rq(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\emac\\docs\\doxygen\\html\\index .htmljjqj jŒijj\j}rq(j]j]j]j]j]ujMj]rqj%XI$(TI_PDK_INSTALL_DIR)\packages\ti \drv\emac\docs\doxygen\html\index .htmlrq…�rq}rq(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\emac\\docs\\doxygen\\html\\index .htmljjqubaubajjéubejjubj×)�rq}r q(jUj}r!q(j]j]j]j]j]ujjÜpj]r"q(jÜ)�r#q}r$q(jUj}r%q(j]j]j]j]j]ujjqj]r&qjX)�r'q}r(q(jX Release Notesr)qjj#qj jŒijj\j}r*q(j]j]j]j]j]ujM j]r+qj%X Release Notesr,q…�r-q}r.q(jj)qjj'qubaubajjéubjÜ)�r/q}r0q(jUj}r1q(j]j]j]j]j]ujjqj]r2qjX)�r3q}r4q(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\emac\\docs\\ReleaseNotes_EMAC_ LLD.pdfjj/qj jŒijj\j}r5q(j]j]j]j]j]ujM j]r6qj%XK$(TI_PDK_INSTALL_DIR)\packages\ti \drv\emac\docs\ReleaseNotes_EMAC_ LLD.pdfr7q…�r8q}r9q(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\emac\\docs\\ReleaseNotes_EMAC_ LLD.pdfjj3qubaubajjéubejjubj×)�r:q}r;q(jUj}rq}r?q(jUj}r@q(j]j]j]j]j]ujj:qj]rAqjX)�rBq}rCq(jXSoftware DesignrDqjj>qj jŒijj\j}rEq(j]j]j]j]j]ujM$j]rFqj%XSoftware DesignrGq…�rHq}rIq(jjDqjjBqubaubajjéubjÜ)�rJq}rKq(jUj}rLq(j]j]j]j]j]ujj:qj]rMqjX)�rNq}rOq(jXF$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\emac\\docs\\EMAC_LLD_SD.pdfjjJqj jŒijj\j}rPq(j]j]j]j]j]ujM$j]rQqj%X@$(TI_PDK_INSTALL_DIR)\packages\ti \drv\emac\docs\EMAC_LLD_SD.pdfrRq…�rSq}rTq(jXF$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\emac\\docs\\EMAC_LLD_SD.pdfjjNqubaubajjéubejjubejjðubejjñubaubeubeubj jŒijjj}rUq(j]rVqX introductionrWqaj]j]j]rXqUid180rYqaj]ujKjhj]rZq(j)�r[q}r\q(jX Introductionr]qjjxij jŒijj"j}r^q(j]j]j]j]j]ujKjhj]r_qj%X Introductionr`q…�raq}rbq(jj]qjj[qubaubjX)�rcq}rdq(jXiEMAC driver provides a well defined API layer which allows applications to use the EMAC peripheral to control the flow of packet data from the processor to the PHY and the MDIO module to control PHY configuration and status monitoring. EMAC driver is a common driver for supporting all 1 Gigabit Network interfaces including CPSW and ICSSG for applicable SOC's.reqjjxij jŒijj\j}rfq(j]j]j]j]j]ujKjhj]rgqj%XiEMAC driver provides a well defined API layer which allows applications to use the EMAC peripheral to control the flow of packet data from the processor to the PHY and the MDIO module to control PHY configuration and status monitoring. EMAC driver is a common driver for supporting all 1 Gigabit Network interfaces including CPSW and ICSSG for applicable SOC's.rhq…�riq}rjq(jjeqjjcqubaubeubj jŒijj?j}rkq(j]UlevelKj]j]rlqjYqaUsourcejŒij]j]UlineKUtypejAujKjhj]rmqjX)�rnq}roq(jX/Duplicate implicit target name: "introduction".j}rpq(j]j]j]j]j]ujjvij]rqqj%X/Duplicate implicit target name: "introduction".rrq…�rsq}rtq(jUjjnqubajj\ubaubhÿ)�ruq}rvq(jUjj“ij jŒijj?j}rwq(j]UlevelKj]j]rxqj™iaUsourcejŒij]j]UlineKUtypejAujKjhj]ryqjX)�rzq}r{q(jX7Duplicate implicit target name: "driver configuration".j}r|q(j]j]j]j]j]ujjuqj]r}qj%X7Duplicate implicit target name: "driver configuration".r~q…�rq}r€q(jUjjzqubajj\ubaubhÿ)�r�q}r‚q(jUjj£ij jŒijj?j}rƒq(j]UlevelKj]j]r„qj¨iaUsourcejŒij]j]UlineKUtypejAujKjhj]r…qjX)�r†q}r‡q(jX?Duplicate implicit target name: "board specific configuration".j}rˆq(j]j]j]j]j]ujj�qj]r‰qj%X?Duplicate implicit target name: "board specific configuration".rŠq…�r‹q}rŒq(jUjj†qubajj\ubaubhÿ)�r�q}rŽq(jUjjéij jŒijj?j}r�q(j]UlevelKj]j]r�qjïiaUsourcejŒij]j]UlineK*UtypejAujK*jhj]r‘qjX)�r’q}r“q(jX'Duplicate implicit target name: "apis".j}r”q(j]j]j]j]j]ujj�qj]r•qj%X'Duplicate implicit target name: "apis".r–q…�r—q}r˜q(jUjj’qubajj\ubaubhÿ)�r™q}ršq(jUj}r›q(j]UlevelKj]j]rœqj jaUsourcej j]j]UlineK�UtypejXujjjj]r�qjX)�ržq}rŸq(jX0Duplicate explicit target name: "api-call-flow".j}r q(j]j]j]j]j]ujj™qj]r¡qj%X0Duplicate explicit target name: "api-call-flow".r¢q…�r£q}r¤q(jUjjžqubajj\ubajj?ubhÿ)�r¥q}r¦q(jUj}r§q(j]UlevelKj]j]UsourcejŒij]j]UlineMUtypejXujj¿kj]r¨qjX)�r©q}rªq(jX;Bullet list ends without a blank line; unexpected unindent.j}r«q(j]j]j]j]j]ujj¥qj]r¬qj%X;Bullet list ends without a blank line; unexpected unindent.r­q…�r®q}r¯q(jUjj©qubajj\ubajj?ubhÿ)�r°q}r±q(jUjjOnj jŒijj?j}r²q(j]UlevelKj]j]r³qjTnaUsourcejŒij]j]UlineMžUtypejAujMžjhj]r´qjX)�rµq}r¶q(jX@Duplicate implicit target name: "support for benchmark testing".j}r·q(j]j]j]j]j]ujj°qj]r¸qj%X@Duplicate implicit target name: "support for benchmark testing".r¹q…�rºq}r»q(jUjjµqubajj\ubaubhÿ)�r¼q}r½q(jUj}r¾q(j]UlevelKj]j]UsourcejŒij]j]UlineMïUtypejòujj¤oj]r¿qjX)�rÀq}rÁq(jXUnexpected indentation.j}rÂq(j]j]j]j]j]ujj¼qj]rÃqj%XUnexpected indentation.rÄq…�rÅq}rÆq(jUjjÀqubajj\ubajj?ubhÿ)�rÇq}rÈq(jUjj¾pj jŒijj?j}rÉq(j]UlevelKj]j]rÊqjÄpaUsourcejŒij]j]UlineMUtypejAujMjhj]rËqjX)�rÌq}rÍq(jX8Duplicate implicit target name: "additional references".j}rÎq(j]j]j]j]j]ujjÇqj]rÏqj%X8Duplicate implicit target name: "additional references".rÐq…�rÑq}rÒq(jUjjÌqubajj\ubaubhÿ)�rÓq}rÔq(jUjj¾pj XTinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/EMAC.rst.incrÕqjj?j}rÖq(j]UlevelKj]j]UsourcejŒij]j]UlineM)UtypejòujM*jhj]r×q(jX)�rØq}rÙq(jX;Content block expected for the "raw" directive; none found.j}rÚq(j]j]j]j]j]ujjÓqj]rÛqj%X;Content block expected for the "raw" directive; none found.rÜq…�rÝq}rÞq(jUjjØqubajj\ubj#)�rßq}ràq(jX.. raw:: html j}ráq(j2j3j]j]j]j]j]ujjÓqj]râqj%X.. raw:: html rãq…�räq}råq(jUjjßqubajj&ubeubhÿ)�ræq}rçq(jUjj)�rèq}réq(jUjKjj)�rêq}rëq(jUjhj j jjj}rìq(j]j]j]j]ríqUmcasprîqaj]rïqhEaujK‡jhj]rðq(j)�rñq}ròq(jXMCASPróqjjêqj j jj"j}rôq(j]j]j]j]j]ujK‡jhj]rõqj%XMCASPröq…�r÷q}røq(jjóqjjñqubaubj))�rùq}rúq(jX@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MCASPjjêqj j,X>source/rtos/PDK_Platform_Software/Device_Drivers/MCASP.rst.incrûq…�rüq}rýqbjj0j}rþq(j2j3j]j]j]j]j]ujKjhj]rÿqj%X@http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MCASPrr…�rr}rr(jUjjùqubaubjèqj)�rr}rr(jUjKjjêqj jüqjjj}rr(j]rrXuser interfacerraj]j]j]rrUid189r raj]ujKjhj]r r(j)�r r}r r(jXUser Interfacer rjjrj jüqjj"j}rr(j]j]j]j]j]ujKjhj]rrj%XUser Interfacerr…�rr}rr(jj rjj rubaubj)�rr}rr(jUjKjjrj jüqjjj}rr(j]rrXdriver configurationrraj]j]j]rrUid190rraj]ujKjhj]rr(j)�rr}rr(jXDriver Configurationrrjjrj jüqjj"j}rr(j]j]j]j]j]ujKjhj]rrj%XDriver Configurationr r…�r!r}r"r(jjrjjrubaubjX)�r#r}r$r(jXªThe McASP driver provides a sample implementation sequence which initializes the MCASP IP block. The McASP Device initialization API is implemented as a sample prototype:r%rjjrj jüqjj\j}r&r(j]j]j]j]j]ujK!jhj]r'rj%XªThe McASP driver provides a sample implementation sequence which initializes the MCASP IP block. The McASP Device initialization API is implemented as a sample prototype:r(r…�r)r}r*r(jj%rjj#rubaubj#)�r+r}r,r(jXvoid McaspDevice_init (void)jjrj jüqjj&j}r-r(j2j3j]j]j]j]j]ujM¸jhj]r.rj%Xvoid McaspDevice_init (void)r/r…�r0r}r1r(jUjj+rubaubjX)�r2r}r3r(jXÉThe function initializes all the instance specific information like base address of instance CFG registers, FIFO address for the instance, TX and RX CPU event numbers, TX and RX EDMA event numbers etc.r4rjjrj jüqjj\j}r5r(j]j]j]j]j]ujK)jhj]r6rj%XÉThe function initializes all the instance specific information like base address of instance CFG registers, FIFO address for the instance, TX and RX CPU event numbers, TX and RX EDMA event numbers etc.r7r…�r8r}r9r(jj4rjj2rubaubjX)�r:r}r;r(jXšFor details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\Packages\ti\drv\mcasp\docs\doxygen\html\index.html.jjrj jüqjj\j}rr…�r?r}r@r(jXšFor details about individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\Packages\ti\drv\mcasp\docs\doxygen\html\index.html.jj:rubaubj#)�rAr}rBr(jX>int32_t Mcasp_socGetInitCfg(uint32_t index, Mcasp_HwInfo *cfg)jjrj jüqjj&j}rCr(j2j3j]j]j]j]j]ujMÄjhj]rDrj%X>int32_t Mcasp_socGetInitCfg(uint32_t index, Mcasp_HwInfo *cfg)rEr…�rFr}rGr(jUjjArubaubjX)�rHr}rIr(jXrThe function obtains the soc configuration parameters such as interrupt numbers, mux configuration parameters etc.rJrjjrj jüqjj\j}rKr(j]j]j]j]j]ujK5jhj]rLrj%XrThe function obtains the soc configuration parameters such as interrupt numbers, mux configuration parameters etc.rMr…�rNr}rOr(jjJrjjHrubaubj#)�rPr}rQr(jXDint32_t Mcasp_socSetInitCfg(uint32_t index, const Mcasp_HwInfo *cfg)jjrj jüqjj&j}rRr(j2j3j]j]j]j]j]ujMËjhj]rSrj%XDint32_t Mcasp_socSetInitCfg(uint32_t index, const Mcasp_HwInfo *cfg)rTr…�rUr}rVr(jUjjPrubaubjX)�rWr}rXr(jXnThe function set the soc configuration parameters such as interrupt numbers, mux configuration parameters etc.rYrjjrj jüqjj\j}rZr(j]j]j]j]j]ujK #include jj_rj jüqjj&j}ryr(j2j3j]j]j]j]j]ujM×jhj]rzrj%XK#include #include r{r…�r|r}r}r(jUjjwrubaubjb)�r~r}rr(jXMcASP Buffer formatsr€rjj_rj jüqjjfj}r�r(j]r‚rUmcasp-buffer-formatsrƒraj]j]j]j]r„rh¥aujNjhj]r…rj%XMcASP Buffer formatsr†r…�r‡r}rˆr(jj€rjj~rubaubjX)�r‰r}rŠr(jX¡The McASP driver provides various buffer formats for sending the data to/from the audio device. The differences between these formats arise from the way the audio samples are collected from various serializers and their timeslots and arranged in the system's memory. This way the application can choose to run audio processing algorithms over the data without the need for re-arranging those data every frame. The buffer format is provided in the **Mcasp_ChanParams.dataFormat** in the form of **Mcasp_BufferFormat** defined in mcasp_drv.h The below section provides an overview of the various formats. In the explanatory diagrams in each section, McASP controller recieves samples in frame intervals denoted by t1,t2..tn. The McASP driver collects these and arranges those samples in the memory in various formats in to the host's System memory. We have chosen 32 bit samples and 32-bit word addresses throughout for simplicity.jj_rj jüqjj\j}r‹r(j]j]j]j]j]ujKLjhj]rŒr(j%X¿The McASP driver provides various buffer formats for sending the data to/from the audio device. The differences between these formats arise from the way the audio samples are collected from various serializers and their timeslots and arranged in the system's memory. This way the application can choose to run audio processing algorithms over the data without the need for re-arranging those data every frame. The buffer format is provided in the r�r…�rŽr}r�r(jX¿The McASP driver provides various buffer formats for sending the data to/from the audio device. The differences between these formats arise from the way the audio samples are collected from various serializers and their timeslots and arranged in the system's memory. This way the application can choose to run audio processing algorithms over the data without the need for re-arranging those data every frame. The buffer format is provided in the jj‰rubj|)�r�r}r‘r(jX**Mcasp_ChanParams.dataFormat**j}r’r(j]j]j]j]j]ujj‰rj]r“rj%XMcasp_ChanParams.dataFormatr”r…�r•r}r–r(jUjj�rubajj„ubj%X in the form of r—r…�r˜r}r™r(jX in the form of jj‰rubj|)�ršr}r›r(jX**Mcasp_BufferFormat**j}rœr(j]j]j]j]j]ujj‰rj]r�rj%XMcasp_BufferFormatržr…�rŸr}r r(jUjjšrubajj„ubj%X� defined in mcasp_drv.h The below section provides an overview of the various formats. In the explanatory diagrams in each section, McASP controller recieves samples in frame intervals denoted by t1,t2..tn. The McASP driver collects these and arranges those samples in the memory in various formats in to the host's System memory. We have chosen 32 bit samples and 32-bit word addresses throughout for simplicity.r¡r…�r¢r}r£r(jX� defined in mcasp_drv.h The below section provides an overview of the various formats. In the explanatory diagrams in each section, McASP controller recieves samples in frame intervals denoted by t1,t2..tn. The McASP driver collects these and arranges those samples in the memory in various formats in to the host's System memory. We have chosen 32 bit samples and 32-bit word addresses throughout for simplicity.jj‰rubeubjb)�r¤r}r¥r(jXMcasp_BufferFormat_1SER_1SLOTr¦rjj_rj jüqjjfj}r§r(j]r¨rUmcasp-bufferformat-1ser-1slotr©raj]j]j]j]rªrhšaujNjhj]r«rj%XMcasp_BufferFormat_1SER_1SLOTr¬r…�r­r}r®r(jj¦rjj¤rubaubjX)�r¯r}r°r(jXThis is applicable if only one serializer and one timeslot is used. The samples are ordered in the order they received or sent.r±rjj_rj jüqjj\j}r²r(j]j]j]j]j]ujK^jhj]r³rj%XThis is applicable if only one serializer and one timeslot is used. The samples are ordered in the order they received or sent.r´r…�rµr}r¶r(jj±rjj¯rubaubj^)�r·r}r¸r(jX$.. Image:: ../images/1SLOT_1SER.PNG jj_rj jüqjjaj}r¹r(UuriXrtos/../images/1SLOT_1SER.PNGrºrj]j]j]j]jd}r»rU*jºrsj]ujKbjhj]ubjb)�r¼r}r½r(jX-Mcasp_BufferFormat_1SER_MULTISLOT_INTERLEAVEDr¾rjj_rj jüqjjfj}r¿r(j]rÀrU-mcasp-bufferformat-1ser-multislot-interleavedrÁraj]j]j]j]rÂrh@aujNjhj]rÃrj%X-Mcasp_BufferFormat_1SER_MULTISLOT_INTERLEAVEDrÄr…�rÅr}rÆr(jj¾rjj¼rubaubjX)�rÇr}rÈr(jX'This is applicable if multiple slots are used with one serializer. The samples from the different timeslots are stored interleaved in the memory as below. Different timeslots' samples are denoted by different colors and are labelled t1,t2..tn according to the time they arrive at the serializer.rÉrjj_rj jüqjj\j}rÊr(j]j]j]j]j]ujKfjhj]rËrj%X'This is applicable if multiple slots are used with one serializer. The samples from the different timeslots are stored interleaved in the memory as below. Different timeslots' samples are denoted by different colors and are labelled t1,t2..tn according to the time they arrive at the serializer.rÌr…�rÍr}rÎr(jjÉrjjÇrubaubj^)�rÏr}rÐr(jX4.. Image:: ../images/1SER_MULTISLOT_INTERLEAVED.PNG jj_rj jüqjjaj}rÑr(UuriX-rtos/../images/1SER_MULTISLOT_INTERLEAVED.PNGrÒrj]j]j]j]jd}rÓrU*jÒrsj]ujKmjhj]ubjb)�rÔr}rÕr(jX1Mcasp_BufferFormat_1SER_MULTISLOT_NON_INTERLEAVEDrÖrjj_rj jüqjjfj}r×r(j]rØrU1mcasp-bufferformat-1ser-multislot-non-interleavedrÙraj]j]j]j]rÚrhnaujNjhj]rÛrj%X1Mcasp_BufferFormat_1SER_MULTISLOT_NON_INTERLEAVEDrÜr…�rÝr}rÞr(jjÖrjjÔrubaubjX)�rßr}ràr(jXSThis is applicable if multiple slots are used with one serializer. The samples from the different timeslots are grouped together on the basis of the timeslot and stored in the memory as shown below. Different timeslots' samples are denoted by different colors and are labelled t1,t2..tn according to the time they arrive at the serializer.rárjj_rj jüqjj\j}râr(j]j]j]j]j]ujKqjhj]rãrj%XSThis is applicable if multiple slots are used with one serializer. The samples from the different timeslots are grouped together on the basis of the timeslot and stored in the memory as shown below. Different timeslots' samples are denoted by different colors and are labelled t1,t2..tn according to the time they arrive at the serializer.rär…�rår}rær(jjárjjßrubaubj^)�rçr}rèr(jX8.. Image:: ../images/1SER_MULTISLOT_NON_INTERLEAVED.PNG jj_rj jüqjjaj}rér(UuriX1rtos/../images/1SER_MULTISLOT_NON_INTERLEAVED.PNGrêrj]j]j]j]jd}rërU*jêrsj]ujKxjhj]ubjX)�rìr}rír(jXiNOTE: if the non-interleaved format is used, the Mcasp_ChanParams-> hwFifoEventDMARatio must be set to 1.rîrjj_rj jüqjj\j}rïr(j]j]j]j]j]ujKyjhj]rðrj%XiNOTE: if the non-interleaved format is used, the Mcasp_ChanParams-> hwFifoEventDMARatio must be set to 1.rñr…�ròr}rór(jjîrjjìrubaubjb)�rôr}rõr(jX1Mcasp_BufferFormat_MULTISER_1SLOT_SER_INTERLEAVEDrörjj_rj jüqjjfj}r÷r(j]rørU1mcasp-bufferformat-multiser-1slot-ser-interleavedrùraj]j]j]j]rúrhaujNjhj]rûrj%X1Mcasp_BufferFormat_MULTISER_1SLOT_SER_INTERLEAVEDrür…�rýr}rþr(jjörjjôrubaubjX)�rÿr}rs(jXdThis is applicable if multiple serializers are used with one time slot is used for each of the serializers. The samples from the different serializers are stored in the memory in interleaved fashion as shown below Different serializers' samples are denoted by different colors and are labelled S1,S2..Sn according to the time they arrive at the serializer.rsjj_rj jüqjj\j}rs(j]j]j]j]j]ujKjhj]rsj%XdThis is applicable if multiple serializers are used with one time slot is used for each of the serializers. The samples from the different serializers are stored in the memory in interleaved fashion as shown below Different serializers' samples are denoted by different colors and are labelled S1,S2..Sn according to the time they arrive at the serializer.rs…�rs}rs(jjsjjÿrubaubj^)�rs}rs(jX?.. Image:: ../images/1SER_MULTISER_1SLOT_SER_INTERLEAVED_2.PNG jj_rj jüqjjaj}r s(UuriX8rtos/../images/1SER_MULTISER_1SLOT_SER_INTERLEAVED_2.PNGr sj]j]j]j]jd}r sU*j ssj]ujK‡jhj]ubjÁ)�r s}r s(jUjj_rj jüqjjÄj}rs(j]j]j]j]j]ujKˆjhj]rsjÇ)�rs}rs(jUjÊKjj sj jüqjjj}rs(j]j]j]j]j]ujKjhj]ubaubjb)�rs}rs(jX5Mcasp_BufferFormat_MULTISER_1SLOT_SER_NON_INTERLEAVEDrsjj_rj jüqjjfj}rs(j]rsU5mcasp-bufferformat-multiser-1slot-ser-non-interleavedrsaj]j]j]j]rsh•aujNjhj]rsj%X5Mcasp_BufferFormat_MULTISER_1SLOT_SER_NON_INTERLEAVEDrs…�rs}rs(jjsjjsubaubjX)�rs}rs(jXoThis is applicable if multiple serializers are used with one timeslots each per serializer. The samples from the different timeslots are grouped together on the basis of the serializer and stored in the memory as shown below Different serializers' samples are denoted by different colors and are labelled S1,S2..Sn according to the time they arrive at the serializer.r sjj_rj jüqjj\j}r!s(j]j]j]j]j]ujK�jhj]r"sj%XoThis is applicable if multiple serializers are used with one timeslots each per serializer. The samples from the different timeslots are grouped together on the basis of the serializer and stored in the memory as shown below Different serializers' samples are denoted by different colors and are labelled S1,S2..Sn according to the time they arrive at the serializer.r#s…�r$s}r%s(jj sjjsubaubj^)�r&s}r's(jXA.. Image:: ../images/1SER_MULTISER_1SLOT_SER_NON_INTERLEAVED.PNG jj_rj jüqjjaj}r(s(UuriX:rtos/../images/1SER_MULTISER_1SLOT_SER_NON_INTERLEAVED.PNGr)sj]j]j]j]jd}r*sU*j)ssj]ujK•jhj]ubjb)�r+s}r,s(jX8Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1r-sjj_rj jüqjjfj}r.s(j]r/sU8mcasp-bufferformat-multiser-multislot-semi-interleaved-1r0saj]j]j]j]r1sh«aujNjhj]r2sj%X8Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1r3s…�r4s}r5s(jj-sjj+subaubjX)�r6s}r7s(jX‡This is applicable if multiple serializers are used and each serializer containing multiple timeslots. The samples are stored in the memory interleaved based on serializer and timeslots as shown below. In this example, there are 3 serializers and 2 timeslots per serializers whose samples are noted by Ln (left) and Rn (right). Different serializers' samples are denoted by different colors.r8sjj_rj jüqjj\j}r9s(j]j]j]j]j]ujK™jhj]r:sj%X‡This is applicable if multiple serializers are used and each serializer containing multiple timeslots. The samples are stored in the memory interleaved based on serializer and timeslots as shown below. In this example, there are 3 serializers and 2 timeslots per serializers whose samples are noted by Ln (left) and Rn (right). Different serializers' samples are denoted by different colors.r;s…�rs}r?s(jXL.. Image:: ../images/1SER_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1_UPDATED.PNG jj_rj jüqjjaj}r@s(UuriXErtos/../images/1SER_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1_UPDATED.PNGrAsj]j]j]j]jd}rBsU*jAssj]ujK¡jhj]ubjb)�rCs}rDs(jX8Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_2rEsjj_rj jüqjjfj}rFs(j]rGsU8mcasp-bufferformat-multiser-multislot-semi-interleaved-2rHsaj]j]j]j]rIsh aujNjhj]rJsj%X8Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_2rKs…�rLs}rMs(jjEsjjCsubaubjX)�rNs}rOs(jXœThis is applicable if multiple serializers are used and each serializer containing multiple timeslots. The samples are grouped based on the serializer and within one serializer, the timeslots are interleaved as shown below. In this example, there are 3 serializers and 2 timeslots per serializers whose samples are noted by Ln (left) and Rn (right).Different serializers' samples are denoted by different colors.rPsjj_rj jüqjj\j}rQs(j]j]j]j]j]ujK¥jhj]rRsj%XœThis is applicable if multiple serializers are used and each serializer containing multiple timeslots. The samples are grouped based on the serializer and within one serializer, the timeslots are interleaved as shown below. In this example, there are 3 serializers and 2 timeslots per serializers whose samples are noted by Ln (left) and Rn (right).Different serializers' samples are denoted by different colors.rSs…�rTs}rUs(jjPsjjNsubaubj^)�rVs}rWs(jXD.. Image:: ../images/1SER_MULTISER_MULTISLOT_SEMI_INTERLEAVED_2.PNG jj_rj jüqjjaj}rXs(UuriX=rtos/../images/1SER_MULTISER_MULTISLOT_SEMI_INTERLEAVED_2.PNGrYsj]j]j]j]jd}rZsU*jYssj]ujK­jhj]ubjX)�r[s}r\s(jXiNOTE: if the non-interleaved format is used, the Mcasp_ChanParams-> hwFifoEventDMARatio must be set to 1.r]sjj_rj jüqjj\j}r^s(j]j]j]j]j]ujK®jhj]r_sj%XiNOTE: if the non-interleaved format is used, the Mcasp_ChanParams-> hwFifoEventDMARatio must be set to 1.r`s…�ras}rbs(jj]sjj[subaubjb)�rcs}rds(jXMcasp WordBits Selectionresjj_rj jüqjjfj}rfs(j]rgsUmcasp-wordbits-selectionrhsaj]j]j]j]rish»aujNjhj]rjsj%XMcasp WordBits Selectionrks…�rls}rms(jjesjjcsubaubjX)�rns}ros(jXPWith all the frame formats explained above, there is an option to choose which bits to pack from the 32-bit serializer data obtained from/to the McASP serializer, when the word size is less than the slot size. This option is exercised by setting the Mcasp_chanParams->wordBitsSelect to Mcasp_wordBitsSelect_LSB/Mcasp_wordBitsSelect_MSB.rpsjj_rj jüqjj\j}rqs(j]j]j]j]j]ujK´jhj]rrsj%XPWith all the frame formats explained above, there is an option to choose which bits to pack from the 32-bit serializer data obtained from/to the McASP serializer, when the word size is less than the slot size. This option is exercised by setting the Mcasp_chanParams->wordBitsSelect to Mcasp_wordBitsSelect_LSB/Mcasp_wordBitsSelect_MSB.rss…�rts}rus(jjpsjjnsubaubjX)�rvs}rws(jXhIf the default Mcasp_wordBitsSelect_LSB option is selected, the LSBs are packed in to the system memory.rxsjj_rj jüqjj\j}rys(j]j]j]j]j]ujKºjhj]rzsj%XhIf the default Mcasp_wordBitsSelect_LSB option is selected, the LSBs are packed in to the system memory.r{s…�r|s}r}s(jjxsjjvsubaubjX)�r~s}rs(jXBelow is an example of word size = 16bits and slot size = 32 bits and the Mcasp_wordBitsSelect_LSB option is used. On the receiving side, the serializer holds the 32 bit data whose LSB 16 bits are picked up and packed in to the system memory. The MSB 16 bits are ignored.r€sjj_rj jüqjj\j}r�s(j]j]j]j]j]ujK½jhj]r‚sj%XBelow is an example of word size = 16bits and slot size = 32 bits and the Mcasp_wordBitsSelect_LSB option is used. On the receiving side, the serializer holds the 32 bit data whose LSB 16 bits are picked up and packed in to the system memory. The MSB 16 bits are ignored.rƒs…�r„s}r…s(jj€sjj~subaubj^)�r†s}r‡s(jX(.. Image:: ../images/WordSelect_LSB.PNG jj_rj jüqjjaj}rˆs(UuriX!rtos/../images/WordSelect_LSB.PNGr‰sj]j]j]j]jd}rŠsU*j‰ssj]ujKÃjhj]ubjX)�r‹s}rŒs(jX…If the Mcasp_wordBitsSelect_MSB option is used, the serializer's MSB-16bits are packed in to the system memory. The LSBs are ignored.r�sjj_rj jüqjj\j}rŽs(j]j]j]j]j]ujKÄjhj]r�sj%X…If the Mcasp_wordBitsSelect_MSB option is used, the serializer's MSB-16bits are packed in to the system memory. The LSBs are ignored.r�s…�r‘s}r’s(jj�sjj‹subaubj^)�r“s}r”s(jX(.. Image:: ../images/WordSelect_MSB.PNG jj_rj jüqjjaj}r•s(UuriX!rtos/../images/WordSelect_MSB.PNGr–sj]j]j]j]jd}r—sU*j–ssj]ujKÈjhj]ubjb)�r˜s}r™s(jXPrimingršsjj_rj jüqjjfj}r›s(j]rœsUprimingr�saj]j]j]j]ržshaujNjhj]rŸsj%XPrimingr s…�r¡s}r¢s(jjšsjj˜subaubjX)�r£s}r¤s(jXÛApplications using McASP driver often might send/receive one or two transfers via McASP before sending the application data in/out of McASP through the driver. This would internally set up transfer request queues so that the application can seamlessly send/receive data without the possibility of underrun. This process, a.k.a priming is used in the example application provided with the Processor SDK. In this example two frames are sent/received prior to submitting the application's audio data to the McASP driver. The number of transfer requests to prime is application dependent and some applications where there may be a lot of delay between transfer requests, enough to cause an underrun, the priming factor could be higher.r¥sjj_rj jüqjj\j}r¦s(j]j]j]j]j]ujKÌjhj]r§sj%XÛApplications using McASP driver often might send/receive one or two transfers via McASP before sending the application data in/out of McASP through the driver. This would internally set up transfer request queues so that the application can seamlessly send/receive data without the possibility of underrun. This process, a.k.a priming is used in the example application provided with the Processor SDK. In this example two frames are sent/received prior to submitting the application's audio data to the McASP driver. The number of transfer requests to prime is application dependent and some applications where there may be a lot of delay between transfer requests, enough to cause an underrun, the priming factor could be higher.r¨s…�r©s}rªs(jj¥sjj£subaubeubeubj)�r«s}r¬s(jUjKjjêqj jüqjjj}r­s(j]r®sX applicationr¯saj]j]j]r°sUid192r±saj]ujKÙjhj]r²s(j)�r³s}r´s(jX Applicationrµsjj«sj jüqjj"j}r¶s(j]j]j]j]j]ujKÙjhj]r·sj%X Applicationr¸s…�r¹s}rºs(jjµsjj³subaubj)�r»s}r¼s(jUjKjj«sj jüqjjj}r½s(j]r¾sj†Daj]j]j]r¿sUid193rÀsaj]ujKÜjhj]rÁs(j)�rÂs}rÃs(jXExamples & Unit testsrÄsjj»sj jüqjj"j}rÅs(j]j]j]j]j]ujKÜjhj]rÆsj%XExamples & Unit testsrÇs…�rÈs}rÉs(jjÄsjjÂsubaubj¶)�rÊs}rËs(jUjj»sj jüqjj¹j}rÌs(j]j]j]j]j]ujNjhj]rÍsj¼)�rÎs}rÏs(jUj}rÐs(j]j]j]j]j]UcolsKujjÊsj]rÑs(jÁ)�rÒs}rÓs(jUj}rÔs(j]j]j]j]j]UcolwidthK$ujjÎsj]jjÅubjÁ)�rÕs}rÖs(jUj}r×s(j]j]j]j]j]UcolwidthKujjÎsj]jjÅubjÁ)�rØs}rÙs(jUj}rÚs(j]j]j]j]j]UcolwidthKujjÎsj]jjÅubjÁ)�rÛs}rÜs(jUj}rÝs(j]j]j]j]j]UcolwidthK ujjÎsj]jjÅubjÁ)�rÞs}rßs(jUj}ràs(j]j]j]j]j]UcolwidthK ujjÎsj]jjÅubjÒ)�rás}râs(jUj}rãs(j]j]j]j]j]ujjÎsj]räsj×)�rås}ræs(jUj}rçs(j]j]j]j]j]ujjásj]rès(jÜ)�rés}rês(jUj}rës(j]j]j]j]j]ujjåsj]rìsjX)�rís}rîs(jXNamerïsjjésj jüqjj\j}rðs(j]j]j]j]j]ujKßj]rñsj%XNameròs…�rós}rôs(jjïsjjísubaubajjéubjÜ)�rõs}rös(jUj}r÷s(j]j]j]j]j]ujjåsj]røsjÁ)�rùs}rús(jUj}rûs(j]j]j]j]j]ujjõsj]rüsjÇ)�rýs}rþs(jX DescriptionrÿsjÊKjjùsj jüqjjj}rt(j]j]j]j]j]ujKj]rtj%X Descriptionrt…�rt}rt(jjÿsjjýsubaubajjÄubajjéubjÜ)�rt}rt(jUj}rt(j]j]j]j]j]ujjåsj]rtjÁ)�r t}r t(jUj}r t(j]j]j]j]j]ujjtj]r tjÇ)�r t}rt(jXExpected ResultsrtjÊKjj tj jüqjjj}rt(j]j]j]j]j]ujKj]rtj%XExpected Resultsrt…�rt}rt(jjtjj tubaubajjÄubajjéubjÜ)�rt}rt(jUj}rt(j]j]j]j]j]ujjåsj]rtjX)�rt}rt(jXSOCsrtjjtj jüqjj\j}rt(j]j]j]j]j]ujKßj]rtj%XSOCsrt…�rt}r t(jjtjjtubaubajjéubjÜ)�r!t}r"t(jUj}r#t(j]j]j]j]j]ujjåsj]r$tjX)�r%t}r&t(jX Build typer'tjj!tj jüqjj\j}r(t(j]j]j]j]j]ujKßj]r)tj%X Build typer*t…�r+t}r,t(jj'tjj%tubaubajjéubejjubajjubj)�r-t}r.t(jUj}r/t(j]j]j]j]j]ujjÎsj]r0t(j×)�r1t}r2t(jUj}r3t(j]j]j]j]j]ujj-tj]r4t(jÜ)�r5t}r6t(jUj}r7t(j]j]j]j]j]ujj1tj]r8tjX)�r9t}r:t(jXAudio_ExampleProjectr;tjj5tj jüqjj\j}rt…�r?t}r@t(jj;tjj9tubaubajjéubjÜ)�rAt}rBt(jUj}rCt(j]j]j]j]j]ujj1tj]rDtjÁ)�rEt}rFt(jUj}rGt(j]j]j]j]j]ujjAtj]rHtjÇ)�rIt}rJt(jX_Example demonstrating sample McASP loopback using AIC31 codec. Reference example for developersrKtjÊKjjEtj jüqjjj}rLt(j]j]j]j]j]ujKj]rMtj%X_Example demonstrating sample McASP loopback using AIC31 codec. Reference example for developersrNt…�rOt}rPt(jjKtjjItubaubajjÄubajjéubjÜ)�rQt}rRt(jUj}rSt(j]j]j]j]j]ujj1tj]rTtjÁ)�rUt}rVt(jUj}rWt(j]j]j]j]j]ujjQtj]rXtjÇ)�rYt}rZt(jXJAudio sent in to the EVM being played out via the stereo output of the EVMr[tjÊKjjUtj jüqjjj}r\t(j]j]j]j]j]ujKj]r]tj%XJAudio sent in to the EVM being played out via the stereo output of the EVMr^t…�r_t}r`t(jj[tjjYtubaubajjÄubajjéubjÜ)�rat}rbt(jUj}rct(j]j]j]j]j]ujj1tj]rdtjX)�ret}rft(jX*AM335X AM437x AM572x K2G OMAPL137 OMAPL138rgtjjatj jüqjj\j}rht(j]j]j]j]j]ujKáj]ritj%X*AM335X AM437x AM572x K2G OMAPL137 OMAPL138rjt…�rkt}rlt(jjgtjjetubaubajjéubjÜ)�rmt}rnt(jUj}rot(j]j]j]j]j]ujj1tj]rptjX)�rqt}rrt(jX CCS Projectrstjjmtj jüqjj\j}rtt(j]j]j]j]j]ujKáj]rutj%X CCS Projectrvt…�rwt}rxt(jjstjjqtubaubajjéubejjubj×)�ryt}rzt(jUj}r{t(j]j]j]j]j]ujj-tj]r|t(jÜ)�r}t}r~t(jUj}rt(j]j]j]j]j]ujjytj]r€tjX)�r�t}r‚t(jXAudio_SMP_ExampleProjectrƒtjj}tj jüqjj\j}r„t(j]j]j]j]j]ujKèj]r…tj%XAudio_SMP_ExampleProjectr†t…�r‡t}rˆt(jjƒtjj�tubaubajjéubjÜ)�r‰t}rŠt(jUj}r‹t(j]j]j]j]j]ujjytj]rŒtjÁ)�r�t}rŽt(jUj}r�t(j]j]j]j]j]ujj‰tj]r�tjÇ)�r‘t}r’t(jX€Example demonstrating sample McASP loopback using AIC31 codec. Reference example for developers with SMP enabled.(A15 core only)r“tjÊKjj�tj jüqjjj}r”t(j]j]j]j]j]ujKj]r•tj%X€Example demonstrating sample McASP loopback using AIC31 codec. Reference example for developers with SMP enabled.(A15 core only)r–t…�r—t}r˜t(jj“tjj‘tubaubajjÄubajjéubjÜ)�r™t}ršt(jUj}r›t(j]j]j]j]j]ujjytj]rœtjÁ)�r�t}ržt(jUj}rŸt(j]j]j]j]j]ujj™tj]r tjÇ)�r¡t}r¢t(jXJAudio sent in to the EVM being played out via the stereo output of the EVMr£tjÊKjj�tj jüqjjj}r¤t(j]j]j]j]j]ujKj]r¥tj%XJAudio sent in to the EVM being played out via the stereo output of the EVMr¦t…�r§t}r¨t(jj£tjj¡tubaubajjÄubajjéubjÜ)�r©t}rªt(jUj}r«t(j]j]j]j]j]ujjytj]r¬tjX)�r­t}r®t(jX AM572x- EVMr¯tjj©tj jüqjj\j}r°t(j]j]j]j]j]ujKèj]r±tj%X AM572x- EVMr²t…�r³t}r´t(jj¯tjj­tubaubajjéubjÜ)�rµt}r¶t(jUj}r·t(j]j]j]j]j]ujjytj]r¸tjX)�r¹t}rºt(jX CCS Projectr»tjjµtj jüqjj\j}r¼t(j]j]j]j]j]ujKèj]r½tj%X CCS Projectr¾t…�r¿t}rÀt(jj»tjj¹tubaubajjéubejjubj×)�rÁt}rÂt(jUj}rÃt(j]j]j]j]j]ujj-tj]rÄt(jÜ)�rÅt}rÆt(jUj}rÇt(j]j]j]j]j]ujjÁtj]rÈtjX)�rÉt}rÊt(jXDeviceLoopback_ExampleProjectrËtjjÅtj jüqjj\j}rÌt(j]j]j]j]j]ujKðj]rÍtj%XDeviceLoopback_ExampleProjectrÎt…�rÏt}rÐt(jjËtjjÉtubaubajjéubjÜ)�rÑt}rÒt(jUj}rÓt(j]j]j]j]j]ujjÁtj]rÔtjÁ)�rÕt}rÖt(jUj}r×t(j]j]j]j]j]ujjÑtj]rØtjÇ)�rÙt}rÚt(jXUExample demonstrating sample McASP device loopback . Reference example for developersrÛtjÊKjjÕtj jüqjjj}rÜt(j]j]j]j]j]ujKj]rÝtj%XUExample demonstrating sample McASP device loopback . Reference example for developersrÞt…�rßt}ràt(jjÛtjjÙtubaubajjÄubajjéubjÜ)�rát}rât(jUj}rãt(j]j]j]j]j]ujjÁtj]rätjÁ)�råt}ræt(jUj}rçt(j]j]j]j]j]ujjátj]rètjÇ)�rét}rêt(jX[Digital ramp pattern sent to McASP and getting looped back internally using device loopbackrëtjÊKjjåtj jüqjjj}rìt(j]j]j]j]j]ujKj]rítj%X[Digital ramp pattern sent to McASP and getting looped back internally using device loopbackrît…�rït}rðt(jjëtjjétubaubajjÄubajjéubjÜ)�rñt}ròt(jUj}rót(j]j]j]j]j]ujjÁtj]rôtjX)�rõt}röt(jX&AM335X AM437x AM571x AM572x AM574x K2Gr÷tjjñtj jüqjj\j}røt(j]j]j]j]j]ujKðj]rùtj%X&AM335X AM437x AM571x AM572x AM574x K2Grút…�rût}rüt(jj÷tjjõtubaubajjéubjÜ)�rýt}rþt(jUj}rÿt(j]j]j]j]j]ujjÁtj]rujX)�ru}ru(jX CCS Projectrujjýtj jüqjj\j}ru(j]j]j]j]j]ujKðj]ruj%X CCS Projectru…�ru}ru(jjujjuubaubajjéubejjubj×)�r u}r u(jUj}r u(j]j]j]j]j]ujj-tj]r u(jÜ)�r u}ru(jUj}ru(j]j]j]j]j]ujj uj]rujX)�ru}ru(jXAudioEQ_ExampleProjectrujj uj jüqjj\j}ru(j]j]j]j]j]ujK÷j]ruj%XAudioEQ_ExampleProjectru…�ru}ru(jjujjuubaubajjéubjÜ)�ru}ru(jUj}ru(j]j]j]j]j]ujj uj]rujÁ)�ru}ru(jUj}ru(j]j]j]j]j]ujjuj]r ujÇ)�r!u}r"u(jX|Example demonstrating stereo audio using biquad filters . Reference design for developers. **TI Design Guide**: `TIDEP0069`_jÊKjjuj jüqjjj}r#u(j]j]j]j]j]ujKj]r$u(j%X[Example demonstrating stereo audio using biquad filters . Reference design for developers. r%u…�r&u}r'u(jX[Example demonstrating stereo audio using biquad filters . Reference design for developers. jj!uubj|)�r(u}r)u(jX**TI Design Guide**j}r*u(j]j]j]j]j]ujj!uj]r+uj%XTI Design Guider,u…�r-u}r.u(jUjj(uubajj„ubj%X: r/u…�r0u}r1u(jX: jj!uubj)�r2u}r3u(jX `TIDEP0069`_jqKjj!ujjj}r4u(UnameX TIDEP0069jX,http://www.ti.com/lit/ug/tidubq2/tidubq2.pdfr5uj]j]j]j]j]uj]r6uj%X TIDEP0069r7u…�r8u}r9u(jUjj2uubaubeubajjÄubajjéubjÜ)�r:u}r;u(jUj}ru}r?u(jUj}r@u(j]j]j]j]j]ujj:uj]rAujÇ)�rBu}rCu(jX_Three band Equalization of stereo channel filters with gain control using serial console inputsrDujÊKjj>uj jüqjjj}rEu(j]j]j]j]j]ujKj]rFuj%X_Three band Equalization of stereo channel filters with gain control using serial console inputsrGu…�rHu}rIu(jjDujjBuubaubajjÄubajjéubjÜ)�rJu}rKu(jUj}rLu(j]j]j]j]j]ujj uj]rMujX)�rNu}rOu(jX AM572x K2GrPujjJuj jüqjj\j}rQu(j]j]j]j]j]ujK÷j]rRuj%X AM572x K2GrSu…�rTu}rUu(jjPujjNuubaubajjéubjÜ)�rVu}rWu(jUj}rXu(j]j]j]j]j]ujj uj]rYujX)�rZu}r[u(jX CCS Projectr\ujjVuj jüqjj\j}r]u(j]j]j]j]j]ujK÷j]r^uj%X CCS Projectr_u…�r`u}rau(jj\ujjZuubaubajjéubejjubj×)�rbu}rcu(jUj}rdu(j]j]j]j]j]ujj-tj]reu(jÜ)�rfu}rgu(jUj}rhu(j]j]j]j]j]ujjbuj]riujX)�rju}rku(jXDeviceLoopback_TestApprlujjfuj jüqjj\j}rmu(j]j]j]j]j]ujMj]rnuj%XDeviceLoopback_TestApprou…�rpu}rqu(jjlujjjuubaubajjéubjÜ)�rru}rsu(jUj}rtu(j]j]j]j]j]ujjbuj]ruujÁ)�rvu}rwu(jUj}rxu(j]j]j]j]j]ujjruj]ryujÇ)�rzu}r{u(jX6Unit test demonstrating sample McASP device loopback .r|ujÊKjjvuj jüqjjj}r}u(j]j]j]j]j]ujKj]r~uj%X6Unit test demonstrating sample McASP device loopback .ru…�r€u}r�u(jj|ujjzuubaubajjÄubajjéubjÜ)�r‚u}rƒu(jUj}r„u(j]j]j]j]j]ujjbuj]r…ujÁ)�r†u}r‡u(jUj}rˆu(j]j]j]j]j]ujj‚uj]r‰ujÇ)�rŠu}r‹u(jX:Digital ramp pattern sent to McASP and getting looped backrŒujÊKjj†uj jüqjjj}r�u(j]j]j]j]j]ujKj]rŽuj%X:Digital ramp pattern sent to McASP and getting looped backr�u…�r�u}r‘u(jjŒujjŠuubaubajjÄubajjéubjÜ)�r’u}r“u(jUj}r”u(j]j]j]j]j]ujjbuj]r•ujX)�r–u}r—u(jX AM65x J721er˜ujj’uj jüqjj\j}r™u(j]j]j]j]j]ujMj]ršuj%X AM65x J721er›u…�rœu}r�u(jj˜ujj–uubaubajjéubjÜ)�ržu}rŸu(jUj}r u(j]j]j]j]j]ujjbuj]r¡ujX)�r¢u}r£u(jXMakefiler¤ujjžuj jüqjj\j}r¥u(j]j]j]j]j]ujMj]r¦uj%XMakefiler§u…�r¨u}r©u(jj¤ujj¢uubaubajjéubejjubj×)�rªu}r«u(jUj}r¬u(j]j]j]j]j]ujj-tj]r­u(jÜ)�r®u}r¯u(jUj}r°u(j]j]j]j]j]ujjªuj]r±ujX)�r²u}r³u(jXDeviceLoopback_SMP_TestAppr´ujj®uj jüqjj\j}rµu(j]j]j]j]j]ujMj]r¶uj%XDeviceLoopback_SMP_TestAppr·u…�r¸u}r¹u(jj´ujj²uubaubajjéubjÜ)�rºu}r»u(jUj}r¼u(j]j]j]j]j]ujjªuj]r½ujÁ)�r¾u}r¿u(jUj}rÀu(j]j]j]j]j]ujjºuj]rÁujÇ)�rÂu}rÃu(jXVUnit test demonstrating sample McASP device loopback with SMP enabled (A53 core only).rÄujÊKjj¾uj jüqjjj}rÅu(j]j]j]j]j]ujKj]rÆuj%XVUnit test demonstrating sample McASP device loopback with SMP enabled (A53 core only).rÇu…�rÈu}rÉu(jjÄujjÂuubaubajjÄubajjéubjÜ)�rÊu}rËu(jUj}rÌu(j]j]j]j]j]ujjªuj]rÍujÁ)�rÎu}rÏu(jUj}rÐu(j]j]j]j]j]ujjÊuj]rÑujÇ)�rÒu}rÓu(jX:Digital ramp pattern sent to McASP and getting looped backrÔujÊKjjÎuj jüqjjj}rÕu(j]j]j]j]j]ujKj]rÖuj%X:Digital ramp pattern sent to McASP and getting looped backr×u…�rØu}rÙu(jjÔujjÒuubaubajjÄubajjéubjÜ)�rÚu}rÛu(jUj}rÜu(j]j]j]j]j]ujjªuj]rÝujX)�rÞu}rßu(jX AM65x J721eràujjÚuj jüqjj\j}ráu(j]j]j]j]j]ujMj]râuj%X AM65x J721erãu…�räu}råu(jjàujjÞuubaubajjéubjÜ)�ræu}rçu(jUj}rèu(j]j]j]j]j]ujjªuj]réujX)�rêu}rëu(jXMakefilerìujjæuj jüqjj\j}ríu(j]j]j]j]j]ujMj]rîuj%XMakefilerïu…�rðu}rñu(jjìujjêuubaubajjéubejjubj×)�ròu}róu(jUj}rôu(j]j]j]j]j]ujj-tj]rõu(jÜ)�röu}r÷u(jUj}røu(j]j]j]j]j]ujjòuj]rùujX)�rúu}rûu(jX!DeviceLoopback_Regression_TestApprüujjöuj jüqjj\j}rýu(j]j]j]j]j]ujM j]rþuj%X!DeviceLoopback_Regression_TestApprÿu…�rv}rv(jjüujjúuubaubajjéubjÜ)�rv}rv(jUj}rv(j]j]j]j]j]ujjòuj]rvjÁ)�rv}rv(jUj}rv(j]j]j]j]j]ujjvj]r vjÇ)�r v}r v(jXzRegression unit test which tests various features/configurations of the MCASP driver This is a menu based test applicationr vjÊKjjvj jüqjjj}r v(j]j]j]j]j]ujKj]rvj%XzRegression unit test which tests various features/configurations of the MCASP driver This is a menu based test applicationrv…�rv}rv(jj vjj vubaubajjÄubajjéubjÜ)�rv}rv(jUj}rv(j]j]j]j]j]ujjòuj]rvjÁ)�rv}rv(jUj}rv(j]j]j]j]j]ujjvj]rvjÇ)�rv}rv(jXWMenu Driven test sending digital ramp and getting looped back in various configurationsrvjÊKjjvj jüqjjj}rv(j]j]j]j]j]ujKj]rvj%XWMenu Driven test sending digital ramp and getting looped back in various configurationsrv…�r v}r!v(jjvjjvubaubajjÄubajjéubjÜ)�r"v}r#v(jUj}r$v(j]j]j]j]j]ujjòuj]r%vjX)�r&v}r'v(jX AM65x J721er(vjj"vj jüqjj\j}r)v(j]j]j]j]j]ujM j]r*vj%X AM65x J721er+v…�r,v}r-v(jj(vjj&vubaubajjéubjÜ)�r.v}r/v(jUj}r0v(j]j]j]j]j]ujjòuj]r1vjX)�r2v}r3v(jXMakefiler4vjj.vj jüqjj\j}r5v(j]j]j]j]j]ujM j]r6vj%XMakefiler7v…�r8v}r9v(jj4vjj2vubaubajjéubejjubejjðubejjñubaubeubeubj)�r:v}r;v(jUjKjjêqj jüqjjj}rvaj]j]j]r?vUid194r@vaj]ujMjhj]rAv(j)�rBv}rCv(jX$Building CCS projects based examplesrDvjj:vj jüqjj"j}rEv(j]j]j]j]j]ujMjhj]rFvj%X$Building CCS projects based examplesrGv…�rHv}rIv(jjDvjjBvubaubjX)�rJv}rKv(jXÇCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in `PDK Example and Test Project Creation `__jj:vj jüqjj\j}rLv(j]j]j]j]j]ujMjhj]rMv(j%XbCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in rNv…�rOv}rPv(jXbCCS Projects mentioned in the above table are built using pdkProjectCreate.bat/sh as explained in jjJvubj)�rQv}rRv(jXe`PDK Example and Test Project Creation `__j}rSv(UnameX%PDK Example and Test Project CreationjX9index_overview.html#pdk-example-and-test-project-creationj]j]j]j]j]ujjJvj]rTvj%X%PDK Example and Test Project CreationrUv…�rVv}rWv(jUjjQvubajjubeubeubj)�rXv}rYv(jUjjêqj jüqjjj}rZv(j]j]j]j]r[vU.building-mcasp-test-applications-via-makefilesr\vaj]r]vh_aujMjhj]r^v(j)�r_v}r`v(jX.Building MCASP Test applications via makefilesravjjXvj jüqjj"j}rbv(j]j]j]j]j]ujMjhj]rcvj%X.Building MCASP Test applications via makefilesrdv…�rev}rfv(jjavjj_vubaubj)�rgv}rhv(jUjjXvj jüqjjj}riv(jX-j]j]j]j]j]ujMjhj]rjv(j)�rkv}rlv(jX[MCASP Test applications and dependent libraries are built from the top level mcasp makefilermvjjgvj jüqjj j}rnv(j]j]j]j]j]ujNjhj]rovjX)�rpv}rqv(jjmvjjkvj jüqjj\j}rrv(j]j]j]j]j]ujMj]rsvj%X[MCASP Test applications and dependent libraries are built from the top level mcasp makefilertv…�ruv}rvv(jjmvjjpvubaubaubj)�rwv}rxv(jX:Refer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands: - cd /packages/ - To build: make mcasp - To clean: make mcasp_clean jjgvj jüqjj j}ryv(j]j]j]j]j]ujNjhj]rzv(jX)�r{v}r|v(jXÞRefer to the `Processor SDK RTOS Getting Started Guide `__ for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jjwvj jüqjj\j}r}v(j]j]j]j]j]ujMj]r~v(j%X Refer to the rv…�r€v}r�v(jX Refer to the jj{vubj)�r‚v}rƒv(jXT`Processor SDK RTOS Getting Started Guide `__j}r„v(UnameX(Processor SDK RTOS Getting Started GuidejX%index_overview.html#setup-environmentj]j]j]j]j]ujj{vj]r…vj%X(Processor SDK RTOS Getting Started Guider†v…�r‡v}rˆv(jUjj‚vubajjubj%X} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:r‰v…�rŠv}r‹v(jX} for details of how to setup the build environment. Once you have setup the build environment, issue the following commands:jj{vubeubj¤ )�rŒv}r�v(jUj}rŽv(j]j]j]j]j]ujjwvj]r�vj)�r�v}r‘v(jUj}r’v(jX-j]j]j]j]j]ujjŒvj]r“v(j)�r”v}r•v(jXcd /packages/r–vj}r—v(j]j]j]j]j]ujj�vj]r˜vjX)�r™v}ršv(jj–vjj”vj jüqjj\j}r›v(j]j]j]j]j]ujM j]rœvj%Xcd /packages/r�v…�ržv}rŸv(jj–vjj™vubaubajj ubj)�r v}r¡v(jXTo build: make mcaspr¢vj}r£v(j]j]j]j]j]ujj�vj]r¤vjX)�r¥v}r¦v(jj¢vjj vj jüqjj\j}r§v(j]j]j]j]j]ujM!j]r¨vj%XTo build: make mcaspr©v…�rªv}r«v(jj¢vjj¥vubaubajj ubj)�r¬v}r­v(jXTo clean: make mcasp_clean j}r®v(j]j]j]j]j]ujj�vj]r¯vjX)�r°v}r±v(jXTo clean: make mcasp_cleanr²vjj¬vj jüqjj\j}r³v(j]j]j]j]j]ujM"j]r´vj%XTo clean: make mcasp_cleanrµv…�r¶v}r·v(jj²vjj°vubaubajj ubejjubajj§ ubeubj)�r¸v}r¹v(jX·Similarly, to build at the module level, issue the following commands for rebuilding : - cd /packages/ti/drv/mcasp - To build: make all - To clean: make clean jjgvj jüqjj j}rºv(j]j]j]j]j]ujNjhj]r»v(jX)�r¼v}r½v(jXVSimilarly, to build at the module level, issue the following commands for rebuilding :r¾vjj¸vj jüqjj\j}r¿v(j]j]j]j]j]ujM$j]rÀvj%XVSimilarly, to build at the module level, issue the following commands for rebuilding :rÁv…�rÂv}rÃv(jj¾vjj¼vubaubj¤ )�rÄv}rÅv(jUj}rÆv(j]j]j]j]j]ujj¸vj]rÇvj)�rÈv}rÉv(jUj}rÊv(jX-j]j]j]j]j]ujjÄvj]rËv(j)�rÌv}rÍv(jXcd /packages/ti/drv/mcasprÎvj}rÏv(j]j]j]j]j]ujjÈvj]rÐvjX)�rÑv}rÒv(jjÎvjjÌvj jüqjj\j}rÓv(j]j]j]j]j]ujM&j]rÔvj%Xcd /packages/ti/drv/mcasprÕv…�rÖv}r×v(jjÎvjjÑvubaubajj ubj)�rØv}rÙv(jXTo build: make allrÚvj}rÛv(j]j]j]j]j]ujjÈvj]rÜvjX)�rÝv}rÞv(jjÚvjjØvj jüqjj\j}rßv(j]j]j]j]j]ujM'j]ràvj%XTo build: make allráv…�râv}rãv(jjÚvjjÝvubaubajj ubj)�räv}råv(jXTo clean: make clean j}ræv(j]j]j]j]j]ujjÈvj]rçvjX)�rèv}rév(jXTo clean: make cleanrêvjjävj jüqjj\j}rëv(j]j]j]j]j]ujM(j]rìvj%XTo clean: make cleanrív…�rîv}rïv(jjêvjjèvubaubajj ubejjubajj§ ubeubeubjš)�rðv}rñv(jX5.. _AudioEQ example: http://www.ti.com/tool/tidep0069jjXvj jüqjj�j}ròv(jX http://www.ti.com/tool/tidep0069j]róvUaudioeq-examplerôvaj]j]j]j]rõvh aujM»jhj]ubjš)�röv}r÷v(jX;.. _TIDEP0069: http://www.ti.com/lit/ug/tidubq2/tidubq2.pdfjKjjXvj jüqjj�j}røv(jj5uj]rùvU tidep0069rúvaj]j]j]j]rûvh�aujM½jhj]ubjb)�rüv}rýv(jX IntroductionrþvjKjjXvj jüqjjfj}rÿv(j]rwUintroduction-1rwaj]j]rwXintroduction-1rwaj]j]ujNjhj]rwj%X Introductionrw…�rw}rw(jjþvjjüvubaubjX)�rw}r w(jX5The sample application demonstrates the use of the MCASP driver for audio playback. The application uses McASP LLD, and programs the AIC codec on the EVM to send and receive the audio input. The audio received from the AIC codec is loop back-ed at the application and sent back to the AIC codec via MCASP LLD.r wjjXvj jüqjj\j}r w(j]j]j]j]j]ujM2jhj]r wj%X5The sample application demonstrates the use of the MCASP driver for audio playback. The application uses McASP LLD, and programs the AIC codec on the EVM to send and receive the audio input. The audio received from the AIC codec is loop back-ed at the application and sent back to the AIC codec via MCASP LLD.r w…�rw}rw(jj wjjwubaubjb)�rw}rw(jXAudio test setuprwjjXvj jüqjjfj}rw(j]rwUaudio-test-setuprwaj]j]j]j]rwhñaujNjhj]rwj%XAudio test setuprw…�rw}rw(jjwjjwubaubjX)�rw}rw(jX/Please ensure the below before running the demorwjjXvj jüqjj\j}rw(j]j]j]j]j]ujM;jhj]rwj%X/Please ensure the below before running the demor w…�r!w}r"w(jjwjjwubaubj`)�r#w}r$w(jUjjXvj jüqjjcj}r%w(jeU.j]j]j]jfUj]j]jgjhujM=jhj]r&w(j)�r'w}r(w(jXHConnect the EVM’s stereo audio input to the PC’s stereo audio outputr)wjj#wj jüqjj j}r*w(j]j]j]j]j]ujNjhj]r+wjX)�r,w}r-w(jj)wjj'wj jüqjj\j}r.w(j]j]j]j]j]ujM=j]r/wj%XHConnect the EVM’s stereo audio input to the PC’s stereo audio outputr0w…�r1w}r2w(jj)wjj,wubaubaubj)�r3w}r4w(jX Connect the EVM’s stereo audio output to powered speakers. Please make sure the amplification on the speakers is high enough for the audio output to be heard jj#wj jüqjj j}r5w(j]j]j]j]j]ujNjhj]r6wjX)�r7w}r8w(jXŸConnect the EVM’s stereo audio output to powered speakers. Please make sure the amplification on the speakers is high enough for the audio output to be heardr9wjj3wj jüqjj\j}r:w(j]j]j]j]j]ujM>j]r;wj%XŸConnect the EVM’s stereo audio output to powered speakers. Please make sure the amplification on the speakers is high enough for the audio output to be heardrw(jj9wjj7wubaubaubeubjb)�r?w}r@w(jX Building and running the ExamplerAwjjXvj jüqjjfj}rBw(j]rCwU building-and-running-the-examplerDwaj]j]j]j]rEwh£aujNjhj]rFwj%X Building and running the ExamplerGw…�rHw}rIw(jjAwjj?wubaubj`)�rJw}rKw(jUjjXvj jüqjjcj}rLw(jeU.j]j]j]jfUj]j]jgjhujMEjhj]rMw(j)�rNw}rOw(jXKRun pdkProjectCreate to create the MCASP_Audio__ExampleProjectjjJwj jüqjj j}rPw(j]j]j]j]j]ujNjhj]rQwjX)�rRw}rSw(jXKRun pdkProjectCreate to create the MCASP_Audio__ExampleProjectrTwjjNwj jüqjj\j}rUw(j]j]j]j]j]ujMEj]rVwj%XKRun pdkProjectCreate to create the MCASP_Audio__ExampleProjectrWw…�rXw}rYw(jjTwjjRwubaubaubj)�rZw}r[w(jX.Load the project on to CCS and build the same.r\wjjJwj jüqjj j}r]w(j]j]j]j]j]ujNjhj]r^wjX)�r_w}r`w(jj\wjjZwj jüqjj\j}raw(j]j]j]j]j]ujMGj]rbwj%X.Load the project on to CCS and build the same.rcw…�rdw}rew(jj\wjj_wubaubaubj)�rfw}rgw(jXBuild the examplerhwjjJwj jüqjj j}riw(j]j]j]j]j]ujNjhj]rjwjX)�rkw}rlw(jjhwjjfwj jüqjj\j}rmw(j]j]j]j]j]ujMHj]rnwj%XBuild the examplerow…�rpw}rqw(jjhwjjkwubaubaubj)�rrw}rsw(jX1Load the MCASP_Audio__ExampleProjectrtwjjJwj jüqjj j}ruw(j]j]j]j]j]ujNjhj]rvwjX)�rww}rxw(jjtwjjrwj jüqjj\j}ryw(j]j]j]j]j]ujMIj]rzwj%X1Load the MCASP_Audio__ExampleProjectr{w…�r|w}r}w(jjtwjjwwubaubaubj)�r~w}rw(jXRun the example jjJwj jüqjj j}r€w(j]j]j]j]j]ujNjhj]r�wjX)�r‚w}rƒw(jXRun the exampler„wjj~wj jüqjj\j}r…w(j]j]j]j]j]ujMJj]r†wj%XRun the exampler‡w…�rˆw}r‰w(jj„wjj‚wubaubaubeubjb)�rŠw}r‹w(jXTesting the examplerŒwjKjjXvj jüqjjfj}r�w(j]rŽwUtesting-the-exampler�waj]j]r�wXtesting-the-exampler‘waj]j]ujNjhj]r’wj%XTesting the exampler“w…�r”w}r•w(jjŒwjjŠwubaubj`)�r–w}r—w(jUjjXvj jüqjjcj}r˜w(jeU.j]j]j]jfUj]j]jgjhujMOjhj]r™w(j)�ršw}r›w(jXPlay an audio file on the PC.rœwjj–wj jüqjj j}r�w(j]j]j]j]j]ujNjhj]ržwjX)�rŸw}r w(jjœwjjšwj jüqjj\j}r¡w(j]j]j]j]j]ujMOj]r¢wj%XPlay an audio file on the PC.r£w…�r¤w}r¥w(jjœwjjŸwubaubaubj)�r¦w}r§w(jX»You should be able to hear the same audio on the speakers connected to the EVM. It is the PC’s audio output which is loop backed at the EVM’s MCASP example outputted to the speakers. jj–wj jüqjj j}r¨w(j]j]j]j]j]ujNjhj]r©wjX)�rªw}r«w(jXºYou should be able to hear the same audio on the speakers connected to the EVM. It is the PC’s audio output which is loop backed at the EVM’s MCASP example outputted to the speakers.r¬wjj¦wj jüqjj\j}r­w(j]j]j]j]j]ujMPj]r®wj%XºYou should be able to hear the same audio on the speakers connected to the EVM. It is the PC’s audio output which is loop backed at the EVM’s MCASP example outputted to the speakers.r¯w…�r°w}r±w(jj¬wjjªwubaubaubeubjX)�r²w}r³w(jX`NOTE: Please make sure the speakers’ output volume is high enough for the audio to be audible.r´wjjXvj jüqjj\j}rµw(j]j]j]j]j]ujMTjhj]r¶wj%X`NOTE: Please make sure the speakers’ output volume is high enough for the audio to be audible.r·w…�r¸w}r¹w(jj´wjj²wubaubeubj)�rºw}r»w(jUjKjjêqj jüqjjj}r¼w(j]r½wXadditional referencesr¾waj]j]j]r¿wUid195rÀwaj]ujMXjhj]rÁw(j)�rÂw}rÃw(jXAdditional ReferencesrÄwjjºwj jüqjj"j}rÅw(j]j]j]j]j]ujMXjhj]rÆwj%XAdditional ReferencesrÇw…�rÈw}rÉw(jjÄwjjÂwubaubj¶)�rÊw}rËw(jUjjºwj jüqjj¹j}rÌw(j]j]j]j]j]ujNjhj]rÍwj¼)�rÎw}rÏw(jUj}rÐw(j]j]j]j]j]UcolsKujjÊwj]rÑw(jÁ)�rÒw}rÓw(jUj}rÔw(j]j]j]j]j]UcolwidthK#ujjÎwj]jjÅubjÁ)�rÕw}rÖw(jUj}r×w(j]j]j]j]j]UcolwidthK(ujjÎwj]jjÅubj)�rØw}rÙw(jUj}rÚw(j]j]j]j]j]ujjÎwj]rÛw(j×)�rÜw}rÝw(jUj}rÞw(j]j]j]j]j]ujjØwj]rßw(jÜ)�ràw}ráw(jUj}râw(j]j]j]j]j]ujjÜwj]rãwjX)�räw}råw(jX **Document**ræwjjàwj jüqjj\j}rçw(j]j]j]j]j]ujM[j]rèwj|)�réw}rêw(jjæwj}rëw(j]j]j]j]j]ujjäwj]rìwj%XDocumentríw…�rîw}rïw(jUjjéwubajj„ubaubajjéubjÜ)�rðw}rñw(jUj}ròw(j]j]j]j]j]ujjÜwj]rówjX)�rôw}rõw(jX **Location**röwjjðwj jüqjj\j}r÷w(j]j]j]j]j]ujM[j]røwj|)�rùw}rúw(jjöwj}rûw(j]j]j]j]j]ujjôwj]rüwj%XLocationrýw…�rþw}rÿw(jUjjùwubajj„ubaubajjéubejjubj×)�rx}rx(jUj}rx(j]j]j]j]j]ujjØwj]rx(jÜ)�rx}rx(jUj}rx(j]j]j]j]j]ujjxj]rxjX)�rx}r x(jXAPI Reference Manualr xjjxj jüqjj\j}r x(j]j]j]j]j]ujM]j]r xj%XAPI Reference Manualr x…�rx}rx(jj xjjxubaubajjéubjÜ)�rx}rx(jUj}rx(j]j]j]j]j]ujjxj]rxjX)�rx}rx(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mcasp\\docs\\doxygen\\html\\inde x.htmljjxj jüqjj\j}rx(j]j]j]j]j]ujM]j]rxj%XJ$(TI_PDK_INSTALL_DIR)\packages\ti \drv\mcasp\docs\doxygen\html\inde x.htmlrx…�rx}rx(jXR$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mcasp\\docs\\doxygen\\html\\inde x.htmljjxubaubajjéubejjubj×)�rx}rx(jUj}rx(j]j]j]j]j]ujjØwj]rx(jÜ)�rx}r x(jUj}r!x(j]j]j]j]j]ujjxj]r"xjX)�r#x}r$x(jX Release Notesr%xjjxj jüqjj\j}r&x(j]j]j]j]j]ujMaj]r'xj%X Release Notesr(x…�r)x}r*x(jj%xjj#xubaubajjéubjÜ)�r+x}r,x(jUj}r-x(j]j]j]j]j]ujjxj]r.xjX)�r/x}r0x(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mcasp\\docs\\ReleaseNotes_MCAS P_LLD.pdfjj+xj jüqjj\j}r1x(j]j]j]j]j]ujMaj]r2xj%XM$(TI_PDK_INSTALL_DIR)\packages\ti \drv\mcasp\docs\ReleaseNotes_MCAS P_LLD.pdfr3x…�r4x}r5x(jXS$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mcasp\\docs\\ReleaseNotes_MCAS P_LLD.pdfjj/xubaubajjéubejjubj×)�r6x}r7x(jUj}r8x(j]j]j]j]j]ujjØwj]r9x(jÜ)�r:x}r;x(jUj}rx}r?x(jXSoftware design Specificationr@xjj:xj jüqjj\j}rAx(j]j]j]j]j]ujMej]rBxj%XSoftware design SpecificationrCx…�rDx}rEx(jj@xjj>xubaubajjéubjÜ)�rFx}rGx(jUj}rHx(j]j]j]j]j]ujj6xj]rIxjX)�rJx}rKx(jXI$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mcasp\\docs\\MCASP_LLD_SDS.pdfjjFxj jüqjj\j}rLx(j]j]j]j]j]ujMej]rMxj%XC$(TI_PDK_INSTALL_DIR)\packages\ti \drv\mcasp\docs\MCASP_LLD_SDS.pdfrNx…�rOx}rPx(jXI$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\mcasp\\docs\\MCASP_LLD_SDS.pdfjjJxubaubajjéubejjubejjðubejjñubaubeubeubj jüqjjj}rQx(j]rRxXoverviewrSxaj]j]j]rTxUid187rUxaj]ujKjhj]rVx(j)�rWx}rXx(jXOverviewrYxjjèqj jüqjj"j}rZx(j]j]j]j]j]ujKjhj]r[xj%XOverviewr\x…�r]x}r^x(jjYxjjWxubaubj)�r_x}r`x(jUjKjjèqj jüqjjj}rax(j]rbxX introductionrcxaj]j]j]rdxUid188rexaj]ujKjhj]rfx(j)�rgx}rhx(jX Introductionrixjj_xj jüqjj"j}rjx(j]j]j]j]j]ujKjhj]rkxj%X Introductionrlx…�rmx}rnx(jjixjjgxubaubjX)�rox}rpx(jX1The multichannel audio serial port (McASP) functions as a general-purpose audio serial port optimized for the needs of multichannel audio applications. The McASP is useful for time-division multiplexed (TDM) stream, Inter-Integrated Sound (I2S) protocols, and intercomponent digital audio interface transmission (DIT).The multichannel buffered serial port (McASP) peripheral allows direct interface to other TI DSPs, codecs, and other devices in a system. The following sub sections explain the hardware (McASP peripheral) and software context of the McASP LLD.rqxjj_xj jüqjj\j}rrx(j]j]j]j]j]ujK jhj]rsxj%X1The multichannel audio serial port (McASP) functions as a general-purpose audio serial port optimized for the needs of multichannel audio applications. The McASP is useful for time-division multiplexed (TDM) stream, Inter-Integrated Sound (I2S) protocols, and intercomponent digital audio interface transmission (DIT).The multichannel buffered serial port (McASP) peripheral allows direct interface to other TI DSPs, codecs, and other devices in a system. The following sub sections explain the hardware (McASP peripheral) and software context of the McASP LLD.rtx…�rux}rvx(jjqxjjoxubaubjX)�rwx}rxx(jXîThe device driver exposes a set of well-defined APIs which are used by the application layer to send and receive data via the McASP peripheral. The driver also exposes a set of well-defined OS abstraction APIs which are used to ensure that the driver is OS independent and portable. The McASP driver uses the CSL McASP register layer for all McASP MMR access. The McASP driver also interfaces with the EDMA3/UDMA library to be able to transfer data to and from McASP peripheral and data memory.ryxjj_xj jüqjj\j}rzx(j]j]j]j]j]ujKjhj]r{xj%XîThe device driver exposes a set of well-defined APIs which are used by the application layer to send and receive data via the McASP peripheral. The driver also exposes a set of well-defined OS abstraction APIs which are used to ensure that the driver is OS independent and portable. The McASP driver uses the CSL McASP register layer for all McASP MMR access. The McASP driver also interfaces with the EDMA3/UDMA library to be able to transfer data to and from McASP peripheral and data memory.r|x…�r}x}r~x(jjyxjjwxubaubeubeubj jüqjj?j}rx(j]UlevelKj]j]r€xjUxaUsourcejüqj]j]UlineKUtypejAujKjhj]r�xjX)�r‚x}rƒx(jX+Duplicate implicit target name: "overview".j}r„x(j]j]j]j]j]ujjæqj]r…xj%X+Duplicate implicit target name: "overview".r†x…�r‡x}rˆx(jUjj‚xubajj\ubaubhÿ)�r‰x}rŠx(jUjj_xj jüqjj?j}r‹x(j]UlevelKj]j]rŒxjexaUsourcejüqj]j]UlineKUtypejAujKjhj]r�xjX)�rŽx}r�x(jX/Duplicate implicit target name: "introduction".j}r�x(j]j]j]j]j]ujj‰xj]r‘xj%X/Duplicate implicit target name: "introduction".r’x…�r“x}r”x(jUjjŽxubajj\ubaubhÿ)�r•x}r–x(jUjjrj jüqjj?j}r—x(j]UlevelKj]j]r˜xj raUsourcejüqj]j]UlineKUtypejAujKjhj]r™xjX)�ršx}r›x(jX1Duplicate implicit target name: "user interface".j}rœx(j]j]j]j]j]ujj•xj]r�xj%X1Duplicate implicit target name: "user interface".ržx…�rŸx}r x(jUjjšxubajj\ubaubhÿ)�r¡x}r¢x(jUjjrj jüqjj?j}r£x(j]UlevelKj]j]r¤xjraUsourcejüqj]j]UlineKUtypejAujKjhj]r¥xjX)�r¦x}r§x(jX7Duplicate implicit target name: "driver configuration".j}r¨x(j]j]j]j]j]ujj¡xj]r©xj%X7Duplicate implicit target name: "driver configuration".rªx…�r«x}r¬x(jUjj¦xubajj\ubaubhÿ)�r­x}r®x(jUjj_rj jüqjj?j}r¯x(j]UlevelKj]j]r°xjeraUsourcejüqj]j]UlineK@UtypejAujK@jhj]r±xjX)�r²x}r³x(jX'Duplicate implicit target name: "apis".j}r´x(j]j]j]j]j]ujj­xj]rµxj%X'Duplicate implicit target name: "apis".r¶x…�r·x}r¸x(jUjj²xubajj\ubaubhÿ)�r¹x}rºx(jUjj«sj jüqjj?j}r»x(j]UlevelKj]j]r¼xj±saUsourcejüqj]j]UlineKÙUtypejAujKÙjhj]r½xjX)�r¾x}r¿x(jX.Duplicate implicit target name: "application".j}rÀx(j]j]j]j]j]ujj¹xj]rÁxj%X.Duplicate implicit target name: "application".rÂx…�rÃx}rÄx(jUjj¾xubajj\ubaubhÿ)�rÅx}rÆx(jUjj»sj jüqjj?j}rÇx(j]UlevelKj]j]rÈxjÀsaUsourcejüqj]j]UlineKÜUtypejAujKÜjhj]rÉxjX)�rÊx}rËx(jX8Duplicate implicit target name: "examples & unit tests".j}rÌx(j]j]j]j]j]ujjÅxj]rÍxj%X8Duplicate implicit target name: "examples & unit tests".rÎx…�rÏx}rÐx(jUjjÊxubajj\ubaubhÿ)�rÑx}rÒx(jUjj:vj jüqjj?j}rÓx(j]UlevelKj]j]rÔxj@vaUsourcejüqj]j]UlineMUtypejAujMjhj]rÕxjX)�rÖx}r×x(jXGDuplicate implicit target name: "building ccs projects based examples".j}rØx(j]j]j]j]j]ujjÑxj]rÙxj%XGDuplicate implicit target name: "building ccs projects based examples".rÚx…�rÛx}rÜx(jUjjÖxubajj\ubaubhÿ)�rÝx}rÞx(jUj}rßx(j]UlevelKj]j]Usourcejüqj]j]UlineM Utypejòujjwvj]ràxjX)�ráx}râx(jXUnexpected indentation.j}rãx(j]j]j]j]j]ujjÝxj]räxj%XUnexpected indentation.råx…�ræx}rçx(jUjjáxubajj\ubajj?ubhÿ)�rèx}réx(jUjjºwj jüqjj?j}rêx(j]UlevelKj]j]rëxjÀwaUsourcejüqj]j]UlineMXUtypejAujMXjhj]rìxjX)�ríx}rîx(jX8Duplicate implicit target name: "additional references".j}rïx(j]j]j]j]j]ujjèxj]rðxj%X8Duplicate implicit target name: "additional references".rñx…�ròx}róx(jUjjíxubajj\ubaubhÿ)�rôx}rõx(jUjj)�röx}r÷x(jUjKjj)�røx}rùx(jUjhj j jjj}rúx(j]j]j]j]rûxUdssrüxaj]rýxhWaujK�jhj]rþx(j)�rÿx}ry(jXDSSryjjøxj j jj"j}ry(j]j]j]j]j]ujK�jhj]ryj%XDSSry…�ry}ry(jjyjjÿxubaubj))�ry}ry(jX>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_DSSjjøxj j,X<source/rtos/PDK_Platform_Software/Device_Drivers/DSS.rst.incr y…�r y}r ybjj0j}r y(j2j3j]j]j]j]j]ujKjhj]r yj%X>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_DSSry…�ry}ry(jUjjyubaubjöxj)�ry}ry(jUjKjjøxj j yjjj}ry(j]ryXuser interfaceryaj]j]j]ryUid198ryaj]ujKjhj]ry(j)�ry}ry(jXUser Interfaceryjjyj j yjj"j}ry(j]j]j]j]j]ujKjhj]ryj%XUser Interfacery…�ry}r y(jjyjjyubaubj)�r!y}r"y(jUjKjjyj j yjjj}r#y(j]r$yXdriver configurationr%yaj]j]j]r&yUid199r'yaj]ujKjhj]r(y(j)�r)y}r*y(jXDriver Configurationr+yjj!yj j yjj"j}r,y(j]j]j]j]j]ujKjhj]r-yj%XDriver Configurationr.y…�r/y}r0y(jj+yjj)yubaubjb)�r1y}r2y(jX**DSS Configuration Structure**r3yjj!yj j yjjfj}r4y(j]r5yUdss-configuration-structurer6yaj]j]j]j]r7yhïaujNjhj]r8yj|)�r9y}r:y(jj3yj}r;y(j]j]j]j]j]ujj1yj]ry}r?y(jUjj9yubajj„ubaubjX)�r@y}rAy(jX§For details about individual fields of DSS library structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\dss\\docs\\doxygen\\html\\index.html.jj!yj j yjj\j}rBy(j]j]j]j]j]ujKjhj]rCyj%XŸFor details about individual fields of DSS library structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\dss\docs\doxygen\html\index.html.rDy…�rEy}rFy(jX§For details about individual fields of DSS library structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\dss\\docs\\doxygen\\html\\index.html.jj@yubaubeubj)�rGy}rHy(jUjKjjyj j yjjj}rIy(j]rJyXapisrKyaj]j]j]rLyUid200rMyaj]ujK$jhj]rNy(j)�rOy}rPy(jXAPIsrQyjjGyj j yjj"j}rRy(j]j]j]j]j]ujK$jhj]rSyj%XAPIsrTy…�rUy}rVy(jjQyjjOyubaubjX)�rWy}rXy(jXGThe DSS driver API can be broadly divided into the following categoriesrYyjjGyj j yjj\j}rZy(j]j]j]j]j]ujK&jhj]r[yj%XGThe DSS driver API can be broadly divided into the following categoriesr\y…�r]y}r^y(jjYyjjWyubaubj)�r_y}r`y(jUjjGyj j yjjj}ray(jX-j]j]j]j]j]ujK(jhj]rby(j)�rcy}rdy(jX/DSS Display API - API for video display driversreyjj_yj j yjj j}rfy(j]j]j]j]j]ujNjhj]rgyjX)�rhy}riy(jjeyjjcyj j yjj\j}rjy(j]j]j]j]j]ujK(j]rkyj%X/DSS Display API - API for video display driversrly…�rmy}rny(jjeyjjhyubaubaubj)�roy}rpy(jXfDSS Display Controller API - API for controlling and configuring Video Ports in the display subsystem jj_yj j yjj j}rqy(j]j]j]j]j]ujNjhj]rryjX)�rsy}rty(jXeDSS Display Controller API - API for controlling and configuring Video Ports in the display subsystemruyjjoyj j yjj\j}rvy(j]j]j]j]j]ujK)j]rwyj%XeDSS Display Controller API - API for controlling and configuring Video Ports in the display subsystemrxy…�ryy}rzy(jjuyjjsyubaubaubeubjX)�r{y}r|y(jXIn addition to above drivers the DSS package also includes many sample examples which show how to use the drivers in different ways. Many of these sample examples use a common set of APIs which a user may find useful to refer to for use in their final application.r}yjjGyj j yjj\j}r~y(j]j]j]j]j]ujK,jhj]ryj%XIn addition to above drivers the DSS package also includes many sample examples which show how to use the drivers in different ways. Many of these sample examples use a common set of APIs which a user may find useful to refer to for use in their final application.r€y…�r�y}r‚y(jj}yjj{yubaubjX)�rƒy}r„y(jXAPI reference for application:r…yjjGyj j yjj\j}r†y(j]j]j]j]j]ujK1jhj]r‡yj%XAPI reference for application:rˆy…�r‰y}rŠy(jj…yjjƒyubaubj#)�r‹y}rŒy(jX*#include .h>jjGyj j yjj&j}r�y(j2j3j]j]j]j]j]ujM5jhj]rŽyj%X*#include .h>r�y…�r�y}r‘y(jUjj‹yubaubeubeubj)�r’y}r“y(jUjKjjøxj j yjjj}r”y(j]r•yX applicationr–yaj]j]j]r—yUid201r˜yaj]ujK8jhj]r™y(j)�ršy}r›y(jX Applicationrœyjj’yj j yjj"j}r�y(j]j]j]j]j]ujK8jhj]ržyj%X ApplicationrŸy…�r y}r¡y(jjœyjjšyubaubj)�r¢y}r£y(jUjKjj’yj j yjjj}r¤y(j]r¥yXexamplesr¦yaj]j]j]r§yUid202r¨yaj]ujK;jhj]r©y(j)�rªy}r«y(jXExamplesr¬yjj¢yj j yjj"j}r­y(j]j]j]j]j]ujK;jhj]r®yj%XExamplesr¯y…�r°y}r±y(jj¬yjjªyubaubj¶)�r²y}r³y(jUjj¢yj j yjj¹j}r´y(j]j]j]j]j]ujNjhj]rµyj¼)�r¶y}r·y(jUj}r¸y(j]j]j]j]j]UcolsKujj²yj]r¹y(jÁ)�rºy}r»y(jUj}r¼y(j]j]j]j]j]UcolwidthKujj¶yj]jjÅubjÁ)�r½y}r¾y(jUj}r¿y(j]j]j]j]j]UcolwidthKujj¶yj]jjÅubjÁ)�rÀy}rÁy(jUj}rÂy(j]j]j]j]j]UcolwidthKujj¶yj]jjÅubjÒ)�rÃy}rÄy(jUj}rÅy(j]j]j]j]j]ujj¶yj]rÆyj×)�rÇy}rÈy(jUj}rÉy(j]j]j]j]j]ujjÃyj]rÊy(jÜ)�rËy}rÌy(jUj}rÍy(j]j]j]j]j]ujjÇyj]rÎyjX)�rÏy}rÐy(jXNamerÑyjjËyj j yjj\j}rÒy(j]j]j]j]j]ujK>j]rÓyj%XNamerÔy…�rÕy}rÖy(jjÑyjjÏyubaubajjéubjÜ)�r×y}rØy(jUj}rÙy(j]j]j]j]j]ujjÇyj]rÚyjÁ)�rÛy}rÜy(jUj}rÝy(j]j]j]j]j]ujj×yj]rÞyjÇ)�rßy}rày(jX DescriptionráyjÊKjjÛyj j yjjj}rây(j]j]j]j]j]ujKj]rãyj%X Descriptionräy…�råy}ræy(jjáyjjßyubaubajjÄubajjéubjÜ)�rçy}rèy(jUj}réy(j]j]j]j]j]ujjÇyj]rêyjÁ)�rëy}rìy(jUj}ríy(j]j]j]j]j]ujjçyj]rîyjÇ)�rïy}rðy(jXExpected ResultsrñyjÊKjjëyj j yjjj}ròy(j]j]j]j]j]ujKj]róyj%XExpected Resultsrôy…�rõy}röy(jjñyjjïyubaubajjÄubajjéubejjubajjubj)�r÷y}røy(jUj}rùy(j]j]j]j]j]ujj¶yj]rúy(j×)�rûy}rüy(jUj}rýy(j]j]j]j]j]ujj÷yj]rþy(jÜ)�rÿy}rz(jUj}rz(j]j]j]j]j]ujjûyj]rzjX)�rz}rz(jXDisplay Dss applicationrzjjÿyj j yjj\j}rz(j]j]j]j]j]ujK@j]rzj%XDisplay Dss applicationrz…�r z}r z(jjzjjzubaubajjéubjÜ)�r z}r z(jUj}r z(j]j]j]j]j]ujjûyj]rzjÁ)�rz}rz(jUj}rz(j]j]j]j]j]ujj zj]rzjÇ)�rz}rz(jXiExample demonstrating *simple* display bgra frames to the OLDI use case. Reference example for developersjÊKjjzj j yjjj}rz(j]j]j]j]j]ujKj]rz(j%XExample demonstrating rz…�rz}rz(jXExample demonstrating jjzubj<)�rz}rz(jX*simple*j}rz(j]j]j]j]j]ujjzj]rzj%Xsimplerz…�rz}r z(jUjjzubajjDubj%XK display bgra frames to the OLDI use case. Reference example for developersr!z…�r"z}r#z(jXK display bgra frames to the OLDI use case. Reference example for developersjjzubeubajjÄubajjéubjÜ)�r$z}r%z(jUj}r&z(j]j]j]j]j]ujjûyj]r'zjÁ)�r(z}r)z(jUj}r*z(j]j]j]j]j]ujj$zj]r+zjÇ)�r,z}r-z(jXYApplication shows two different buffer on OLDI panel and success messages on CCS console.r.zjÊKjj(zj j yjjj}r/z(j]j]j]j]j]ujKj]r0zj%XYApplication shows two different buffer on OLDI panel and success messages on CCS console.r1z…�r2z}r3z(jj.zjj,zubaubajjÄubajjéubejjubj×)�r4z}r5z(jUj}r6z(j]j]j]j]j]ujj÷yj]r7z(jÜ)�r8z}r9z(jUj}r:z(j]j]j]j]j]ujj4zj]r;zjX)�rzjj8zj j yjj\j}r?z(j]j]j]j]j]ujKIj]r@zj%X$Display Dss application (Bare metal)rAz…�rBz}rCz(jj>zjj/packages/ti/drv/dssr{jj {j j yjj j}r {(j]j]j]j]j]ujNjhj]r!{jX)�r"{}r#{(jj{jj{j j yjj\j}r${(j]j]j]j]j]ujKjj]r%{j%Xcd /packages/ti/drv/dssr&{…�r'{}r({(jj{jj"{ubaubaubj)�r){}r*{(jX1To build: make -s PDK_INSTALL_PATH=/packagesr+{jj {j j yjj j}r,{(j]j]j]j]j]ujNjhj]r-{jX)�r.{}r/{(jj+{jj){j j yjj\j}r0{(j]j]j]j]j]ujKkj]r1{j%X1To build: make -s PDK_INSTALL_PATH=/packagesr2{…�r3{}r4{(jj+{jj.{ubaubaubj)�r5{}r6{(jX8To clean: make -s clean PDK_INSTALL_PATH=/packages jj {j j yjj j}r7{(j]j]j]j]j]ujNjhj]r8{jX)�r9{}r:{(jX7To clean: make -s clean PDK_INSTALL_PATH=/packagesr;{jj5{j j yjj\j}r<{(j]j]j]j]j]ujKlj]r={j%X7To clean: make -s clean PDK_INSTALL_PATH=/packagesr>{…�r?{}r@{(jj;{jj9{ubaubaubeubeubj)�rA{}rB{(jUjjøxj j yjjj}rC{(j]j]j]j]rD{U dss-examplesrE{aj]rF{haujKojhj]rG{(j)�rH{}rI{(jX DSS examplesrJ{jjA{j j yjj"j}rK{(j]j]j]j]j]ujKojhj]rL{j%X DSS examplesrM{…�rN{}rO{(jjJ{jjH{ubaubjb)�rP{}rQ{(jX *Description*rR{jKjjA{j j yjjfj}rS{(j]rT{Uid204rU{aj]j]rV{j3paj]j]ujNjhj]rW{j<)�rX{}rY{(jjR{j}rZ{(j]j]j]j]j]ujjP{j]r[{j%X Descriptionr\{…�r]{}r^{(jUjjX{ubajjDubaubjX)�r_{}r`{(jXlDSS examples exploits the DISPC (Display Controller) and OLDI output available in the SoC. The example works on outputing pre-loaded video frames of BGRA8888 formats to OLDI interface. The example also demonstrates displaying videos combined from VID1 and VIDL1 pipelines to OLDI panel. The example is also enhanced to show the display controller scaling features.ra{jjA{j j yjj\j}rb{(j]j]j]j]j]ujKtjhj]rc{j%XlDSS examples exploits the DISPC (Display Controller) and OLDI output available in the SoC. The example works on outputing pre-loaded video frames of BGRA8888 formats to OLDI interface. The example also demonstrates displaying videos combined from VID1 and VIDL1 pipelines to OLDI panel. The example is also enhanced to show the display controller scaling features.rd{…�re{}rf{(jja{jj_{ubaubjÁ)�rg{}rh{(jUjjA{j j yjjÄj}ri{(j]j]j]j]j]ujK{jhj]rj{jÇ)�rk{}rl{(jUjÊKjjg{j j yjjj}rm{(j]j]j]j]j]ujKjhj]ubaubjb)�rn{}ro{(jX **Running the Display examples**rp{jjA{j j yjjfj}rq{(j]rr{Urunning-the-display-examplesrs{aj]j]j]j]rt{hƒaujNjhj]ru{j|)�rv{}rw{(jjp{j}rx{(j]j]j]j]j]ujjn{j]ry{j%XRunning the Display examplesrz{…�r{{}r|{(jUjjv{ubajj„ubaubjX)�r}{}r~{(jX**Configuring Display**:r{jjA{j j yjj\j}r€{(j]j]j]j]j]ujK€jhj]r�{(j|)�r‚{}rƒ{(jX**Configuring Display**j}r„{(j]j]j]j]j]ujj}{j]r…{j%XConfiguring Displayr†{…�r‡{}rˆ{(jUjj‚{ubajj„ubj%X:…�r‰{}rŠ{(jX:jj}{ubeubj)�r‹{}rŒ{(jUjjA{j j yjjj}r�{(jX-j]j]j]j]j]ujK‚jhj]rŽ{j)�r�{}r�{(jXYMake sure the OLDI panel is connected to the base EVM before running the example binary. jj‹{j j yjj j}r‘{(j]j]j]j]j]ujNjhj]r’{jX)�r“{}r”{(jXXMake sure the OLDI panel is connected to the base EVM before running the example binary.r•{jj�{j j yjj\j}r–{(j]j]j]j]j]ujK‚j]r—{j%XXMake sure the OLDI panel is connected to the base EVM before running the example binary.r˜{…�r™{}rš{(jj•{jj“{ubaubaubaubjX)�r›{}rœ{(jX**CCS connection**:r�{jjA{j j yjj\j}rž{(j]j]j]j]j]ujK…jhj]rŸ{(j|)�r {}r¡{(jX**CCS connection**j}r¢{(j]j]j]j]j]ujj›{j]r£{j%XCCS connectionr¤{…�r¥{}r¦{(jUjj {ubajj„ubj%X:…�r§{}r¨{(jX:jj›{ubeubj)�r©{}rª{(jUjjA{j j yjjj}r«{(jX-j]j]j]j]j]ujK‡jhj]r¬{(j)�r­{}r®{(jX@Load the System firmware as specified in SCICLIENT documentationr¯{jj©{j j yjj j}r°{(j]j]j]j]j]ujNjhj]r±{jX)�r²{}r³{(jj¯{jj­{j j yjj\j}r´{(j]j]j]j]j]ujK‡j]rµ{j%X@Load the System firmware as specified in SCICLIENT documentationr¶{…�r·{}r¸{(jj¯{jj²{ubaubaubj)�r¹{}rº{(jX)Load the generated executable file in CCSr»{jj©{j j yjj j}r¼{(j]j]j]j]j]ujNjhj]r½{jX)�r¾{}r¿{(jj»{jj¹{j j yjj\j}rÀ{(j]j]j]j]j]ujKˆj]rÁ{j%X)Load the generated executable file in CCSrÂ{…�rÃ{}rÄ{(jj»{jj¾{ubaubaubj)�rÅ{}rÆ{(jXRun the application.rÇ{jj©{j j yjj j}rÈ{(j]j]j]j]j]ujNjhj]rÉ{jX)�rÊ{}rË{(jjÇ{jjÅ{j j yjj\j}rÌ{(j]j]j]j]j]ujK‰j]rÍ{j%XRun the application.rÎ{…�rÏ{}rÐ{(jjÇ{jjÊ{ubaubaubj)�rÑ{}rÒ{(jX=Content will be displayed on the OLDI panel connected to EVM jj©{j XSinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/DSS.rst.incrÓ{jj j}rÔ{(j]j]j]j]j]ujNjhj]rÕ{jX)�rÖ{}r×{(jX<Content will be displayed on the OLDI panel connected to EVMrØ{jjÑ{j j yjj\j}rÙ{(j]j]j]j]j]ujKŠj]rÚ{j%X<Content will be displayed on the OLDI panel connected to EVMrÛ{…�rÜ{}rÝ{(jjØ{jjÖ{ubaubaubeubeubeubj j yjjj}rÞ{(j]rß{Xoverviewrà{aj]j]j]rá{Uid196râ{aj]ujKjhj]rã{(j)�rä{}rå{(jXOverviewræ{jjöxj j yjj"j}rç{(j]j]j]j]j]ujKjhj]rè{j%XOverviewré{…�rê{}rë{(jjæ{jjä{ubaubj)�rì{}rí{(jUjKjjöxj j yjjj}rî{(j]rï{X introductionrð{aj]j]j]rñ{Uid197rò{aj]ujKjhj]ró{(j)�rô{}rõ{(jX Introductionrö{jjì{j j yjj"j}r÷{(j]j]j]j]j]ujKjhj]rø{j%X Introductionrù{…�rú{}rû{(jjö{jjô{ubaubjX)�rü{}rý{(jX¶The Display Subsystem (DSS) is a flexible, multi-pipeline subsystem that supports high-resolution display outputs. DSS includes input pipelines providing multi-layer blending with transparency to enable on-the-fly composition. Various pixel processing capabilities are supported, such as color space conversion and scaling, among others. DSS includes a DMA engine, which allows direct access to the frame buffer (device system memory). Display outputs can connect seamlessly to an Open LVDS Display Interface transmitter (OLDITX), or can directly drive device pads as a parallel video output interface. This document has detailed API description that user can use to make use of the DSS driver.rþ{jjì{j j yjj\j}rÿ{(j]j]j]j]j]ujK jhj]r|j%X¶The Display Subsystem (DSS) is a flexible, multi-pipeline subsystem that supports high-resolution display outputs. DSS includes input pipelines providing multi-layer blending with transparency to enable on-the-fly composition. Various pixel processing capabilities are supported, such as color space conversion and scaling, among others. DSS includes a DMA engine, which allows direct access to the frame buffer (device system memory). Display outputs can connect seamlessly to an Open LVDS Display Interface transmitter (OLDITX), or can directly drive device pads as a parallel video output interface. This document has detailed API description that user can use to make use of the DSS driver.r|…�r|}r|(jjþ{jjü{ubaubeubeubj j yjj?j}r|(j]UlevelKj]j]r|jâ{aUsourcej yj]j]UlineKUtypejAujKjhj]r|jX)�r|}r|(jX+Duplicate implicit target name: "overview".j}r |(j]j]j]j]j]ujjôxj]r |j%X+Duplicate implicit target name: "overview".r |…�r |}r |(jUjj|ubajj\ubaubhÿ)�r|}r|(jUjjì{j j yjj?j}r|(j]UlevelKj]j]r|jò{aUsourcej yj]j]UlineKUtypejAujKjhj]r|jX)�r|}r|(jX/Duplicate implicit target name: "introduction".j}r|(j]j]j]j]j]ujj|j]r|j%X/Duplicate implicit target name: "introduction".r|…�r|}r|(jUjj|ubajj\ubaubhÿ)�r|}r|(jUjjyj j yjj?j}r|(j]UlevelKj]j]r|jyaUsourcej yj]j]UlineKUtypejAujKjhj]r|jX)�r|}r |(jX1Duplicate implicit target name: "user interface".j}r!|(j]j]j]j]j]ujj|j]r"|j%X1Duplicate implicit target name: "user interface".r#|…�r$|}r%|(jUjj|ubajj\ubaubhÿ)�r&|}r'|(jUjj!yj j yjj?j}r(|(j]UlevelKj]j]r)|j'yaUsourcej yj]j]UlineKUtypejAujKjhj]r*|jX)�r+|}r,|(jX7Duplicate implicit target name: "driver configuration".j}r-|(j]j]j]j]j]ujj&|j]r.|j%X7Duplicate implicit target name: "driver configuration".r/|…�r0|}r1|(jUjj+|ubajj\ubaubhÿ)�r2|}r3|(jUjjGyj j yjj?j}r4|(j]UlevelKj]j]r5|jMyaUsourcej yj]j]UlineK$UtypejAujK$jhj]r6|jX)�r7|}r8|(jX'Duplicate implicit target name: "apis".j}r9|(j]j]j]j]j]ujj2|j]r:|j%X'Duplicate implicit target name: "apis".r;|…�r<|}r=|(jUjj7|ubajj\ubaubhÿ)�r>|}r?|(jUjj’yj j yjj?j}r@|(j]UlevelKj]j]rA|j˜yaUsourcej yj]j]UlineK8UtypejAujK8jhj]rB|jX)�rC|}rD|(jX.Duplicate implicit target name: "application".j}rE|(j]j]j]j]j]ujj>|j]rF|j%X.Duplicate implicit target name: "application".rG|…�rH|}rI|(jUjjC|ubajj\ubaubhÿ)�rJ|}rK|(jUjj¢yj j yjj?j}rL|(j]UlevelKj]j]rM|j¨yaUsourcej yj]j]UlineK;UtypejAujK;jhj]rN|jX)�rO|}rP|(jX+Duplicate implicit target name: "examples".j}rQ|(j]j]j]j]j]ujjJ|j]rR|j%X+Duplicate implicit target name: "examples".rS|…�rT|}rU|(jUjjO|ubajj\ubaubhÿ)�rV|}rW|(jUjj�zj j yjj?j}rX|(j]UlevelKj]j]rY|j£zaUsourcej yj]j]UlineK[UtypejAujK[jhj]rZ|jX)�r[|}r\|(jX8Duplicate implicit target name: "additional references".j}r]|(j]j]j]j]j]ujjV|j]r^|j%X8Duplicate implicit target name: "additional references".r_|…�r`|}ra|(jUjj[|ubajj\ubaubhÿ)�rb|}rc|(jUj}rd|(j]UlevelKj]j]re|jU{aUsourcej j]j]UlineK�UtypejXujjP{j]rf|jX)�rg|}rh|(jX.Duplicate explicit target name: "description".j}ri|(j]j]j]j]j]ujjb|j]rj|j%X.Duplicate explicit target name: "description".rk|…�rl|}rm|(jUjjg|ubajj\ubajj?ubhÿ)�rn|}ro|(jUjj)�rp|}rq|(jUjKjj)�rr|}rs|(jUjhj j jjj}rt|(j]j]j]j]ru|Ucalrv|aj]rw|hbaujK“jhj]rx|(j)�ry|}rz|(jXCALr{|jjr|j j jj"j}r||(j]j]j]j]j]ujK“jhj]r}|j%XCALr~|…�r|}r€|(jj{|jjy|ubaubj))�r�|}r‚|(jX>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_DSSjjr|j j,X<source/rtos/PDK_Platform_Software/Device_Drivers/CAL.rst.incrƒ|…�r„|}r…|bjj0j}r†|(j2j3j]j]j]j]j]ujKjhj]r‡|j%X>http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_DSSrˆ|…�r‰|}rŠ|(jUjj�|ubaubjp|j)�r‹|}rŒ|(jUjKjjr|j j„|jjj}r�|(j]rŽ|Xuser interfacer�|aj]j]j]r�|Uid207r‘|aj]ujKjhj]r’|(j)�r“|}r”|(jXUser Interfacer•|jj‹|j j„|jj"j}r–|(j]j]j]j]j]ujKjhj]r—|j%XUser Interfacer˜|…�r™|}rš|(jj•|jj“|ubaubj)�r›|}rœ|(jUjKjj‹|j j„|jjj}r�|(j]rž|Xdriver configurationrŸ|aj]j]j]r |Uid208r¡|aj]ujKjhj]r¢|(j)�r£|}r¤|(jXDriver Configurationr¥|jj›|j j„|jj"j}r¦|(j]j]j]j]j]ujKjhj]r§|j%XDriver Configurationr¨|…�r©|}rª|(jj¥|jj£|ubaubjb)�r«|}r¬|(jX**CAL Configuration Structure**r­|jj›|j j„|jjfj}r®|(j]r¯|Ucal-configuration-structurer°|aj]j]j]j]r±|hjjÁ|j j„|jj&j}r}(j2j3j]j]j]j]j]ujMÁjhj]r}j%X'#include r }…�r }}r }(jUjj}ubaubeubeubj)�r }}r }(jUjKjjr|j j„|jjj}r}(j]r}X applicationr}aj]j]j]r}Uid210r}aj]ujK2jhj]r}(j)�r}}r}(jX Applicationr}jj }j j„|jj"j}r}(j]j]j]j]j]ujK2jhj]r}j%X Applicationr}…�r}}r}(jj}jj}ubaubj)�r}}r}(jUjKjj }j j„|jjj}r}(j]r}Xexamplesr }aj]j]j]r!}Uid211r"}aj]ujK5jhj]r#}(j)�r$}}r%}(jXExamplesr&}jj}j j„|jj"j}r'}(j]j]j]j]j]ujK5jhj]r(}j%XExamplesr)}…�r*}}r+}(jj&}jj$}ubaubj¶)�r,}}r-}(jUjj}j j„|jj¹j}r.}(j]j]j]j]j]ujNjhj]r/}j¼)�r0}}r1}(jUj}r2}(j]j]j]j]j]UcolsKujj,}j]r3}(jÁ)�r4}}r5}(jUj}r6}(j]j]j]j]j]UcolwidthKujj0}j]jjÅubjÁ)�r7}}r8}(jUj}r9}(j]j]j]j]j]UcolwidthKujj0}j]jjÅubjÁ)�r:}}r;}(jUj}r<}(j]j]j]j]j]UcolwidthKujj0}j]jjÅubjÒ)�r=}}r>}(jUj}r?}(j]j]j]j]j]ujj0}j]r@}j×)�rA}}rB}(jUj}rC}(j]j]j]j]j]ujj=}j]rD}(jÜ)�rE}}rF}(jUj}rG}(j]j]j]j]j]ujjA}j]rH}jX)�rI}}rJ}(jXNamerK}jjE}j j„|jj\j}rL}(j]j]j]j]j]ujK8j]rM}j%XNamerN}…�rO}}rP}(jjK}jjI}ubaubajjéubjÜ)�rQ}}rR}(jUj}rS}(j]j]j]j]j]ujjA}j]rT}jÁ)�rU}}rV}(jUj}rW}(j]j]j]j]j]ujjQ}j]rX}jÇ)�rY}}rZ}(jX Descriptionr[}jÊKjjU}j j„|jjj}r\}(j]j]j]j]j]ujKj]r]}j%X Descriptionr^}…�r_}}r`}(jj[}jjY}ubaubajjÄubajjéubjÜ)�ra}}rb}(jUj}rc}(j]j]j]j]j]ujjA}j]rd}jÁ)�re}}rf}(jUj}rg}(j]j]j]j]j]ujja}j]rh}jÇ)�ri}}rj}(jXExpected Resultsrk}jÊKjje}j j„|jjj}rl}(j]j]j]j]j]ujKj]rm}j%XExpected Resultsrn}…�ro}}rp}(jjk}jji}ubaubajjÄubajjéubejjubajjubj)�rq}}rr}(jUj}rs}(j]j]j]j]j]ujj0}j]rt}(j×)�ru}}rv}(jUj}rw}(j]j]j]j]j]ujjq}j]rx}(jÜ)�ry}}rz}(jUj}r{}(j]j]j]j]j]ujju}j]r|}jX)�r}}}r~}(jXCapture Color Bar from UB954r}jjy}j j„|jj\j}r€}(j]j]j]j]j]ujK:j]r�}j%XCapture Color Bar from UB954r‚}…�rƒ}}r„}(jj}jj}}ubaubajjéubjÜ)�r…}}r†}(jUj}r‡}(j]j]j]j]j]ujju}j]rˆ}jÁ)�r‰}}rŠ}(jUj}r‹}(j]j]j]j]j]ujj…}j]rŒ}jÇ)�r�}}rŽ}(jXGExample demonstrating Capture from UB954 This captures a Fixed pattern.r�}jÊKjj‰}j j„|jjj}r�}(j]j]j]j]j]ujKj]r‘}j%XGExample demonstrating Capture from UB954 This captures a Fixed pattern.r’}…�r“}}r”}(jj�}jj�}ubaubajjÄubajjéubjÜ)�r•}}r–}(jUj}r—}(j]j]j]j]j]ujju}j]r˜}jÁ)�r™}}rš}(jUj}r›}(j]j]j]j]j]ujj•}j]rœ}jÇ)�r�}}rž}(jXŠExample captures required frames from UB954 and runs till completion. The Captured buffers can be saved on PC using the load raw commands.rŸ}jÊKjj™}j j„|jjj}r }(j]j]j]j]j]ujKj]r¡}j%XŠExample captures required frames from UB954 and runs till completion. The Captured buffers can be saved on PC using the load raw commands.r¢}…�r£}}r¤}(jjŸ}jj�}ubaubajjÄubajjéubejjubj×)�r¥}}r¦}(jUj}r§}(j]j]j]j]j]ujjq}j]r¨}(jÜ)�r©}}rª}(jUj}r«}(j]j]j]j]j]ujj¥}j]r¬}jX)�r­}}r®}(jX3Capture image from UB964 + SAT88 & OV10635 sensors.r¯}jj©}j j„|jj\j}r°}(j]j]j]j]j]ujKCj]r±}j%X3Capture image from UB964 + SAT88 & OV10635 sensors.r²}…�r³}}r´}(jj¯}jj­}ubaubajjéubjÜ)�rµ}}r¶}(jUj}r·}(j]j]j]j]j]ujj¥}j]r¸}jÁ)�r¹}}rº}(jUj}r»}(j]j]j]j]j]ujjµ}j]r¼}jÇ)�r½}}r¾}(jX9Example demonstrates capturing the image from the sensor.r¿}jÊKjj¹}j j„|jjj}rÀ}(j]j]j]j]j]ujKj]rÁ}j%X9Example demonstrates capturing the image from the sensor.rÂ}…�rÃ}}rÄ}(jj¿}jj½}ubaubajjÄubajjéubjÜ)�rÅ}}rÆ}(jUj}rÇ}(j]j]j]j]j]ujj¥}j]rÈ}jÁ)�rÉ}}rÊ}(jUj}rË}(j]j]j]j]j]ujjÅ}j]rÌ}jÇ)�rÍ}}rÎ}(jXšExample captures required frames from the 4 Ov10635 sensors and runs till completion. The captured buffers can be saved on PC using the load raw commands.rÏ}jÊKjjÉ}j j„|jjj}rÐ}(j]j]j]j]j]ujKj]rÑ}j%XšExample captures required frames from the 4 Ov10635 sensors and runs till completion. The captured buffers can be saved on PC using the load raw commands.rÒ}…�rÓ}}rÔ}(jjÏ}jjÍ}ubaubajjÄubajjéubejjubejjðubejjñubaubeubeubj)�rÕ}}rÖ}(jUjKjjr|j j„|jjj}r×}(j]rØ}Xadditional referencesrÙ}aj]j]j]rÚ}Uid212rÛ}aj]ujKOjhj]rÜ}(j)�rÝ}}rÞ}(jXAdditional Referencesrß}jjÕ}j j„|jj"j}rà}(j]j]j]j]j]ujKOjhj]rá}j%XAdditional Referencesrâ}…�rã}}rä}(jjß}jjÝ}ubaubj¶)�rå}}ræ}(jUjjÕ}j j„|jj¹j}rç}(j]j]j]j]j]ujNjhj]rè}j¼)�ré}}rê}(jUj}rë}(j]j]j]j]j]UcolsKujjå}j]rì}(jÁ)�rí}}rî}(jUj}rï}(j]j]j]j]j]UcolwidthK#ujjé}j]jjÅubjÁ)�rð}}rñ}(jUj}rò}(j]j]j]j]j]UcolwidthK(ujjé}j]jjÅubj)�ró}}rô}(jUj}rõ}(j]j]j]j]j]ujjé}j]rö}(j×)�r÷}}rø}(jUj}rù}(j]j]j]j]j]ujjó}j]rú}(jÜ)�rû}}rü}(jUj}rý}(j]j]j]j]j]ujj÷}j]rþ}jX)�rÿ}}r~(jX **Document**r~jjû}j j„|jj\j}r~(j]j]j]j]j]ujKRj]r~j|)�r~}r~(jj~j}r~(j]j]j]j]j]ujjÿ}j]r~j%XDocumentr~…�r ~}r ~(jUjj~ubajj„ubaubajjéubjÜ)�r ~}r ~(jUj}r ~(j]j]j]j]j]ujj÷}j]r~jX)�r~}r~(jX **Location**r~jj ~j j„|jj\j}r~(j]j]j]j]j]ujKRj]r~j|)�r~}r~(jj~j}r~(j]j]j]j]j]ujj~j]r~j%XLocationr~…�r~}r~(jUjj~ubajj„ubaubajjéubejjubj×)�r~}r~(jUj}r~(j]j]j]j]j]ujjó}j]r~(jÜ)�r~}r ~(jUj}r!~(j]j]j]j]j]ujj~j]r"~jX)�r#~}r$~(jXAPI Reference Manualr%~jj~j j„|jj\j}r&~(j]j]j]j]j]ujKTj]r'~j%XAPI Reference Manualr(~…�r)~}r*~(jj%~jj#~ubaubajjéubjÜ)�r+~}r,~(jUj}r-~(j]j]j]j]j]ujj~j]r.~jX)�r/~}r0~(jXP$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\cal\\docs\\doxygen\\html\\index. htmljj+~j j„|jj\j}r1~(j]j]j]j]j]ujKTj]r2~j%XH$(TI_PDK_INSTALL_DIR)\packages\ti \drv\cal\docs\doxygen\html\index. htmlr3~…�r4~}r5~(jXP$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\cal\\docs\\doxygen\\html\\index. htmljj/~ubaubajjéubejjubejjðubejjñubaubeubj)�r6~}r7~(jUjjr|j j„|jjj}r8~(j]j]j]j]r9~Ubuilding-cal-examplesr:~aj]r;~h„aujKZjhj]r<~(j)�r=~}r>~(jXBuilding CAL examplesr?~jj6~j j„|jj"j}r@~(j]j]j]j]j]ujKZjhj]rA~j%XBuilding CAL examplesrB~…�rC~}rD~(jj?~jj=~ubaubj)�rE~}rF~(jUjj6~j j„|jjj}rG~(jX-j]j]j]j]j]ujK\jhj]rH~(j)�rI~}rJ~(jXNCAL examples and dependent libraries are built from the top level cal makefilejjE~j j„|jj j}rK~(j]j]j]j]j]ujNjhj]rL~jX)�rM~}rN~(jXNCAL examples and dependent libraries are built from the top level cal makefilerO~jjI~j j„|jj\j}rP~(j]j]j]j]j]ujK\j]rQ~j%XNCAL examples and dependent libraries are built from the top level cal makefilerR~…�rS~}rT~(jjO~jjM~ubaubaubj)�rU~}rV~(jXcd /packages/ti/drv/calrW~jjE~j j„|jj j}rX~(j]j]j]j]j]ujNjhj]rY~jX)�rZ~}r[~(jjW~jjU~j j„|jj\j}r\~(j]j]j]j]j]ujK^j]r]~j%Xcd /packages/ti/drv/calr^~…�r_~}r`~(jjW~jjZ~ubaubaubj)�ra~}rb~(jX1To build: make -s PDK_INSTALL_PATH=/packagesrc~jjE~j j„|jj j}rd~(j]j]j]j]j]ujNjhj]re~jX)�rf~}rg~(jjc~jja~j j„|jj\j}rh~(j]j]j]j]j]ujK_j]ri~j%X1To build: make -s PDK_INSTALL_PATH=/packagesrj~…�rk~}rl~(jjc~jjf~ubaubaubj)�rm~}rn~(jX8To clean: make -s clean PDK_INSTALL_PATH=/packages jjE~j j„|jj j}ro~(j]j]j]j]j]ujNjhj]rp~jX)�rq~}rr~(jX7To clean: make -s clean PDK_INSTALL_PATH=/packagesrs~jjm~j j„|jj\j}rt~(j]j]j]j]j]ujK`j]ru~j%X7To clean: make -s clean PDK_INSTALL_PATH=/packagesrv~…�rw~}rx~(jjs~jjq~ubaubaubeubeubj)�ry~}rz~(jUjjr|j j„|jjj}r{~(j]j]j]j]r|~U cal-examplesr}~aj]r~~hCaujKcjhj]r~(j)�r€~}r�~(jX CAL examplesr‚~jjy~j j„|jj"j}rƒ~(j]j]j]j]j]ujKcjhj]r„~j%X CAL examplesr…~…�r†~}r‡~(jj‚~jj€~ubaubjb)�rˆ~}r‰~(jX *Description*rŠ~jKjjy~j j„|jjfj}r‹~(j]rŒ~Uid213r�~aj]j]rŽ~X descriptionr�~aj]j]ujNjhj]r�~j<)�r‘~}r’~(jjŠ~j}r“~(j]j]j]j]j]ujjˆ~j]r”~j%X Descriptionr•~…�r–~}r—~(jUjj‘~ubajjDubaubjX)�r˜~}r™~(jX\CAL examples uses the CSI2 Capture port present on the EVM which is connected to CAL. The sensors are connected to the CSI2 capture port. The examples supports capturing from either UB954 or UB964 + SAT88 + 4 OV10635 sensors connected over the FPD link. The Example captures the input frame data coming from CSI2 port and writes back to the memory.rš~jjy~j j„|jj\j}r›~(j]j]j]j]j]ujKhjhj]rœ~j%X\CAL examples uses the CSI2 Capture port present on the EVM which is connected to CAL. The sensors are connected to the CSI2 capture port. The examples supports capturing from either UB954 or UB964 + SAT88 + 4 OV10635 sensors connected over the FPD link. The Example captures the input frame data coming from CSI2 port and writes back to the memory.r�~…�rž~}rŸ~(jjš~jj˜~ubaubjÁ)�r ~}r¡~(jUjjy~j j„|jjÄj}r¢~(j]j]j]j]j]ujKojhj]r£~jÇ)�r¤~}r¥~(jUjÊKjj ~j j„|jjj}r¦~(j]j]j]j]j]ujKjhj]ubaubjb)�r§~}r¨~(jX**Running the Cal examples**r©~jjy~j j„|jjfj}rª~(j]r«~Urunning-the-cal-examplesr¬~aj]j]j]j]r­~h�aujNjhj]r®~j|)�r¯~}r°~(jj©~j}r±~(j]j]j]j]j]ujj§~j]r²~j%XRunning the Cal examplesr³~…�r´~}rµ~(jUjj¯~ubajj„ubaubjX)�r¶~}r·~(jX**Configuring Sensor**:r¸~jjy~j j„|jj\j}r¹~(j]j]j]j]j]ujKtjhj]rº~(j|)�r»~}r¼~(jX**Configuring Sensor**j}r½~(j]j]j]j]j]ujj¶~j]r¾~j%XConfiguring Sensorr¿~…�rÀ~}rÁ~(jUjj»~ubajj„ubj%X:…�rÂ~}rÃ~(jX:jj¶~ubeubj)�rÄ~}rÅ~(jUjjy~j j„|jjj}rÆ~(jX-j]j]j]j]j]ujKvjhj]rÇ~(j)�rÈ~}rÉ~(jX{Make sure the UB954 Evm is connected to the CSI2 capture port and it is powered on before running the example for option 0.jjÄ~j j„|jj j}rÊ~(j]j]j]j]j]ujNjhj]rË~jX)�rÌ~}rÍ~(jX{Make sure the UB954 Evm is connected to the CSI2 capture port and it is powered on before running the example for option 0.rÎ~jjÈ~j j„|jj\j}rÏ~(j]j]j]j]j]ujKvj]rÐ~j%X{Make sure the UB954 Evm is connected to the CSI2 capture port and it is powered on before running the example for option 0.rÑ~…�rÒ~}rÓ~(jjÎ~jjÌ~ubaubaubj)�rÔ~}rÕ~(jXËMake sure the UB964 Evm is connected to the CSI2 capture port along with 4 OV10635x cameras over the FPD link to the RIN0 to RIN3 ports and the EVM is powered on before running the example for option 1. jjÄ~j j„|jj j}rÖ~(j]j]j]j]j]ujNjhj]r×~jX)�rØ~}rÙ~(jXÊMake sure the UB964 Evm is connected to the CSI2 capture port along with 4 OV10635x cameras over the FPD link to the RIN0 to RIN3 ports and the EVM is powered on before running the example for option 1.rÚ~jjÔ~j j„|jj\j}rÛ~(j]j]j]j]j]ujKxj]rÜ~j%XÊMake sure the UB964 Evm is connected to the CSI2 capture port along with 4 OV10635x cameras over the FPD link to the RIN0 to RIN3 ports and the EVM is powered on before running the example for option 1.rÝ~…�rÞ~}rß~(jjÚ~jjØ~ubaubaubeubjX)�rà~}rá~(jX**CCS connection**:râ~jjy~j j„|jj\j}rã~(j]j]j]j]j]ujK|jhj]rä~(j|)�rå~}ræ~(jX**CCS connection**j}rç~(j]j]j]j]j]ujjà~j]rè~j%XCCS connectionré~…�rê~}rë~(jUjjå~ubajj„ubj%X:…�rì~}rí~(jX:jjà~ubeubj)�rî~}rï~(jUjjy~j j„|jjj}rð~(jX-j]j]j]j]j]ujK~jhj]rñ~(j)�rò~}ró~(jX@Load the System firmware as specified in SCICLIENT documentationrô~jjî~j j„|jj j}rõ~(j]j]j]j]j]ujNjhj]rö~jX)�r÷~}rø~(jjô~jjò~j j„|jj\j}rù~(j]j]j]j]j]ujK~j]rú~j%X@Load the System firmware as specified in SCICLIENT documentationrû~…�rü~}rý~(jjô~jj÷~ubaubaubj)�rþ~}rÿ~(jX)Load the generated executable file in CCSrjjî~j j„|jj j}r(j]j]j]j]j]ujNjhj]rjX)�r}r(jjjjþ~j j„|jj\j}r(j]j]j]j]j]ujKj]rj%X)Load the generated executable file in CCSr…�r}r (jjjjubaubaubj)�r }r (jXRun the application.r jjî~j j„|jj j}r (j]j]j]j]j]ujNjhj]rjX)�r}r(jj jj j j„|jj\j}r(j]j]j]j]j]ujK€j]rj%XRun the application.r…�r}r(jj jjubaubaubj)�r}r(jX/select the input based on the sensor connected.rjjî~j j„|jj j}r(j]j]j]j]j]ujNjhj]rjX)�r}r(jjjjj j„|jj\j}r(j]j]j]j]j]ujK�j]rj%X/select the input based on the sensor connected.r…�r }r!(jjjjubaubaubj)�r"}r#(jX<Example will run till completion after capturing the frames.r$jjî~j j„|jj j}r%(j]j]j]j]j]ujNjhj]r&jX)�r'}r((jj$jj"j j„|jj\j}r)(j]j]j]j]j]ujK‚j]r*j%X<Example will run till completion after capturing the frames.r+…�r,}r-(jj$jj'ubaubaubj)�r.}r/(jXGDump the buffers scripting console using the loadraw command specified.r0jjî~j j„|jj j}r1(j]j]j]j]j]ujNjhj]r2jX)�r3}r4(jj0jj.j j„|jj\j}r5(j]j]j]j]j]ujKƒj]r6j%XGDump the buffers scripting console using the loadraw command specified.r7…�r8}r9(jj0jj3ubaubaubj)�r:}r;(jX8Verify the output by viewing the captured image on PC. jjî~j XSinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/CAL.rst.incr<jj j}r=(j]j]j]j]j]ujNjhj]r>jX)�r?}r@(jX6Verify the output by viewing the captured image on PC.rAjj:j j„|jj\j}rB(j]j]j]j]j]ujK„j]rCj%X6Verify the output by viewing the captured image on PC.rD…�rE}rF(jjAjj?ubaubaubeubeubeubj j„|jjj}rG(j]rHXoverviewrIaj]j]j]rJUid205rKaj]ujKjhj]rL(j)�rM}rN(jXOverviewrOjjp|j j„|jj"j}rP(j]j]j]j]j]ujKjhj]rQj%XOverviewrR…�rS}rT(jjOjjMubaubj)�rU}rV(jUjKjjp|j j„|jjj}rW(j]rXX introductionrYaj]j]j]rZUid206r[aj]ujKjhj]r\(j)�r]}r^(jX Introductionr_jjUj j„|jj"j}r`(j]j]j]j]j]ujKjhj]raj%X Introductionrb…�rc}rd(jj_jj]ubaubjX)�re}rf(jX}Camera Adapter Layer (CAL) is a very flexible subsystem that enables connection to multiple cameras supporting MIPI CSI-2 over D-PHY serial interface, a LVDS serial interface, and a traditional parallel interface. It also includes an internal write DMA engine connected to VBUSM interface. This document has detailed API description that user can use to make use of the CAL driver.rgjjUj j„|jj\j}rh(j]j]j]j]j]ujK jhj]rij%X}Camera Adapter Layer (CAL) is a very flexible subsystem that enables connection to multiple cameras supporting MIPI CSI-2 over D-PHY serial interface, a LVDS serial interface, and a traditional parallel interface. It also includes an internal write DMA engine connected to VBUSM interface. This document has detailed API description that user can use to make use of the CAL driver.rj…�rk}rl(jjgjjeubaubeubeubj j„|jj?j}rm(j]UlevelKj]j]rnjKaUsourcej„|j]j]UlineKUtypejAujKjhj]rojX)�rp}rq(jX+Duplicate implicit target name: "overview".j}rr(j]j]j]j]j]ujjn|j]rsj%X+Duplicate implicit target name: "overview".rt…�ru}rv(jUjjpubajj\ubaubhÿ)�rw}rx(jUjjUj j„|jj?j}ry(j]UlevelKj]j]rzj[aUsourcej„|j]j]UlineKUtypejAujKjhj]r{jX)�r|}r}(jX/Duplicate implicit target name: "introduction".j}r~(j]j]j]j]j]ujjwj]rj%X/Duplicate implicit target name: "introduction".r€…�r�}r‚(jUjj|ubajj\ubaubhÿ)�rƒ}r„(jUjj‹|j j„|jj?j}r…(j]UlevelKj]j]r†j‘|aUsourcej„|j]j]UlineKUtypejAujKjhj]r‡jX)�rˆ}r‰(jX1Duplicate implicit target name: "user interface".j}rŠ(j]j]j]j]j]ujjƒj]r‹j%X1Duplicate implicit target name: "user interface".rŒ…�r�}rŽ(jUjjˆubajj\ubaubhÿ)�r�}r�(jUjj›|j j„|jj?j}r‘(j]UlevelKj]j]r’j¡|aUsourcej„|j]j]UlineKUtypejAujKjhj]r“jX)�r”}r•(jX7Duplicate implicit target name: "driver configuration".j}r–(j]j]j]j]j]ujj�j]r—j%X7Duplicate implicit target name: "driver configuration".r˜…�r™}rš(jUjj”ubajj\ubaubhÿ)�r›}rœ(jUjjÁ|j j„|jj?j}r�(j]UlevelKj]j]ržjÇ|aUsourcej„|j]j]UlineKUtypejAujKjhj]rŸjX)�r }r¡(jX'Duplicate implicit target name: "apis".j}r¢(j]j]j]j]j]ujj›j]r£j%X'Duplicate implicit target name: "apis".r¤…�r¥}r¦(jUjj ubajj\ubaubhÿ)�r§}r¨(jUjj }j j„|jj?j}r©(j]UlevelKj]j]rªj}aUsourcej„|j]j]UlineK2UtypejAujK2jhj]r«jX)�r¬}r­(jX.Duplicate implicit target name: "application".j}r®(j]j]j]j]j]ujj§j]r¯j%X.Duplicate implicit target name: "application".r°…�r±}r²(jUjj¬ubajj\ubaubhÿ)�r³}r´(jUjj}j j„|jj?j}rµ(j]UlevelKj]j]r¶j"}aUsourcej„|j]j]UlineK5UtypejAujK5jhj]r·jX)�r¸}r¹(jX+Duplicate implicit target name: "examples".j}rº(j]j]j]j]j]ujj³j]r»j%X+Duplicate implicit target name: "examples".r¼…�r½}r¾(jUjj¸ubajj\ubaubhÿ)�r¿}rÀ(jUjjÕ}j j„|jj?j}rÁ(j]UlevelKj]j]rÂjÛ}aUsourcej„|j]j]UlineKOUtypejAujKOjhj]rÃjX)�rÄ}rÅ(jX8Duplicate implicit target name: "additional references".j}rÆ(j]j]j]j]j]ujj¿j]rÇj%X8Duplicate implicit target name: "additional references".rÈ…�rÉ}rÊ(jUjjÄubajj\ubaubhÿ)�rË}rÌ(jUj}rÍ(j]UlevelKj]j]rÎj�~aUsourcej j]j]UlineK“UtypejXujjˆ~j]rÏjX)�rÐ}rÑ(jX.Duplicate explicit target name: "description".j}rÒ(j]j]j]j]j]ujjËj]rÓj%X.Duplicate explicit target name: "description".rÔ…�rÕ}rÖ(jUjjÐubajj\ubajj?ubhÿ)�r×}rØ(jUjj)�rÙ}rÚ(jUjKjj)�rÛ}rÜ(jUjhj j jjj}rÝ(j]j]j]j]rÞUudmarßaj]ràh´aujK™jhj]rá(j)�râ}rã(jXUDMAräjjÛj j jj"j}rå(j]j]j]j]j]ujK™jhj]ræj%XUDMArç…�rè}ré(jjäjjâubaubj))�rê}rë(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_UDMAjjÛj j,X=source/rtos/PDK_Platform_Software/Device_Drivers/UDMA.rst.incrì…�rí}rîbjj0j}rï(j2j3j]j]j]j]j]ujKjhj]rðj%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_UDMArñ…�rò}ró(jUjjêubaubjÙj)�rô}rõ(jUjKjjÛj jíjjj}rö(j]r÷Xuser interfacerøaj]j]j]rùUid216rúaj]ujK(jhj]rû(j)�rü}rý(jXUser Interfacerþjjôj jíjj"j}rÿ(j]j]j]j]j]ujK(jhj]r€j%XUser Interfacer€…�r€}r€(jjþjjüubaubj)�r€}r€(jUjKjjôj jíjjj}r€(j]r€Xdriver configurationr€aj]j]j]r €Uid217r €aj]ujK+jhj]r €(j)�r €}r €(jXDriver Configurationr€jj€j jíjj"j}r€(j]j]j]j]j]ujK+jhj]r€j%XDriver Configurationr€…�r€}r€(jj€jj €ubaubjb)�r€}r€(jX **UDMA Configuration Structure**r€jj€j jíjjfj}r€(j]r€Uudma-configuration-structurer€aj]j]j]j]r€hßaujNjhj]r€j|)�r€}r€(jj€j}r€(j]j]j]j]j]ujj€j]r€j%XUDMA Configuration Structurer €…�r!€}r"€(jUjj€ubajj„ubaubjX)�r#€}r$€(jX©For details about individual fields of UDMA library structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\udma\\docs\\doxygen\\html\\index.html.jj€j jíjj\j}r%€(j]j]j]j]j]ujK0jhj]r&€j%X¡For details about individual fields of UDMA library structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\udma\docs\doxygen\html\index.html.r'€…�r(€}r)€(jX©For details about individual fields of UDMA library structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\udma\\docs\\doxygen\\html\\index.html.jj#€ubaubeubj)�r*€}r+€(jUjKjjôj jíjjj}r,€(j]r-€Xapisr.€aj]j]j]r/€Uid218r0€aj]ujK5jhj]r1€(j)�r2€}r3€(jXAPIsr4€jj*€j jíjj"j}r5€(j]j]j]j]j]ujK5jhj]r6€j%XAPIsr7€…�r8€}r9€(jj4€jj2€ubaubjX)�r:€}r;€(jXHThe UDMA driver API can be broadly divided into the following categoriesr<€jj*€j jíjj\j}r=€(j]j]j]j]j]ujK7jhj]r>€j%XHThe UDMA driver API can be broadly divided into the following categoriesr?€…�r@€}rA€(jj<€jj:€ubaubj)�rB€}rC€(jUjj*€j jíjjj}rD€(jX-j]j]j]j]j]ujK9jhj]rE€(j)�rF€}rG€(jXUDMAP native channel APIrH€jjB€j jíjj j}rI€(j]j]j]j]j]ujNjhj]rJ€jX)�rK€}rL€(jjH€jjF€j jíjj\j}rM€(j]j]j]j]j]ujK9j]rN€j%XUDMAP native channel APIrO€…�rP€}rQ€(jjH€jjK€ubaubaubj)�rR€}rS€(jXDRU (External UTC) channel APIrT€jjB€j jíjj j}rU€(j]j]j]j]j]ujNjhj]rV€jX)�rW€}rX€(jjT€jjR€j jíjj\j}rY€(j]j]j]j]j]ujK:j]rZ€j%XDRU (External UTC) channel APIr[€…�r\€}r]€(jjT€jjW€ubaubaubj)�r^€}r_€(jXPDMA channel operationsr`€jjB€j jíjj j}ra€(j]j]j]j]j]ujNjhj]rb€jX)�rc€}rd€(jj`€jj^€j jíjj\j}re€(j]j]j]j]j]ujK;j]rf€j%XPDMA channel operationsrg€…�rh€}ri€(jj`€jjc€ubaubaubj)�rj€}rk€(jXEvent and interrupt APIrl€jjB€j jíjj j}rm€(j]j]j]j]j]ujNjhj]rn€jX)�ro€}rp€(jjl€jjj€j jíjj\j}rq€(j]j]j]j]j]ujKjj*€j jíjj&j}r”€(j2j3j]j]j]j]j]ujMgjhj]r•€j%X#include r–€…�r—€}r˜€(jUjj’€ubaubeubeubj)�r™€}rš€(jUjKjjÛj jíjjj}r›€(j]rœ€X applicationr�€aj]j]j]rž€Uid219rŸ€aj]ujKKjhj]r €(j)�r¡€}r¢€(jX Applicationr£€jj™€j jíjj"j}r¤€(j]j]j]j]j]ujKKjhj]r¥€j%X Applicationr¦€…�r§€}r¨€(jj£€jj¡€ubaubj)�r©€}rª€(jUjKjj™€j jíjjj}r«€(j]r¬€Xexamplesr­€aj]j]j]r®€Uid220r¯€aj]ujKNjhj]r°€(j)�r±€}r²€(jXExamplesr³€jj©€j jíjj"j}r´€(j]j]j]j]j]ujKNjhj]rµ€j%XExamplesr¶€…�r·€}r¸€(jj³€jj±€ubaubj¶)�r¹€}rº€(jUjj©€j jíjj¹j}r»€(j]j]j]j]j]ujNjhj]r¼€j¼)�r½€}r¾€(jUj}r¿€(j]j]j]j]j]UcolsKujj¹€j]rÀ€(jÁ)�rÁ€}r€(jUj}rÀ(j]j]j]j]j]UcolwidthKujj½€j]jjÅubjÁ)�rÄ€}rÅ€(jUj}rÆ€(j]j]j]j]j]UcolwidthKujj½€j]jjÅubjÁ)�rÇ€}rÈ€(jUj}rÉ€(j]j]j]j]j]UcolwidthKujj½€j]jjÅubjÒ)�rÊ€}rË€(jUj}rÌ€(j]j]j]j]j]ujj½€j]rÍ€j×)�r΀}rÏ€(jUj}rЀ(j]j]j]j]j]ujjÊ€j]rÑ€(jÜ)�rÒ€}rÓ€(jUj}rÔ€(j]j]j]j]j]ujj΀j]rÕ€jX)�rÖ€}r×€(jXNamerØ€jjÒ€j jíjj\j}rÙ€(j]j]j]j]j]ujKQj]rÚ€j%XNamerÛ€…�rÜ€}rÝ€(jjØ€jjÖ€ubaubajjéubjÜ)�rÞ€}r߀(jUj}rà€(j]j]j]j]j]ujj΀j]rá€jÁ)�râ€}rã€(jUj}rä€(j]j]j]j]j]ujjÞ€j]rå€jÇ)�ræ€}rç€(jX Descriptionrè€jÊKjjâ€j jíjjj}ré€(j]j]j]j]j]ujKj]rê€j%X Descriptionr뀅�rì€}rí€(jjè€jjæ€ubaubajjÄubajjéubjÜ)�rî€}rï€(jUj}rð€(j]j]j]j]j]ujj΀j]rñ€jÁ)�rò€}ró€(jUj}rô€(j]j]j]j]j]ujjî€j]rõ€jÇ)�rö€}r÷€(jXExpected Resultsrø€jÊKjjò€j jíjjj}rù€(j]j]j]j]j]ujKj]rú€j%XExpected Resultsrû€…�rü€}rý€(jjø€jjö€ubaubajjÄubajjéubejjubajjubj)�rþ€}rÿ€(jUj}r�(j]j]j]j]j]ujj½€j]r�(j×)�r�}r�(jUj}r�(j]j]j]j]j]ujjþ€j]r�(jÜ)�r�}r�(jUj}r�(j]j]j]j]j]ujj�j]r �jX)�r �}r �(jXUDMA ADC RX applicationr �jj�j jíjj\j}r �(j]j]j]j]j]ujKSj]r�j%XUDMA ADC RX applicationr�…�r�}r�(jj �jj �ubaubajjéubjÜ)�r�}r�(jUj}r�(j]j]j]j]j]ujj�j]r�jÁ)�r�}r�(jUj}r�(j]j]j]j]j]ujj�j]r�jÇ)�r�}r�(jX×This performs PDMA RX data capture from ADC. ADC is configured in single shot mode and captures APP_ADC_NUM_CH channel of ADC data. The FIFO is configured to generate a DMA trigger after all channel data is capturedr�jÊKjj�j jíjjj}r�(j]j]j]j]j]ujKj]r�j%X×This performs PDMA RX data capture from ADC. ADC is configured in single shot mode and captures APP_ADC_NUM_CH channel of ADC data. The FIFO is configured to generate a DMA trigger after all channel data is capturedr�…�r �}r!�(jj�jj�ubaubajjÄubajjéubjÜ)�r"�}r#�(jUj}r$�(j]j]j]j]j]ujj�j]r%�jÁ)�r&�}r'�(jUj}r(�(j]j]j]j]j]ujj"�j]r)�jÇ)�r*�}r+�(jXRThe application checks the ADC channel ID and prints pass on successful completionr,�jÊKjj&�j jíjjj}r-�(j]j]j]j]j]ujKj]r.�j%XRThe application checks the ADC channel ID and prints pass on successful completionr/�…�r0�}r1�(jj,�jj*�ubaubajjÄubajjéubejjubj×)�r2�}r3�(jUj}r4�(j]j]j]j]j]ujjþ€j]r5�(jÜ)�r6�}r7�(jUj}r8�(j]j]j]j]j]ujj2�j]r9�jX)�r:�}r;�(jXUDMA Chaining applicationr<�jj6�j jíjj\j}r=�(j]j]j]j]j]ujKbj]r>�j%XUDMA Chaining applicationr?�…�r@�}rA�(jj<�jj:�ubaubajjéubjÜ)�rB�}rC�(jUj}rD�(j]j]j]j]j]ujj2�j]rE�jÁ)�rF�}rG�(jUj}rH�(j]j]j]j]j]ujjB�j]rI�jÇ)�rJ�}rK�(jX³UDMA chaining sample application performing a chain of block copy using channel global trigger: CH0 -> CH1 -> ... -> CHx. The first channel doesn't user a global trigger and each channel triggers the next channel's global trigger through the channel's TR event register. A channel's source buffer is previous channel destination buffer. This ensures that chaining trigger worked in a synchronized manner when the memory compare matchesrL�jÊKjjF�j jíjjj}rM�(j]j]j]j]j]ujKj]rN�j%X³UDMA chaining sample application performing a chain of block copy using channel global trigger: CH0 -> CH1 -> ... -> CHx. The first channel doesn't user a global trigger and each channel triggers the next channel's global trigger through the channel's TR event register. A channel's source buffer is previous channel destination buffer. This ensures that chaining trigger worked in a synchronized manner when the memory compare matchesrO�…�rP�}rQ�(jjL�jjJ�ubaubajjÄubajjéubjÜ)�rR�}rS�(jUj}rT�(j]j]j]j]j]ujj2�j]rU�jÁ)�rV�}rW�(jUj}rX�(j]j]j]j]j]ujjR�j]rY�jÇ)�rZ�}r[�(jXiThe application checks the destination buffer with source buffer and prints pass on successful completionr\�jÊKjjV�j jíjjj}r]�(j]j]j]j]j]ujKj]r^�j%XiThe application checks the destination buffer with source buffer and prints pass on successful completionr_�…�r`�}ra�(jj\�jjZ�ubaubajjÄubajjéubejjubj×)�rb�}rc�(jUj}rd�(j]j]j]j]j]ujjþ€j]re�(jÜ)�rf�}rg�(jUj}rh�(j]j]j]j]j]ujjb�j]ri�jX)�rj�}rk�(jXUDMA CRC applicationrl�jjf�j jíjj\j}rm�(j]j]j]j]j]ujK}j]rn�j%XUDMA CRC applicationro�…�rp�}rq�(jjl�jjj�ubaubajjéubjÜ)�rr�}rs�(jUj}rt�(j]j]j]j]j]ujjb�j]ru�jÁ)�rv�}rw�(jUj}rx�(j]j]j]j]j]ujjr�j]ry�jÇ)�rz�}r{�(jX This performs UDMA CRC operationr|�jÊKjjv�j jíjjj}r}�(j]j]j]j]j]ujKj]r~�j%X This performs UDMA CRC operationr�…�r€�}r��(jj|�jjz�ubaubajjÄubajjéubjÜ)�r‚�}rƒ�(jUj}r„�(j]j]j]j]j]ujjb�j]r…�jÁ)�r†�}r‡�(jUj}rˆ�(j]j]j]j]j]ujj‚�j]r‰�jÇ)�rŠ�}r‹�(jXvThe application checks the calculated CRC value with pre-calculated CRC value and prints pass on successful completionrŒ�jÊKjj†�j jíjjj}r��(j]j]j]j]j]ujKj]rŽ�j%XvThe application checks the calculated CRC value with pre-calculated CRC value and prints pass on successful completionr��…�r��}r‘�(jjŒ�jjŠ�ubaubajjÄubajjéubejjubj×)�r’�}r“�(jUj}r”�(j]j]j]j]j]ujjþ€j]r•�(jÜ)�r–�}r—�(jUj}r˜�(j]j]j]j]j]ujj’�j]r™�jX)�rš�}r›�(jXUDMA Direct TR DRU applicationrœ�jj–�j jíjj\j}r��(j]j]j]j]j]ujK‰j]rž�j%XUDMA Direct TR DRU applicationrŸ�…�r �}r¡�(jjœ�jjš�ubaubajjéubjÜ)�r¢�}r£�(jUj}r¤�(j]j]j]j]j]ujj’�j]r¥�jÁ)�r¦�}r§�(jUj}r¨�(j]j]j]j]j]ujj¢�j]r©�jÇ)�rª�}r«�(jXeUDMA DRU memcpy sample application performing block copy using direct TR submission via DRU registersr¬�jÊKjj¦�j jíjjj}r­�(j]j]j]j]j]ujKj]r®�j%XeUDMA DRU memcpy sample application performing block copy using direct TR submission via DRU registersr¯�…�r°�}r±�(jj¬�jjª�ubaubajjÄubajjéubjÜ)�r²�}r³�(jUj}r´�(j]j]j]j]j]ujj’�j]rµ�jÁ)�r¶�}r·�(jUj}r¸�(j]j]j]j]j]ujj²�j]r¹�jÇ)�rº�}r»�(jXiThe application checks the destination buffer with source buffer and prints pass on successful completionr¼�jÊKjj¶�j jíjjj}r½�(j]j]j]j]j]ujKj]r¾�j%XiThe application checks the destination buffer with source buffer and prints pass on successful completionr¿�…�rÀ�}rÁ�(jj¼�jjº�ubaubajjÄubajjéubejjubj×)�rÂ�}rÃ�(jUj}rÄ�(j]j]j]j]j]ujjþ€j]rÅ�(jÜ)�rÆ�}rÇ�(jUj}rÈ�(j]j]j]j]j]ujjÂ�j]rÉ�jX)�rÊ�}rË�(jX!UDMA In-Direct TR DRU applicationrÌ�jjÆ�j jíjj\j}rÍ�(j]j]j]j]j]ujK‘j]rÎ�j%X!UDMA In-Direct TR DRU applicationrÏ�…�rÐ�}rÑ�(jjÌ�jjÊ�ubaubajjéubjÜ)�rÒ�}rÓ�(jUj}rÔ�(j]j]j]j]j]ujjÂ�j]rÕ�jÁ)�rÖ�}r×�(jUj}rØ�(j]j]j]j]j]ujjÒ�j]rÙ�jÇ)�rÚ�}rÛ�(jX¡UDMA DRU memory copy sample application performing block copy using Type 15 Transfer Record (TR15) using Transfer Record Packet Descriptor (TRPD) for developers.rÜ�jÊKjjÖ�j jíjjj}rÝ�(j]j]j]j]j]ujKj]rÞ�j%X¡UDMA DRU memory copy sample application performing block copy using Type 15 Transfer Record (TR15) using Transfer Record Packet Descriptor (TRPD) for developers.rß�…�rà�}rá�(jjÜ�jjÚ�ubaubajjÄubajjéubjÜ)�râ�}rã�(jUj}rä�(j]j]j]j]j]ujjÂ�j]rå�jÁ)�ræ�}rç�(jUj}rè�(j]j]j]j]j]ujjâ�j]ré�jÇ)�rê�}rë�(jXiThe application checks the destination buffer with source buffer and prints pass on successful completionrì�jÊKjjæ�j jíjjj}rí�(j]j]j]j]j]ujKj]rî�j%XiThe application checks the destination buffer with source buffer and prints pass on successful completionrï�…�rð�}rñ�(jjì�jjê�ubaubajjÄubajjéubejjubj×)�rò�}ró�(jUj}rô�(j]j]j]j]j]ujjþ€j]rõ�(jÜ)�rö�}r÷�(jUj}rø�(j]j]j]j]j]ujjò�j]rù�jX)�rú�}rû�(jXUDMA Blockcopy applicationrü�jjö�j jíjj\j}rý�(j]j]j]j]j]ujK�j]rþ�j%XUDMA Blockcopy applicationrÿ�…�r‚}r‚(jjü�jjú�ubaubajjéubjÜ)�r‚}r‚(jUj}r‚(j]j]j]j]j]ujjò�j]r‚jÁ)�r‚}r‚(jUj}r‚(j]j]j]j]j]ujj‚j]r ‚jÇ)�r ‚}r ‚(jX�UDMA memory copy sample application performing block copy using Type 15 Transfer Record (TR15) using Transfer Record Packet Descriptor (TRPD)r ‚jÊKjj‚j jíjjj}r ‚(j]j]j]j]j]ujKj]r‚j%X�UDMA memory copy sample application performing block copy using Type 15 Transfer Record (TR15) using Transfer Record Packet Descriptor (TRPD)r‚…�r‚}r‚(jj ‚jj ‚ubaubajjÄubajjéubjÜ)�r‚}r‚(jUj}r‚(j]j]j]j]j]ujjò�j]r‚jÁ)�r‚}r‚(jUj}r‚(j]j]j]j]j]ujj‚j]r‚jÇ)�r‚}r‚(jXiThe application checks the destination buffer with source buffer and prints pass on successful completionr‚jÊKjj‚j jíjjj}r‚(j]j]j]j]j]ujKj]r‚j%XiThe application checks the destination buffer with source buffer and prints pass on successful completionr‚…�r ‚}r!‚(jj‚jj‚ubaubajjÄubajjéubejjubejjðubejjñubaubeubeubj)�r"‚}r#‚(jUjKjjÛj jíjjj}r$‚(j]r%‚Xadditional referencesr&‚aj]j]j]r'‚Uid221r(‚aj]ujK¯jhj]r)‚(j)�r*‚}r+‚(jXAdditional Referencesr,‚jj"‚j jíjj"j}r-‚(j]j]j]j]j]ujK¯jhj]r.‚j%XAdditional Referencesr/‚…�r0‚}r1‚(jj,‚jj*‚ubaubj¶)�r2‚}r3‚(jUjj"‚j jíjj¹j}r4‚(j]j]j]j]j]ujNjhj]r5‚j¼)�r6‚}r7‚(jUj}r8‚(j]j]j]j]j]UcolsKujj2‚j]r9‚(jÁ)�r:‚}r;‚(jUj}r<‚(j]j]j]j]j]UcolwidthK#ujj6‚j]jjÅubjÁ)�r=‚}r>‚(jUj}r?‚(j]j]j]j]j]UcolwidthK/packages/ti/drv/udmar¿‚jj­‚j jíjj j}rÀ‚(j]j]j]j]j]ujNjhj]rÁ‚jX)�r‚}rÂ(jj¿‚jj½‚j jíjj\j}rÄ‚(j]j]j]j]j]ujKÂj]rÅ‚j%Xcd /packages/ti/drv/udmarÆ‚…�rÇ‚}rÈ‚(jj¿‚jj‚ubaubaubj)�rÉ‚}rÊ‚(jX1To build: make -s PDK_INSTALL_PATH=/packagesrË‚jj­‚j jíjj j}rÌ‚(j]j]j]j]j]ujNjhj]rÍ‚jX)�r΂}rÏ‚(jjË‚jjÉ‚j jíjj\j}rЂ(j]j]j]j]j]ujKÃj]rÑ‚j%X1To build: make -s PDK_INSTALL_PATH=/packagesrÒ‚…�rÓ‚}rÔ‚(jjË‚jj΂ubaubaubj)�rÕ‚}rÖ‚(jX8To clean: make -s clean PDK_INSTALL_PATH=/packages jj­‚j jíjj j}rׂ(j]j]j]j]j]ujNjhj]rØ‚jX)�rÙ‚}rÚ‚(jX7To clean: make -s clean PDK_INSTALL_PATH=/packagesrÛ‚jjÕ‚j jíjj\j}rÜ‚(j]j]j]j]j]ujKÄj]rÝ‚j%X7To clean: make -s clean PDK_INSTALL_PATH=/packagesrÞ‚…�rß‚}rà‚(jjÛ‚jjÙ‚ubaubaubeubeubj)�rá‚}râ‚(jUjjÛj jíjjj}rã‚(j]j]j]j]rä‚U udma-examplesrå‚aj]ræ‚huaujKÇjhj]rç‚(j)�rè‚}ré‚(jX UDMA examplesrê‚jjá‚j jíjj"j}rë‚(j]j]j]j]j]ujKÇjhj]rì‚j%X UDMA examplesrí‚…�rî‚}rï‚(jjê‚jjè‚ubaubjb)�rð‚}rñ‚(jX *Description*rò‚jKjjá‚j jíjjfj}ró‚(j]rô‚Uid222rõ‚aj]j]rö‚X descriptionr÷‚aj]j]ujNjhj]rø‚j<)�rù‚}rú‚(jjò‚j}rû‚(j]j]j]j]j]ujjð‚j]rü‚j%X Descriptionrý‚…�rþ‚}rÿ‚(jUjjù‚ubajjDubaubjX)�rƒ}rƒ(jX:UDMA examples demonstrates the key features of the driver.rƒjjá‚j jíjj\j}rƒ(j]j]j]j]j]ujKÌjhj]rƒj%X:UDMA examples demonstrates the key features of the driver.rƒ…�rƒ}rƒ(jjƒjjƒubaubjÁ)�rƒ}r ƒ(jUjjá‚j jíjjÄj}r ƒ(j]j]j]j]j]ujKÎjhj]r ƒjÇ)�r ƒ}r ƒ(jUjÊKjjƒj jíjjj}rƒ(j]j]j]j]j]ujKjhj]ubaubjb)�rƒ}rƒ(jX**Running the UDMA examples**rƒjjá‚j jíjjfj}rƒ(j]rƒUrunning-the-udma-examplesrƒaj]j]j]j]rƒhRaujNjhj]rƒj|)�rƒ}rƒ(jjƒj}rƒ(j]j]j]j]j]ujjƒj]rƒj%XRunning the UDMA examplesrƒ…�rƒ}rƒ(jUjjƒubajj„ubaubjX)�rƒ}rƒ(jX**CCS connection**:r ƒjjá‚j jíjj\j}r!ƒ(j]j]j]j]j]ujKÓjhj]r"ƒ(j|)�r#ƒ}r$ƒ(jX**CCS connection**j}r%ƒ(j]j]j]j]j]ujjƒj]r&ƒj%XCCS connectionr'ƒ…�r(ƒ}r)ƒ(jUjj#ƒubajj„ubj%X:…�r*ƒ}r+ƒ(jX:jjƒubeubj)�r,ƒ}r-ƒ(jUjjá‚j jíjjj}r.ƒ(jX-j]j]j]j]j]ujKÕjhj]r/ƒ(j)�r0ƒ}r1ƒ(jX@Load the System firmware as specified in SCICLIENT documentationr2ƒjj,ƒj jíjj j}r3ƒ(j]j]j]j]j]ujNjhj]r4ƒjX)�r5ƒ}r6ƒ(jj2ƒjj0ƒj jíjj\j}r7ƒ(j]j]j]j]j]ujKÕj]r8ƒj%X@Load the System firmware as specified in SCICLIENT documentationr9ƒ…�r:ƒ}r;ƒ(jj2ƒjj5ƒubaubaubj)�r<ƒ}r=ƒ(jX)Load the generated executable file in CCSr>ƒjj,ƒj jíjj j}r?ƒ(j]j]j]j]j]ujNjhj]r@ƒjX)�rAƒ}rBƒ(jj>ƒjj<ƒj jíjj\j}rCƒ(j]j]j]j]j]ujKÖj]rDƒj%X)Load the generated executable file in CCSrEƒ…�rFƒ}rGƒ(jj>ƒjjAƒubaubaubj)�rHƒ}rIƒ(jXRun the application.rJƒjj,ƒj jíjj j}rKƒ(j]j]j]j]j]ujNjhj]rLƒjX)�rMƒ}rNƒ(jjJƒjjHƒj jíjj\j}rOƒ(j]j]j]j]j]ujK×j]rPƒj%XRun the application.rQƒ…�rRƒ}rSƒ(jjJƒjjMƒubaubaubj)�rTƒ}rUƒ(jX�The application print will be displayed on the CCS and UART console. The UART console used depends on the core in which the application is run. jj,ƒj XTinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/UDMA.rst.incrVƒjj j}rWƒ(j]j]j]j]j]ujNjhj]rXƒjX)�rYƒ}rZƒ(jX�The application print will be displayed on the CCS and UART console. The UART console used depends on the core in which the application is run.r[ƒjjTƒj jíjj\j}r\ƒ(j]j]j]j]j]ujKØj]r]ƒj%X�The application print will be displayed on the CCS and UART console. The UART console used depends on the core in which the application is run.r^ƒ…�r_ƒ}r`ƒ(jj[ƒjjYƒubaubaubeubeubeubj jíjjj}raƒ(j]rbƒXoverviewrcƒaj]j]j]rdƒUid214reƒaj]ujKjhj]rfƒ(j)�rgƒ}rhƒ(jXOverviewriƒjjÙj jíjj"j}rjƒ(j]j]j]j]j]ujKjhj]rkƒj%XOverviewrlƒ…�rmƒ}rnƒ(jjiƒjjgƒubaubj)�roƒ}rpƒ(jUjKjjÙj jíjjj}rqƒ(j]rrƒX introductionrsƒaj]j]j]rtƒUid215ruƒaj]ujKjhj]rvƒ(j)�rwƒ}rxƒ(jX Introductionryƒjjoƒj jíjj"j}rzƒ(j]j]j]j]j]ujKjhj]r{ƒj%X Introductionr|ƒ…�r}ƒ}r~ƒ(jjyƒjjwƒubaubjX)�rƒ}r€ƒ(jX°The DMA architecture specifies the data structures used by standard communications modules to facilitate direct memory access (DMA) and to provide a consistent application programming interface (API) to the host software in multi-core devices. The data structures and the API used to manipulate them will be jointly referred to as NAVSS. For more information on NAVSS DMA architecture, refer to the device Technical Reference Manualr�ƒjjoƒj jíjj\j}r‚ƒ(j]j]j]j]j]ujK jhj]rƒƒj%X°The DMA architecture specifies the data structures used by standard communications modules to facilitate direct memory access (DMA) and to provide a consistent application programming interface (API) to the host software in multi-core devices. The data structures and the API used to manipulate them will be jointly referred to as NAVSS. For more information on NAVSS DMA architecture, refer to the device Technical Reference Manualr„ƒ…�r…ƒ}r†ƒ(jj�ƒjjƒubaubjX)�r‡ƒ}rˆƒ(jX©The UDMA driver provides API to program the DMA portion of the NAVSS subsystem to setup and initiate transfers. Below are the high level features supported by the driverr‰ƒjjoƒj jíjj\j}rŠƒ(j]j]j]j]j]ujKjhj]r‹ƒj%X©The UDMA driver provides API to program the DMA portion of the NAVSS subsystem to setup and initiate transfers. Below are the high level features supported by the driverrŒƒ…�r�ƒ}rŽƒ(jj‰ƒjj‡ƒubaubj)�r�ƒ}r�ƒ(jUjjoƒj jíjjj}r‘ƒ(jX-j]j]j]j]j]ujKjhj]r’ƒ(j)�r“ƒ}r”ƒ(jX!Both Main and MCU NAVSS instancesr•ƒjj�ƒj jíjj j}r–ƒ(j]j]j]j]j]ujNjhj]r—ƒjX)�r˜ƒ}r™ƒ(jj•ƒjj“ƒj jíjj\j}ršƒ(j]j]j]j]j]ujKj]r›ƒj%X!Both Main and MCU NAVSS instancesrœƒ…�r�ƒ}ržƒ(jj•ƒjj˜ƒubaubaubj)�rŸƒ}r ƒ(jXMSupports all DMA operations from both instances from all the cores in the SOCr¡ƒjj�ƒj jíjj j}r¢ƒ(j]j]j]j]j]ujNjhj]r£ƒjX)�r¤ƒ}r¥ƒ(jj¡ƒjjŸƒj jíjj\j}r¦ƒ(j]j]j]j]j]ujKj]r§ƒj%XMSupports all DMA operations from both instances from all the cores in the SOCr¨ƒ…�r©ƒ}rªƒ(jj¡ƒjj¤ƒubaubaubj)�r«ƒ}r¬ƒ(jX,UDMAP block copy using native NAVSS channelsr­ƒjj�ƒj jíjj j}r®ƒ(j]j]j]j]j]ujNjhj]r¯ƒjX)�r°ƒ}r±ƒ(jj­ƒjj«ƒj jíjj\j}r²ƒ(j]j]j]j]j]ujKj]r³ƒj%X,UDMAP block copy using native NAVSS channelsr´ƒ…�rµƒ}r¶ƒ(jj­ƒjj°ƒubaubaubj)�r·ƒ}r¸ƒ(jX9DRU block copy using direct TR submission to DRU registerr¹ƒjj�ƒj jíjj j}rºƒ(j]j]j]j]j]ujNjhj]r»ƒjX)�r¼ƒ}r½ƒ(jj¹ƒjj·ƒj jíjj\j}r¾ƒ(j]j]j]j]j]ujKj]r¿ƒj%X9DRU block copy using direct TR submission to DRU registerrÀƒ…�rÁƒ}rƒ(jj¹ƒjj¼ƒubaubaubj)�rÃ}ră(jXLDRU block copy using indirect (PSIL) TR submission to UDMA external channelsrŃjj�ƒj jíjj j}rƃ(j]j]j]j]j]ujNjhj]rǃjX)�rȃ}rɃ(jjŃjjÃj jíjj\j}rʃ(j]j]j]j]j]ujKj]r˃j%XLDRU block copy using indirect (PSIL) TR submission to UDMA external channelsr̃…�r̓}r΃(jjŃjjȃubaubaubj)�rσ}rЃ(jX]PDMA module to initiate transfers to/from PDMA peripherals like UART, McASP, McSPI, ADC, MCANrуjj�ƒj jíjj j}rÒƒ(j]j]j]j]j]ujNjhj]rÓƒjX)�rÔƒ}rÕƒ(jjуjjσj jíjj\j}rÖƒ(j]j]j]j]j]ujKj]r׃j%X]PDMA module to initiate transfers to/from PDMA peripherals like UART, McASP, McSPI, ADC, MCANr؃…�rÙƒ}rÚƒ(jjуjjÔƒubaubaubj)�rÛƒ}r܃(jXHDMA transfer to/from from native PSIL peripherals like EMAC, CPSW, SA2ULr݃jj�ƒj jíjj j}rÞƒ(j]j]j]j]j]ujNjhj]r߃jX)�ràƒ}ráƒ(jj݃jjÛƒj jíjj\j}râƒ(j]j]j]j]j]ujKj]rãƒj%XHDMA transfer to/from from native PSIL peripherals like EMAC, CPSW, SA2ULr䃅�råƒ}ræƒ(jj݃jjàƒubaubaubj)�rçƒ}rèƒ(jX`Event and interrupt management like DMA completion, channel chaining, interrupt sharing using IAréƒjj�ƒj jíjj j}rêƒ(j]j]j]j]j]ujNjhj]rëƒjX)�rìƒ}ríƒ(jjéƒjjçƒj jíjj\j}rîƒ(j]j]j]j]j]ujKj]rïƒj%X`Event and interrupt management like DMA completion, channel chaining, interrupt sharing using IArðƒ…�rñƒ}ròƒ(jjéƒjjìƒubaubaubj)�róƒ}rôƒ(jXÄResources management across instances and cores for UDMAP DMA channels,RX flow, External UTC channel (DRU), interrupt aggregators (IA), interrupt routers (IR),global events, ring accelerators (RA)rõƒjj�ƒj jíjj j}röƒ(j]j]j]j]j]ujNjhj]r÷ƒjX)�røƒ}rùƒ(jjõƒjjóƒj jíjj\j}rúƒ(j]j]j]j]j]ujKj]rûƒj%XÄResources management across instances and cores for UDMAP DMA channels,RX flow, External UTC channel (DRU), interrupt aggregators (IA), interrupt routers (IR),global events, ring accelerators (RA)rüƒ…�rýƒ}rþƒ(jjõƒjjøƒubaubaubj)�rÿƒ}r„(jXVInteraction with DMSC RM module via SCICLIENT for all non-RealTime (NRT) configurationr„jj�ƒj jíjj j}r„(j]j]j]j]j]ujNjhj]r„jX)�r„}r„(jj„jjÿƒj jíjj\j}r„(j]j]j]j]j]ujKj]r„j%XVInteraction with DMSC RM module via SCICLIENT for all non-RealTime (NRT) configurationr„…�r „}r „(jj„jj„ubaubaubj)�r „}r „(jX$Supports both TI-RTOS and baremetal jj�ƒj jíjj j}r „(j]j]j]j]j]ujNjhj]r„jX)�r„}r„(jX#Supports both TI-RTOS and baremetalr„jj „j jíjj\j}r„(j]j]j]j]j]ujKj]r„j%X#Supports both TI-RTOS and baremetalr„…�r„}r„(jj„jj„ubaubaubeubjX)�r„}r„(jX **Notes**r„jjoƒj jíjj\j}r„(j]j]j]j]j]ujKjhj]r„j|)�r„}r„(jj„j}r„(j]j]j]j]j]ujj„j]r„j%XNotesr „…�r!„}r"„(jUjj„ubajj„ubaubj)�r#„}r$„(jUjjoƒj jíjjj}r%„(jX-j]j]j]j]j]ujK jhj]r&„(j)�r'„}r(„(jX}UDMA driver doesn't manage/allocate the descriptor and RA memory.The caller need to allocate and provide the required memory.r)„jj#„j jíjj j}r*„(j]j]j]j]j]ujNjhj]r+„jX)�r,„}r-„(jj)„jj'„j jíjj\j}r.„(j]j]j]j]j]ujK j]r/„j%X}UDMA driver doesn't manage/allocate the descriptor and RA memory.The caller need to allocate and provide the required memory.r0„…�r1„}r2„(jj)„jj,„ubaubaubj)�r3„}r4„(jX˜UDMA driver doesn't use any global variables. All the required object memory like channel, driver instance, event etc should be allocated by the caller jj#„j jíjj j}r5„(j]j]j]j]j]ujNjhj]r6„jX)�r7„}r8„(jX—UDMA driver doesn't use any global variables. All the required object memory like channel, driver instance, event etc should be allocated by the callerr9„jj3„j jíjj\j}r:„(j]j]j]j]j]ujK!j]r;„j%X—UDMA driver doesn't use any global variables. All the required object memory like channel, driver instance, event etc should be allocated by the callerr<„…�r=„}r>„(jj9„jj7„ubaubaubeubjX)�r?„}r@„(jX\This document has detailed API description that user can use to make use of the UDMA driver.rA„jjoƒj jíjj\j}rB„(j]j]j]j]j]ujK#jhj]rC„j%X\This document has detailed API description that user can use to make use of the UDMA driver.rD„…�rE„}rF„(jjA„jj?„ubaubeubeubj jíjj?j}rG„(j]UlevelKj]j]rH„jeƒaUsourcejíj]j]UlineKUtypejAujKjhj]rI„jX)�rJ„}rK„(jX+Duplicate implicit target name: "overview".j}rL„(j]j]j]j]j]ujj×j]rM„j%X+Duplicate implicit target name: "overview".rN„…�rO„}rP„(jUjjJ„ubajj\ubaubhÿ)�rQ„}rR„(jUjjoƒj jíjj?j}rS„(j]UlevelKj]j]rT„juƒaUsourcejíj]j]UlineKUtypejAujKjhj]rU„jX)�rV„}rW„(jX/Duplicate implicit target name: "introduction".j}rX„(j]j]j]j]j]ujjQ„j]rY„j%X/Duplicate implicit target name: "introduction".rZ„…�r[„}r\„(jUjjV„ubajj\ubaubhÿ)�r]„}r^„(jUjjôj jíjj?j}r_„(j]UlevelKj]j]r`„júaUsourcejíj]j]UlineK(UtypejAujK(jhj]ra„jX)�rb„}rc„(jX1Duplicate implicit target name: "user interface".j}rd„(j]j]j]j]j]ujj]„j]re„j%X1Duplicate implicit target name: "user interface".rf„…�rg„}rh„(jUjjb„ubajj\ubaubhÿ)�ri„}rj„(jUjj€j jíjj?j}rk„(j]UlevelKj]j]rl„j €aUsourcejíj]j]UlineK+UtypejAujK+jhj]rm„jX)�rn„}ro„(jX7Duplicate implicit target name: "driver configuration".j}rp„(j]j]j]j]j]ujji„j]rq„j%X7Duplicate implicit target name: "driver configuration".rr„…�rs„}rt„(jUjjn„ubajj\ubaubhÿ)�ru„}rv„(jUjj*€j jíjj?j}rw„(j]UlevelKj]j]rx„j0€aUsourcejíj]j]UlineK5UtypejAujK5jhj]ry„jX)�rz„}r{„(jX'Duplicate implicit target name: "apis".j}r|„(j]j]j]j]j]ujju„j]r}„j%X'Duplicate implicit target name: "apis".r~„…�r„}r€„(jUjjz„ubajj\ubaubhÿ)�r�„}r‚„(jUjj™€j jíjj?j}rƒ„(j]UlevelKj]j]r„„jŸ€aUsourcejíj]j]UlineKKUtypejAujKKjhj]r…„jX)�r†„}r‡„(jX.Duplicate implicit target name: "application".j}rˆ„(j]j]j]j]j]ujj�„j]r‰„j%X.Duplicate implicit target name: "application".rŠ„…�r‹„}rŒ„(jUjj†„ubajj\ubaubhÿ)�r�„}rŽ„(jUjj©€j jíjj?j}r�„(j]UlevelKj]j]r�„j¯€aUsourcejíj]j]UlineKNUtypejAujKNjhj]r‘„jX)�r’„}r“„(jX+Duplicate implicit target name: "examples".j}r”„(j]j]j]j]j]ujj�„j]r•„j%X+Duplicate implicit target name: "examples".r–„…�r—„}r˜„(jUjj’„ubajj\ubaubhÿ)�r™„}rš„(jUjj"‚j jíjj?j}r›„(j]UlevelKj]j]rœ„j(‚aUsourcejíj]j]UlineK¯UtypejAujK¯jhj]r�„jX)�rž„}rŸ„(jX8Duplicate implicit target name: "additional references".j}r „(j]j]j]j]j]ujj™„j]r¡„j%X8Duplicate implicit target name: "additional references".r¢„…�r£„}r¤„(jUjjž„ubajj\ubaubhÿ)�r¥„}r¦„(jUj}r§„(j]UlevelKj]j]r¨„jõ‚aUsourcej j]j]UlineK™UtypejXujjð‚j]r©„jX)�rª„}r«„(jX.Duplicate explicit target name: "description".j}r¬„(j]j]j]j]j]ujj¥„j]r­„j%X.Duplicate explicit target name: "description".r®„…�r¯„}r°„(jUjjª„ubajj\ubajj?ubhÿ)�r±„}r²„(jUjj)�r³„}r´„(jUjKjj)�rµ„}r¶„(jUjhj j jjj}r·„(j]j]j]j]r¸„Upmr¹„aj]rº„h–aujKŸjhj]r»„(j)�r¼„}r½„(jXPMr¾„jjµ„j j jj"j}r¿„(j]j]j]j]j]ujKŸjhj]rÀ„j%XPMrÁ„…�r„}rÄ(jj¾„jj¼„ubaubj))�rÄ„}rÅ„(jX=http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PMjjµ„j j,X;source/rtos/PDK_Platform_Software/Device_Drivers/PM.rst.incrÆ„…�rÇ„}rÈ„bjj0j}rÉ„(j2j3j]j]j]j]j]ujKjhj]rÊ„j%X=http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_PMrË„…�rÌ„}rÍ„(jUjjÄ„ubaubj³„j)�r΄}rÏ„(jUjKjjµ„j jÇ„jjj}rЄ(j]rÑ„Xuser interfacerÒ„aj]j]j]rÓ„Uid225rÔ„aj]ujK$jhj]rÕ„(j)�rÖ„}rׄ(jXUser InterfacerØ„jj΄j jÇ„jj"j}rÙ„(j]j]j]j]j]ujK$jhj]rÚ„j%XUser InterfacerÛ„…�rÜ„}rÝ„(jjØ„jjÖ„ubaubj)�rÞ„}rß„(jUjKjj΄j jÇ„jjj}rà„(j]rá„Xdriver configurationrâ„aj]j]j]rã„Uid226rä„aj]ujK'jhj]rå„(j)�ræ„}rç„(jXDriver Configurationrè„jjÞ„j jÇ„jj"j}ré„(j]j]j]j]j]ujK'jhj]rê„j%XDriver Configurationrë„…�rì„}rí„(jjè„jjæ„ubaubjb)�rî„}rï„(jX **Board Specific Configuration**rð„jKjjÞ„j jÇ„jjfj}rñ„(j]rò„Uid227ró„aj]j]rô„Xboard-specific-configurationrõ„aj]j]ujNjhj]rö„j|)�r÷„}rø„(jjð„j}rù„(j]j]j]j]j]ujjî„j]rú„j%XBoard Specific Configurationrû„…�rü„}rý„(jUjj÷„ubajj„ubaubjX)�rþ„}rÿ„(jXXThe following board-specific actions must take place prior to calling any PM Power APIs:r…jjÞ„j jÇ„jj\j}r…(j]j]j]j]j]ujK,jhj]r…j%XXThe following board-specific actions must take place prior to calling any PM Power APIs:r……�r…}r…(jj…jjþ„ubaubj)�r…}r…(jUjjÞ„j jÇ„jjj}r…(jX-j]j]j]j]j]ujK/jhj]r …(j)�r …}r …(jXLA board-specific I2C implementation must be registered with the PM HAL layerjj…j jÇ„jj j}r …(j]j]j]j]j]ujNjhj]r …jX)�r…}r…(jXLA board-specific I2C implementation must be registered with the PM HAL layerr…jj …j jÇ„jj\j}r…(j]j]j]j]j]ujK/j]r…j%XLA board-specific I2C implementation must be registered with the PM HAL layerr……�r…}r…(jj…jj…ubaubaubj)�r…}r…(jX`The PMIC Ops structure matching the executing device's PMIC must be registered with PM HAL layerjj…j jÇ„jj j}r…(j]j]j]j]j]ujNjhj]r…jX)�r…}r…(jX`The PMIC Ops structure matching the executing device's PMIC must be registered with PM HAL layerr…jj…j jÇ„jj\j}r…(j]j]j]j]j]ujK1j]r…j%X`The PMIC Ops structure matching the executing device's PMIC must be registered with PM HAL layerr……�r …}r!…(jj…jj…ubaubaubj)�r"…}r#…(jX@Device clock rates must be initialized through the PM LIB layer jj…j jÇ„jj j}r$…(j]j]j]j]j]ujNjhj]r%…jX)�r&…}r'…(jX?Device clock rates must be initialized through the PM LIB layerr(…jj"…j jÇ„jj\j}r)…(j]j]j]j]j]ujK3j]r*…j%X?Device clock rates must be initialized through the PM LIB layerr+……�r,…}r-…(jj(…jj&…ubaubaubeubjX)�r.…}r/…(jX›For working examples of how to implement the listed items, see the "main" functions of any PM example in ``[PDK_INSTALL_DIR]\packages\ti\drv\pm\examples``.jjÞ„j jÇ„jj\j}r0…(j]j]j]j]j]ujK5jhj]r1…(j%XiFor working examples of how to implement the listed items, see the "main" functions of any PM example in r2……�r3…}r4…(jXiFor working examples of how to implement the listed items, see the "main" functions of any PM example in jj.…ubj)�r5…}r6…(jX1``[PDK_INSTALL_DIR]\packages\ti\drv\pm\examples``j}r7…(j]j]j]j]j]ujj.…j]r8…j%X-[PDK_INSTALL_DIR]\packages\ti\drv\pm\examplesr9……�r:…}r;…(jUjj5…ubajj ubj%X.…�r<…}r=…(jX.jj.…ubeubjb)�r>…}r?…(jX**PM Configuration Structure**r@…jjÞ„j jÇ„jjfj}rA…(j]rB…Upm-configuration-structurerC…aj]j]j]j]rD…h!aujNjhj]rE…j|)�rF…}rG…(jj@…j}rH…(j]j]j]j]j]ujj>…j]rI…j%XPM Configuration StructurerJ……�rK…}rL…(jUjjF…ubajj„ubaubjX)�rM…}rN…(jXâThe pm\src\pmrtos\prcm\PowerDevice.c file configures the PM driver through the PowerDevice_config structure. This structure must be provided to PM driver. The structure is a global defined within PowerDevice.c and must be initialized prior to calling Power_init(). The structure cannot be changed after calling Power_init(). For details about individual fields of this structure, see the Doxygen help by opening ``[PDK_INSTALL_DIR]\packages\ti\drv\pm\docs\doxygen\html\index.html``.jjÞ„j jÇ„jj\j}rO…(j]j]j]j]j]ujK /* Contains the core TI RTOS Power implementation APIs */jj]…j jÇ„jj&j}r…(j2j3j]j]j]j]j]ujMOjhj]r€…j%XW#include /* Contains the core TI RTOS Power implementation APIs */r�……�r‚…}rƒ…(jUjj}…ubaubjX)�r„…}r……(jXRPM TI RTOS extended API reference for applications can be found in the below file:r†…jj]…j jÇ„jj\j}r‡…(j]j]j]j]j]ujKRjhj]rˆ…j%XRPM TI RTOS extended API reference for applications can be found in the below file:r‰……�rŠ…}r‹…(jj†…jj„…ubaubj#)�rŒ…}r�…(jXl#include /* Contains TI RTOS Power API extensions such as thermal management */jj]…j jÇ„jj&j}rŽ…(j2j3j]j]j]j]j]ujMVjhj]r�…j%Xl#include /* Contains TI RTOS Power API extensions such as thermal management */r�……�r‘…}r’…(jUjjŒ…ubaubjX)�r“…}r”…(jXYPM TI RTOS device-specific API reference for applications can be found in the below file:r•…jj]…j jÇ„jj\j}r–…(j]j]j]j]j]ujKYjhj]r—…j%XYPM TI RTOS device-specific API reference for applications can be found in the below file:r˜……�r™…}rš…(jj•…jj“…ubaubj#)�r›…}rœ…(jXo#include /* Contains device-specific TI RTOS Power API definitions and structures */jj]…j jÇ„jj&j}r�…(j2j3j]j]j]j]j]ujM]jhj]rž…j%Xo#include /* Contains device-specific TI RTOS Power API definitions and structures */rŸ……�r …}r¡…(jUjj›…ubaubjÁ)�r¢…}r£…(jUjj]…j jÇ„jjÄj}r¤…(j]j]j]j]j]ujK`jhj]r¥…jÇ)�r¦…}r§…(jUjÊKjj¢…j jÇ„jjj}r¨…(j]j]j]j]j]ujKjhj]ubaubeubeubj)�r©…}rª…(jUjKjjµ„j jÇ„jjj}r«…(j]r¬…X applicationr­…aj]j]j]r®…Uid229r¯…aj]ujKcjhj]r°…(j)�r±…}r²…(jX Applicationr³…jj©…j jÇ„jj"j}r´…(j]j]j]j]j]ujKcjhj]rµ…j%X Applicationr¶……�r·…}r¸…(jj³…jj±…ubaubj)�r¹…}rº…(jUjKjj©…j jÇ„jjj}r»…(j]r¼…Xexamplesr½…aj]j]j]r¾…Uid230r¿…aj]ujKfjhj]rÀ…(j)�rÁ…}rÂ…(jXExamplesrÃ…jj¹…j jÇ„jj"j}rÄ…(j]j]j]j]j]ujKfjhj]rÅ…j%XExamplesrÆ……�rÇ…}rÈ…(jjÃ…jjÁ…ubaubj¶)�rÉ…}rÊ…(jUjj¹…j jÇ„jj¹j}rË…(j]j]j]j]j]ujNjhj]rÌ…j¼)�rÍ…}rÎ…(jUj}rÏ…(j]j]j]j]j]UcolsKujjÉ…j]rÐ…(jÁ)�rÑ…}rÒ…(jUj}rÓ…(j]j]j]j]j]UcolwidthKujjÍ…j]jjÅubjÁ)�rÔ…}rÕ…(jUj}rÖ…(j]j]j]j]j]UcolwidthKujjÍ…j]jjÅubjÁ)�r×…}rØ…(jUj}rÙ…(j]j]j]j]j]UcolwidthKFujjÍ…j]jjÅubjÒ)�rÚ…}rÛ…(jUj}rÜ…(j]j]j]j]j]ujjÍ…j]rÝ…j×)�rÞ…}rß…(jUj}rà…(j]j]j]j]j]ujjÚ…j]rá…(jÜ)�râ…}rã…(jUj}rä…(j]j]j]j]j]ujjÞ…j]rå…jX)�ræ…}rç…(jXNamerè…jjâ…j jÇ„jj\j}ré…(j]j]j]j]j]ujKj]rê…j%XNamerë……�rì…}rí…(jjè…jjæ…ubaubajjéubjÜ)�rî…}rï…(jUj}rð…(j]j]j]j]j]ujjÞ…j]rñ…jX)�rò…}ró…(jX Descriptionrô…jjî…j jÇ„jj\j}rõ…(j]j]j]j]j]ujKj]rö…j%X Descriptionr÷……�rø…}rù…(jjô…jjò…ubaubajjéubjÜ)�rú…}rû…(jUj}rü…(j]j]j]j]j]ujjÞ…j]rý…jX)�rþ…}rÿ…(jXExpected Resultsr†jjú…j jÇ„jj\j}r†(j]j]j]j]j]ujKj]r†j%XExpected Resultsr†…�r†}r†(jj†jjþ…ubaubajjéubejjubajjubj)�r†}r†(jUj}r†(j]j]j]j]j]ujjÍ…j]r †(j×)�r †}r †(jUj}r †(j]j]j]j]j]ujj†j]r †(jÜ)�r†}r†(jUj}r†(j]j]j]j]j]ujj †j]r†jX)�r†}r†(jXPM RTOS Applicationr†jj†j jÇ„jj\j}r†(j]j]j]j]j]ujKj]r†j%XPM RTOS Applicationr†…�r†}r†(jj†jj†ubaubajjéubjÜ)�r†}r†(jUj}r†(j]j]j]j]j]ujj †j]r†jX)�r†}r†(jXRExample demonstarting power management use cases. Reference example for developersr †jj†j jÇ„jj\j}r!†(j]j]j]j]j]ujKj]r"†j%XRExample demonstarting power management use cases. Reference example for developersr#†…�r$†}r%†(jj †jj†ubaubajjéubjÜ)�r&†}r'†(jUj}r(†(j]j]j]j]j]ujj †j]r)†jX)�r*†}r+†(jX Application cycles the processor running the application through various power states using the PM APIs. User observes the output printed over the device's UART connection. **Note:** The example should be run in *Free Run* mode when loaded and executed in Code Composer Studio in order to prevent sleep API testing interruptions from the JTAG. Use the following steps to execute the application on the AM57xx's M4 and C66 processors in Code Composer Studio: - Connect to CortexA15_0 waiting until the GEL file initialization completes - Run the GEL: Scripts-->AM572x MULTICORE Initialization-->AM572x_MULTICORE_EnableAllCores - Connect to M4_IPU1_C0 or the C66xx_DSP1 - Load the PM RTOS application's M4 or c66 executable - Free run the M4_IPU1_C0 or the C66xx_DSP1jj&†j jÇ„jj\j}r,†(j]j]j]j]j]ujKj]r-†(j%X­Application cycles the processor running the application through various power states using the PM APIs. User observes the output printed over the device's UART connection. r.†…�r/†}r0†(jX­Application cycles the processor running the application through various power states using the PM APIs. User observes the output printed over the device's UART connection. jj*†ubj|)�r1†}r2†(jX **Note:**j}r3†(j]j]j]j]j]ujj*†j]r4†j%XNote:r5†…�r6†}r7†(jUjj1†ubajj„ubj%X The example should be run in r8†…�r9†}r:†(jX The example should be run in jj*†ubj<)�r;†}r<†(jX *Free Run*j}r=†(j]j]j]j]j]ujj*†j]r>†j%XFree Runr?†…�r@†}rA†(jUjj;†ubajjDubj%X, mode when loaded and executed in Code Composer Studio in order to prevent sleep API testing interruptions from the JTAG. Use the following steps to execute the application on the AM57xx's M4 and C66 processors in Code Composer Studio: - Connect to CortexA15_0 waiting until the GEL file initialization completes - Run the GEL: Scripts-->AM572x MULTICORE Initialization-->AM572x_MULTICORE_EnableAllCores - Connect to M4_IPU1_C0 or the C66xx_DSP1 - Load the PM RTOS application's M4 or c66 executable - Free run the M4_IPU1_C0 or the C66xx_DSP1rB†…�rC†}rD†(jX, mode when loaded and executed in Code Composer Studio in order to prevent sleep API testing interruptions from the JTAG. Use the following steps to execute the application on the AM57xx's M4 and C66 processors in Code Composer Studio: - Connect to CortexA15_0 waiting until the GEL file initialization completes - Run the GEL: Scripts-->AM572x MULTICORE Initialization-->AM572x_MULTICORE_EnableAllCores - Connect to M4_IPU1_C0 or the C66xx_DSP1 - Load the PM RTOS application's M4 or c66 executable - Free run the M4_IPU1_C0 or the C66xx_DSP1jj*†ubeubajjéubejjubj×)�rE†}rF†(jUj}rG†(j]j]j]j]j]ujj†j]rH†(jÜ)�rI†}rJ†(jUj}rK†(j]j]j]j]j]ujjE†j]rL†jX)�rM†}rN†(jXPM RTOS Thermal ApplicationrO†jjI†j jÇ„jj\j}rP†(j]j]j]j]j]ujKj]rQ†j%XPM RTOS Thermal ApplicationrR†…�rS†}rT†(jjO†jjM†ubaubajjéubjÜ)�rU†}rV†(jUj}rW†(j]j]j]j]j]ujjE†j]rX†jX)�rY†}rZ†(jXSExample demonstrating thermal management use case. Reference example for developersr[†jjU†j jÇ„jj\j}r\†(j]j]j]j]j]ujKj]r]†j%XSExample demonstrating thermal management use case. Reference example for developersr^†…�r_†}r`†(jj[†jjY†ubaubajjéubjÜ)�ra†}rb†(jUj}rc†(j]j]j]j]j]ujjE†j]rd†jX)�re†}rf†(jX€Application sets high and low thermal set points using the PM APIs.The set points are triggered by internally heating up the processor.User observes the output printed over the device's UART connection. Use the following steps to execute the application on the AM57xx's M4 and C66 processors in Code Composer Studio: - Connect to CortexA15_0 waiting until the GEL file initialization completes - Run the GEL:Scripts-->AM572x MULTICORE Initialization-->AM572x_MULTICORE_EnableAllCores - Connect to M4_IPU1_C0 or the C66xx_DSP1 - Load the PM RTOS Thermal application's M4 or c66 executable - Run the M4_IPU1_C0 or the C66xx_DSP1rg†jja†j jÇ„jj\j}rh†(j]j]j]j]j]ujKj]ri†j%X€Application sets high and low thermal set points using the PM APIs.The set points are triggered by internally heating up the processor.User observes the output printed over the device's UART connection. Use the following steps to execute the application on the AM57xx's M4 and C66 processors in Code Composer Studio: - Connect to CortexA15_0 waiting until the GEL file initialization completes - Run the GEL:Scripts-->AM572x MULTICORE Initialization-->AM572x_MULTICORE_EnableAllCores - Connect to M4_IPU1_C0 or the C66xx_DSP1 - Load the PM RTOS Thermal application's M4 or c66 executable - Run the M4_IPU1_C0 or the C66xx_DSP1rj†…�rk†}rl†(jjg†jje†ubaubajjéubejjubj×)�rm†}rn†(jUj}ro†(j]j]j]j]j]ujj†j]rp†(jÜ)�rq†}rr†(jUj}rs†(j]j]j]j]j]ujjm†j]rt†jX)�ru†}rv†(jXPM Measurement Applicationrw†jjq†j jÇ„jj\j}rx†(j]j]j]j]j]ujKj]ry†j%XPM Measurement Applicationrz†…�r{†}r|†(jjw†jju†ubaubajjéubjÜ)�r}†}r~†(jUj}r†(j]j]j]j]j]ujjm†j]r€†jX)�r�†}r‚†(jXPMenu-based application allowing selection of processor OPPs and benchmark tests.rƒ†jj}†j jÇ„jj\j}r„†(j]j]j]j]j]ujKj]r…†j%XPMenu-based application allowing selection of processor OPPs and benchmark tests.r††…�r‡†}rˆ†(jjƒ†jj�†ubaubajjéubjÜ)�r‰†}rІ(jUj}r‹†(j]j]j]j]j]ujjm†j]rŒ†jX)�r�†}rކ(jX’Application allows the user to control the processor's OPP settings via the PM driver. The application also allows the user to select execution of the Dhrystone benchmark for performance and power profiling under different OPP settings. The application's menu is printed over the device's UART connection. **Note:** The measurement application is only supported on the AM335x device at the moment.jj‰†j jÇ„jj\j}r�†(j]j]j]j]j]ujKj]r�†(j%X3Application allows the user to control the processor's OPP settings via the PM driver. The application also allows the user to select execution of the Dhrystone benchmark for performance and power profiling under different OPP settings. The application's menu is printed over the device's UART connection. r‘†…�r’†}r“†(jX3Application allows the user to control the processor's OPP settings via the PM driver. The application also allows the user to select execution of the Dhrystone benchmark for performance and power profiling under different OPP settings. The application's menu is printed over the device's UART connection. jj�†ubj|)�r”†}r•†(jX **Note:**j}r–†(j]j]j]j]j]ujj�†j]r—†j%XNote:r˜†…�r™†}rš†(jUjj”†ubajj„ubj%XV The measurement application is only supported on the AM335x device at the moment.r›†…�rœ†}r�†(jXV The measurement application is only supported on the AM335x device at the moment.jj�†ubeubajjéubejjubj×)�rž†}rŸ†(jUj}r †(j]j]j]j]j]ujj†j]r¡†(jÜ)�r¢†}r£†(jUj}r¤†(j]j]j]j]j]ujjž†j]r¥†jX)�r¦†}r§†(jXPM System Configuration Testr¨†jj¢†j jÇ„jj\j}r©†(j]j]j]j]j]ujKj]rª†j%XPM System Configuration Testr«†…�r¬†}r­†(jj¨†jj¦†ubaubajjéubjÜ)�r®†}r¯†(jUj}r°†(j]j]j]j]j]ujjž†j]r±†jX)�r²†}r³†(jX3Example demonstrating system configuration use-caser´†jj®†j jÇ„jj\j}rµ†(j]j]j]j]j]ujKj]r¶†j%X3Example demonstrating system configuration use-caser·†…�r¸†}r¹†(jj´†jj²†ubaubajjéubjÜ)�rº†}r»†(jUj}r¼†(j]j]j]j]j]ujjž†j]r½†jX)�r¾†}r¿†(jXuThis example is available at '/packages /ti/drv/pm/examples/systemconfig'. The PM System Configuration test is an example running on tda2xx A15 core, tda2xx M4 core,tda3xx IPU (M4) core and AM65xx(A53 and R5). This example demonstrates the ability to configure the desired power state for a given module based on the entries in the power spread sheet.The example loops through the different modules and power states and tries to program the same for each module using PM LIB sysconfig APIs before declaring pass or fail.The example illustrates the use of Power Management LIB which allows system configuration.rÀ†jjº†j jÇ„jj\j}rÁ†(j]j]j]j]j]ujKj]r†j%XuThis example is available at '/packages /ti/drv/pm/examples/systemconfig'. The PM System Configuration test is an example running on tda2xx A15 core, tda2xx M4 core,tda3xx IPU (M4) core and AM65xx(A53 and R5). This example demonstrates the ability to configure the desired power state for a given module based on the entries in the power spread sheet.The example loops through the different modules and power states and tries to program the same for each module using PM LIB sysconfig APIs before declaring pass or fail.The example illustrates the use of Power Management LIB which allows system configuration.rÆ…�rĆ}rņ(jjÀ†jj¾†ubaubajjéubejjubj×)�rƆ}rdž(jUj}rȆ(j]j]j]j]j]ujj†j]rɆ(jÜ)�rʆ}rˆ(jUj}r̆(j]j]j]j]j]ujjƆj]r͆jX)�rΆ}rφ(jX PM CLock Rate Configuration TestrІjjʆj jÇ„jj\j}rц(j]j]j]j]j]ujKj]rÒ†j%X PM CLock Rate Configuration TestrÓ†…�rÔ†}rÕ†(jjІjjΆubaubajjéubjÜ)�rÖ†}r׆(jUj}r؆(j]j]j]j]j]ujjƆj]rÙ†jX)�rÚ†}rÛ†(jX6Example demonstrating clockrate configuration use-caser܆jjÖ†j jÇ„jj\j}r݆(j]j]j]j]j]ujKj]rÞ†j%X6Example demonstrating clockrate configuration use-caser߆…�rà†}rá†(jj܆jjÚ†ubaubajjéubjÜ)�râ†}rã†(jUj}rä†(j]j]j]j]j]ujjƆj]rå†jX)�ræ†}rç†(jXcThis example is available at '/packages/ti/drv/pm/ examples/clkrate_manager' The Clock Rate Configuration test is an example running on A15 core and IPU (M4) Core for tda2xx/tda2ex/tda2px ,IPU (M4) core for tda3xx ,A53(MPU) and R5(MCU) for AM65xx. This example demonstrates the ability to read the clock rate for different clocks for a given CPU (MPU/IPU/DSP/GPU/IVA/EVE). The example first reads the current clock configuration and then checks for OPP_NOM, OPP_OD and OPP_HIGH frequencies along with voltage changes by using the PMLIB clock rate APIs before declaring pass or fail. The example illustrates the use of Power Management LIB which allows changing the CPU OPP. For AM65xx, this example first loops through all modules and gets the clockrate for all of their clocks.Then, it tries to set the frequencies for some clocks of different modules.rè†jjâ†j jÇ„jj\j}ré†(j]j]j]j]j]ujKj]rê†j%XcThis example is available at '/packages/ti/drv/pm/ examples/clkrate_manager' The Clock Rate Configuration test is an example running on A15 core and IPU (M4) Core for tda2xx/tda2ex/tda2px ,IPU (M4) core for tda3xx ,A53(MPU) and R5(MCU) for AM65xx. This example demonstrates the ability to read the clock rate for different clocks for a given CPU (MPU/IPU/DSP/GPU/IVA/EVE). The example first reads the current clock configuration and then checks for OPP_NOM, OPP_OD and OPP_HIGH frequencies along with voltage changes by using the PMLIB clock rate APIs before declaring pass or fail. The example illustrates the use of Power Management LIB which allows changing the CPU OPP. For AM65xx, this example first loops through all modules and gets the clockrate for all of their clocks.Then, it tries to set the frequencies for some clocks of different modules.r놅�rì†}rí†(jjè†jjæ†ubaubajjéubejjubejjðubejjñubaubeubeubj)�rî†}rï†(jUjKjjµ„j jÇ„jjj}rð†(j]rñ†Xadditional referencesrò†aj]j]j]ró†Uid231rô†aj]ujKujhj]rõ†(j)�rö†}r÷†(jXAdditional Referencesrø†jjî†j jÇ„jj"j}rù†(j]j]j]j]j]ujKujhj]rú†j%XAdditional Referencesrû†…�rü†}rý†(jjø†jjö†ubaubj¶)�rþ†}rÿ†(jUjjî†j jÇ„jj¹j}r‡(j]j]j]j]j]ujNjhj]r‡j¼)�r‡}r‡(jUj}r‡(j]j]j]j]j]UcolsKujjþ†j]r‡(jÁ)�r‡}r‡(jUj}r‡(j]j]j]j]j]UcolwidthK#ujj‡j]jjÅubjÁ)�r ‡}r ‡(jUj}r ‡(j]j]j]j]j]UcolwidthK)ujj‡j]jjÅubj)�r ‡}r ‡(jUj}r‡(j]j]j]j]j]ujj‡j]r‡(j×)�r‡}r‡(jUj}r‡(j]j]j]j]j]ujj ‡j]r‡(jÜ)�r‡}r‡(jUj}r‡(j]j]j]j]j]ujj‡j]r‡jX)�r‡}r‡(jX **Document**r‡jj‡j jÇ„jj\j}r‡(j]j]j]j]j]ujKxj]r‡j|)�r‡}r‡(jj‡j}r‡(j]j]j]j]j]ujj‡j]r ‡j%XDocumentr!‡…�r"‡}r#‡(jUjj‡ubajj„ubaubajjéubjÜ)�r$‡}r%‡(jUj}r&‡(j]j]j]j]j]ujj‡j]r'‡jX)�r(‡}r)‡(jX **Location**r*‡jj$‡j jÇ„jj\j}r+‡(j]j]j]j]j]ujKxj]r,‡j|)�r-‡}r.‡(jj*‡j}r/‡(j]j]j]j]j]ujj(‡j]r0‡j%XLocationr1‡…�r2‡}r3‡(jUjj-‡ubajj„ubaubajjéubejjubj×)�r4‡}r5‡(jUj}r6‡(j]j]j]j]j]ujj ‡j]r7‡(jÜ)�r8‡}r9‡(jUj}r:‡(j]j]j]j]j]ujj4‡j]r;‡jX)�r<‡}r=‡(jXAPI Reference Manualr>‡jj8‡j jÇ„jj\j}r?‡(j]j]j]j]j]ujKzj]r@‡j%XAPI Reference ManualrA‡…�rB‡}rC‡(jj>‡jj<‡ubaubajjéubjÜ)�rD‡}rE‡(jUj}rF‡(j]j]j]j]j]ujj4‡j]rG‡jX)�rH‡}rI‡(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pm\\docs\\doxygen\\html\\index.h tmljjD‡j jÇ„jj\j}rJ‡(j]j]j]j]j]ujKzj]rK‡j%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\pm\docs\doxygen\html\index.h tmlrL‡…�rM‡}rN‡(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pm\\docs\\doxygen\\html\\index.h tmljjH‡ubaubajjéubejjubj×)�rO‡}rP‡(jUj}rQ‡(j]j]j]j]j]ujj ‡j]rR‡(jÜ)�rS‡}rT‡(jUj}rU‡(j]j]j]j]j]ujjO‡j]rV‡jX)�rW‡}rX‡(jX Release NotesrY‡jjS‡j jÇ„jj\j}rZ‡(j]j]j]j]j]ujK~j]r[‡j%X Release Notesr\‡…�r]‡}r^‡(jjY‡jjW‡ubaubajjéubjÜ)�r_‡}r`‡(jUj}ra‡(j]j]j]j]j]ujjO‡j]rb‡jX)�rc‡}rd‡(jXM$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pm\\docs\\ReleaseNotes_PM_LLD. pdfjj_‡j jÇ„jj\j}re‡(j]j]j]j]j]ujK~j]rf‡j%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\pm\docs\ReleaseNotes_PM_LLD. pdfrg‡…�rh‡}ri‡(jXM$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\pm\\docs\\ReleaseNotes_PM_LLD. pdfjjc‡ubaubajjéubejjubejjðubejjñubaubeubeubj jÇ„jjj}rj‡(j]rk‡Xoverviewrl‡aj]j]j]rm‡Uid223rn‡aj]ujKjhj]ro‡(j)�rp‡}rq‡(jXOverviewrr‡jj³„j jÇ„jj"j}rs‡(j]j]j]j]j]ujKjhj]rt‡j%XOverviewru‡…�rv‡}rw‡(jjr‡jjp‡ubaubj)�rx‡}ry‡(jUjKjj³„j jÇ„jjj}rz‡(j]r{‡X introductionr|‡aj]j]j]r}‡Uid224r~‡aj]ujKjhj]r‡(j)�r€‡}r�‡(jX Introductionr‚‡jjx‡j jÇ„jj"j}rƒ‡(j]j]j]j]j]ujKjhj]r„‡j%X Introductionr…‡…�r†‡}r‡‡(jj‚‡jj€‡ubaubjX)�rˆ‡}r‰‡(jXsThe Power Management (PM) low level driver provide power and thermal management capabilities for RTOS applications.rЇjjx‡j jÇ„jj\j}r‹‡(j]j]j]j]j]ujK jhj]rŒ‡j%XsThe Power Management (PM) low level driver provide power and thermal management capabilities for RTOS applications.r�‡…�rއ}r�‡(jjЇjjˆ‡ubaubjb)�r�‡}r‘‡(jX**Supported Devices**r’‡jjx‡j jÇ„jjfj}r“‡(j]r”‡Usupported-devicesr•‡aj]j]j]j]r–‡h1aujNjhj]r—‡j|)�r˜‡}r™‡(jj’‡j}rš‡(j]j]j]j]j]ujj�‡j]r›‡j%XSupported Devicesrœ‡…�r�‡}rž‡(jUjj˜‡ubajj„ubaubj¶)�rŸ‡}r ‡(jUjjx‡j jÇ„jj¹j}r¡‡(j]j]j]j]j]ujNjhj]r¢‡j¼)�r£‡}r¤‡(jUj}r¥‡(j]j]j]j]j]UcolsK ujjŸ‡j]r¦‡(jÁ)�r§‡}r¨‡(jUj}r©‡(j]j]j]j]j]UcolwidthK ujj£‡j]jjÅubjÁ)�rª‡}r«‡(jUj}r¬‡(j]j]j]j]j]UcolwidthK ujj£‡j]jjÅubjÁ)�r­‡}r®‡(jUj}r¯‡(j]j]j]j]j]UcolwidthK ujj£‡j]jjÅubjÁ)�r°‡}r±‡(jUj}r²‡(j]j]j]j]j]UcolwidthKujj£‡j]jjÅubjÁ)�r³‡}r´‡(jUj}rµ‡(j]j]j]j]j]UcolwidthKujj£‡j]jjÅubjÁ)�r¶‡}r·‡(jUj}r¸‡(j]j]j]j]j]UcolwidthK ujj£‡j]jjÅubjÁ)�r¹‡}rº‡(jUj}r»‡(j]j]j]j]j]UcolwidthKujj£‡j]jjÅubjÁ)�r¼‡}r½‡(jUj}r¾‡(j]j]j]j]j]UcolwidthKujj£‡j]jjÅubjÁ)�r¿‡}rÀ‡(jUj}rÁ‡(j]j]j]j]j]UcolwidthKujj£‡j]jjÅubj)�r‡}rÇ(jUj}rć(j]j]j]j]j]ujj£‡j]rŇ(j×)�rƇ}rLJ(jUj}rȇ(j]j]j]j]j]ujj‡j]rɇ(jÜ)�rʇ}rˇ(jUj}ṙ(j]j]j]j]j]ujjƇj]r͇jX)�r·}rχ(jX **Device**rЇjjʇj jÇ„jj\j}rч(j]j]j]j]j]ujKj]rÒ‡j|)�rÓ‡}rÔ‡(jjЇj}rÕ‡(j]j]j]j]j]ujj·j]rÖ‡j%XDevicerׇ…�r؇}rÙ‡(jUjjÓ‡ubajj„ubaubajjéubjÜ)�rÚ‡}rÛ‡(jUj}r܇(j]j]j]j]j]ujjƇj]r݇jX)�rÞ‡}r߇(jX**A53**rà‡jjÚ‡j jÇ„jj\j}rá‡(j]j]j]j]j]ujKj]râ‡j|)�rã‡}rä‡(jjà‡j}rå‡(j]j]j]j]j]ujjÞ‡j]ræ‡j%XA53r燅�rè‡}ré‡(jUjjã‡ubajj„ubaubajjéubjÜ)�rê‡}rë‡(jUj}rì‡(j]j]j]j]j]ujjƇj]rí‡jX)�rî‡}rï‡(jX**A15**rð‡jjê‡j jÇ„jj\j}rñ‡(j]j]j]j]j]ujKj]rò‡j|)�ró‡}rô‡(jjð‡j}rõ‡(j]j]j]j]j]ujjî‡j]rö‡j%XA15r÷‡…�rø‡}rù‡(jUjjó‡ubajj„ubaubajjéubjÜ)�rú‡}rû‡(jUj}rü‡(j]j]j]j]j]ujjƇj]rý‡jX)�rþ‡}rÿ‡(jX**A8**rˆjjú‡j jÇ„jj\j}rˆ(j]j]j]j]j]ujKj]rˆj|)�rˆ}rˆ(jjˆj}rˆ(j]j]j]j]j]ujjþ‡j]rˆj%XA8rˆ…�rˆ}r ˆ(jUjjˆubajj„ubaubajjéubjÜ)�r ˆ}r ˆ(jUj}r ˆ(j]j]j]j]j]ujjƇj]r ˆjX)�rˆ}rˆ(jX**A9**rˆjj ˆj jÇ„jj\j}rˆ(j]j]j]j]j]ujKj]rˆj|)�rˆ}rˆ(jjˆj}rˆ(j]j]j]j]j]ujjˆj]rˆj%XA9rˆ…�rˆ}rˆ(jUjjˆubajj„ubaubajjéubjÜ)�rˆ}rˆ(jUj}rˆ(j]j]j]j]j]ujjƇj]rˆjX)�rˆ}rˆ(jX**C66x**r ˆjjˆj jÇ„jj\j}r!ˆ(j]j]j]j]j]ujKj]r"ˆj|)�r#ˆ}r$ˆ(jj ˆj}r%ˆ(j]j]j]j]j]ujjˆj]r&ˆj%XC66xr'ˆ…�r(ˆ}r)ˆ(jUjj#ˆubajj„ubaubajjéubjÜ)�r*ˆ}r+ˆ(jUj}r,ˆ(j]j]j]j]j]ujjƇj]r-ˆjX)�r.ˆ}r/ˆ(jX**M4**r0ˆjj*ˆj jÇ„jj\j}r1ˆ(j]j]j]j]j]ujKj]r2ˆj|)�r3ˆ}r4ˆ(jj0ˆj}r5ˆ(j]j]j]j]j]ujj.ˆj]r6ˆj%XM4r7ˆ…�r8ˆ}r9ˆ(jUjj3ˆubajj„ubaubajjéubjÜ)�r:ˆ}r;ˆ(jUj}r<ˆ(j]j]j]j]j]ujjƇj]r=ˆjX)�r>ˆ}r?ˆ(jX**R5F**r@ˆjj:ˆj jÇ„jj\j}rAˆ(j]j]j]j]j]ujKj]rBˆj|)�rCˆ}rDˆ(jj@ˆj}rEˆ(j]j]j]j]j]ujj>ˆj]rFˆj%XR5FrGˆ…�rHˆ}rIˆ(jUjjCˆubajj„ubaubajjéubjÜ)�rJˆ}rKˆ(jUj}rLˆ(j]j]j]j]j]ujjƇj]rMˆjX)�rNˆ}rOˆ(jX **Tested On**rPˆjjJˆj jÇ„jj\j}rQˆ(j]j]j]j]j]ujKj]rRˆj|)�rSˆ}rTˆ(jjPˆj}rUˆ(j]j]j]j]j]ujjNˆj]rVˆj%X Tested OnrWˆ…�rXˆ}rYˆ(jUjjSˆubajj„ubaubajjéubejjubj×)�rZˆ}r[ˆ(jUj}r\ˆ(j]j]j]j]j]ujj‡j]r]ˆ(jÜ)�r^ˆ}r_ˆ(jUj}r`ˆ(j]j]j]j]j]ujjZˆj]raˆjX)�rbˆ}rcˆ(jXAM65xxrdˆjj^ˆj jÇ„jj\j}reˆ(j]j]j]j]j]ujKj]rfˆj%XAM65xxrgˆ…�rhˆ}riˆ(jjdˆjjbˆubaubajjéubjÜ)�rjˆ}rkˆ(jUj}rlˆ(j]j]j]j]j]ujjZˆj]rmˆjX)�rnˆ}roˆ(jXXjjjˆj jÇ„jj\j}rpˆ(j]j]j]j]j]ujKj]rqˆj%XX…�rrˆ}rsˆ(jXXjjnˆubaubajjéubjÜ)�rtˆ}ruˆ(jUj}rvˆ(j]j]j]j]j]ujjZˆj]jjéubjÜ)�rwˆ}rxˆ(jUj}ryˆ(j]j]j]j]j]ujjZˆj]jjéubjÜ)�rzˆ}r{ˆ(jUj}r|ˆ(j]j]j]j]j]ujjZˆj]jjéubjÜ)�r}ˆ}r~ˆ(jUj}rˆ(j]j]j]j]j]ujjZˆj]jjéubjÜ)�r€ˆ}r�ˆ(jUj}r‚ˆ(j]j]j]j]j]ujjZˆj]jjéubjÜ)�rƒˆ}r„ˆ(jUj}r…ˆ(j]j]j]j]j]ujjZˆj]r†ˆjX)�r‡ˆ}rˆˆ(jXXjjƒˆj jÇ„jj\j}r‰ˆ(j]j]j]j]j]ujKj]rŠˆj%XX…�r‹ˆ}rŒˆ(jXXjj‡ˆubaubajjéubjÜ)�r�ˆ}rŽˆ(jUj}r�ˆ(j]j]j]j]j]ujjZˆj]r�ˆjX)�r‘ˆ}r’ˆ(jXAM65x EVM, AM65x IDKr“ˆjj�ˆj jÇ„jj\j}r”ˆ(j]j]j]j]j]ujKj]r•ˆj%XAM65x EVM, AM65x IDKr–ˆ…�r—ˆ}r˜ˆ(jj“ˆjj‘ˆubaubajjéubejjubj×)�r™ˆ}ršˆ(jUj}r›ˆ(j]j]j]j]j]ujj‡j]rœˆ(jÜ)�r�ˆ}ržˆ(jUj}rŸˆ(j]j]j]j]j]ujj™ˆj]r ˆjX)�r¡ˆ}r¢ˆ(jXAM57xxr£ˆjj�ˆj jÇ„jj\j}r¤ˆ(j]j]j]j]j]ujKj]r¥ˆj%XAM57xxr¦ˆ…�r§ˆ}r¨ˆ(jj£ˆjj¡ˆubaubajjéubjÜ)�r©ˆ}rªˆ(jUj}r«ˆ(j]j]j]j]j]ujj™ˆj]jjéubjÜ)�r¬ˆ}r­ˆ(jUj}r®ˆ(j]j]j]j]j]ujj™ˆj]r¯ˆjX)�r°ˆ}r±ˆ(jXXjj¬ˆj jÇ„jj\j}r²ˆ(j]j]j]j]j]ujKj]r³ˆj%XX…�r´ˆ}rµˆ(jXXjj°ˆubaubajjéubjÜ)�r¶ˆ}r·ˆ(jUj}r¸ˆ(j]j]j]j]j]ujj™ˆj]jjéubjÜ)�r¹ˆ}rºˆ(jUj}r»ˆ(j]j]j]j]j]ujj™ˆj]jjéubjÜ)�r¼ˆ}r½ˆ(jUj}r¾ˆ(j]j]j]j]j]ujj™ˆj]r¿ˆjX)�rÀˆ}rÁˆ(jXXjj¼ˆj jÇ„jj\j}rˆ(j]j]j]j]j]ujKj]rÈj%XX…�rĈ}rň(jXXjjÀˆubaubajjéubjÜ)�rƈ}rLj(jUj}rȈ(j]j]j]j]j]ujj™ˆj]rɈjX)�rʈ}rˈ(jXXjjƈj jÇ„jj\j}r̈(j]j]j]j]j]ujKj]r͈j%XX…�rΈ}rψ(jXXjjʈubaubajjéubjÜ)�rЈ}rш(jUj}rÒˆ(j]j]j]j]j]ujj™ˆj]jjéubjÜ)�rÓˆ}rÔˆ(jUj}rÕˆ(j]j]j]j]j]ujj™ˆj]rÖˆjX)�r׈}r؈(jXAM572x GP EVM, AM571x GP EVMrÙˆjjÓˆj jÇ„jj\j}rÚˆ(j]j]j]j]j]ujKj]rÛˆj%XAM572x GP EVM, AM571x GP EVMr܈…�r݈}rÞˆ(jjÙˆjj׈ubaubajjéubejjubj×)�r߈}ràˆ(jUj}ráˆ(j]j]j]j]j]ujj‡j]râˆ(jÜ)�rãˆ}räˆ(jUj}råˆ(j]j]j]j]j]ujj߈j]ræˆjX)�rçˆ}rèˆ(jXAM335xréˆjjãˆj jÇ„jj\j}rêˆ(j]j]j]j]j]ujKj]rëˆj%XAM335xr숅�ríˆ}rîˆ(jjéˆjjçˆubaubajjéubjÜ)�rïˆ}rðˆ(jUj}rñˆ(j]j]j]j]j]ujj߈j]jjéubjÜ)�ròˆ}róˆ(jUj}rôˆ(j]j]j]j]j]ujj߈j]jjéubjÜ)�rõˆ}röˆ(jUj}r÷ˆ(j]j]j]j]j]ujj߈j]røˆjX)�rùˆ}rúˆ(jXXjjõˆj jÇ„jj\j}rûˆ(j]j]j]j]j]ujKj]rüˆj%XX…�rýˆ}rþˆ(jXXjjùˆubaubajjéubjÜ)�rÿˆ}r‰(jUj}r‰(j]j]j]j]j]ujj߈j]jjéubjÜ)�r‰}r‰(jUj}r‰(j]j]j]j]j]ujj߈j]jjéubjÜ)�r‰}r‰(jUj}r‰(j]j]j]j]j]ujj߈j]jjéubjÜ)�r‰}r ‰(jUj}r ‰(j]j]j]j]j]ujj߈j]jjéubjÜ)�r ‰}r ‰(jUj}r ‰(j]j]j]j]j]ujj߈j]r‰jX)�r‰}r‰(jX AM335x GP EVMr‰jj ‰j jÇ„jj\j}r‰(j]j]j]j]j]ujKj]r‰j%X AM335x GP EVMr‰…�r‰}r‰(jj‰jj‰ubaubajjéubejjubj×)�r‰}r‰(jUj}r‰(j]j]j]j]j]ujj‡j]r‰(jÜ)�r‰}r‰(jUj}r‰(j]j]j]j]j]ujj‰j]r‰jX)�r‰}r ‰(jXAM437xr!‰jj‰j jÇ„jj\j}r"‰(j]j]j]j]j]ujKj]r#‰j%XAM437xr$‰…�r%‰}r&‰(jj!‰jj‰ubaubajjéubjÜ)�r'‰}r(‰(jUj}r)‰(j]j]j]j]j]ujj‰j]jjéubjÜ)�r*‰}r+‰(jUj}r,‰(j]j]j]j]j]ujj‰j]jjéubjÜ)�r-‰}r.‰(jUj}r/‰(j]j]j]j]j]ujj‰j]jjéubjÜ)�r0‰}r1‰(jUj}r2‰(j]j]j]j]j]ujj‰j]r3‰jX)�r4‰}r5‰(jXXjj0‰j jÇ„jj\j}r6‰(j]j]j]j]j]ujKj]r7‰j%XX…�r8‰}r9‰(jXXjj4‰ubaubajjéubjÜ)�r:‰}r;‰(jUj}r<‰(j]j]j]j]j]ujj‰j]jjéubjÜ)�r=‰}r>‰(jUj}r?‰(j]j]j]j]j]ujj‰j]jjéubjÜ)�r@‰}rA‰(jUj}rB‰(j]j]j]j]j]ujj‰j]jjéubjÜ)�rC‰}rD‰(jUj}rE‰(j]j]j]j]j]ujj‰j]rF‰jX)�rG‰}rH‰(jX AM437x GP EVMrI‰jjC‰j jÇ„jj\j}rJ‰(j]j]j]j]j]ujKj]rK‰j%X AM437x GP EVMrL‰…�rM‰}rN‰(jjI‰jjG‰ubaubajjéubejjubj×)�rO‰}rP‰(jUj}rQ‰(j]j]j]j]j]ujj‡j]rR‰(jÜ)�rS‰}rT‰(jUj}rU‰(j]j]j]j]j]ujjO‰j]rV‰jX)�rW‰}rX‰(jXK2GrY‰jjS‰j jÇ„jj\j}rZ‰(j]j]j]j]j]ujKj]r[‰j%XK2Gr\‰…�r]‰}r^‰(jjY‰jjW‰ubaubajjéubjÜ)�r_‰}r`‰(jUj}ra‰(j]j]j]j]j]ujjO‰j]jjéubjÜ)�rb‰}rc‰(jUj}rd‰(j]j]j]j]j]ujjO‰j]re‰jX)�rf‰}rg‰(jXXjjb‰j jÇ„jj\j}rh‰(j]j]j]j]j]ujKj]ri‰j%XX…�rj‰}rk‰(jXXjjf‰ubaubajjéubjÜ)�rl‰}rm‰(jUj}rn‰(j]j]j]j]j]ujjO‰j]jjéubjÜ)�ro‰}rp‰(jUj}rq‰(j]j]j]j]j]ujjO‰j]jjéubjÜ)�rr‰}rs‰(jUj}rt‰(j]j]j]j]j]ujjO‰j]ru‰jX)�rv‰}rw‰(jXXjjr‰j jÇ„jj\j}rx‰(j]j]j]j]j]ujKj]ry‰j%XX…�rz‰}r{‰(jXXjjv‰ubaubajjéubjÜ)�r|‰}r}‰(jUj}r~‰(j]j]j]j]j]ujjO‰j]jjéubjÜ)�r‰}r€‰(jUj}r�‰(j]j]j]j]j]ujjO‰j]jjéubjÜ)�r‚‰}rƒ‰(jUj}r„‰(j]j]j]j]j]ujjO‰j]r…‰jX)�r†‰}r‡‰(jXK2G EVMrˆ‰jj‚‰j jÇ„jj\j}r‰‰(j]j]j]j]j]ujKj]rЉj%XK2G EVMr‹‰…�rŒ‰}r�‰(jjˆ‰jj†‰ubaubajjéubejjubejjðubejjñubaubj\)�rމ}r�‰(jXµPM on AM335x and AM437x devices supports only OPP modifications. CPU idle and other PM modes on these devices are only for reference and are not validated on the EVM every release.jjx‡j jÇ„jj_j}r�‰(j]j]j]j]j]ujNjhj]r‘‰jX)�r’‰}r“‰(jXµPM on AM335x and AM437x devices supports only OPP modifications. CPU idle and other PM modes on these devices are only for reference and are not validated on the EVM every release.r”‰jjމj jÇ„jj\j}r•‰(j]j]j]j]j]ujKj]r–‰j%XµPM on AM335x and AM437x devices supports only OPP modifications. CPU idle and other PM modes on these devices are only for reference and are not validated on the EVM every release.r—‰…�r˜‰}r™‰(jj”‰jj’‰ubaubaubeubeubj jÇ„jj?j}rš‰(j]UlevelKj]j]r›‰jn‡aUsourcejÇ„j]j]UlineKUtypejAujKjhj]rœ‰jX)�r�‰}rž‰(jX+Duplicate implicit target name: "overview".j}rŸ‰(j]j]j]j]j]ujj±„j]r ‰j%X+Duplicate implicit target name: "overview".r¡‰…�r¢‰}r£‰(jUjj�‰ubajj\ubaubhÿ)�r¤‰}r¥‰(jUjjx‡j jÇ„jj?j}r¦‰(j]UlevelKj]j]r§‰j~‡aUsourcejÇ„j]j]UlineKUtypejAujKjhj]r¨‰jX)�r©‰}rª‰(jX/Duplicate implicit target name: "introduction".j}r«‰(j]j]j]j]j]ujj¤‰j]r¬‰j%X/Duplicate implicit target name: "introduction".r­‰…�r®‰}r¯‰(jUjj©‰ubajj\ubaubhÿ)�r°‰}r±‰(jUjj΄j jÇ„jj?j}r²‰(j]UlevelKj]j]r³‰jÔ„aUsourcejÇ„j]j]UlineK$UtypejAujK$jhj]r´‰jX)�rµ‰}r¶‰(jX1Duplicate implicit target name: "user interface".j}r·‰(j]j]j]j]j]ujj°‰j]r¸‰j%X1Duplicate implicit target name: "user interface".r¹‰…�rº‰}r»‰(jUjjµ‰ubajj\ubaubhÿ)�r¼‰}r½‰(jUjjÞ„j jÇ„jj?j}r¾‰(j]UlevelKj]j]r¿‰jä„aUsourcejÇ„j]j]UlineK'UtypejAujK'jhj]rÀ‰jX)�rÁ‰}r‰(jX7Duplicate implicit target name: "driver configuration".j}rÉ(j]j]j]j]j]ujj¼‰j]rĉj%X7Duplicate implicit target name: "driver configuration".rʼn…�rƉ}rlj(jUjjÁ‰ubajj\ubaubhÿ)�rȉ}rɉ(jUj}rʉ(j]UlevelKj]j]rˉjó„aUsourcej j]j]UlineKŸUtypejXujjî„j]r̉jX)�r͉}rΉ(jX?Duplicate explicit target name: "board-specific-configuration".j}rω(j]j]j]j]j]ujjȉj]rЉj%X?Duplicate explicit target name: "board-specific-configuration".rщ…�rÒ‰}rÓ‰(jUjj͉ubajj\ubajj?ubhÿ)�rÔ‰}rÕ‰(jUjj]…j jÇ„jj?j}rÖ‰(j]UlevelKj]j]r׉jc…aUsourcejÇ„j]j]UlineKFUtypejAujKFjhj]r؉jX)�rÙ‰}rÚ‰(jX'Duplicate implicit target name: "apis".j}rÛ‰(j]j]j]j]j]ujjÔ‰j]r܉j%X'Duplicate implicit target name: "apis".r݉…�rÞ‰}r߉(jUjjÙ‰ubajj\ubaubhÿ)�rà‰}rá‰(jUjj©…j jÇ„jj?j}râ‰(j]UlevelKj]j]rã‰j¯…aUsourcejÇ„j]j]UlineKcUtypejAujKcjhj]rä‰jX)�rå‰}ræ‰(jX.Duplicate implicit target name: "application".j}rç‰(j]j]j]j]j]ujjà‰j]rè‰j%X.Duplicate implicit target name: "application".r鉅�rê‰}rë‰(jUjjå‰ubajj\ubaubhÿ)�rì‰}rí‰(jUjj¹…j jÇ„jj?j}rî‰(j]UlevelKj]j]UsourcejÇ„j]j]UlineKfUtypejXujKfjhj]rï‰(jX)�rð‰}rñ‰(jXTitle underline too short.j}rò‰(j]j]j]j]j]ujjì‰j]ró‰j%XTitle underline too short.rô‰…�rõ‰}rö‰(jUjjð‰ubajj\ubj#)�r÷‰}rø‰(jXExamples ^^^^^^^j}rù‰(j2j3j]j]j]j]j]ujjì‰j]rú‰j%XExamples ^^^^^^^rû‰…�rü‰}rý‰(jUjj÷‰ubajj&ubeubhÿ)�rþ‰}rÿ‰(jUjj¹…j jÇ„jj?j}rŠ(j]UlevelKj]j]rŠj¿…aUsourcejÇ„j]j]UlineKfUtypejAujKfjhj]rŠjX)�rŠ}rŠ(jX+Duplicate implicit target name: "examples".j}rŠ(j]j]j]j]j]ujjþ‰j]rŠj%X+Duplicate implicit target name: "examples".rŠ…�rŠ}r Š(jUjjŠubajj\ubaubhÿ)�r Š}r Š(jUjjî†j jÇ„jj?j}r Š(j]UlevelKj]j]r Šjô†aUsourcejÇ„j]j]UlineKuUtypejAujKujhj]rŠjX)�rŠ}rŠ(jX8Duplicate implicit target name: "additional references".j}rŠ(j]j]j]j]j]ujj Šj]rŠj%X8Duplicate implicit target name: "additional references".rŠ…�rŠ}rŠ(jUjjŠubajj\ubaubhÿ)�rŠ}rŠ(jUjj)�rŠ}rŠ(jUjKjj)�rŠ}rŠ(jUjhj j jjj}rŠ(j]j]j]j]rŠUrmrŠaj]rŠh-aujK¥jhj]r Š(j)�r!Š}r"Š(jXRMr#ŠjjŠj j jj"j}r$Š(j]j]j]j]j]ujK¥jhj]r%Šj%XRMr&Š…�r'Š}r(Š(jj#Šjj!Šubaubj))�r)Š}r*Š(jX=http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_RMjjŠj j,X;source/rtos/PDK_Platform_Software/Device_Drivers/RM.rst.incr+Š…�r,Š}r-Šbjj0j}r.Š(j2j3j]j]j]j]j]ujKjhj]r/Šj%X=http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_RMr0Š…�r1Š}r2Š(jUjj)ŠubaubjŠj)�r3Š}r4Š(jUjKjjŠj j,Šjjj}r5Š(j]r6ŠXuser interfacer7Šaj]j]j]r8ŠUid234r9Šaj]ujK4jhj]r:Š(j)�r;Š}r<Š(jXUser Interfacer=Šjj3Šj j,Šjj"j}r>Š(j]j]j]j]j]ujK4jhj]r?Šj%XUser Interfacer@Š…�rAŠ}rBŠ(jj=Šjj;Šubaubj)�rCŠ}rDŠ(jUjKjj3Šj j,Šjjj}rEŠ(j]rFŠXdriver configurationrGŠaj]j]j]rHŠUid235rIŠaj]ujK7jhj]rJŠ(j)�rKŠ}rLŠ(jXDriver ConfigurationrMŠjjCŠj j,Šjj"j}rNŠ(j]j]j]j]j]ujK7jhj]rOŠj%XDriver ConfigurationrPŠ…�rQŠ}rRŠ(jjMŠjjKŠubaubjb)�rSŠ}rTŠ(jX**Resource Configuration**rUŠjjCŠj j,Šjjfj}rVŠ(j]rWŠUresource-configurationrXŠaj]j]j]j]rYŠh¨aujNjhj]rZŠj|)�r[Š}r\Š(jjUŠj}r]Š(j]j]j]j]j]ujjSŠj]r^Šj%XResource Configurationr_Š…�r`Š}raŠ(jUjj[Šubajj„ubaubjX)�rbŠ}rcŠ(jXOThe RM Server instance must be provided a resource list and allocation policy at initialization time. The resource list and allocation policy are specified in the open source flattened device tree format. Device specific resource list and allocation policy files are provided in ``[PDK_INSTALL_PATH]/packages/ti/drv/rm/device/[SoC]/``.jjCŠj j,Šjj\j}rdŠ(j]j]j]j]j]ujKjj¢Šj j,Šjj&j}r¼Š(j2j3j]j]j]j]j]ujMãjhj]r½Šj%X#include r¾Š…�r¿Š}rÀŠ(jUjjºŠubaubjX)�rÁŠ}rŠ(jX4RM instance transport API reference for application:rÊjj¢Šj j,Šjj\j}rÄŠ(j]j]j]j]j]ujK\jhj]rÅŠj%X4RM instance transport API reference for application:rÆŠ…�rÇŠ}rÈŠ(jjÊjjÁŠubaubj#)�rÉŠ}rÊŠ(jX##include jj¢Šj j,Šjj&j}rËŠ(j2j3j]j]j]j]j]ujMéjhj]rÌŠj%X##include rÍŠ…�rΊ}rÏŠ(jUjjÉŠubaubjX)�rЊ}rÑŠ(jXCRM instance service request/response API reference for application:rÒŠjj¢Šj j,Šjj\j}rÓŠ(j]j]j]j]j]ujKbjhj]rÔŠj%XCRM instance service request/response API reference for application:rÕŠ…�rÖŠ}r׊(jjÒŠjjЊubaubj#)�rØŠ}rÙŠ(jX"#include jj¢Šj j,Šjj&j}rÚŠ(j2j3j]j]j]j]j]ujMïjhj]rÛŠj%X"#include rÜŠ…�rÝŠ}rÞŠ(jUjjØŠubaubjX)�rߊ}ràŠ(jX2RM Server interface API reference for application:ráŠjj¢Šj j,Šjj\j}râŠ(j]j]j]j]j]ujKhjhj]rãŠj%X2RM Server interface API reference for application:r䊅�råŠ}ræŠ(jjáŠjjߊubaubj#)�rçŠ}rèŠ(jX##include jj¢Šj j,Šjj&j}réŠ(j2j3j]j]j]j]j]ujMõjhj]rêŠj%X##include r늅�rìŠ}ríŠ(jUjjçŠubaubeubeubj)�rîŠ}rïŠ(jUjKjjŠj j,Šjjj}rðŠ(j]rñŠX applicationròŠaj]j]j]róŠUid237rôŠaj]ujKojhj]rõŠ(j)�röŠ}r÷Š(jX ApplicationrøŠjjîŠj j,Šjj"j}rùŠ(j]j]j]j]j]ujKojhj]rúŠj%X ApplicationrûŠ…�rüŠ}rýŠ(jjøŠjjöŠubaubj)�rþŠ}rÿŠ(jUjKjjîŠj j,Šjjj}r‹(j]r‹Xexamplesr‹aj]j]j]r‹Uid238r‹aj]ujKrjhj]r‹(j)�r‹}r‹(jXExamplesr‹jjþŠj j,Šjj"j}r ‹(j]j]j]j]j]ujKrjhj]r ‹j%XExamplesr ‹…�r ‹}r ‹(jj‹jj‹ubaubj¶)�r‹}r‹(jUjjþŠj j,Šjj¹j}r‹(j]j]j]j]j]ujNjhj]r‹j¼)�r‹}r‹(jUj}r‹(j]j]j]j]j]UcolsKujj‹j]r‹(jÁ)�r‹}r‹(jUj}r‹(j]j]j]j]j]UcolwidthKujj‹j]jjÅubjÁ)�r‹}r‹(jUj}r‹(j]j]j]j]j]UcolwidthKujj‹j]jjÅubjÁ)�r‹}r‹(jUj}r‹(j]j]j]j]j]UcolwidthKujj‹j]jjÅubjÒ)�r‹}r ‹(jUj}r!‹(j]j]j]j]j]ujj‹j]r"‹j×)�r#‹}r$‹(jUj}r%‹(j]j]j]j]j]ujj‹j]r&‹(jÜ)�r'‹}r(‹(jUj}r)‹(j]j]j]j]j]ujj#‹j]r*‹jX)�r+‹}r,‹(jXNamer-‹jj'‹j j,Šjj\j}r.‹(j]j]j]j]j]ujKuj]r/‹j%XNamer0‹…�r1‹}r2‹(jj-‹jj+‹ubaubajjéubjÜ)�r3‹}r4‹(jUj}r5‹(j]j]j]j]j]ujj#‹j]r6‹jÁ)�r7‹}r8‹(jUj}r9‹(j]j]j]j]j]ujj3‹j]r:‹jÇ)�r;‹}r<‹(jX Descriptionr=‹jÊKjj7‹j j,Šjjj}r>‹(j]j]j]j]j]ujKj]r?‹j%X Descriptionr@‹…�rA‹}rB‹(jj=‹jj;‹ubaubajjÄubajjéubjÜ)�rC‹}rD‹(jUj}rE‹(j]j]j]j]j]ujj#‹j]rF‹jÁ)�rG‹}rH‹(jUj}rI‹(j]j]j]j]j]ujjC‹j]rJ‹jÇ)�rK‹}rL‹(jXExpected ResultsrM‹jÊKjjG‹j j,Šjjj}rN‹(j]j]j]j]j]ujKj]rO‹j%XExpected ResultsrP‹…�rQ‹}rR‹(jjM‹jjK‹ubaubajjÄubajjéubejjubajjubj)�rS‹}rT‹(jUj}rU‹(j]j]j]j]j]ujj‹j]rV‹(j×)�rW‹}rX‹(jUj}rY‹(j]j]j]j]j]ujjS‹j]rZ‹(jÜ)�r[‹}r\‹(jUj}r]‹(j]j]j]j]j]ujjW‹j]r^‹jX)�r_‹}r`‹(jXRM DSP BIOS Test applicationra‹jj[‹j j,Šjj\j}rb‹(j]j]j]j]j]ujKwj]rc‹j%XRM DSP BIOS Test applicationrd‹…�re‹}rf‹(jja‹jj_‹ubaubajjéubjÜ)�rg‹}rh‹(jUj}ri‹(j]j]j]j]j]ujjW‹j]rj‹jÁ)�rk‹}rl‹(jUj}rm‹(j]j]j]j]j]ujjg‹j]rn‹jÇ)�ro‹}rp‹(jX•Unit Test application exercising APIs and the different service request/response mechanisms across the Server, Client Delegate, and Client instances.rq‹jÊKjjk‹j j,Šjjj}rr‹(j]j]j]j]j]ujKj]rs‹j%X•Unit Test application exercising APIs and the different service request/response mechanisms across the Server, Client Delegate, and Client instances.rt‹…�ru‹}rv‹(jjq‹jjo‹ubaubajjÄubajjéubjÜ)�rw‹}rx‹(jUj}ry‹(j]j]j]j]j]ujjW‹j]rz‹jÁ)�r{‹}r|‹(jUj}r}‹(j]j]j]j]j]ujjw‹j]r~‹jÇ)�r‹}r€‹(jX4Application successfully completes on two DSP cores.r�‹jÊKjj{‹j j,Šjjj}r‚‹(j]j]j]j]j]ujKj]rƒ‹j%X4Application successfully completes on two DSP cores.r„‹…�r…‹}r†‹(jj�‹jj‹ubaubajjÄubajjéubejjubj×)�r‡‹}rˆ‹(jUj}r‰‹(j]j]j]j]j]ujjS‹j]rŠ‹(jÜ)�r‹‹}rŒ‹(jUj}r�‹(j]j]j]j]j]ujj‡‹j]rŽ‹jX)�r�‹}r�‹(jX#RM Memory DSP BIOS Test applicationr‘‹jj‹‹j j,Šjj\j}r’‹(j]j]j]j]j]ujK‚j]r“‹j%X#RM Memory DSP BIOS Test applicationr”‹…�r•‹}r–‹(jj‘‹jj�‹ubaubajjéubjÜ)�r—‹}r˜‹(jUj}r™‹(j]j]j]j]j]ujj‡‹j]rš‹jÁ)�r›‹}rœ‹(jUj}r�‹(j]j]j]j]j]ujj—‹j]rž‹jÇ)�rŸ‹}r ‹(jXWUnit Test application to test for memory leaks during resource request/free operations.r¡‹jÊKjj›‹j j,Šjjj}r¢‹(j]j]j]j]j]ujKj]r£‹j%XWUnit Test application to test for memory leaks during resource request/free operations.r¤‹…�r¥‹}r¦‹(jj¡‹jjŸ‹ubaubajjÄubajjéubjÜ)�r§‹}r¨‹(jUj}r©‹(j]j]j]j]j]ujj‡‹j]rª‹jÁ)�r«‹}r¬‹(jUj}r­‹(j]j]j]j]j]ujj§‹j]r®‹jÇ)�r¯‹}r°‹(jXIApplication successfully completes with no memory leaks on two DSP cores.r±‹jÊKjj«‹j j,Šjjj}r²‹(j]j]j]j]j]ujKj]r³‹j%XIApplication successfully completes with no memory leaks on two DSP cores.r´‹…�rµ‹}r¶‹(jj±‹jj¯‹ubaubajjÄubajjéubejjubj×)�r·‹}r¸‹(jUj}r¹‹(j]j]j]j]j]ujjS‹j]rº‹(jÜ)�r»‹}r¼‹(jUj}r½‹(j]j]j]j]j]ujj·‹j]r¾‹jX)�r¿‹}rÀ‹(jX#RM Shared DSP BIOS Test applicationrÁ‹jj»‹j j,Šjj\j}r‹(j]j]j]j]j]ujK‰j]rËj%X#RM Shared DSP BIOS Test applicationrÄ‹…�rÅ‹}rÆ‹(jjÁ‹jj¿‹ubaubajjéubjÜ)�rÇ‹}rÈ‹(jUj}rÉ‹(j]j]j]j]j]ujj·‹j]rÊ‹jÁ)�rË‹}rÌ‹(jUj}rÍ‹(j]j]j]j]j]ujjÇ‹j]r΋jÇ)�rÏ‹}rЋ(jXzUnit Test application exercising Shared Server/Client APIs and resource allocation in a Shared Server/Client architecture.rÑ‹jÊKjjË‹j j,Šjjj}rÒ‹(j]j]j]j]j]ujKj]rÓ‹j%XzUnit Test application exercising Shared Server/Client APIs and resource allocation in a Shared Server/Client architecture.rÔ‹…�rÕ‹}rÖ‹(jjÑ‹jjÏ‹ubaubajjÄubajjéubjÜ)�r׋}rØ‹(jUj}rÙ‹(j]j]j]j]j]ujj·‹j]rÚ‹jÁ)�rÛ‹}rÜ‹(jUj}rÝ‹(j]j]j]j]j]ujj׋j]rÞ‹jÇ)�rß‹}rà‹(jXIApplication successfully completes with no memory leaks on two DSP cores.rá‹jÊKjjÛ‹j j,Šjjj}râ‹(j]j]j]j]j]ujKj]rã‹j%XIApplication successfully completes with no memory leaks on two DSP cores.rä‹…�rå‹}ræ‹(jjá‹jjß‹ubaubajjÄubajjéubejjubj×)�rç‹}rè‹(jUj}ré‹(j]j]j]j]j]ujjS‹j]rê‹(jÜ)�rë‹}rì‹(jUj}rí‹(j]j]j]j]j]ujjç‹j]rî‹jX)�rï‹}rð‹(jX+RM DSP BIOS Multi-Threaded Test applicationrñ‹jjë‹j j,Šjj\j}rò‹(j]j]j]j]j]ujK“j]ró‹j%X+RM DSP BIOS Multi-Threaded Test applicationrô‹…�rõ‹}rö‹(jjñ‹jjï‹ubaubajjéubjÜ)�r÷‹}rø‹(jUj}rù‹(j]j]j]j]j]ujjç‹j]rú‹jÁ)�rû‹}rü‹(jUj}rý‹(j]j]j]j]j]ujj÷‹j]rþ‹jÇ)�rÿ‹}rŒ(jXdUnit Test application verifying service request/response mechanism in a multi-threaded architecture.rŒjÊKjjû‹j j,Šjjj}rŒ(j]j]j]j]j]ujKj]rŒj%XdUnit Test application verifying service request/response mechanism in a multi-threaded architecture.rŒ…�rŒ}rŒ(jjŒjjÿ‹ubaubajjÄubajjéubjÜ)�rŒ}rŒ(jUj}r Œ(j]j]j]j]j]ujjç‹j]r ŒjÁ)�r Œ}r Œ(jUj}r Œ(j]j]j]j]j]ujjŒj]rŒjÇ)�rŒ}rŒ(jXMApplication successfully completes with no memory leaks on a single DSP core.rŒjÊKjj Œj j,Šjjj}rŒ(j]j]j]j]j]ujKj]rŒj%XMApplication successfully completes with no memory leaks on a single DSP core.rŒ…�rŒ}rŒ(jjŒjjŒubaubajjÄubajjéubejjubj×)�rŒ}rŒ(jUj}rŒ(j]j]j]j]j]ujjS‹j]rŒ(jÜ)�rŒ}rŒ(jUj}rŒ(j]j]j]j]j]ujjŒj]rŒjX)�rŒ}r Œ(jXRM ARM Linux Test applicationr!ŒjjŒj j,Šjj\j}r"Œ(j]j]j]j]j]ujK›j]r#Œj%XRM ARM Linux Test applicationr$Œ…�r%Œ}r&Œ(jj!ŒjjŒubaubajjéubjÜ)�r'Œ}r(Œ(jUj}r)Œ(j]j]j]j]j]ujjŒj]r*ŒjÁ)�r+Œ}r,Œ(jUj}r-Œ(j]j]j]j]j]ujj'Œj]r.ŒjÇ)�r/Œ}r0Œ(jX•Unit Test application exercising APIs and the different service request/response mechanisms across the Server, Client Delegate, and Client instances.r1ŒjÊKjj+Œj j,Šjjj}r2Œ(j]j]j]j]j]ujKj]r3Œj%X•Unit Test application exercising APIs and the different service request/response mechanisms across the Server, Client Delegate, and Client instances.r4Œ…�r5Œ}r6Œ(jj1Œjj/ŒubaubajjÄubajjéubjÜ)�r7Œ}r8Œ(jUj}r9Œ(j]j]j]j]j]ujjŒj]r:ŒjÁ)�r;Œ}r<Œ(jUj}r=Œ(j]j]j]j]j]ujj7Œj]r>ŒjÇ)�r?Œ}r@Œ(jXBApplication successfully completes when run from Linux user-space.rAŒjÊKjj;Œj j,Šjjj}rBŒ(j]j]j]j]j]ujKj]rCŒj%XBApplication successfully completes when run from Linux user-space.rDŒ…�rEŒ}rFŒ(jjAŒjj?ŒubaubajjÄubajjéubejjubj×)�rGŒ}rHŒ(jUj}rIŒ(j]j]j]j]j]ujjS‹j]rJŒ(jÜ)�rKŒ}rLŒ(jUj}rMŒ(j]j]j]j]j]ujjGŒj]rNŒjX)�rOŒ}rPŒ(jX,RM ARM Linux Multi-Threaded Test applicationrQŒjjKŒj j,Šjj\j}rRŒ(j]j]j]j]j]ujK¦j]rSŒj%X,RM ARM Linux Multi-Threaded Test applicationrTŒ…�rUŒ}rVŒ(jjQŒjjOŒubaubajjéubjÜ)�rWŒ}rXŒ(jUj}rYŒ(j]j]j]j]j]ujjGŒj]rZŒjÁ)�r[Œ}r\Œ(jUj}r]Œ(j]j]j]j]j]ujjWŒj]r^ŒjÇ)�r_Œ}r`Œ(jXdUnit Test application verifying service request/response mechanism in a multi-threaded architecture.raŒjÊKjj[Œj j,Šjjj}rbŒ(j]j]j]j]j]ujKj]rcŒj%XdUnit Test application verifying service request/response mechanism in a multi-threaded architecture.rdŒ…�reŒ}rfŒ(jjaŒjj_ŒubaubajjÄubajjéubjÜ)�rgŒ}rhŒ(jUj}riŒ(j]j]j]j]j]ujjGŒj]rjŒjÁ)�rkŒ}rlŒ(jUj}rmŒ(j]j]j]j]j]ujjgŒj]rnŒjÇ)�roŒ}rpŒ(jXBApplication successfully completes when run from Linux user-space.rqŒjÊKjjkŒj j,Šjjj}rrŒ(j]j]j]j]j]ujKj]rsŒj%XBApplication successfully completes when run from Linux user-space.rtŒ…�ruŒ}rvŒ(jjqŒjjoŒubaubajjÄubajjéubejjubj×)�rwŒ}rxŒ(jUj}ryŒ(j]j]j]j]j]ujjS‹j]rzŒ(jÜ)�r{Œ}r|Œ(jUj}r}Œ(j]j]j]j]j]ujjwŒj]r~ŒjX)�rŒ}r€Œ(jX.Combined DSP BIOS & ARM Linux Test applicationr�Œjj{Œj j,Šjj\j}r‚Œ(j]j]j]j]j]ujK®j]rƒŒj%X.Combined DSP BIOS & ARM Linux Test applicationr„Œ…�r…Œ}r†Œ(jj�ŒjjŒubaubajjéubjÜ)�r‡Œ}rˆŒ(jUj}r‰Œ(j]j]j]j]j]ujjwŒj]rŠŒjÁ)�r‹Œ}rŒŒ(jUj}r�Œ(j]j]j]j]j]ujj‡Œj]rŽŒjÇ)�r�Œ}r�Œ(jXÈUnit Test application verifying service request/response mechanism over a heterogeneous processor boundary. RM Clients on two DSP cores request resources from an RM Server running in Linux user-space.r‘ŒjÊKjj‹Œj j,Šjjj}r’Œ(j]j]j]j]j]ujKj]r“Œj%XÈUnit Test application verifying service request/response mechanism over a heterogeneous processor boundary. RM Clients on two DSP cores request resources from an RM Server running in Linux user-space.r”Œ…�r•Œ}r–Œ(jj‘Œjj�ŒubaubajjÄubajjéubjÜ)�r—Œ}r˜Œ(jUj}r™Œ(j]j]j]j]j]ujjwŒj]ršŒjÁ)�r›Œ}rœŒ(jUj}r�Œ(j]j]j]j]j]ujj—Œj]ržŒjÇ)�rŸŒ}r Œ(jXIApplication successfully completes with no memory leaks on two DSP cores.r¡ŒjÊKjj›Œj j,Šjjj}r¢Œ(j]j]j]j]j]ujKj]r£Œj%XIApplication successfully completes with no memory leaks on two DSP cores.r¤Œ…�r¥Œ}r¦Œ(jj¡ŒjjŸŒubaubajjÄubajjéubejjubejjðubejjñubaubeubeubj)�r§Œ}r¨Œ(jUjKjjŠj j,Šjjj}r©Œ(j]rªŒXadditional referencesr«Œaj]j]j]r¬ŒUid239r­Œaj]ujK¾jhj]r®Œ(j)�r¯Œ}r°Œ(jXAdditional Referencesr±Œjj§Œj j,Šjj"j}r²Œ(j]j]j]j]j]ujK¾jhj]r³Œj%XAdditional Referencesr´Œ…�rµŒ}r¶Œ(jj±Œjj¯Œubaubj¶)�r·Œ}r¸Œ(jUjj§Œj j,Šjj¹j}r¹Œ(j]j]j]j]j]ujNjhj]rºŒj¼)�r»Œ}r¼Œ(jUj}r½Œ(j]j]j]j]j]UcolsKujj·Œj]r¾Œ(jÁ)�r¿Œ}rÀŒ(jUj}rÁŒ(j]j]j]j]j]UcolwidthK#ujj»Œj]jjÅubjÁ)�rÂŒ}rÃŒ(jUj}rÄŒ(j]j]j]j]j]UcolwidthK)ujj»Œj]jjÅubj)�rÅŒ}rÆŒ(jUj}rÇŒ(j]j]j]j]j]ujj»Œj]rÈŒ(j×)�rÉŒ}rÊŒ(jUj}rËŒ(j]j]j]j]j]ujjÅŒj]rÌŒ(jÜ)�rÍŒ}rÎŒ(jUj}rÏŒ(j]j]j]j]j]ujjÉŒj]rÐŒjX)�rÑŒ}rÒŒ(jX **Document**rÓŒjjÍŒj j,Šjj\j}rÔŒ(j]j]j]j]j]ujKÁj]rÕŒj|)�rÖŒ}r׌(jjÓŒj}rØŒ(j]j]j]j]j]ujjÑŒj]rÙŒj%XDocumentrÚŒ…�rÛŒ}rÜŒ(jUjjÖŒubajj„ubaubajjéubjÜ)�rÝŒ}rÞŒ(jUj}rߌ(j]j]j]j]j]ujjÉŒj]ràŒjX)�ráŒ}râŒ(jX **Location**rãŒjjÝŒj j,Šjj\j}räŒ(j]j]j]j]j]ujKÁj]råŒj|)�ræŒ}rçŒ(jjãŒj}rèŒ(j]j]j]j]j]ujjáŒj]réŒj%XLocationrꌅ�rëŒ}rìŒ(jUjjæŒubajj„ubaubajjéubejjubj×)�ríŒ}rîŒ(jUj}rïŒ(j]j]j]j]j]ujjÅŒj]rðŒ(jÜ)�rñŒ}ròŒ(jUj}róŒ(j]j]j]j]j]ujjíŒj]rôŒjX)�rõŒ}röŒ(jXAPI Reference Manualr÷ŒjjñŒj j,Šjj\j}røŒ(j]j]j]j]j]ujKÃj]rùŒj%XAPI Reference ManualrúŒ…�rûŒ}rüŒ(jj÷ŒjjõŒubaubajjéubjÜ)�rýŒ}rþŒ(jUj}rÿŒ(j]j]j]j]j]ujjíŒj]r�jX)�r�}r�(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\rm\\docs\\doxygen\\html\\index.h tmljjýŒj j,Šjj\j}r�(j]j]j]j]j]ujKÃj]r�j%XG$(TI_PDK_INSTALL_DIR)\packages\ti \drv\rm\docs\doxygen\html\index.h tmlr�…�r�}r�(jXO$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\rm\\docs\\doxygen\\html\\index.h tmljj�ubaubajjéubejjubj×)�r�}r �(jUj}r �(j]j]j]j]j]ujjÅŒj]r �(jÜ)�r �}r �(jUj}r�(j]j]j]j]j]ujj�j]r�jX)�r�}r�(jX Release Notesr�jj �j j,Šjj\j}r�(j]j]j]j]j]ujKÇj]r�j%X Release Notesr�…�r�}r�(jj�jj�ubaubajjéubjÜ)�r�}r�(jUj}r�(j]j]j]j]j]ujj�j]r�jX)�r�}r�(jXH$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\rm\\docs\\ReleaseNotes_RM.pdfjj�j j,Šjj\j}r�(j]j]j]j]j]ujKÇj]r�j%XB$(TI_PDK_INSTALL_DIR)\packages\ti \drv\rm\docs\ReleaseNotes_RM.pdfr �…�r!�}r"�(jXH$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\rm\\docs\\ReleaseNotes_RM.pdfjj�ubaubajjéubejjubj×)�r#�}r$�(jUj}r%�(j]j]j]j]j]ujjÅŒj]r&�(jÜ)�r'�}r(�(jUj}r)�(j]j]j]j]j]ujj#�j]r*�jX)�r+�}r,�(jXResource Manager User Guider-�jj'�j j,Šjj\j}r.�(j]j]j]j]j]ujKÊj]r/�j%XResource Manager User Guider0�…�r1�}r2�(jj-�jj+�ubaubajjéubjÜ)�r3�}r4�(jUj}r5�(j]j]j]j]j]ujj#�j]r6�jX)�r7�}r8�(jX!`Processor SDK Resource Manager`_r9�jj3�j j,Šjj\j}r:�(j]j]j]j]j]ujKÊj]r;�j)�r<�}r=�(jj9�jqKjj7�jjj}r>�(UnameXProcessor SDK Resource ManagerjXFhttp://processors.wiki.ti.com/index.php/Processor_SDK_Resource_Managerr?�j]j]j]j]j]uj]r@�j%XProcessor SDK Resource ManagerrA�…�rB�}rC�(jUjj<�ubaubaubajjéubejjubejjðubejjñubaubjš)�rD�}rE�(jXj.. _Processor SDK Resource Manager: http://processors.wiki.ti.com/index.php/Processor_SDK_Resource_ManagerjKjj§Œj j,Šjj�j}rF�(jj?�j]rG�Uprocessor-sdk-resource-managerrH�aj]j]j]j]rI�h¢aujMVjhj]ubjÁ)�rJ�}rK�(jUjj§Œj j,ŠjjÄj}rL�(j]j]j]j]j]ujKÏjhj]rM�jÇ)�rN�}rO�(jUjÊKjjJ�j j,Šjjj}rP�(j]j]j]j]j]ujKjhj]ubaubeubeubj j,Šjjj}rQ�(j]rR�XoverviewrS�aj]j]j]rT�Uid232rU�aj]ujKjhj]rV�(j)�rW�}rX�(jXOverviewrY�jjŠj j,Šjj"j}rZ�(j]j]j]j]j]ujKjhj]r[�j%XOverviewr\�…�r]�}r^�(jjY�jjW�ubaubj)�r_�}r`�(jUjKjjŠj j,Šjjj}ra�(j]rb�X introductionrc�aj]j]j]rd�Uid233re�aj]ujKjhj]rf�(j)�rg�}rh�(jX Introductionri�jj_�j j,Šjj"j}rj�(j]j]j]j]j]ujKjhj]rk�j%X Introductionrl�…�rm�}rn�(jji�jjg�ubaubjX)�ro�}rp�(jXŠThe Resource Manager (RM) is delivered as part of Processor-SDK as a means for managing system resource contentions. RM has the ability to allocate system resources within a software architecture based on sets of allocation rules. Resources can be allocated to anything from a device core, to an OS task or process, to a specific software module. RM's resource management is defined by the RM configuration parameters and how RM is integrated within a software framework. The RM source code is device agnostic. The RM configuration parameters are device specific allowing RM to function on any processor capable of compiling and executing a C binary.rq�jj_�j j,Šjj\j}rr�(j]j]j]j]j]ujK jhj]rs�j%XŠThe Resource Manager (RM) is delivered as part of Processor-SDK as a means for managing system resource contentions. RM has the ability to allocate system resources within a software architecture based on sets of allocation rules. Resources can be allocated to anything from a device core, to an OS task or process, to a specific software module. RM's resource management is defined by the RM configuration parameters and how RM is integrated within a software framework. The RM source code is device agnostic. The RM configuration parameters are device specific allowing RM to function on any processor capable of compiling and executing a C binary.rt�…�ru�}rv�(jjq�jjo�ubaubjb)�rw�}rx�(jXRM Instance Typesry�jj_�j j,Šjjfj}rz�(j]r{�Urm-instance-typesr|�aj]j]j]j]r}�hËaujNjhj]r~�j%XRM Instance Typesr�…�r€�}r��(jjy�jjw�ubaubjX)�r‚�}rƒ�(jX°Resource Manager is an instance-based architecture. Integrating RM into a system consists of creating a set of RM instances, connecting these instances via message-passing mechanisms, and then using the instances to request resources for cores, processes, tasks, modules, etc. There are no restrictions on where a RM instance can be created as long as the means exist to connect the instance to other RM instances within the system.r„�jj_�j j,Šjj\j}r…�(j]j]j]j]j]ujKjhj]r†�j%X°Resource Manager is an instance-based architecture. Integrating RM into a system consists of creating a set of RM instances, connecting these instances via message-passing mechanisms, and then using the instances to request resources for cores, processes, tasks, modules, etc. There are no restrictions on where a RM instance can be created as long as the means exist to connect the instance to other RM instances within the system.r‡�…�rˆ�}r‰�(jj„�jj‚�ubaubjX)�rŠ�}r‹�(jXThere are five instance typesrŒ�jj_�j j,Šjj\j}r��(j]j]j]j]j]ujKjhj]rŽ�j%XThere are five instance typesr��…�r��}r‘�(jjŒ�jjŠ�ubaubj`)�r’�}r“�(jUjj_�j j,Šjjcj}r”�(jeU.j]j]j]jfUj]j]jgjhujK!jhj]r•�(j)�r–�}r—�(jX‚**Server**: Manages all defined system resources. Services resource requests received from connected Client Delegates and Clients.jj’�j j,Šjj j}r˜�(j]j]j]j]j]ujNjhj]r™�jX)�rš�}r›�(jX‚**Server**: Manages all defined system resources. Services resource requests received from connected Client Delegates and Clients.jj–�j j,Šjj\j}rœ�(j]j]j]j]j]ujK!j]r��(j|)�rž�}rŸ�(jX **Server**j}r �(j]j]j]j]j]ujjš�j]r¡�j%XServerr¢�…�r£�}r¤�(jUjjž�ubajj„ubj%Xx: Manages all defined system resources. Services resource requests received from connected Client Delegates and Clients.r¥�…�r¦�}r§�(jXx: Manages all defined system resources. Services resource requests received from connected Client Delegates and Clients.jjš�ubeubaubj)�r¨�}r©�(jXº**Client Delegate (CD)**: Acts as a low-request-latency proxy for the RM Server, managing resources provided by the RM Server. Services resource requests received from connected Clients.jj’�j j,Šjj j}rª�(j]j]j]j]j]ujNjhj]r«�jX)�r¬�}r­�(jXº**Client Delegate (CD)**: Acts as a low-request-latency proxy for the RM Server, managing resources provided by the RM Server. Services resource requests received from connected Clients.jj¨�j j,Šjj\j}r®�(j]j]j]j]j]ujK#j]r¯�(j|)�r°�}r±�(jX**Client Delegate (CD)**j}r²�(j]j]j]j]j]ujj¬�j]r³�j%XClient Delegate (CD)r´�…�rµ�}r¶�(jUjj°�ubajj„ubj%X¢: Acts as a low-request-latency proxy for the RM Server, managing resources provided by the RM Server. Services resource requests received from connected Clients.r·�…�r¸�}r¹�(jX¢: Acts as a low-request-latency proxy for the RM Server, managing resources provided by the RM Server. Services resource requests received from connected Clients.jj¬�ubeubaubj)�rº�}r»�(jXé**Client**: Front-end for receiving/responding to resource requests from application. Forwards resource requests to Server, or CD, for servicing. Returns allocated resources to application once response is received from Server or CD.jj’�j j,Šjj j}r¼�(j]j]j]j]j]ujNjhj]r½�jX)�r¾�}r¿�(jXé**Client**: Front-end for receiving/responding to resource requests from application. Forwards resource requests to Server, or CD, for servicing. Returns allocated resources to application once response is received from Server or CD.jjº�j j,Šjj\j}rÀ�(j]j]j]j]j]ujK&j]rÁ�(j|)�rÂ�}rÃ�(jX **Client**j}rÄ�(j]j]j]j]j]ujj¾�j]rÅ�j%XClientrÆ�…�rÇ�}rÈ�(jUjjÂ�ubajj„ubj%Xß: Front-end for receiving/responding to resource requests from application. Forwards resource requests to Server, or CD, for servicing. Returns allocated resources to application once response is received from Server or CD.rÉ�…�rÊ�}rË�(jXß: Front-end for receiving/responding to resource requests from application. Forwards resource requests to Server, or CD, for servicing. Returns allocated resources to application once response is received from Server or CD.jj¾�ubeubaubj)�rÌ�}rÍ�(jX£**Shared Server**: Same as the standard Server except all resource data structures are stored in shared memory allowing direct access from Shared Client instances.jj’�j j,Šjj j}rÎ�(j]j]j]j]j]ujNjhj]rÏ�jX)�rÐ�}rÑ�(jX£**Shared Server**: Same as the standard Server except all resource data structures are stored in shared memory allowing direct access from Shared Client instances.jjÌ�j j,Šjj\j}rÒ�(j]j]j]j]j]ujK*j]rÓ�(j|)�rÔ�}rÕ�(jX**Shared Server**j}rÖ�(j]j]j]j]j]ujjÐ�j]r×�j%X Shared ServerrØ�…�rÙ�}rÚ�(jUjjÔ�ubajj„ubj%X’: Same as the standard Server except all resource data structures are stored in shared memory allowing direct access from Shared Client instances.rÛ�…�rÜ�}rÝ�(jX’: Same as the standard Server except all resource data structures are stored in shared memory allowing direct access from Shared Client instances.jjÐ�ubeubaubj)�rÞ�}rß�(jX/**Shared Client**: Same as Client except has direct access to the Server resource data structures via shared memory. Useful for low latency requests but not as robust from a software architecture perspective given shared memory MUST be available and used in order for Shared Server-Clients to function. jj’�j j,Šjj j}rà�(j]j]j]j]j]ujNjhj]rá�jX)�râ�}rã�(jX.**Shared Client**: Same as Client except has direct access to the Server resource data structures via shared memory. Useful for low latency requests but not as robust from a software architecture perspective given shared memory MUST be available and used in order for Shared Server-Clients to function.jjÞ�j j,Šjj\j}rä�(j]j]j]j]j]ujK-j]rå�(j|)�ræ�}rç�(jX**Shared Client**j}rè�(j]j]j]j]j]ujjâ�j]ré�j%X Shared Clientrê�…�rë�}rì�(jUjjæ�ubajj„ubj%X: Same as Client except has direct access to the Server resource data structures via shared memory. Useful for low latency requests but not as robust from a software architecture perspective given shared memory MUST be available and used in order for Shared Server-Clients to function.rí�…�rî�}rï�(jX: Same as Client except has direct access to the Server resource data structures via shared memory. Useful for low latency requests but not as robust from a software architecture perspective given shared memory MUST be available and used in order for Shared Server-Clients to function.jjâ�ubeubaubeubeubeubj j,Šjj?j}rð�(j]UlevelKj]j]rñ�jU�aUsourcej,Šj]j]UlineKUtypejAujKjhj]rò�jX)�ró�}rô�(jX+Duplicate implicit target name: "overview".j}rõ�(j]j]j]j]j]ujjŠj]rö�j%X+Duplicate implicit target name: "overview".r÷�…�rø�}rù�(jUjjó�ubajj\ubaubhÿ)�rú�}rû�(jUjj_�j j,Šjj?j}rü�(j]UlevelKj]j]rý�je�aUsourcej,Šj]j]UlineKUtypejAujKjhj]rþ�jX)�rÿ�}rŽ(jX/Duplicate implicit target name: "introduction".j}rŽ(j]j]j]j]j]ujjú�j]rŽj%X/Duplicate implicit target name: "introduction".rŽ…�rŽ}rŽ(jUjjÿ�ubajj\ubaubhÿ)�rŽ}rŽ(jUjj3Šj j,Šjj?j}rŽ(j]UlevelKj]j]r Žj9ŠaUsourcej,Šj]j]UlineK4UtypejAujK4jhj]r ŽjX)�r Ž}r Ž(jX1Duplicate implicit target name: "user interface".j}r Ž(j]j]j]j]j]ujjŽj]rŽj%X1Duplicate implicit target name: "user interface".rŽ…�rŽ}rŽ(jUjj Žubajj\ubaubhÿ)�rŽ}rŽ(jUjjCŠj j,Šjj?j}rŽ(j]UlevelKj]j]rŽjIŠaUsourcej,Šj]j]UlineK7UtypejAujK7jhj]rŽjX)�rŽ}rŽ(jX7Duplicate implicit target name: "driver configuration".j}rŽ(j]j]j]j]j]ujjŽj]rŽj%X7Duplicate implicit target name: "driver configuration".rŽ…�rŽ}rŽ(jUjjŽubajj\ubaubhÿ)�rŽ}rŽ(jUjj¢Šj j,Šjj?j}r Ž(j]UlevelKj]j]r!Žj¨ŠaUsourcej,Šj]j]UlineKTUtypejAujKTjhj]r"ŽjX)�r#Ž}r$Ž(jX'Duplicate implicit target name: "apis".j}r%Ž(j]j]j]j]j]ujjŽj]r&Žj%X'Duplicate implicit target name: "apis".r'Ž…�r(Ž}r)Ž(jUjj#Žubajj\ubaubhÿ)�r*Ž}r+Ž(jUjjîŠj j,Šjj?j}r,Ž(j]UlevelKj]j]r-ŽjôŠaUsourcej,Šj]j]UlineKoUtypejAujKojhj]r.ŽjX)�r/Ž}r0Ž(jX.Duplicate implicit target name: "application".j}r1Ž(j]j]j]j]j]ujj*Žj]r2Žj%X.Duplicate implicit target name: "application".r3Ž…�r4Ž}r5Ž(jUjj/Žubajj\ubaubhÿ)�r6Ž}r7Ž(jUjjþŠj j,Šjj?j}r8Ž(j]UlevelKj]j]r9Žj‹aUsourcej,Šj]j]UlineKrUtypejAujKrjhj]r:ŽjX)�r;Ž}r<Ž(jX+Duplicate implicit target name: "examples".j}r=Ž(j]j]j]j]j]ujj6Žj]r>Žj%X+Duplicate implicit target name: "examples".r?Ž…�r@Ž}rAŽ(jUjj;Žubajj\ubaubhÿ)�rBŽ}rCŽ(jUjj§Œj j,Šjj?j}rDŽ(j]UlevelKj]j]rEŽj­ŒaUsourcej,Šj]j]UlineK¾UtypejAujK¾jhj]rFŽjX)�rGŽ}rHŽ(jX8Duplicate implicit target name: "additional references".j}rIŽ(j]j]j]j]j]ujjBŽj]rJŽj%X8Duplicate implicit target name: "additional references".rKŽ…�rLŽ}rMŽ(jUjjGŽubajj\ubaubhÿ)�rNŽ}rOŽ(jUjj)�rPŽ}rQŽ(jUjKjj)�rRŽ}rSŽ(jUjhj j jjj}rTŽ(j]j]j]j]rUŽUgpmcrVŽaj]rWŽhÀaujK«jhj]rXŽ(j)�rYŽ}rZŽ(jXGPMCr[ŽjjRŽj j jj"j}r\Ž(j]j]j]j]j]ujK«jhj]r]Žj%XGPMCr^Ž…�r_Ž}r`Ž(jj[ŽjjYŽubaubj))�raŽ}rbŽ(jX?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_GPMCjjRŽj j,X=source/rtos/PDK_Platform_Software/Device_Drivers/GPMC.rst.incrcŽ…�rdŽ}reŽbjj0j}rfŽ(j2j3j]j]j]j]j]ujKjhj]rgŽj%X?http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_GPMCrhŽ…�riŽ}rjŽ(jUjjaŽubaubjPŽj)�rkŽ}rlŽ(jUjKjjRŽj jdŽjjj}rmŽ(j]rnŽXuser interfaceroŽaj]j]j]rpŽUid242rqŽaj]ujK+jhj]rrŽ(j)�rsŽ}rtŽ(jXUser InterfaceruŽjjkŽj jdŽjj"j}rvŽ(j]j]j]j]j]ujK+jhj]rwŽj%XUser InterfacerxŽ…�ryŽ}rzŽ(jjuŽjjsŽubaubj)�r{Ž}r|Ž(jUjKjjkŽj jdŽjjj}r}Ž(j]r~ŽXdriver configurationrŽaj]j]j]r€ŽUid243r�Žaj]ujK.jhj]r‚Ž(j)�rƒŽ}r„Ž(jXDriver Configurationr…Žjj{Žj jdŽjj"j}r†Ž(j]j]j]j]j]ujK.jhj]r‡Žj%XDriver ConfigurationrˆŽ…�r‰Ž}rŠŽ(jj…ŽjjƒŽubaubjb)�r‹Ž}rŒŽ(jX **Board Specific Configuration**r�ŽjKjj{Žj jdŽjjfj}rŽŽ(j]r�ŽUid244r�Žaj]j]r‘ŽXboard-specific-configurationr’Žaj]j]ujNjhj]r“Žj|)�r”Ž}r•Ž(jj�Žj}r–Ž(j]j]j]j]j]ujj‹Žj]r—Žj%XBoard Specific Configurationr˜Ž…�r™Ž}ršŽ(jUjj”Žubajj„ubaubjX)�r›Ž}rœŽ(jX8All the board specific configurations eg:enabling and pin-mux of GPMC pins should be performed before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer `Processor SDK RTOS Board Support `__ for additional details.jj{Žj jdŽjj\j}r�Ž(j]j]j]j]j]ujK3jhj]ržŽ(j%XÛAll the board specific configurations eg:enabling and pin-mux of GPMC pins should be performed before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer rŸŽ…�r Ž}r¡Ž(jXÛAll the board specific configurations eg:enabling and pin-mux of GPMC pins should be performed before calling any driver APIs.By default Board_Init() API supports all initialization sequence for TI supported EVMs.Refer jj›Žubj)�r¢Ž}r£Ž(jXE`Processor SDK RTOS Board Support `__j}r¤Ž(UnameX Processor SDK RTOS Board SupportjXindex_board.html#board-supportj]j]j]j]j]ujj›Žj]r¥Žj%X Processor SDK RTOS Board Supportr¦Ž…�r§Ž}r¨Ž(jUjj¢Žubajjubj%X for additional details.r©Ž…�rªŽ}r«Ž(jX for additional details.jj›ŽubeubjX)�r¬Ž}r­Ž(jXkOnce the board specific configuration is complete driver API GPMC_init() can be called to initialize driverr®Žjj{Žj jdŽjj\j}r¯Ž(j]j]j]j]j]ujK9jhj]r°Žj%XkOnce the board specific configuration is complete driver API GPMC_init() can be called to initialize driverr±Ž…�r²Ž}r³Ž(jj®Žjj¬Žubaubjb)�r´Ž}rµŽ(jX **GPMC Configuration Structure**r¶Žjj{Žj jdŽjjfj}r·Ž(j]r¸ŽUgpmc-configuration-structurer¹Žaj]j]j]j]rºŽh¶aujNjhj]r»Žj|)�r¼Ž}r½Ž(jj¶Žj}r¾Ž(j]j]j]j]j]ujj´Žj]r¿Žj%XGPMC Configuration StructurerÀŽ…�rÁŽ}rÂŽ(jUjj¼Žubajj„ubaubjX)�rÃŽ}rÄŽ(jXšGPMC_soc.c file binds driver with hardware attributes on the board through GPMC_config structure. This structure must be provided to GPMC driver. It must be initialized before the GPMC_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\gpmc\\docs\\doxygen\\html\\index.html.jj{Žj jdŽjj\j}rÅŽ(j]j]j]j]j]ujK?jhj]rÆŽj%X’GPMC_soc.c file binds driver with hardware attributes on the board through GPMC_config structure. This structure must be provided to GPMC driver. It must be initialized before the GPMC_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\gpmc\docs\doxygen\html\index.html.rÇŽ…�rÈŽ}rÉŽ(jXšGPMC_soc.c file binds driver with hardware attributes on the board through GPMC_config structure. This structure must be provided to GPMC driver. It must be initialized before the GPMC_init() function is called and cannot be changed afterwards. For details about the individual fields of this structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\gpmc\\docs\\doxygen\\html\\index.html.jjÃŽubaubeubj)�rÊŽ}rËŽ(jUjKjjkŽj jdŽjjj}rÌŽ(j]rÍŽXapisrÎŽaj]j]j]rÏŽUid245rÐŽaj]ujKGjhj]rÑŽ(j)�rÒŽ}rÓŽ(jXAPIsrÔŽjjÊŽj jdŽjj"j}rÕŽ(j]j]j]j]j]ujKGjhj]rÖŽj%XAPIsr׎…�rØŽ}rÙŽ(jjÔŽjjÒŽubaubjX)�rÚŽ}rÛŽ(jXAPI reference for application:rÜŽjjÊŽj jdŽjj\j}rÝŽ(j]j]j]j]j]ujKIjhj]rÞŽj%XAPI reference for application:rߎ…�ràŽ}ráŽ(jjÜŽjjÚŽubaubj#)�râŽ}rãŽ(jX#include jjÊŽj jdŽjj&j}räŽ(j2j3j]j]j]j]j]ujM®jhj]råŽj%X#include r掅�rçŽ}rèŽ(jUjjâŽubaubjX)�réŽ}rêŽ(jX/ Sample code for initiating GPMC transaction:rëŽjjÊŽj jdŽjj\j}rìŽ(j]j]j]j]j]ujKOjhj]ríŽj%X/ Sample code for initiating GPMC transaction:r�rïŽ}rðŽ(jjëŽjjéŽubaubj#)�rñŽ}ròŽ(jXø... Board_init(boardCfg); ... ... gpmc = GPMC_open(peripheralNum, &gpmcParams); ... ... /* Initiate GPMC transfers. Refer Example for details */ transferOK = GPMC_transfer(gpmc, &gpmcTransaction); if (!transferOK) { /* GPMC transaction failed */ }jjÊŽj jdŽjj&j}róŽ(j‰j Xcj2j3j]j]j]j!}j]j]ujKQjhj]rôŽj%Xø... Board_init(boardCfg); ... ... gpmc = GPMC_open(peripheralNum, &gpmcParams); ... ... /* Initiate GPMC transfers. Refer Example for details */ transferOK = GPMC_transfer(gpmc, &gpmcTransaction); if (!transferOK) { /* GPMC transaction failed */ }rõŽ…�röŽ}r÷Ž(jUjjñŽubaubeubeubj)�røŽ}rùŽ(jUjKjjRŽj jdŽjjj}rúŽ(j]rûŽX applicationrüŽaj]j]j]rýŽUid246rþŽaj]ujKcjhj]rÿŽ(j)�r�}r�(jX Applicationr�jjøŽj jdŽjj"j}r�(j]j]j]j]j]ujKcjhj]r�j%X Applicationr�…�r�}r�(jj�jj�ubaubj)�r�}r �(jUjKjjøŽj jdŽjjj}r �(j]r �Xexamplesr �aj]j]j]r �Uid247r�aj]ujKfjhj]r�(j)�r�}r�(jXExamplesr�jj�j jdŽjj"j}r�(j]j]j]j]j]ujKfjhj]r�j%XExamplesr�…�r�}r�(jj�jj�ubaubjX)�r�}r�(jX9Refer Release Note for GPMC support across different EVMsr�jj�j jdŽjj\j}r�(j]j]j]j]j]ujKhjhj]r�j%X9Refer Release Note for GPMC support across different EVMsr�…�r�}r�(jj�jj�ubaubj¶)�r �}r!�(jUjj�j jdŽjj¹j}r"�(j]j]j]j]j]ujNjhj]r#�j¼)�r$�}r%�(jUj}r&�(j]j]j]j]j]UcolsKujj �j]r'�(jÁ)�r(�}r)�(jUj}r*�(j]j]j]j]j]UcolwidthKujj$�j]jjÅubjÁ)�r+�}r,�(jUj}r-�(j]j]j]j]j]UcolwidthKujj$�j]jjÅubjÁ)�r.�}r/�(jUj}r0�(j]j]j]j]j]UcolwidthKujj$�j]jjÅubjÒ)�r1�}r2�(jUj}r3�(j]j]j]j]j]ujj$�j]r4�j×)�r5�}r6�(jUj}r7�(j]j]j]j]j]ujj1�j]r8�(jÜ)�r9�}r:�(jUj}r;�(j]j]j]j]j]ujj5�j]r<�jX)�r=�}r>�(jXNamer?�jj9�j jdŽjj\j}r@�(j]j]j]j]j]ujKkj]rA�j%XNamerB�…�rC�}rD�(jj?�jj=�ubaubajjéubjÜ)�rE�}rF�(jUj}rG�(j]j]j]j]j]ujj5�j]rH�jÁ)�rI�}rJ�(jUj}rK�(j]j]j]j]j]ujjE�j]rL�jÇ)�rM�}rN�(jX DescriptionrO�jÊKjjI�j jdŽjjj}rP�(j]j]j]j]j]ujKj]rQ�j%X DescriptionrR�…�rS�}rT�(jjO�jjM�ubaubajjÄubajjéubjÜ)�rU�}rV�(jUj}rW�(j]j]j]j]j]ujj5�j]rX�jX)�rY�}rZ�(jXExpected Resultsr[�jjU�j jdŽjj\j}r\�(j]j]j]j]j]ujKkj]r]�j%XExpected Resultsr^�…�r_�}r`�(jj[�jjY�ubaubajjéubejjubajjubj)�ra�}rb�(jUj}rc�(j]j]j]j]j]ujj$�j]rd�(j×)�re�}rf�(jUj}rg�(j]j]j]j]j]ujja�j]rh�(jÜ)�ri�}rj�(jUj}rk�(j]j]j]j]j]ujje�j]rl�jX)�rm�}rn�(jX&GPMC NOR/NAND Read Example Applicationro�jji�j jdŽjj\j}rp�(j]j]j]j]j]ujKmj]rq�j%X&GPMC NOR/NAND Read Example Applicationrr�…�rs�}rt�(jjo�jjm�ubaubajjéubjÜ)�ru�}rv�(jUj}rw�(j]j]j]j]j]ujje�j]rx�jÁ)�ry�}rz�(jUj}r{�(j]j]j]j]j]ujju�j]r|�jÇ)�r}�}r~�(jX>Simple example to read data from GPMC NOR/NAND flash on board.r�jÊKjjy�j jdŽjjj}r€�(j]j]j]j]j]ujKj]r��j%X>Simple example to read data from GPMC NOR/NAND flash on board.r‚�…�rƒ�}r„�(jj�jj}�ubaubajjÄubajjéubjÜ)�r…�}r†�(jUj}r‡�(j]j]j]j]j]ujje�j]rˆ�(jX)�r‰�}rŠ�(jXBFollowing prints will come on console based on pass/fail criteria:r‹�jj…�j jdŽjj\j}rŒ�(j]j]j]j]j]ujKmj]r��j%XBFollowing prints will come on console based on pass/fail criteria:rŽ�…�r��}r��(jj‹�jj‰�ubaubjX)�r‘�}r’�(jX**Pass criteria:**r“�jj…�j jdŽjj\j}r”�(j]j]j]j]j]ujKrj]r•�j|)�r–�}r—�(jj“�j}r˜�(j]j]j]j]j]ujj‘�j]r™�j%XPass criteria:rš�…�r›�}rœ�(jUjj–�ubajj„ubaubjX)�r��}rž�(jX1GPMC flash device ID: 0x##, manufacturer ID: 0x##rŸ�jj…�j jdŽjj\j}r �(j]j]j]j]j]ujKtj]r¡�j%X1GPMC flash device ID: 0x##, manufacturer ID: 0x##r¢�…�r£�}r¤�(jjŸ�jj��ubaubjX)�r¥�}r¦�(jXGPMC flash read test passed.r§�jj…�j jdŽjj\j}r¨�(j]j]j]j]j]ujKxj]r©�j%XGPMC flash read test passed.rª�…�r«�}r¬�(jj§�jj¥�ubaubjX)�r­�}r®�(jXAll tests have passed.r¯�jj…�j jdŽjj\j}r°�(j]j]j]j]j]ujK{j]r±�j%XAll tests have passed.r²�…�r³�}r´�(jj¯�jj­�ubaubejjéubejjubj×)�rµ�}r¶�(jUj}r·�(j]j]j]j]j]ujja�j]r¸�(jÜ)�r¹�}rº�(jUj}r»�(j]j]j]j]j]ujjµ�j]r¼�jX)�r½�}r¾�(jXGPMC NOR/NAND test applicationr¿�jj¹�j jdŽjj\j}rÀ�(j]j]j]j]j]ujK~j]rÁ�j%XGPMC NOR/NAND test applicationrÂ�…�rÃ�}rÄ�(jj¿�jj½�ubaubajjéubjÜ)�rÅ�}rÆ�(jUj}rÇ�(j]j]j]j]j]ujjµ�j]rÈ�jÁ)�rÉ�}rÊ�(jUj}rË�(j]j]j]j]j]ujjÅ�j]rÌ�jÇ)�rÍ�}rÎ�(jXJDriver Unit Test application to test GPMC NOR/NAND flash read/erase/writerÏ�jÊKjjÉ�j jdŽjjj}rÐ�(j]j]j]j]j]ujKj]rÑ�j%XJDriver Unit Test application to test GPMC NOR/NAND flash read/erase/writerÒ�…�rÓ�}rÔ�(jjÏ�jjÍ�ubaubajjÄubajjéubjÜ)�rÕ�}rÖ�(jUj}r×�(j]j]j]j]j]ujjµ�j]rØ�(jX)�rÙ�}rÚ�(jXBFollowing prints will come on console based on pass/fail criteria:rÛ�jjÕ�j jdŽjj\j}rÜ�(j]j]j]j]j]ujK~j]rÝ�j%XBFollowing prints will come on console based on pass/fail criteria:rÞ�…�rß�}rà�(jjÛ�jjÙ�ubaubjX)�rá�}râ�(jX**Pass criteria:**rã�jjÕ�j jdŽjj\j}rä�(j]j]j]j]j]ujKƒj]rå�j|)�ræ�}rç�(jjã�j}rè�(j]j]j]j]j]ujjá�j]ré�j%XPass criteria:rê�…�rë�}rì�(jUjjæ�ubajj„ubaubjX)�rí�}rî�(jX1GPMC flash device ID: 0x##, manufacturer ID: 0x##rï�jjÕ�j jdŽjj\j}rð�(j]j]j]j]j]ujK…j]rñ�j%X1GPMC flash device ID: 0x##, manufacturer ID: 0x##rò�…�ró�}rô�(jjï�jjí�ubaubjX)�rõ�}rö�(jX#GPMC flash block erase test passed.r÷�jjÕ�j jdŽjj\j}rø�(j]j]j]j]j]ujK‰j]rù�j%X#GPMC flash block erase test passed.rú�…�rû�}rü�(jj÷�jjõ�ubaubjX)�rý�}rþ�(jXGPMC flash write test passed.rÿ�jjÕ�j jdŽjj\j}r�(j]j]j]j]j]ujKŒj]r�j%XGPMC flash write test passed.r�…�r�}r�(jjÿ�jjý�ubaubjX)�r�}r�(jXGPMC flash read test passed.r�jjÕ�j jdŽjj\j}r�(j]j]j]j]j]ujK�j]r �j%XGPMC flash read test passed.r �…�r �}r �(jj�jj�ubaubjX)�r �}r�(jXAll tests have passed.r�jjÕ�j jdŽjj\j}r�(j]j]j]j]j]ujK’j]r�j%XAll tests have passed.r�…�r�}r�(jj�jj �ubaubejjéubejjubj×)�r�}r�(jUj}r�(j]j]j]j]j]ujja�j]r�(jÜ)�r�}r�(jUj}r�(j]j]j]j]j]ujj�j]jjéubjÜ)�r�}r�(jUj}r�(j]j]j]j]j]ujj�j]jjéubjÜ)�r�}r �(jUj}r!�(j]j]j]j]j]ujj�j]jjéubejjubejjðubejjñubaubj\)�r"�}r#�(jX™1. GPMC Test Application supports write test, by default write test is disabled, user can enable the write test by defining TEST_GPMC_FLASH_WRITE in test/src/GPMC_board.h. 2. In GPMC_Test_icev2AM335x, J5 pin2 & 3 should be shorted on iceV2AM335x board in order to test GPMC NOR flash. 3. In GPMC_Test_evmAM437x, J2 pin1 & 2 should NOT be shorted on evmAM437x board in order to test GPMC NAND flash.jj�j jdŽjj_j}r$�(j]j]j]j]j]ujNjhj]r%�(j`)�r&�}r'�(jUj}r(�(jeU.j]j]j]jfUj]j]jgjhujj"�j]r)�(j)�r*�}r+�(jX©GPMC Test Application supports write test, by default write test is disabled, user can enable the write test by defining TEST_GPMC_FLASH_WRITE in test/src/GPMC_board.h. j}r,�(j]j]j]j]j]ujj&�j]r-�jX)�r.�}r/�(jX¨GPMC Test Application supports write test, by default write test is disabled, user can enable the write test by defining TEST_GPMC_FLASH_WRITE in test/src/GPMC_board.h.r0�jj*�j jdŽjj\j}r1�(j]j]j]j]j]ujKšj]r2�j%X¨GPMC Test Application supports write test, by default write test is disabled, user can enable the write test by defining TEST_GPMC_FLASH_WRITE in test/src/GPMC_board.h.r3�…�r4�}r5�(jj0�jj.�ubaubajj ubj)�r6�}r7�(jXnIn GPMC_Test_icev2AM335x, J5 pin2 & 3 should be shorted on iceV2AM335x board in order to test GPMC NOR flash. j}r8�(j]j]j]j]j]ujj&�j]r9�jX)�r:�}r;�(jXmIn GPMC_Test_icev2AM335x, J5 pin2 & 3 should be shorted on iceV2AM335x board in order to test GPMC NOR flash.r<�jj6�j jdŽjj\j}r=�(j]j]j]j]j]ujKžj]r>�j%XmIn GPMC_Test_icev2AM335x, J5 pin2 & 3 should be shorted on iceV2AM335x board in order to test GPMC NOR flash.r?�…�r@�}rA�(jj<�jj:�ubaubajj ubejjcubjX)�rB�}rC�(jXq3. In GPMC_Test_evmAM437x, J2 pin1 & 2 should NOT be shorted on evmAM437x board in order to test GPMC NAND flash.rD�jj"�j jdŽjj\j}rE�(j]j]j]j]j]ujK¡j]rF�j%Xq3. In GPMC_Test_evmAM437x, J2 pin1 & 2 should NOT be shorted on evmAM437x board in order to test GPMC NAND flash.rG�…�rH�}rI�(jjD�jjB�ubaubeubeubeubj)�rJ�}rK�(jUjKjjRŽj jdŽjjj}rL�(j]rM�Xadditional referencesrN�aj]j]j]rO�Uid248rP�aj]ujK¥jhj]rQ�(j)�rR�}rS�(jXAdditional ReferencesrT�jjJ�j jdŽjj"j}rU�(j]j]j]j]j]ujK¥jhj]rV�j%XAdditional ReferencesrW�…�rX�}rY�(jjT�jjR�ubaubj¶)�rZ�}r[�(jUjjJ�j jdŽjj¹j}r\�(j]j]j]j]j]ujNjhj]r]�j¼)�r^�}r_�(jUj}r`�(j]j]j]j]j]UcolsKujjZ�j]ra�(jÁ)�rb�}rc�(jUj}rd�(j]j]j]j]j]UcolwidthK#ujj^�j]jjÅubjÁ)�re�}rf�(jUj}rg�(j]j]j]j]j]UcolwidthK)ujj^�j]jjÅubj)�rh�}ri�(jUj}rj�(j]j]j]j]j]ujj^�j]rk�(j×)�rl�}rm�(jUj}rn�(j]j]j]j]j]ujjh�j]ro�(jÜ)�rp�}rq�(jUj}rr�(j]j]j]j]j]ujjl�j]rs�jX)�rt�}ru�(jX **Document**rv�jjp�j jdŽjj\j}rw�(j]j]j]j]j]ujK¨j]rx�j|)�ry�}rz�(jjv�j}r{�(j]j]j]j]j]ujjt�j]r|�j%XDocumentr}�…�r~�}r�(jUjjy�ubajj„ubaubajjéubjÜ)�r€�}r��(jUj}r‚�(j]j]j]j]j]ujjl�j]rƒ�jX)�r„�}r…�(jX **Location**r†�jj€�j jdŽjj\j}r‡�(j]j]j]j]j]ujK¨j]rˆ�j|)�r‰�}rŠ�(jj†�j}r‹�(j]j]j]j]j]ujj„�j]rŒ�j%XLocationr��…�rŽ�}r��(jUjj‰�ubajj„ubaubajjéubejjubj×)�r��}r‘�(jUj}r’�(j]j]j]j]j]ujjh�j]r“�(jÜ)�r”�}r•�(jUj}r–�(j]j]j]j]j]ujj��j]r—�jX)�r˜�}r™�(jXAPI Reference Manualrš�jj”�j jdŽjj\j}r›�(j]j]j]j]j]ujKªj]rœ�j%XAPI Reference Manualr��…�rž�}rŸ�(jjš�jj˜�ubaubajjéubjÜ)�r �}r¡�(jUj}r¢�(j]j]j]j]j]ujj��j]r£�jX)�r¤�}r¥�(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\gpmc\\docs\\doxygen\\html\\index .htmljj �j jdŽjj\j}r¦�(j]j]j]j]j]ujKªj]r§�j%XI$(TI_PDK_INSTALL_DIR)\packages\ti \drv\gpmc\docs\doxygen\html\index .htmlr¨�…�r©�}rª�(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\gpmc\\docs\\doxygen\\html\\index .htmljj¤�ubaubajjéubejjubj×)�r«�}r¬�(jUj}r­�(j]j]j]j]j]ujjh�j]r®�(jÜ)�r¯�}r°�(jUj}r±�(j]j]j]j]j]ujj«�j]r²�jX)�r³�}r´�(jX Release Notesrµ�jj¯�j jdŽjj\j}r¶�(j]j]j]j]j]ujK®j]r·�j%X Release Notesr¸�…�r¹�}rº�(jjµ�jj³�ubaubajjéubjÜ)�r»�}r¼�(jUj}r½�(j]j]j]j]j]ujj«�j]r¾�jX)�r¿�}rÀ�(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\gpmc\\docs\\ReleaseNotes_GPMC_ LLD.pdfjj»�j jdŽjj\j}rÁ�(j]j]j]j]j]ujK®j]rÂ�j%XK$(TI_PDK_INSTALL_DIR)\packages\ti \drv\gpmc\docs\ReleaseNotes_GPMC_ LLD.pdfrÃ�…�rÄ�}rÅ�(jXQ$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\gpmc\\docs\\ReleaseNotes_GPMC_ LLD.pdfjj¿�ubaubajjéubejjubejjðubejjñubaubjÁ)�rÆ�}rÇ�(jUjjJ�j jdŽjjÄj}rÈ�(j]j]j]j]j]ujK³jhj]rÉ�jÇ)�rÊ�}rË�(jUjÊKjjÆ�j jdŽjjj}rÌ�(j]j]j]j]j]ujKjhj]ubaubeubeubj jdŽjjj}rÍ�(j]rÎ�XoverviewrÏ�aj]j]j]rÐ�Uid240rÑ�aj]ujKjhj]rÒ�(j)�rÓ�}rÔ�(jXOverviewrÕ�jjPŽj jdŽjj"j}rÖ�(j]j]j]j]j]ujKjhj]r×�j%XOverviewrØ�…�rÙ�}rÚ�(jjÕ�jjÓ�ubaubj)�rÛ�}rÜ�(jUjKjjPŽj jdŽjjj}rÝ�(j]rÞ�X introductionrß�aj]j]j]rà�Uid241rá�aj]ujKjhj]râ�(j)�rã�}rä�(jX Introductionrå�jjÛ�j jdŽjj"j}ræ�(j]j]j]j]j]ujKjhj]rç�j%X Introductionrè�…�ré�}rê�(jjå�jjã�ubaubjX)�rë�}rì�(jX~The general-purpose memory controller (GPMC) is an unified memory controller dedicated to interfacing external memory devices:rí�jjÛ�j jdŽjj\j}rî�(j]j]j]j]j]ujK jhj]rï�j%X~The general-purpose memory controller (GPMC) is an unified memory controller dedicated to interfacing external memory devices:rð�…�rñ�}rò�(jjí�jjë�ubaubj)�ró�}rô�(jUjjÛ�j jdŽjjj}rõ�(jX-j]j]j]j]j]ujK jhj]rö�(j)�r÷�}rø�(jXZAsynchronous SRAM-like memories and application-specific integrated circuit (ASIC) devicesjjó�j jdŽjj j}rù�(j]j]j]j]j]ujNjhj]rú�jX)�rû�}rü�(jXZAsynchronous SRAM-like memories and application-specific integrated circuit (ASIC) devicesrý�jj÷�j jdŽjj\j}rþ�(j]j]j]j]j]ujK j]rÿ�j%XZAsynchronous SRAM-like memories and application-specific integrated circuit (ASIC) devicesr‘…�r‘}r‘(jjý�jjû�ubaubaubj)�r‘}r‘(jXiAsynchronous, synchronous, and page mode (only available in non-multiplexed mode) burst NOR flash devicesjjó�j jdŽjj j}r‘(j]j]j]j]j]ujNjhj]r‘jX)�r‘}r‘(jXiAsynchronous, synchronous, and page mode (only available in non-multiplexed mode) burst NOR flash devicesr ‘jj‘j jdŽjj\j}r ‘(j]j]j]j]j]ujKj]r ‘j%XiAsynchronous, synchronous, and page mode (only available in non-multiplexed mode) burst NOR flash devicesr ‘…�r ‘}r‘(jj ‘jj‘ubaubaubj)�r‘}r‘(jX NAND Flash jjó�j jdŽjj j}r‘(j]j]j]j]j]ujNjhj]r‘jX)�r‘}r‘(jX NAND Flashr‘jj‘j jdŽjj\j}r‘(j]j]j]j]j]ujKj]r‘j%X NAND Flashr‘…�r‘}r‘(jj‘jj‘ubaubaubeubjX)�r‘}r‘(jXnDriver supports two types of transfers with data path to external memory device configured to be 16- or 8-bit:r‘jjÛ�j jdŽjj\j}r‘(j]j]j]j]j]ujKjhj]r‘j%XnDriver supports two types of transfers with data path to external memory device configured to be 16- or 8-bit:r ‘…�r!‘}r"‘(jj‘jj‘ubaubj)�r#‘}r$‘(jUjjÛ�j jdŽjjj}r%‘(jX-j]j]j]j]j]ujKjhj]r&‘(j)�r'‘}r(‘(jXReadr)‘jj#‘j jdŽjj j}r*‘(j]j]j]j]j]ujNjhj]r+‘jX)�r,‘}r-‘(jj)‘jj'‘j jdŽjj\j}r.‘(j]j]j]j]j]ujKj]r/‘j%XReadr0‘…�r1‘}r2‘(jj)‘jj,‘ubaubaubj)�r3‘}r4‘(jXWrite jj#‘j jdŽjj j}r5‘(j]j]j]j]j]ujNjhj]r6‘jX)�r7‘}r8‘(jXWriter9‘jj3‘j jdŽjj\j}r:‘(j]j]j]j]j]ujKj]r;‘j%XWriter<‘…�r=‘}r>‘(jj9‘jj7‘ubaubaubeubjÁ)�r?‘}r@‘(jUjjÛ�j jdŽjjÄj}rA‘(j]j]j]j]j]ujKjhj]rB‘jÇ)�rC‘}rD‘(jX9In addition driver supports following modes of operation:rE‘jÊKjj?‘j jdŽjjj}rF‘(j]j]j]j]j]ujKjhj]rG‘j%X9In addition driver supports following modes of operation:rH‘…�rI‘}rJ‘(jjE‘jjC‘ubaubaubj)�rK‘}rL‘(jUjjÛ�j jdŽjjj}rM‘(jX-j]j]j]j]j]ujKjhj]rN‘(j)�rO‘}rP‘(jX**GPMC_MODE_BLOCKING:** By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.jjK‘j jdŽjj j}rQ‘(j]j]j]j]j]ujNjhj]rR‘jX)�rS‘}rT‘(jX**GPMC_MODE_BLOCKING:** By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.jjO‘j jdŽjj\j}rU‘(j]j]j]j]j]ujKj]rV‘(j|)�rW‘}rX‘(jX**GPMC_MODE_BLOCKING:**j}rY‘(j]j]j]j]j]ujjS‘j]rZ‘j%XGPMC_MODE_BLOCKING:r[‘…�r\‘}r]‘(jUjjW‘ubajj„ubj%X By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.r^‘…�r_‘}r`‘(jX By default, driver operates in blocking mode. In blocking mode, a Task’s code execution is blocked until transaction is complete. This ensures only one transaction operates at a given time. Driver supports both interrupt or non-interrupt based blocking modes.jjS‘ubeubaubj)�ra‘}rb‘(jX**GPMC_MODE_CALLBACK** In callback mode, an GPMC transaction functions asynchronously, which means that it does not block a Task’s code execution. After an GPMC transaction is complete, GPMC driver calls a user-provided hook function. Only interrupt based callback is supported. jjK‘j jdŽjj j}rc‘(j]j]j]j]j]ujNjhj]rd‘jX)�re‘}rf‘(jX**GPMC_MODE_CALLBACK** In callback mode, an GPMC transaction functions asynchronously, which means that it does not block a Task’s code execution. After an GPMC transaction is complete, GPMC driver calls a user-provided hook function. Only interrupt based callback is supported.jja‘j jdŽjj\j}rg‘(j]j]j]j]j]ujKj]rh‘(j|)�ri‘}rj‘(jX**GPMC_MODE_CALLBACK**j}rk‘(j]j]j]j]j]ujje‘j]rl‘j%XGPMC_MODE_CALLBACKrm‘…�rn‘}ro‘(jUjji‘ubajj„ubj%X In callback mode, an GPMC transaction functions asynchronously, which means that it does not block a Task’s code execution. After an GPMC transaction is complete, GPMC driver calls a user-provided hook function. Only interrupt based callback is supported.rp‘…�rq‘}rr‘(jX In callback mode, an GPMC transaction functions asynchronously, which means that it does not block a Task’s code execution. After an GPMC transaction is complete, GPMC driver calls a user-provided hook function. Only interrupt based callback is supported.jje‘ubeubaubeubjX)�rs‘}rt‘(jX=In NAND flash mode, driver supports following ECC algorithms:ru‘jjÛ�j jdŽjj\j}rv‘(j]j]j]j]j]ujK%jhj]rw‘j%X=In NAND flash mode, driver supports following ECC algorithms:rx‘…�ry‘}rz‘(jju‘jjs‘ubaubj)�r{‘}r|‘(jUjjÛ�j jdŽjjj}r}‘(jX-j]j]j]j]j]ujK'jhj]r~‘(j)�r‘}r€‘(jXBCH code 8-bitr�‘jj{‘j jdŽjj j}r‚‘(j]j]j]j]j]ujNjhj]rƒ‘jX)�r„‘}r…‘(jj�‘jj‘j jdŽjj\j}r†‘(j]j]j]j]j]ujK'j]r‡‘j%XBCH code 8-bitrˆ‘…�r‰‘}rŠ‘(jj�‘jj„‘ubaubaubj)�r‹‘}rŒ‘(jXHAMMING code 1-bit jj{‘j jdŽjj j}r�‘(j]j]j]j]j]ujNjhj]rŽ‘jX)�r�‘}r�‘(jXHAMMING code 1-bitr‘‘jj‹‘j jdŽjj\j}r’‘(j]j]j]j]j]ujK(j]r“‘j%XHAMMING code 1-bitr”‘…�r•‘}r–‘(jj‘‘jj�‘ubaubaubeubeubeubj jdŽjj?j}r—‘(j]UlevelKj]j]r˜‘jÑ�aUsourcejdŽj]j]UlineKUtypejAujKjhj]r™‘jX)�rš‘}r›‘(jX+Duplicate implicit target name: "overview".j}rœ‘(j]j]j]j]j]ujjNŽj]r�‘j%X+Duplicate implicit target name: "overview".rž‘…�rŸ‘}r ‘(jUjjš‘ubajj\ubaubhÿ)�r¡‘}r¢‘(jUjjÛ�j jdŽjj?j}r£‘(j]UlevelKj]j]r¤‘já�aUsourcejdŽj]j]UlineKUtypejAujKjhj]r¥‘jX)�r¦‘}r§‘(jX/Duplicate implicit target name: "introduction".j}r¨‘(j]j]j]j]j]ujj¡‘j]r©‘j%X/Duplicate implicit target name: "introduction".rª‘…�r«‘}r¬‘(jUjj¦‘ubajj\ubaubhÿ)�r­‘}r®‘(jUjjkŽj jdŽjj?j}r¯‘(j]UlevelKj]j]r°‘jqŽaUsourcejdŽj]j]UlineK+UtypejAujK+jhj]r±‘jX)�r²‘}r³‘(jX1Duplicate implicit target name: "user interface".j}r´‘(j]j]j]j]j]ujj­‘j]rµ‘j%X1Duplicate implicit target name: "user interface".r¶‘…�r·‘}r¸‘(jUjj²‘ubajj\ubaubhÿ)�r¹‘}rº‘(jUjj{Žj jdŽjj?j}r»‘(j]UlevelKj]j]r¼‘j�ŽaUsourcejdŽj]j]UlineK.UtypejAujK.jhj]r½‘jX)�r¾‘}r¿‘(jX7Duplicate implicit target name: "driver configuration".j}rÀ‘(j]j]j]j]j]ujj¹‘j]rÁ‘j%X7Duplicate implicit target name: "driver configuration".r‘…�rÑ}rÄ‘(jUjj¾‘ubajj\ubaubhÿ)�rÅ‘}rÆ‘(jUj}rÇ‘(j]UlevelKj]j]rÈ‘j�ŽaUsourcej j]j]UlineK«UtypejXujj‹Žj]rÉ‘jX)�rÊ‘}rË‘(jX?Duplicate explicit target name: "board-specific-configuration".j}rÌ‘(j]j]j]j]j]ujjÅ‘j]rÍ‘j%X?Duplicate explicit target name: "board-specific-configuration".rΑ…�rÏ‘}rБ(jUjjÊ‘ubajj\ubajj?ubhÿ)�rÑ‘}rÒ‘(jUjjÊŽj jdŽjj?j}rÓ‘(j]UlevelKj]j]rÔ‘jÐŽaUsourcejdŽj]j]UlineKGUtypejAujKGjhj]rÕ‘jX)�rÖ‘}rב(jX'Duplicate implicit target name: "apis".j}rØ‘(j]j]j]j]j]ujjÑ‘j]rÙ‘j%X'Duplicate implicit target name: "apis".rÚ‘…�rÛ‘}rÜ‘(jUjjÖ‘ubajj\ubaubhÿ)�rÝ‘}rÞ‘(jUjjøŽj jdŽjj?j}rß‘(j]UlevelKj]j]rà‘jþŽaUsourcejdŽj]j]UlineKcUtypejAujKcjhj]rá‘jX)�râ‘}rã‘(jX.Duplicate implicit target name: "application".j}rä‘(j]j]j]j]j]ujjÝ‘j]rå‘j%X.Duplicate implicit target name: "application".ræ‘…�rç‘}rè‘(jUjjâ‘ubajj\ubaubhÿ)�ré‘}rê‘(jUjj�j jdŽjj?j}rë‘(j]UlevelKj]j]rì‘j�aUsourcejdŽj]j]UlineKfUtypejAujKfjhj]rí‘jX)�rî‘}rï‘(jX+Duplicate implicit target name: "examples".j}rð‘(j]j]j]j]j]ujjé‘j]rñ‘j%X+Duplicate implicit target name: "examples".rò‘…�ró‘}rô‘(jUjjî‘ubajj\ubaubhÿ)�rõ‘}rö‘(jUjjJ�j jdŽjj?j}r÷‘(j]UlevelKj]j]rø‘jP�aUsourcejdŽj]j]UlineK¥UtypejAujK¥jhj]rù‘jX)�rú‘}rû‘(jX8Duplicate implicit target name: "additional references".j}rü‘(j]j]j]j]j]ujjõ‘j]rý‘j%X8Duplicate implicit target name: "additional references".rþ‘…�rÿ‘}r’(jUjjú‘ubajj\ubaubhÿ)�r’}r’(jUjj)�r’}r’(jUjKjj)�r’}r’(jUjhj j jjj}r’(j]j]j]j]r’U sciclientr ’aj]r ’hÉaujK±jhj]r ’(j)�r ’}r ’(jX SCICLIENTr’jj’j j jj"j}r’(j]j]j]j]j]ujK±jhj]r’j%X SCICLIENTr’…�r’}r’(jj’jj ’ubaubj))�r’}r’(jXDhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_SCICLIENTjj’j j,XBsource/rtos/PDK_Platform_Software/Device_Drivers/SCICLIENT.rst.incr’…�r’}r’bjj0j}r’(j2j3j]j]j]j]j]ujKjhj]r’j%XDhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_SCICLIENTr’…�r’}r’(jUjj’ubaubj’j)�r’}r’(jUjKjj’j j’jjj}r ’(j]r!’Xterms and abbreviationr"’aj]j]j]r#’Uterms-and-abbreviationr$’aj]ujKjhj]r%’(j)�r&’}r'’(jXTerms and Abbreviationr(’jj’j j’jj"j}r)’(j]j]j]j]j]ujKjhj]r*’j%XTerms and Abbreviationr+’…�r,’}r-’(jj(’jj&’ubaubj¶)�r.’}r/’(jUjj’j j’jj¹j}r0’(j]j]j]j]j]ujNjhj]r1’j¼)�r2’}r3’(jUj}r4’(j]j]j]j]j]UcolsKujj.’j]r5’(jÁ)�r6’}r7’(jUj}r8’(j]j]j]j]j]UcolwidthKujj2’j]jjÅubjÁ)�r9’}r:’(jUj}r;’(j]j]j]j]j]UcolwidthK)ujj2’j]jjÅubjÒ)�r<’}r=’(jUj}r>’(j]j]j]j]j]ujj2’j]r?’j×)�r@’}rA’(jUj}rB’(j]j]j]j]j]ujj<’j]rC’(jÜ)�rD’}rE’(jUj}rF’(j]j]j]j]j]ujj@’j]rG’jX)�rH’}rI’(jXtermrJ’jjD’j j’jj\j}rK’(j]j]j]j]j]ujK"j]rL’j%XtermrM’…�rN’}rO’(jjJ’jjH’ubaubajjéubjÜ)�rP’}rQ’(jUj}rR’(j]j]j]j]j]ujj@’j]rS’jX)�rT’}rU’(jXdefinition or explanationrV’jjP’j j’jj\j}rW’(j]j]j]j]j]ujK"j]rX’j%Xdefinition or explanationrY’…�rZ’}r[’(jjV’jjT’ubaubajjéubejjubajjubj)�r\’}r]’(jUj}r^’(j]j]j]j]j]ujj2’j]r_’(j×)�r`’}ra’(jUj}rb’(j]j]j]j]j]ujj\’j]rc’(jÜ)�rd’}re’(jUj}rf’(j]j]j]j]j]ujj`’j]rg’jX)�rh’}ri’(jXDMSCrj’jjd’j j’jj\j}rk’(j]j]j]j]j]ujK$j]rl’j%XDMSCrm’…�rn’}ro’(jjj’jjh’ubaubajjéubjÜ)�rp’}rq’(jUj}rr’(j]j]j]j]j]ujj`’j]rs’jX)�rt’}ru’(jX)Device Management and Security Controllerrv’jjp’j j’jj\j}rw’(j]j]j]j]j]ujK$j]rx’j%X)Device Management and Security Controllerry’…�rz’}r{’(jjv’jjt’ubaubajjéubejjubj×)�r|’}r}’(jUj}r~’(j]j]j]j]j]ujj\’j]r’(jÜ)�r€’}r�’(jUj}r‚’(j]j]j]j]j]ujj|’j]rƒ’jX)�r„’}r…’(jXSCIr†’jj€’j j’jj\j}r‡’(j]j]j]j]j]ujK%j]rˆ’j%XSCIr‰’…�rŠ’}r‹’(jj†’jj„’ubaubajjéubjÜ)�rŒ’}r�’(jUj}rŽ’(j]j]j]j]j]ujj|’j]r�’jX)�r�’}r‘’(jXSystem Control Interfacer’’jjŒ’j j’jj\j}r“’(j]j]j]j]j]ujK%j]r”’j%XSystem Control Interfacer•’…�r–’}r—’(jj’’jj�’ubaubajjéubejjubj×)�r˜’}r™’(jUj}rš’(j]j]j]j]j]ujj\’j]r›’(jÜ)�rœ’}r�’(jUj}rž’(j]j]j]j]j]ujj˜’j]rŸ’jX)�r ’}r¡’(jXSYSFWr¢’jjœ’j j’jj\j}r£’(j]j]j]j]j]ujK&j]r¤’j%XSYSFWr¥’…�r¦’}r§’(jj¢’jj ’ubaubajjéubjÜ)�r¨’}r©’(jUj}rª’(j]j]j]j]j]ujj˜’j]r«’jX)�r¬’}r­’(jXSystem Firmwarer®’jj¨’j j’jj\j}r¯’(j]j]j]j]j]ujK&j]r°’j%XSystem Firmwarer±’…�r²’}r³’(jj®’jj¬’ubaubajjéubejjubj×)�r´’}rµ’(jUj}r¶’(j]j]j]j]j]ujj\’j]r·’(jÜ)�r¸’}r¹’(jUj}rº’(j]j]j]j]j]ujj´’j]r»’jX)�r¼’}r½’(jXPMr¾’jj¸’j j’jj\j}r¿’(j]j]j]j]j]ujK'j]rÀ’j%XPMrÁ’…�rÂ’}rÃ’(jj¾’jj¼’ubaubajjéubjÜ)�rÄ’}rÅ’(jUj}rÆ’(j]j]j]j]j]ujj´’j]rÇ’jX)�rÈ’}rÉ’(jXPower ManagementrÊ’jjÄ’j j’jj\j}rË’(j]j]j]j]j]ujK'j]rÌ’j%XPower ManagementrÍ’…�rÎ’}rÏ’(jjÊ’jjÈ’ubaubajjéubejjubj×)�rÐ’}rÑ’(jUj}rÒ’(j]j]j]j]j]ujj\’j]rÓ’(jÜ)�rÔ’}rÕ’(jUj}rÖ’(j]j]j]j]j]ujjÐ’j]r×’jX)�rØ’}rÙ’(jXRMrÚ’jjÔ’j j’jj\j}rÛ’(j]j]j]j]j]ujK(j]rÜ’j%XRMrÝ’…�rÞ’}rß’(jjÚ’jjØ’ubaubajjéubjÜ)�rà’}rá’(jUj}râ’(j]j]j]j]j]ujjÐ’j]rã’jX)�rä’}rå’(jXResource Managementræ’jjà’j j’jj\j}rç’(j]j]j]j]j]ujK(j]rè’j%XResource Managementré’…�rê’}rë’(jjæ’jjä’ubaubajjéubejjubejjðubejjñubaubeubj)�rì’}rí’(jUjj’j j’jjj}rî’(j]j]j]j]rï’Udirectory-structurerð’aj]rñ’hQaujK-jhj]rò’(j)�ró’}rô’(jXDirectory Structurerõ’jjì’j j’jj"j}rö’(j]j]j]j]j]ujK-jhj]r÷’j%XDirectory Structurerø’…�rù’}rú’(jjõ’jjó’ubaubjX)�rû’}rü’(jX3The directory structure of SCIClient is as follows:rý’jjì’j j’jj\j}rþ’(j]j]j]j]j]ujK/jhj]rÿ’j%X3The directory structure of SCIClient is as follows:r“…�r“}r“(jjý’jjû’ubaubj¶)�r“}r“(jUjjì’j j’jj¹j}r“(j]j]j]j]j]ujNjhj]r“j¼)�r“}r“(jUj}r “(j]j]j]j]j]UcolsKujj“j]r “(jÁ)�r “}r “(jUj}r “(j]j]j]j]j]UcolwidthK!ujj“j]jjÅubjÁ)�r“}r“(jUj}r“(j]j]j]j]j]UcolwidthKÖujj“j]jjÅubj)�r“}r“(jUj}r“(j]j]j]j]j]ujj“j]r“(j×)�r“}r“(jUj}r“(j]j]j]j]j]ujj“j]r“(jÜ)�r“}r“(jUj}r“(j]j]j]j]j]ujj“j]r“jX)�r“}r“(jXdocs/r“jj“j j’jj\j}r “(j]j]j]j]j]ujK2j]r!“j%Xdocs/r"“…�r#“}r$“(jj“jj“ubaubajjéubjÜ)�r%“}r&“(jUj}r'“(j]j]j]j]j]ujj“j]r(“jX)�r)“}r*“(jXQContains SCIClient design documentation and System Firmware public documentation.r+“jj%“j j’jj\j}r,“(j]j]j]j]j]ujK2j]r-“j%XQContains SCIClient design documentation and System Firmware public documentation.r.“…�r/“}r0“(jj+“jj)“ubaubajjéubejjubj×)�r1“}r2“(jUj}r3“(j]j]j]j]j]ujj“j]r4“(jÜ)�r5“}r6“(jUj}r7“(j]j]j]j]j]ujj1“j]r8“jX)�r9“}r:“(jXinclude/r;“jj5“j j’jj\j}r<“(j]j]j]j]j]ujK3j]r=“j%Xinclude/r>“…�r?“}r@“(jj;“jj9“ubaubajjéubjÜ)�rA“}rB“(jUj}rC“(j]j]j]j]j]ujj1“j]rD“jX)�rE“}rF“(jXÕThis folder contains the files user needs to refer in order to communicate with SYSFW using `Sciclient_service`_ . The files in this folder define the request and response structures for communicating with SYSFW .jjA“j j’jj\j}rG“(j]j]j]j]j]ujK3j]rH“(j%X\This folder contains the files user needs to refer in order to communicate with SYSFW using rI“…�rJ“}rK“(jX\This folder contains the files user needs to refer in order to communicate with SYSFW using jjE“ubj)�rL“}rM“(jX`Sciclient_service`_jqKjjE“jjj}rN“(UnameXSciclient_servicej]j]j]j]j]UrefidrO“Usciclient-servicerP“uj]rQ“j%XSciclient_servicerR“…�rS“}rT“(jUjjL“ubaubj%Xe . The files in this folder define the request and response structures for communicating with SYSFW .rU“…�rV“}rW“(jXe . The files in this folder define the request and response structures for communicating with SYSFW .jjE“ubeubajjéubejjubj×)�rX“}rY“(jUj}rZ“(j]j]j]j]j]ujj“j]r[“(jÜ)�r\“}r]“(jUj}r^“(j]j]j]j]j]ujjX“j]r_“jX)�r`“}ra“(jXsrc/rb“jj\“j j’jj\j}rc“(j]j]j]j]j]ujK4j]rd“j%Xsrc/re“…�rf“}rg“(jjb“jj`“ubaubajjéubjÜ)�rh“}ri“(jUj}rj“(j]j]j]j]j]ujjX“j]rk“jX)�rl“}rm“(jX)Contains source(.c) files for the driver.rn“jjh“j j’jj\j}ro“(j]j]j]j]j]ujK4j]rp“j%X)Contains source(.c) files for the driver.rq“…�rr“}rs“(jjn“jjl“ubaubajjéubejjubj×)�rt“}ru“(jUj}rv“(j]j]j]j]j]ujj“j]rw“(jÜ)�rx“}ry“(jUj}rz“(j]j]j]j]j]ujjt“j]r{“jX)�r|“}r}“(jXsoc/r~“jjx“j j’jj\j}r“(j]j]j]j]j]ujK5j]r€“j%Xsoc/r�“…�r‚“}rƒ“(jj~“jj|“ubaubajjéubjÜ)�r„“}r…“(jUj}r†“(j]j]j]j]j]ujjt“j]r‡“jX)�rˆ“}r‰“(jX Contains SoC specific header files and firmware binary image. Refer to this folder for SoC sepcific parameters and board configuration. V0 - AM65xx, V1 - J721E.rŠ“jj„“j j’jj\j}r‹“(j]j]j]j]j]ujK5j]rŒ“j%X Contains SoC specific header files and firmware binary image. Refer to this folder for SoC sepcific parameters and board configuration. V0 - AM65xx, V1 - J721E.r�“…�rŽ“}r�“(jjŠ“jjˆ“ubaubajjéubejjubj×)�r�“}r‘“(jUj}r’“(j]j]j]j]j]ujj“j]r““(jÜ)�r”“}r•“(jUj}r–“(j]j]j]j]j]ujj�“j]r—“jX)�r˜“}r™“(jXexamplesrš“jj”“j j’jj\j}r›“(j]j]j]j]j]ujK6j]rœ“j%Xexamplesr�“…�rž“}rŸ“(jjš“jj˜“ubaubajjéubjÜ)�r “}r¡“(jUj}r¢“(j]j]j]j]j]ujj�“j]r£“jX)�r¤“}r¥“(jX~Contains examples for utilizing sciclient interfaces. For Sciclient shim layer examples kindly refer the PM, UDMA driver code.r¦“jj “j j’jj\j}r§“(j]j]j]j]j]ujK6j]r¨“j%X~Contains examples for utilizing sciclient interfaces. For Sciclient shim layer examples kindly refer the PM, UDMA driver code.r©“…�rª“}r«“(jj¦“jj¤“ubaubajjéubejjubejjðubejjñubaubeubj)�r¬“}r­“(jUjKjj’j j’jjj}r®“(j]j]j]j]r¯“U build-and-runr°“aj]r±“hyaujK:jhj]r²“(j)�r³“}r´“(jX Build and Runrµ“jj¬“j j’jj"j}r¶“(j]j]j]j]j]ujK:jhj]r·“j%X Build and Runr¸“…�r¹“}rº“(jjµ“jj³“ubaubjX)�r»“}r¼“(jX>This section assumes that you have PDK at PDK_INSTALL_DIR . ::jj¬“j j’jj\j}r½“(j]j]j]j]j]ujK BOARD=am65xx_evm CORE= sciclientr7”jj1”j j’jj\j}r8”(j]j]j]j]j]ujKLj]r9”j%Xhmake PDK_INSTALL_PATH= BOARD=am65xx_evm CORE= sciclientr:”…�r;”}r<”(jj7”jj5”ubaubajjéubjÜ)�r=”}r>”(jUj}r?”(j]j]j]j]j]ujj!”j]r@”jX)�rA”}rB”(jXSCIClient libraryrC”jj=”j j’jj\j}rD”(j]j]j]j]j]ujKLj]rE”j%XSCIClient libraryrF”…�rG”}rH”(jjC”jjA”ubaubajjéubejjubj×)�rI”}rJ”(jUj}rK”(j]j]j]j]j]ujj”j]rL”(jÜ)�rM”}rN”(jUj}rO”(j]j]j]j]j]ujjI”j]rP”jX)�rQ”}rR”(jXsciclient_ccs_initrS”jjM”j j’jj\j}rT”(j]j]j]j]j]ujKMj]rU”j%Xsciclient_ccs_initrV”…�rW”}rX”(jjS”jjQ”ubaubajjéubjÜ)�rY”}rZ”(jUj}r[”(j]j]j]j]j]ujjI”j]r\”jX)�r]”}r^”(jXsmake PDK_INSTALL_PATH= BOARD=am65xx_evm CORE= sciclient_ccs_initr_”jjY”j j’jj\j}r`”(j]j]j]j]j]ujKMj]ra”j%Xsmake PDK_INSTALL_PATH= BOARD=am65xx_evm CORE= sciclient_ccs_initrb”…�rc”}rd”(jj_”jj]”ubaubajjéubjÜ)�re”}rf”(jUj}rg”(j]j]j]j]j]ujjI”j]rh”jX)�ri”}rj”(jX_SCIClient application that loads the firmware during ccs load.(No need to build this normally.)rk”jje”j j’jj\j}rl”(j]j]j]j]j]ujKMj]rm”j%X_SCIClient application that loads the firmware during ccs load.(No need to build this normally.)rn”…�ro”}rp”(jjk”jji”ubaubajjéubejjubj×)�rq”}rr”(jUj}rs”(j]j]j]j]j]ujj”j]rt”(jÜ)�ru”}rv”(jUj}rw”(j]j]j]j]j]ujjq”j]rx”jX)�ry”}rz”(jXsciclient_firmware_bootr{”jju”j j’jj\j}r|”(j]j]j]j]j]ujKNj]r}”j%Xsciclient_firmware_bootr~”…�r”}r€”(jj{”jjy”ubaubajjéubjÜ)�r�”}r‚”(jUj}rƒ”(j]j]j]j]j]ujjq”j]r„”jX)�r…”}r†”(jXxmake PDK_INSTALL_PATH= BOARD=am65xx_evm CORE= sciclient_firmware_bootr‡”jj�”j j’jj\j}rˆ”(j]j]j]j]j]ujKNj]r‰”j%Xxmake PDK_INSTALL_PATH= BOARD=am65xx_evm CORE= sciclient_firmware_bootrŠ”…�r‹”}rŒ”(jj‡”jj…”ubaubajjéubjÜ)�r�”}rŽ”(jUj}r�”(j]j]j]j]j]ujjq”j]r�”jX)�r‘”}r’”(jXSCIClient example applicationr“”jj�”j j’jj\j}r””(j]j]j]j]j]ujKNj]r•”j%XSCIClient example applicationr–”…�r—”}r˜”(jj“”jj‘”ubaubajjéubejjubj×)�r™”}rš”(jUj}r›”(j]j]j]j]j]ujj”j]rœ”(jÜ)�r�”}rž”(jUj}rŸ”(j]j]j]j]j]ujj™”j]r ”jX)�r¡”}r¢”(jX Design Docr£”jj�”j j’jj\j}r¤”(j]j]j]j]j]ujKOj]r¥”j%X Design Docr¦”…�r§”}r¨”(jj£”jj¡”ubaubajjéubjÜ)�r©”}rª”(jUj}r«”(j]j]j]j]j]ujj™”j]r¬”jX)�r­”}r®”(jX4make PDK_INSTALL_PATH= designdocr¯”jj©”j j’jj\j}r°”(j]j]j]j]j]ujKOj]r±”j%X4make PDK_INSTALL_PATH= designdocr²”…�r³”}r´”(jj¯”jj­”ubaubajjéubjÜ)�rµ”}r¶”(jUj}r·”(j]j]j]j]j]ujj™”j]r¸”jX)�r¹”}rº”(jXSCIClient design documentationr»”jjµ”j j’jj\j}r¼”(j]j]j]j]j]ujKOj]r½”j%XSCIClient design documentationr¾”…�r¿”}rÀ”(jj»”jj¹”ubaubajjéubejjubejjðubejjñubaubjX)�rÁ”}r”(jXNote ::jjÉ“j j’jj\j}rÔ(j]j]j]j]j]ujKRjhj]rÄ”j%XNoterÅ”…�rÆ”}rÇ”(jXNotejjÁ”ubaubj#)�rÈ”}rÉ”(jXÆFor building the example "sciclient_firmware_boot" or "your application" using SCIClient lib, make sure you have a section "boardcfg_data" defined in your linker cmd file which resides in OC-MSRAM .jjÉ“j j’jj&j}rÊ”(j2j3j]j]j]j]j]ujMqjhj]rË”j%XÆFor building the example "sciclient_firmware_boot" or "your application" using SCIClient lib, make sure you have a section "boardcfg_data" defined in your linker cmd file which resides in OC-MSRAM .rÌ”…�rÍ”}rΔ(jUjjÈ”ubaubjX)�rÏ”}rД(jXOThe next sections will explain how to load the system firmware using sciclient.rÑ”jjÉ“j j’jj\j}rÒ”(j]j]j]j]j]ujKVjhj]rÓ”j%XOThe next sections will explain how to load the system firmware using sciclient.rÔ”…�rÕ”}rÖ”(jjÑ”jjÏ”ubaubeubj)�r×”}rØ”(jUjj¬“j j’jjj}rÙ”(j]j]j]j]rÚ”Uload-using-a-boot-mediarÛ”aj]rÜ”hMaujKYjhj]rÝ”(j)�rÞ”}rß”(jXLoad using a boot-mediarà”jj×”j j’jj"j}rá”(j]j]j]j]j]ujKYjhj]râ”j%XLoad using a boot-mediarã”…�rä”}rå”(jjà”jjÞ”ubaubjX)�ræ”}rç”(jX\Follow these steps to load the **sciclient_firmware_boot** application through a boot media:rè”jj×”j j’jj\j}ré”(j]j]j]j]j]ujKZjhj]rê”(j%XFollow these steps to load the rë”…�rì”}rí”(jXFollow these steps to load the jjæ”ubj|)�rî”}rï”(jX**sciclient_firmware_boot**j}rð”(j]j]j]j]j]ujjæ”j]rñ”j%Xsciclient_firmware_bootrò”…�ró”}rô”(jUjjî”ubajj„ubj%X" application through a boot media:rõ”…�rö”}r÷”(jX" application through a boot media:jjæ”ubeubj)�rø”}rù”(jUjj×”j j’jjj}rú”(jX-j]j]j]j]j]ujK\jhj]rû”(j)�rü”}rý”(jX2Build the example: sciclient_firmware_boot_TestApprþ”jjø”j j’jj j}rÿ”(j]j]j]j]j]ujNjhj]r•jX)�r•}r•(jjþ”jjü”j j’jj\j}r•(j]j]j]j]j]ujK\j]r•j%X2Build the example: sciclient_firmware_boot_TestAppr•…�r•}r•(jjþ”jj•ubaubaubj)�r•}r •(jXóThe test case works with MMCSD boot mode where it loads the sysfw.bin file from the mmcsd card. Ensure to create a tiboot3.bin file from the sciclient application. Copy the SoC specific sysfw.bin in the SD card along with the tiboot3.bin file.r •jjø”j j’jj j}r •(j]j]j]j]j]ujNjhj]r •jX)�r •}r•(jj •jj•j j’jj\j}r•(j]j]j]j]j]ujK]j]r•j%XóThe test case works with MMCSD boot mode where it loads the sysfw.bin file from the mmcsd card. Ensure to create a tiboot3.bin file from the sciclient application. Copy the SoC specific sysfw.bin in the SD card along with the tiboot3.bin file.r•…�r•}r•(jj •jj •ubaubaubj)�r•}r•(jXvRefer the section `Boot-Modes `_ for details on how to use a bootmedia.r•jjø”j j’jj j}r•(j]j]j]j]j]ujNjhj]r•jX)�r•}r•(jj•jj•j j’jj\j}r•(j]j]j]j]j]ujK^j]r•(j%XRefer the section r•…�r•}r•(jXRefer the section jj•ubj)�r •}r!•(jX=`Boot-Modes `_j}r"•(UnameX Boot-ModesjX-index_Foundational_Components.html#boot-modesr#•j]j]j]j]j]ujj•j]r$•j%X Boot-Modesr%•…�r&•}r'•(jUjj •ubajjubjš)�r(•}r)•(jX0 jKjj•jj�j}r*•(Urefurij#•j]r+•U boot-modesr,•aj]j]j]j]r-•h˜auj]ubj%X' for details on how to use a bootmedia.r.•…�r/•}r0•(jX' for details on how to use a bootmedia.jj•ubeubaubj)�r1•}r2•(jX|You can also use the SBL to load the system firmware and initialize the SoC. Refer to the SBL user guide for more details. jjø”j j’jj j}r3•(j]j]j]j]j]ujNjhj]r4•jX)�r5•}r6•(jXzYou can also use the SBL to load the system firmware and initialize the SoC. Refer to the SBL user guide for more details.r7•jj1•j j’jj\j}r8•(j]j]j]j]j]ujK_j]r9•j%XzYou can also use the SBL to load the system firmware and initialize the SoC. Refer to the SBL user guide for more details.r:•…�r;•}r<•(jj7•jj5•ubaubaubeubeubj)�r=•}r>•(jUjj¬“j j’jjj}r?•(j]j]j]j]r@•Uload-using-ccsrA•aj]rB•hãaujKcjhj]rC•(j)�rD•}rE•(jXLoad using CCSrF•jj=•j j’jj"j}rG•(j]j]j]j]j]ujKcjhj]rH•j%XLoad using CCSrI•…�rJ•}rK•(jjF•jjD•ubaubjX)�rL•}rM•(jXMFollow these steps to load the **sciclient_ccs_init** application through CCSrN•jj=•j j’jj\j}rO•(j]j]j]j]j]ujKdjhj]rP•(j%XFollow these steps to load the rQ•…�rR•}rS•(jXFollow these steps to load the jjL•ubj|)�rT•}rU•(jX**sciclient_ccs_init**j}rV•(j]j]j]j]j]ujjL•j]rW•j%Xsciclient_ccs_initrX•…�rY•}rZ•(jUjjT•ubajj„ubj%X application through CCSr[•…�r\•}r]•(jX application through CCSjjL•ubeubj)�r^•}r_•(jUjj=•j j’jjj}r`•(jX-j]j]j]j]j]ujKfjhj]ra•j)�rb•}rc•(jX|Update the File SCICLIENT_PATH/sciclient/tools/ccsLoadDmsc//launch.js for the following variables to your PC location .rd•jj^•j j’jj j}re•(j]j]j]j]j]ujNjhj]rf•jX)�rg•}rh•(jjd•jjb•j j’jj\j}ri•(j]j]j]j]j]ujKfj]rj•j%X|Update the File SCICLIENT_PATH/sciclient/tools/ccsLoadDmsc//launch.js for the following variables to your PC location .rk•…�rl•}rm•(jjd•jjg•ubaubaubaubjX)�rn•}ro•(jXModify for AM65xx: ::jj=•j j’jj\j}rp•(j]j]j]j]j]ujKgjhj]rq•j%XModify for AM65xx:rr•…�rs•}rt•(jXModify for AM65xx:jjn•ubaubj#)�ru•}rv•(jX3//Path to GEL files gelFilePath = "/ccs_base/emulation/gel/AM65xEVM/"; → GEL path location // Path to the directory in which this file would be residing. CCS expects // absolute paths to load the binaries. thisJsFileDirectory = "PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc";jj=•j j’jj&j}rw•(j2j3j]j]j]j]j]ujM†jhj]rx•j%X3//Path to GEL files gelFilePath = "/ccs_base/emulation/gel/AM65xEVM/"; → GEL path location // Path to the directory in which this file would be residing. CCS expects // absolute paths to load the binaries. thisJsFileDirectory = "PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc";ry•…�rz•}r{•(jUjju•ubaubjX)�r|•}r}•(jXModify for J721E: ::jj=•j j’jj\j}r~•(j]j]j]j]j]ujKnjhj]r•j%XModify for J721E:r€•…�r�•}r‚•(jXModify for J721E:jj|•ubaubj#)�rƒ•}r„•(jX2//PDK path. Edit this pdkPath = "PDK_INSTALL_DIR";jj=•j j’jj&j}r…•(j2j3j]j]j]j]j]ujM�jhj]r†•j%X2//PDK path. Edit this pdkPath = "PDK_INSTALL_DIR";r‡•…�rˆ•}r‰•(jUjjƒ•ubaubj)�rŠ•}r‹•(jUjj=•j j’jjj}rŒ•(jX-j]j]j]j]j]ujKsjhj]r�•(j)�rŽ•}r�•(jXConnect the Javascript to the CCXML file with the steps shown below: (Note: this step needs to be repeated if you switch workspaces or clean your workspace).The Javascript is run on re-launch of the ccxml. If you would like to run the Javascript without relaunch then you can look ahead to the section: "Re-running the script once ccxml is already launched." Click on Debug Configurations from the button as follows: .. image:: ../images/sciclient_ccsLoad1.png :height: 300 :width: 600 jjŠ•j j’jj j}r�•(j]j]j]j]j]ujNjhj]r‘•(jX)�r’•}r“•(jX Connect the Javascript to the CCXML file with the steps shown below: (Note: this step needs to be repeated if you switch workspaces or clean your workspace).The Javascript is run on re-launch of the ccxml. If you would like to run the Javascript without relaunch then you can look ahead to the section: "Re-running the script once ccxml is already launched." Click on Debug Configurations from the button as follows:r”•jjŽ•j j’jj\j}r••(j]j]j]j]j]ujKsj]r–•j%X Connect the Javascript to the CCXML file with the steps shown below: (Note: this step needs to be repeated if you switch workspaces or clean your workspace).The Javascript is run on re-launch of the ccxml. If you would like to run the Javascript without relaunch then you can look ahead to the section: "Re-running the script once ccxml is already launched." Click on Debug Configurations from the button as follows:r—•…�r˜•}r™•(jj”•jj’•ubaubj¤ )�rš•}r›•(jUj}rœ•(j]j]j]j]j]ujjŽ•j]r�•j^)�rž•}rŸ•(jX].. image:: ../images/sciclient_ccsLoad1.png :height: 300 :width: 600 j}r •(j]UuriX%rtos/../images/sciclient_ccsLoad1.pngr¡•j]j]UwidthX600j]jd}r¢•U*j¡•sj]UheightX300ujjš•j]jjaubajj§ ubeubj)�r£•}r¤•(jX Select the CCXML file from the left-hand side and populate the path to the launch_am65xx.js file in the "Initialization Script" free form field and click on "Apply". .. image:: ../images/sciclient_ccsLoad2.png :height: 300 :width: 600jjŠ•j j’jj j}r¥•(j]j]j]j]j]ujNjhj]r¦•(jX)�r§•}r¨•(jX¥Select the CCXML file from the left-hand side and populate the path to the launch_am65xx.js file in the "Initialization Script" free form field and click on "Apply".r©•jj£•j j’jj\j}rª•(j]j]j]j]j]ujKyj]r«•j%X¥Select the CCXML file from the left-hand side and populate the path to the launch_am65xx.js file in the "Initialization Script" free form field and click on "Apply".r¬•…�r­•}r®•(jj©•jj§•ubaubj¤ )�r¯•}r°•(jUj}r±•(j]j]j]j]j]ujj£•j]r²•j^)�r³•}r´•(jX\.. image:: ../images/sciclient_ccsLoad2.png :height: 300 :width: 600j}rµ•(j]UuriX%rtos/../images/sciclient_ccsLoad2.pngr¶•j]j]UwidthX600j]jd}r·•U*j¶•sj]UheightX300ujj¯•j]jjaubajj§ ubeubj)�r¸•}r¹•(jXWOnce you Launch the ccxml the java script would automatically run and connect to R5F. jjŠ•j j’jj j}rº•(j]j]j]j]j]ujNjhj]r»•jX)�r¼•}r½•(jXUOnce you Launch the ccxml the java script would automatically run and connect to R5F.r¾•jj¸•j j’jj\j}r¿•(j]j]j]j]j]ujK~j]rÀ•j%XUOnce you Launch the ccxml the java script would automatically run and connect to R5F.rÁ•…�r•}rÕ(jj¾•jj¼•ubaubaubeubjb)�rÄ•}rÅ•(jX8**Re-running the script once ccxml is already launched**rÆ•jj=•j j’jjfj}rÇ•(j]j]j]j]j]ujK‚jhj]rÈ•j|)�rÉ•}rÊ•(jjÆ•j}rË•(j]j]j]j]j]ujjÄ•j]rÌ•j%X4Re-running the script once ccxml is already launchedrÍ•…�rΕ}rÏ•(jUjjÉ•ubajj„ubaubjX)�rЕ}rÑ•(jX_In the CCS window open the "View → Scripting Console.." In the CCS Scripting Console type: ::jj=•j j’jj\j}rÒ•(j]j]j]j]j]ujKƒjhj]rÓ•j%X\In the CCS window open the "View → Scripting Console.." In the CCS Scripting Console type:rÔ•…�rÕ•}rÖ•(jX\In the CCS window open the "View → Scripting Console.." In the CCS Scripting Console type:jjЕubaubj#)�rו}rØ•(jX=load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\am65xx\\launch.js")jj=•j j’jj&j}rÙ•(j2j3j]j]j]j]j]ujM£jhj]rÚ•j%X=load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\am65xx\\launch.js")rÛ•…�rÜ•}rÝ•(jUjjוubaubj)�rÞ•}rß•(jUjj=•j j’jjj}rà•(j]j]j]j]rá•Uorrâ•aj]rã•h{aujKˆjhj]rä•(j)�rå•}ræ•(jXorrç•jjÞ•j j’jj"j}rè•(j]j]j]j]j]ujKˆjhj]ré•j%Xorrê•…�rë•}rì•(jjç•jjå•ubaubj¤ )�rí•}rî•(jUjjÞ•j j’jj§ j}rï•(j]j]j]j]j]ujNjhj]rð•jX)�rñ•}rò•(jX<load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\j721e\\launch.js")jjí•j j’jj\j}ró•(j]j]j]j]j]ujK‰j]rô•j%X8load("SCICLIENT_PATH\tools\ccsLoadDmsc\j721e\launch.js")rõ•…�rö•}r÷•(jX<load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\j721e\\launch.js")jjñ•ubaubaubjX)�rø•}rù•(jX=This would give the following output on the scripting consolerú•jjÞ•j j’jj\j}rû•(j]j]j]j]j]ujK‹jhj]rü•j%X=This would give the following output on the scripting consolerý•…�rþ•}rÿ•(jjú•jjø•ubaubjX)�r–}r–(jXFor AM65xx: ::jjÞ•j j’jj\j}r–(j]j]j]j]j]ujK�jhj]r–j%X For AM65xx:r–…�r–}r–(jX For AM65xx:jj–ubaubj#)�r–}r–(jX×js:> load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\am65xx\\launch.js") Connecting to DMSC_Cortex_M3_0! Loading DMSC Firmware... DMSC Firmware Load Done... DMSC Firmware run starting now... Connecting to MCU Cortex_R5_0!jjÞ•j j’jj&j}r –(j2j3j]j]j]j]j]ujM¬jhj]r –j%X×js:> load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\am65xx\\launch.js") Connecting to DMSC_Cortex_M3_0! Loading DMSC Firmware... DMSC Firmware Load Done... DMSC Firmware run starting now... Connecting to MCU Cortex_R5_0!r –…�r –}r –(jUjj–ubaubjX)�r–}r–(jX For J721E: ::jjÞ•j j’jj\j}r–(j]j]j]j]j]ujK•jhj]r–j%X For J721E:r–…�r–}r–(jX For J721E:jj–ubaubj#)�r–}r–(jXrjs:> load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\j721e\\launch.js") Connecting to DMSC_Cortex_M3_0! Loading DMSC Firmware... DMSC Firmware Load Done... DMSC Firmware run starting now... Connecting to MCU Cortex_R5_0! Running the board configuration initialization from R5! Running the DDR configuration... Wait till it completes! Okay you are good to go.. Happy Debugging!jjÞ•j j’jj&j}r–(j2j3j]j]j]j]j]ujM´jhj]r–j%Xrjs:> load("SCICLIENT_PATH\\tools\\ccsLoadDmsc\\j721e\\launch.js") Connecting to DMSC_Cortex_M3_0! Loading DMSC Firmware... DMSC Firmware Load Done... DMSC Firmware run starting now... Connecting to MCU Cortex_R5_0! Running the board configuration initialization from R5! Running the DDR configuration... Wait till it completes! Okay you are good to go.. Happy Debugging!r–…�r–}r–(jUjj–ubaubeubeubj)�r–}r–(jUjj¬“j j’jjj}r–(j]j]j]j]r–U handling-two-or-more-ccxml-filesr –aj]r!–hkaujK¢jhj]r"–(j)�r#–}r$–(jX Handling Two or more ccxml filesr%–jj–j j’jj"j}r&–(j]j]j]j]j]ujK¢jhj]r'–j%X Handling Two or more ccxml filesr(–…�r)–}r*–(jj%–jj#–ubaubjX)�r+–}r,–(jXIn case you need to connect two or more board to the same CCS session and use the launch script, please follow the steps below:r-–jj–j j’jj\j}r.–(j]j]j]j]j]ujK¤jhj]r/–j%XIn case you need to connect two or more board to the same CCS session and use the launch script, please follow the steps below:r0–…�r1–}r2–(jj-–jj+–ubaubj)�r3–}r4–(jUjj–j j’jjj}r5–(jX-j]j]j]j]j]ujK¦jhj]r6–j)�r7–}r8–(jX When you use 2 or more CCXML files with similar debugger (e.g. connect 2 boards XDS110 on-board debugger to the PC), CCS would enumerate the debuggers as below:r9–jj3–j j’jj j}r:–(j]j]j]j]j]ujNjhj]r;–jX)�r<–}r=–(jj9–jj7–j j’jj\j}r>–(j]j]j]j]j]ujK¦j]r?–j%X When you use 2 or more CCXML files with similar debugger (e.g. connect 2 boards XDS110 on-board debugger to the PC), CCS would enumerate the debuggers as below:r@–…�rA–}rB–(jj9–jj<–ubaubaubaubjÆ )�rC–}rD–(jUjj–j j’jjÉ j}rE–(j]j]j]j]j]ujNjhj]rF–jÌ )�rG–}rH–(jXX:: Texas Instruments XDS110 USB Debug Probe_0 Texas Instruments XDS110 USB Debug Probe_1jjC–j j’jjÏ j}rI–(j]j]j]j]j]ujK¨j]rJ–(jÒ )�rK–}rL–(jX::rM–jjG–j j’jjÖ j}rN–(j]j]j]j]j]ujK¨j]rO–j%X::rP–…�rQ–}rR–(jjM–jjK–ubaubjÜ )�rS–}rT–(jUj}rU–(j]j]j]j]j]ujjG–j]rV–jX)�rW–}rX–(jXUTexas Instruments XDS110 USB Debug Probe_0 Texas Instruments XDS110 USB Debug Probe_1rY–jjS–j j’jj\j}rZ–(j]j]j]j]j]ujK¨j]r[–j%XUTexas Instruments XDS110 USB Debug Probe_0 Texas Instruments XDS110 USB Debug Probe_1r\–…�r]–}r^–(jjY–jjW–ubaubajj ubeubaubjX)�r_–}r`–(jX¶Notice the suffix "_0" and "_1". - In order to use the same launch.js file with this, please create a second copy of the launch.js file. Update the first launch.js files as below: ::jj–j j’jj\j}ra–(j]j]j]j]j]ujKªjhj]rb–j%X³Notice the suffix "_0" and "_1". - In order to use the same launch.js file with this, please create a second copy of the launch.js file. Update the first launch.js files as below:rc–…�rd–}re–(jX³Notice the suffix "_0" and "_1". - In order to use the same launch.js file with this, please create a second copy of the launch.js file. Update the first launch.js files as below:jj_–ubaubj#)�rf–}rg–(jXÆfunction updateScriptVars() { //Open a debug session dsMCU1_0 = debugServer.openSession( "*_0.*MCU_PULSAR_Cortex_R5_0" ); dsDMSC_0 = debugServer.openSession( "*_0.*DMSC_Cortex_M3_0" ); }jj–j j’jj&j}rh–(j2j3j]j]j]j]j]ujMÊjhj]ri–j%XÆfunction updateScriptVars() { //Open a debug session dsMCU1_0 = debugServer.openSession( "*_0.*MCU_PULSAR_Cortex_R5_0" ); dsDMSC_0 = debugServer.openSession( "*_0.*DMSC_Cortex_M3_0" ); }rj–…�rk–}rl–(jUjjf–ubaubjX)�rm–}rn–(jX(Update the second launch.js as below: ::jj–j j’jj\j}ro–(j]j]j]j]j]ujK³jhj]rp–j%X%Update the second launch.js as below:rq–…�rr–}rs–(jX%Update the second launch.js as below:jjm–ubaubj#)�rt–}ru–(jXÆfunction updateScriptVars() { //Open a debug session dsMCU1_0 = debugServer.openSession( "*_1.*MCU_PULSAR_Cortex_R5_0" ); dsDMSC_0 = debugServer.openSession( "*_1.*DMSC_Cortex_M3_0" ); }jj–j j’jj&j}rv–(j2j3j]j]j]j]j]ujMÒjhj]rw–j%XÆfunction updateScriptVars() { //Open a debug session dsMCU1_0 = debugServer.openSession( "*_1.*MCU_PULSAR_Cortex_R5_0" ); dsDMSC_0 = debugServer.openSession( "*_1.*DMSC_Cortex_M3_0" ); }rx–…�ry–}rz–(jUjjt–ubaubjX)�r{–}r|–(jX&Notice the addition of "*_0" and "*_1"r}–jj–j j’jj\j}r~–(j]j]j]j]j]ujK»jhj]r–(j%XNotice the addition of "r€–…�r�–}r‚–(jXNotice the addition of "jj{–ubjg-)�rƒ–}r„–(jX*j}r…–(j]r†–Uid251r‡–aj]j]j]j]UrefidUid250rˆ–ujj{–j]r‰–j%X*…�rŠ–}r‹–(jUjjƒ–ubajjs-ubj%X _0" and "rŒ–…�r�–}rŽ–(jX _0" and "jj{–ubjg-)�r�–}r�–(jX*j}r‘–(j]r’–Uid253r“–aj]j]j]j]UrefidUid252r”–ujj{–j]r•–j%X*…�r––}r—–(jUjj�–ubajjs-ubj%X_1"r˜–…�r™–}rš–(jX_1"jj{–ubeubeubeubj)�r›–}rœ–(jUjj’j j’jjj}r�–(j]j]j]j]rž–Usystem-firmware-logs-parserŸ–aj]r –heaujK¾jhj]r¡–(j)�r¢–}r£–(jXSystem Firmware Logs Parser¤–jj›–j j’jj"j}r¥–(j]j]j]j]j]ujK¾jhj]r¦–j%XSystem Firmware Logs Parser§–…�r¨–}r©–(jj¤–jj¢–ubaubjX)�rª–}r«–(jXãIn many cases you may need to understand and debug if a System Firmware API fails due to incorrect parameters or some genuine issue in the firmware. In order to debug when the API is failing, you need to follow the steps below:r¬–jj›–j j’jj\j}r­–(j]j]j]j]j]ujKÀjhj]r®–j%XãIn many cases you may need to understand and debug if a System Firmware API fails due to incorrect parameters or some genuine issue in the firmware. In order to debug when the API is failing, you need to follow the steps below:r¯–…�r°–}r±–(jj¬–jjª–ubaubj)�r²–}r³–(jUjj›–j j’jjj}r´–(jX-j]j]j]j]j]ujKÂjhj]rµ–j)�r¶–}r·–(jXDEnable logs in the system firmware by modifying the below structure:r¸–jj²–j j’jj j}r¹–(j]j]j]j]j]ujNjhj]rº–jX)�r»–}r¼–(jj¸–jj¶–j j’jj\j}r½–(j]j]j]j]j]ujKÂj]r¾–j%XDEnable logs in the system firmware by modifying the below structure:r¿–…�rÀ–}rÁ–(jj¸–jj»–ubaubaubaubjX)�r–}rÖ(jX˜File: sciclient\soc\Vx\sciclient_defaultBoardcfg.c Structure: const struct tisci_boardcfg gBoardConfigLow Update the structure to have trace enabled: ::jj›–j j’jj\j}rÄ–(j]j]j]j]j]ujKÃjhj]rÅ–j%X’File: sciclientsocVxsciclient_defaultBoardcfg.c Structure: const struct tisci_boardcfg gBoardConfigLow Update the structure to have trace enabled:rÆ–…�rÇ–}rÈ–(jX•File: sciclient\soc\Vx\sciclient_defaultBoardcfg.c Structure: const struct tisci_boardcfg gBoardConfigLow Update the structure to have trace enabled:jj–ubaubj#)�rÉ–}rÊ–(jX0/* This enables the trace for DMSC logging. Should be used only for * debug. */ .trace_dst_enables = (TISCI_BOARDCFG_TRACE_DST_UART0 | TISCI_BOARDCFG_TRACE_DST_ITM | TISCI_BOARDCFG_TRACE_DST_MEM), .trace_src_enables = (TISCI_BOARDCFG_TRACE_SRC_PM | TISCI_BOARDCFG_TRACE_SRC_RM | TISCI_BOARDCFG_TRACE_SRC_SEC | TISCI_BOARDCFG_TRACE_SRC_BASE | TISCI_BOARDCFG_TRACE_SRC_USER | TISCI_BOARDCFG_TRACE_SRC_SUPR)jj›–j j’jj&j}rË–(j2j3j]j]j]j]j]ujMäjhj]rÌ–j%X0/* This enables the trace for DMSC logging. Should be used only for * debug. */ .trace_dst_enables = (TISCI_BOARDCFG_TRACE_DST_UART0 | TISCI_BOARDCFG_TRACE_DST_ITM | TISCI_BOARDCFG_TRACE_DST_MEM), .trace_src_enables = (TISCI_BOARDCFG_TRACE_SRC_PM | TISCI_BOARDCFG_TRACE_SRC_RM | TISCI_BOARDCFG_TRACE_SRC_SEC | TISCI_BOARDCFG_TRACE_SRC_BASE | TISCI_BOARDCFG_TRACE_SRC_USER | TISCI_BOARDCFG_TRACE_SRC_SUPR)rÍ–…�rΖ}rÏ–(jUjjÉ–ubaubj)�rЖ}rÑ–(jUjj›–j j’jjj}rÒ–(jX-j]j]j]j]j]ujKÓjhj]rÓ–(j)�rÔ–}rÕ–(jX6Capture the System firmware logs from the WKUP_USART0.rÖ–jjЖj j’jj j}r×–(j]j]j]j]j]ujNjhj]rØ–jX)�rÙ–}rÚ–(jjÖ–jjÔ–j j’jj\j}rÛ–(j]j]j]j]j]ujKÓj]rÜ–j%X6Capture the System firmware logs from the WKUP_USART0.rÝ–…�rÞ–}rß–(jjÖ–jjÙ–ubaubaubj)�rà–}rá–(jXUGet the parsed logs from **sciclient\tools\sysfw_trace_parser\sysfw_trace_parser.py**râ–jjЖj j’jj j}rã–(j]j]j]j]j]ujNjhj]rä–jX)�rå–}ræ–(jjâ–jjà–j j’jj\j}rç–(j]j]j]j]j]ujKÔj]rè–(j%XGet the parsed logs from ré–…�rê–}rë–(jXGet the parsed logs from jjå–ubj|)�rì–}rí–(jX<**sciclient\tools\sysfw_trace_parser\sysfw_trace_parser.py**j}rî–(j]j]j]j]j]ujjå–j]rï–j%X5sciclienttoolssysfw_trace_parsersysfw_trace_parser.pyrð–…�rñ–}rò–(jUjjì–ubajj„ubeubaubeubjÆ )�ró–}rô–(jUjj›–j NjjÉ j}rõ–(j]j]j]j]j]ujNjhj]rö–jÌ )�r÷–}rø–(jXl:: usage: python ./sysfw_trace_parser.py [-h] (-l LOG_FILE | -d SERIAL_PORT) (-o OUTPUT_FILE | -O) [-t] [-r RULES_FILE] [-Pm] System Firmware Log Parse utility URL: http://software- dl.ti.com/tisci/esd/latest/4_trace/trace.html Required arguments - Choose one of the inputs: -l LOG_FILE, --log_file LOG_FILE Log File provided as input (default: None) -d SERIAL_PORT, --serial_port SERIAL_PORT Provide Device as input: Requires pyserial package installed: See https://pyserial.readthedocs.io/ (default: None) Required arguments - Choose one of the outputs: -o OUTPUT_FILE, --output_file OUTPUT_FILE Parse out the output to a file (default: None) -O, --output_console Log File to parse and report results to console (default: False) optional arguments: -h, --help show this help message and exit -t, --time_stamp_relative Add TimeStamp to output in relative milliseconds(this is approximation ONLY) (default: False) -r RULES_FILE, --rules_file RULES_FILE Alternate Rules file (default: ./sysfw_trace_rules.json) -Pm, --print_match_only Print just decoded data, (default: False) jjó–j j’jjÏ j}rù–(j]j]j]j]j]ujKój]rú–(jÒ )�rû–}rü–(jX::rý–jj÷–j j’jjÖ j}rþ–(j]j]j]j]j]ujKój]rÿ–j%X::r—…�r—}r—(jjý–jjû–ubaubjÜ )�r—}r—(jUj}r—(j]j]j]j]j]ujj÷–j]r—(jÆ )�r—}r—(jUj}r —(j]j]j]j]j]ujj—j]r —jÌ )�r —}r —(jX{usage: python ./sysfw_trace_parser.py [-h] (-l LOG_FILE | -d SERIAL_PORT) (-o OUTPUT_FILE | -O) [-t] [-r RULES_FILE] [-Pm] jj—j j’jjÏ j}r —(j]j]j]j]j]ujKØj]r—(jÒ )�r—}r—(jXIusage: python ./sysfw_trace_parser.py [-h] (-l LOG_FILE | -d SERIAL_PORT)r—jj —j j’jjÖ j}r—(j]j]j]j]j]ujKØj]r—j%XIusage: python ./sysfw_trace_parser.py [-h] (-l LOG_FILE | -d SERIAL_PORT)r—…�r—}r—(jj—jj—ubaubjÜ )�r—}r—(jUj}r—(j]j]j]j]j]ujj —j]r—jX)�r—}r—(jX0(-o OUTPUT_FILE | -O) [-t] [-r RULES_FILE] [-Pm]r—jj—j j’jj\j}r—(j]j]j]j]j]ujK×j]r—j%X0(-o OUTPUT_FILE | -O) [-t] [-r RULES_FILE] [-Pm]r —…�r!—}r"—(jj—jj—ubaubajj ubeubajjÉ ubjX)�r#—}r$—(jXeSystem Firmware Log Parse utility URL: http://software- dl.ti.com/tisci/esd/latest/4_trace/trace.htmljj—j j’jj\j}r%—(j]j]j]j]j]ujKÚj]r&—(j%X'System Firmware Log Parse utility URL: r'—…�r(—}r)—(jX'System Firmware Log Parse utility URL: jj#—ubj)�r*—}r+—(jXhttp://softwarer,—j}r-—(Urefurij,—j]j]j]j]j]ujj#—j]r.—j%Xhttp://softwarer/—…�r0—}r1—(jUjj*—ubajjubj%X/- dl.ti.com/tisci/esd/latest/4_trace/trace.htmlr2—…�r3—}r4—(jX/- dl.ti.com/tisci/esd/latest/4_trace/trace.htmljj#—ubeubjX)�r5—}r6—(jXORequired arguments - Choose one of the inputs: -l LOG_FILE, --log_file LOG_FILEr7—jj—j j’jj\j}r8—(j]j]j]j]j]ujKÝj]r9—j%XORequired arguments - Choose one of the inputs: -l LOG_FILE, --log_file LOG_FILEr:—…�r;—}r<—(jj7—jj5—ubaubj¤ )�r=—}r>—(jUj}r?—(j]j]j]j]j]ujj—j]r@—jX)�rA—}rB—(jX*Log File provided as input (default: None)rC—jj=—j j’jj\j}rD—(j]j]j]j]j]ujKßj]rE—j%X*Log File provided as input (default: None)rF—…�rG—}rH—(jjC—jjA—ubaubajj§ ubcdocutils.nodes option_list rI—)�rJ—}rK—(jUj}rL—(j]j]j]j]j]ujj—j]rM—cdocutils.nodes option_list_item rN—)�rO—}rP—(jUj}rQ—(j]j]j]j]j]ujjJ—j]rR—(cdocutils.nodes option_group rS—)�rT—}rU—(jUj}rV—(j]j]j]j]j]ujjO—j]rW—(cdocutils.nodes option rX—)�rY—}rZ—(jX-d SERIAL_PORTj}r[—(j]j]j]j]j]ujjT—j]r\—(cdocutils.nodes option_string r]—)�r^—}r_—(jX-dj}r`—(j]j]j]j]j]ujjY—j]ra—j%X-drb—…�rc—}rd—(jUjj^—ubajU option_stringre—ubcdocutils.nodes option_argument rf—)�rg—}rh—(jX SERIAL_PORTj}ri—(j]j]j]U delimiterU j]j]ujjY—j]rj—j%X SERIAL_PORTrk—…�rl—}rm—(jUjjg—ubajUoption_argumentrn—ubejUoptionro—ubjX—)�rp—}rq—(jX--serial_port SERIAL_PORTj}rr—(j]j]j]j]j]ujjT—j]rs—(j]—)�rt—}ru—(jX --serial_portj}rv—(j]j]j]j]j]ujjp—j]rw—j%X --serial_portrx—…�ry—}rz—(jUjjt—ubajje—ubjf—)�r{—}r|—(jX SERIAL_PORTj}r}—(j]j]j]U delimiterU j]j]ujjp—j]r~—j%X SERIAL_PORTr—…�r€—}r�—(jUjj{—ubajjn—ubejjo—ubejU option_groupr‚—ubcdocutils.nodes description rƒ—)�r„—}r…—(jXsProvide Device as input: Requires pyserial package installed: See https://pyserial.readthedocs.io/ (default: None) j}r†—(j]j]j]j]j]ujjO—j]r‡—jX)�rˆ—}r‰—(jXrProvide Device as input: Requires pyserial package installed: See https://pyserial.readthedocs.io/ (default: None)jj„—j j’jj\j}rŠ—(j]j]j]j]j]ujKáj]r‹—(j%XBProvide Device as input: Requires pyserial package installed: See rŒ—…�r�—}rŽ—(jXBProvide Device as input: Requires pyserial package installed: See jjˆ—ubj)�r�—}r�—(jX https://pyserial.readthedocs.io/r‘—j}r’—(Urefurij‘—j]j]j]j]j]ujjˆ—j]r“—j%X https://pyserial.readthedocs.io/r”—…�r•—}r–—(jUjj�—ubajjubj%X (default: None)r——…�r˜—}r™—(jX (default: None)jjˆ—ubeubajU descriptionrš—ubejUoption_list_itemr›—ubajU option_listrœ—ubjX)�r�—}rž—(jXYRequired arguments - Choose one of the outputs: -o OUTPUT_FILE, --output_file OUTPUT_FILErŸ—jj—j j’jj\j}r —(j]j]j]j]j]ujKåj]r¡—j%XYRequired arguments - Choose one of the outputs: -o OUTPUT_FILE, --output_file OUTPUT_FILEr¢—…�r£—}r¤—(jjŸ—jj�—ubaubj¤ )�r¥—}r¦—(jUj}r§—(j]j]j]j]j]ujj—j]r¨—jX)�r©—}rª—(jX.Parse out the output to a file (default: None)r«—jj¥—j j’jj\j}r¬—(j]j]j]j]j]ujKçj]r­—j%X.Parse out the output to a file (default: None)r®—…�r¯—}r°—(jj«—jj©—ubaubajj§ ubjI—)�r±—}r²—(jUj}r³—(j]j]j]j]j]ujj—j]r´—jN—)�rµ—}r¶—(jUj}r·—(j]j]j]j]j]ujj±—j]r¸—(jS—)�r¹—}rº—(jUj}r»—(j]j]j]j]j]ujjµ—j]r¼—(jX—)�r½—}r¾—(jX-Or¿—j}rÀ—(j]j]j]j]j]ujj¹—j]rÁ—j]—)�r—}r×(jj¿—j}rÄ—(j]j]j]j]j]ujj½—j]rÅ—j%X-OrÆ—…�rÇ—}rÈ—(jUjj—ubajje—ubajjo—ubjX—)�rÉ—}rÊ—(jX--output_consolerË—j}rÌ—(j]j]j]j]j]ujj¹—j]rÍ—j]—)�rΗ}rÏ—(jjË—j}rЗ(j]j]j]j]j]ujjÉ—j]rÑ—j%X--output_consolerÒ—…�rÓ—}rÔ—(jUjjΗubajje—ubajjo—ubejj‚—ubjƒ—)�rÕ—}rÖ—(jXALog File to parse and report results to console (default: False) j}r×—(j]j]j]j]j]ujjµ—j]rØ—jX)�rÙ—}rÚ—(jX@Log File to parse and report results to console (default: False)rÛ—jjÕ—j j’jj\j}rÜ—(j]j]j]j]j]ujKèj]rÝ—j%X@Log File to parse and report results to console (default: False)rÞ—…�rß—}rà—(jjÛ—jjÙ—ubaubajjš—ubejj›—ubajjœ—ubjX)�rá—}râ—(jXcoptional arguments: -h, --help show this help message and exit -t, --time_stamp_relativerã—jj—j j’jj\j}rä—(j]j]j]j]j]ujKëj]rå—j%Xcoptional arguments: -h, --help show this help message and exit -t, --time_stamp_relativeræ—…�rç—}rè—(jjã—jjá—ubaubj¤ )�ré—}rê—(jUj}rë—(j]j]j]j]j]ujj—j]rì—jX)�rí—}rî—(jX]Add TimeStamp to output in relative milliseconds(this is approximation ONLY) (default: False)rï—jjé—j j’jj\j}rð—(j]j]j]j]j]ujKîj]rñ—j%X]Add TimeStamp to output in relative milliseconds(this is approximation ONLY) (default: False)rò—…�ró—}rô—(jjï—jjí—ubaubajj§ ubjI—)�rõ—}rö—(jUj}r÷—(j]j]j]j]j]ujj—j]rø—(jN—)�rù—}rú—(jUj}rû—(j]j]j]j]j]ujjõ—j]rü—(jS—)�rý—}rþ—(jUj}rÿ—(j]j]j]j]j]ujjù—j]r˜(jX—)�r˜}r˜(jX -r RULES_FILEj}r˜(j]j]j]j]j]ujjý—j]r˜(j]—)�r˜}r˜(jX-rj}r˜(j]j]j]j]j]ujj˜j]r˜j%X-rr ˜…�r ˜}r ˜(jUjj˜ubajje—ubjf—)�r ˜}r ˜(jX RULES_FILEj}r˜(j]j]j]U delimiterU j]j]ujj˜j]r˜j%X RULES_FILEr˜…�r˜}r˜(jUjj ˜ubajjn—ubejjo—ubjX—)�r˜}r˜(jX--rules_file RULES_FILEj}r˜(j]j]j]j]j]ujjý—j]r˜(j]—)�r˜}r˜(jX --rules_filej}r˜(j]j]j]j]j]ujj˜j]r˜j%X --rules_filer˜…�r˜}r˜(jUjj˜ubajje—ubjf—)�r˜}r˜(jX RULES_FILEj}r ˜(j]j]j]U delimiterU j]j]ujj˜j]r!˜j%X RULES_FILEr"˜…�r#˜}r$˜(jUjj˜ubajjn—ubejjo—ubejj‚—ubjƒ—)�r%˜}r&˜(jX8Alternate Rules file (default: ./sysfw_trace_rules.json)r'˜j}r(˜(j]j]j]j]j]ujjù—j]r)˜jX)�r*˜}r+˜(jj'˜jj%˜j j’jj\j}r,˜(j]j]j]j]j]ujKñj]r-˜j%X8Alternate Rules file (default: ./sysfw_trace_rules.json)r.˜…�r/˜}r0˜(jj'˜jj*˜ubaubajjš—ubejj›—ubjN—)�r1˜}r2˜(jUj}r3˜(j]j]j]j]j]ujjõ—j]r4˜(jS—)�r5˜}r6˜(jUj}r7˜(j]j]j]j]j]ujj1˜j]r8˜(jX—)�r9˜}r:˜(jX-Pmj}r;˜(j]j]j]j]j]ujj5˜j]r<˜(j]—)�r=˜}r>˜(jX-Pj}r?˜(j]j]j]j]j]ujj9˜j]r@˜j%X-PrA˜…�rB˜}rC˜(jUjj=˜ubajje—ubjf—)�rD˜}rE˜(jXmj}rF˜(j]j]j]U delimiterUj]j]ujj9˜j]rG˜j%Xm…�rH˜}rI˜(jUjjD˜ubajjn—ubejjo—ubjX—)�rJ˜}rK˜(jX--print_match_onlyrL˜j}rM˜(j]j]j]j]j]ujj5˜j]rN˜j]—)�rO˜}rP˜(jjL˜j}rQ˜(j]j]j]j]j]ujjJ˜j]rR˜j%X--print_match_onlyrS˜…�rT˜}rU˜(jUjjO˜ubajje—ubajjo—ubejj‚—ubjƒ—)�rV˜}rW˜(jX*Print just decoded data, (default: False) j}rX˜(j]j]j]j]j]ujj1˜j]rY˜jX)�rZ˜}r[˜(jX)Print just decoded data, (default: False)r\˜jjV˜j j’jj\j}r]˜(j]j]j]j]j]ujKój]r^˜j%X)Print just decoded data, (default: False)r_˜…�r`˜}ra˜(jj\˜jjZ˜ubaubajjš—ubejj›—ubejjœ—ubejj ubeubaubeubj)�rb˜}rc˜(jUjj’j j’jjj}rd˜(j]j]j]j]re˜Uapi-descriptionsrf˜aj]rg˜hçaujKöjhj]rh˜(j)�ri˜}rj˜(jXAPI descriptionsrk˜jjb˜j j’jj"j}rl˜(j]j]j]j]j]ujKöjhj]rm˜j%XAPI descriptionsrn˜…�ro˜}rp˜(jjk˜jji˜ubaubjX)�rq˜}rr˜(jX!API reference for application: ::jjb˜j j’jj\j}rs˜(j]j]j]j]j]ujK÷jhj]rt˜j%XAPI reference for application:ru˜…�rv˜}rw˜(jXAPI reference for application:jjq˜ubaubj#)�rx˜}ry˜(jX'#include jjb˜j j’jj&j}rz˜(j2j3j]j]j]j]j]ujMjhj]r{˜j%X'#include r|˜…�r}˜}r~˜(jUjjx˜ubaubjX)�r˜}r€˜(jX"The driver is split into 2 parts :r�˜jjb˜j j’jj\j}r‚˜(j]j]j]j]j]ujKüjhj]rƒ˜j%X"The driver is split into 2 parts :r„˜…�r…˜}r†˜(jj�˜jj˜ubaubj)�r‡˜}rˆ˜(jUjjb˜j j’jjj}r‰˜(jX-j]j]j]j]j]ujKþjhj]rŠ˜(j)�r‹˜}rŒ˜(jX“`SCIClient Core`_ : This has APIs for loading SYSFW ,initialization, de-initialization and SYSFW communication .These are defined in sciclient.h . jj‡˜j j’jj j}r�˜(j]j]j]j]j]ujNjhj]rŽ˜jX)�r�˜}r�˜(jX’`SCIClient Core`_ : This has APIs for loading SYSFW ,initialization, de-initialization and SYSFW communication .These are defined in sciclient.h .jj‹˜j j’jj\j}r‘˜(j]j]j]j]j]ujKþj]r’˜(j)�r“˜}r”˜(jX`SCIClient Core`_jqKjj�˜jjj}r•˜(UnameXSCIClient Corej]j]j]j]j]jO“Usciclient-corer–˜uj]r—˜j%XSCIClient Corer˜˜…�r™˜}rš˜(jUjj“˜ubaubj%X� : This has APIs for loading SYSFW ,initialization, de-initialization and SYSFW communication .These are defined in sciclient.h .r›˜…�rœ˜}r�˜(jX� : This has APIs for loading SYSFW ,initialization, de-initialization and SYSFW communication .These are defined in sciclient.h .jj�˜ubeubaubj)�rž˜}rŸ˜(jX`SCIClient Shim Layer`_ : This thin layer abstracts the message requests and responses sent to SYSW for `Power_management`_ , `Resource_management`_ and `Processor_BOOT_API_Interface`_ which the user can use without worrying about the request and response structures used . jj‡˜j j’jj j}r ˜(j]j]j]j]j]ujNjhj]r¡˜jX)�r¢˜}r£˜(jX`SCIClient Shim Layer`_ : This thin layer abstracts the message requests and responses sent to SYSW for `Power_management`_ , `Resource_management`_ and `Processor_BOOT_API_Interface`_ which the user can use without worrying about the request and response structures used .jjž˜j j’jj\j}r¤˜(j]j]j]j]j]ujMj]r¥˜(j)�r¦˜}r§˜(jX`SCIClient Shim Layer`_jqKjj¢˜jjj}r¨˜(UnameXSCIClient Shim Layerj]j]j]j]j]jO“Usciclient-shim-layerr©˜uj]rª˜j%XSCIClient Shim Layerr«˜…�r¬˜}r­˜(jUjj¦˜ubaubj%XQ : This thin layer abstracts the message requests and responses sent to SYSW for r®˜…�r¯˜}r°˜(jXQ : This thin layer abstracts the message requests and responses sent to SYSW for jj¢˜ubj)�r±˜}r²˜(jX`Power_management`_jqKjj¢˜jjj}r³˜(UnameXPower_managementj]j]j]j]j]jO“Upower-managementr´˜uj]rµ˜j%XPower_managementr¶˜…�r·˜}r¸˜(jUjj±˜ubaubj%X , r¹˜…�rº˜}r»˜(jX , jj¢˜ubj)�r¼˜}r½˜(jX`Resource_management`_jqKjj¢˜jjj}r¾˜(UnameXResource_managementj]j]j]j]j]jO“Uresource-managementr¿˜uj]rÀ˜j%XResource_managementrÁ˜…�r˜}rØ(jUjj¼˜ubaubj%X and rĘ…�rŘ}rƘ(jX and jj¢˜ubj)�rǘ}rȘ(jX`Processor_BOOT_API_Interface`_jqKjj¢˜jjj}rɘ(UnameXProcessor_BOOT_API_Interfacej]j]j]j]j]jO“Uprocessor-boot-api-interfacerʘuj]r˘j%XProcessor_BOOT_API_Interfacer̘…�r͘}rΘ(jUjjǘubaubj%XY which the user can use without worrying about the request and response structures used .rϘ…�rИ}rј(jXY which the user can use without worrying about the request and response structures used .jj¢˜ubeubaubeubj)�rÒ˜}rÓ˜(jUjKjjb˜j j’jjj}rÔ˜(j]j]j]j]rÕ˜j–˜aj]rÖ˜hÏaujMjhj]rט(j)�rؘ}rÙ˜(jXSCIClient CorerÚ˜jjÒ˜j j’jj"j}rÛ˜(j]j]j]j]j]ujMjhj]rܘj%XSCIClient Corerݘ…�rÞ˜}rߘ(jjÚ˜jjؘubaubjX)�rà˜}rá˜(jXBThe following core APIs for SCIClient are declared in sciclient.h.râ˜jjÒ˜j j’jj\j}rã˜(j]j]j]j]j]ujMjhj]rä˜j%XBThe following core APIs for SCIClient are declared in sciclient.h.r嘅�ræ˜}rç˜(jjâ˜jjà˜ubaubjb)�rè˜}ré˜(jX Firmware Loadrê˜jjÒ˜j j’jjfj}rë˜(j]j]j]j]j]ujMjhj]rì˜j%X Firmware Loadr혅�rî˜}rï˜(jjê˜jjè˜ubaubjš)�rð˜}rñ˜(jX.. _Sciclient_loadFirmware:jKjjÒ˜j j’jj�j}rò˜(j]j]j]j]j]jO“Usciclient-loadfirmwareró˜ujM%jhj]ubjX)�rô˜}rõ˜(jXèThis API loads SYSFW.The image must be loaded through a boot media for this API to succeed (Refer `Build and Run`_). Hence, this is typically called by SBL. Load firmware call does not require `Sciclient_init`_ to be done before. ::jKjjÒ˜j j’Uexpect_referenced_by_namerö˜}r÷˜hojð˜sjj\j}rø˜(j]j]j]j]rù˜jó˜aj]rú˜hoaujM jhUexpect_referenced_by_idrû˜}rü˜jó˜jð˜sj]rý˜(j%XbThis API loads SYSFW.The image must be loaded through a boot media for this API to succeed (Refer rþ˜…�rÿ˜}r™(jXbThis API loads SYSFW.The image must be loaded through a boot media for this API to succeed (Refer jjô˜ubj)�r™}r™(jX`Build and Run`_jqKjjô˜jjj}r™(UnameX Build and Runj]j]j]j]j]jO“j°“uj]r™j%X Build and Runr™…�r™}r™(jUjj™ubaubj%XO). Hence, this is typically called by SBL. Load firmware call does not require r™…�r ™}r ™(jXO). Hence, this is typically called by SBL. Load firmware call does not require jjô˜ubj)�r ™}r ™(jX`Sciclient_init`_jqKjjô˜jjj}r ™(UnameXSciclient_initj]j]j]j]j]jO“Usciclient-initr™uj]r™j%XSciclient_initr™…�r™}r™(jUjj ™ubaubj%X to be done before.r™…�r™}r™(jX to be done before.jjô˜ubeubj#)�r™}r™(jX1Defined in sciclient.h as Sciclient_loadFirmware.jjÒ˜j j’jj&j}r™(j2j3j]j]j]j]j]ujM*jhj]r™j%X1Defined in sciclient.h as Sciclient_loadFirmware.r™…�r™}r™(jUjj™ubaubjX)�r™}r™(jXTypical usage ::jjÒ˜j j’jj\j}r™(j]j]j]j]j]ujMjhj]r ™j%X Typical usager!™…�r"™}r#™(jX Typical usagejj™ubaubj#)�r$™}r%™(jX‘static const uint32_t gSciclient_firmware[BINARY_FILE_SIZE_IN_BYTES / 4U] =SCICLIENT_FIRMWARE; . . . Sciclient_loadFirmware(gSciclient_firmware);jjÒ˜j j’jj&j}r&™(j2j3j]j]j]j]j]ujM.jhj]r'™j%X‘static const uint32_t gSciclient_firmware[BINARY_FILE_SIZE_IN_BYTES / 4U] =SCICLIENT_FIRMWARE; . . . Sciclient_loadFirmware(gSciclient_firmware);r(™…�r)™}r*™(jUjj$™ubaubjb)�r+™}r,™(jXSCIClient initializationr-™jjÒ˜j j’jjfj}r.™(j]j]j]j]j]ujMjhj]r/™j%XSCIClient initializationr0™…�r1™}r2™(jj-™jj+™ubaubjš)�r3™}r4™(jX.. _Sciclient_init:jKjjÒ˜j j’jj�j}r5™(j]j]j]j]j]jO“j™ujM5jhj]ubjX)�r6™}r7™(jXXThis API is called once for registering interrupts and creating semaphore handles to be able to talk to the firmware. The application should assume that the firmware is pre-loaded while calling this API. The firmware should have been loaded either via GEL or via the SBL (refer `Sciclient_loadFirmware`_ ) prior to the application calling this.jKjjÒ˜j j’jö˜}r8™h­j3™sjj\j}r9™(j]j]j]j]r:™j™aj]r;™h­aujMjhjû˜}r<™j™j3™sj]r=™(j%XThis API is called once for registering interrupts and creating semaphore handles to be able to talk to the firmware. The application should assume that the firmware is pre-loaded while calling this API. The firmware should have been loaded either via GEL or via the SBL (refer r>™…�r?™}r@™(jXThis API is called once for registering interrupts and creating semaphore handles to be able to talk to the firmware. The application should assume that the firmware is pre-loaded while calling this API. The firmware should have been loaded either via GEL or via the SBL (refer jj6™ubj)�rA™}rB™(jX`Sciclient_loadFirmware`_jqKjj6™jjj}rC™(UnameXSciclient_loadFirmwarej]j]j]j]j]jO“jó˜uj]rD™j%XSciclient_loadFirmwarerE™…�rF™}rG™(jUjjA™ubaubj%X) ) prior to the application calling this.rH™…�rI™}rJ™(jX) ) prior to the application calling this.jj6™ubeubjX)�rK™}rL™(jXPThe API **Sciclient_init** takes a pointer to *Sciclient_ConfigPrms_t* as input.rM™jjÒ˜j j’jj\j}rN™(j]j]j]j]j]ujM!jhj]rO™(j%XThe API rP™…�rQ™}rR™(jXThe API jjK™ubj|)�rS™}rT™(jX**Sciclient_init**j}rU™(j]j]j]j]j]ujjK™j]rV™j%XSciclient_initrW™…�rX™}rY™(jUjjS™ubajj„ubj%X takes a pointer to rZ™…�r[™}r\™(jX takes a pointer to jjK™ubj<)�r]™}r^™(jX*Sciclient_ConfigPrms_t*j}r_™(j]j]j]j]j]ujjK™j]r`™j%XSciclient_ConfigPrms_tra™…�rb™}rc™(jUjj]™ubajjDubj%X as input.rd™…�re™}rf™(jX as input.jjK™ubeubj)�rg™}rh™(jUjjÒ˜j j’jjj}ri™(jX-j]j]j]j]j]ujM#jhj]rj™j)�rk™}rl™(jXÔThe parameter *opModeFlag* allows 2 operation modes for `Sciclient_service`_ : +-----------------------+----------------------------------------------------------------+ | opModeFlag | Description | +=======================+================================================================+ | Polling based | Invoked using SCICLIENT_SERVICE_OPERATION_MODE_POLLED | +-----------------------+----------------------------------------------------------------+ | Interrupt based | Invoked using SCICLIENT_SERVICE_OPERATION_MODE_INTERRUPT | +-----------------------+----------------------------------------------------------------+ jjg™j j’jj j}rm™(j]j]j]j]j]ujNjhj]rn™(jX)�ro™}rp™(jXNThe parameter *opModeFlag* allows 2 operation modes for `Sciclient_service`_ :jjk™j j’jj\j}rq™(j]j]j]j]j]ujM#j]rr™(j%XThe parameter rs™…�rt™}ru™(jXThe parameter jjo™ubj<)�rv™}rw™(jX *opModeFlag*j}rx™(j]j]j]j]j]ujjo™j]ry™j%X opModeFlagrz™…�r{™}r|™(jUjjv™ubajjDubj%X allows 2 operation modes for r}™…�r~™}r™(jX allows 2 operation modes for jjo™ubj)�r€™}r�™(jX`Sciclient_service`_jqKjjo™jjj}r‚™(UnameXSciclient_servicej]j]j]j]j]jO“jP“uj]rƒ™j%XSciclient_servicer„™…�r…™}r†™(jUjj€™ubaubj%X :r‡™…�rˆ™}r‰™(jX :jjo™ubeubj¤ )�rŠ™}r‹™(jUj}rŒ™(j]j]j]j]j]ujjk™j]r�™j¶)�rŽ™}r�™(jUj}r�™(j]j]j]j]j]ujjŠ™j]r‘™j¼)�r’™}r“™(jUj}r”™(j]j]j]j]j]UcolsKujjŽ™j]r•™(jÁ)�r–™}r—™(jUj}r˜™(j]j]j]j]j]UcolwidthKujj’™j]jjÅubjÁ)�r™™}rš™(jUj}r›™(j]j]j]j]j]UcolwidthK@ujj’™j]jjÅubjÒ)�rœ™}r�™(jUj}rž™(j]j]j]j]j]ujj’™j]rŸ™j×)�r ™}r¡™(jUj}r¢™(j]j]j]j]j]ujjœ™j]r£™(jÜ)�r¤™}r¥™(jUj}r¦™(j]j]j]j]j]ujj ™j]r§™jX)�r¨™}r©™(jX opModeFlagrª™jj¤™j j’jj\j}r«™(j]j]j]j]j]ujM&j]r¬™j%X opModeFlagr­™…�r®™}r¯™(jjª™jj¨™ubaubajjéubjÜ)�r°™}r±™(jUj}r²™(j]j]j]j]j]ujj ™j]r³™jX)�r´™}rµ™(jX Descriptionr¶™jj°™j j’jj\j}r·™(j]j]j]j]j]ujM&j]r¸™j%X Descriptionr¹™…�rº™}r»™(jj¶™jj´™ubaubajjéubejjubajjubj)�r¼™}r½™(jUj}r¾™(j]j]j]j]j]ujj’™j]r¿™(j×)�rÀ™}rÁ™(jUj}r™(j]j]j]j]j]ujj¼™j]rÙ(jÜ)�rÄ™}rÅ™(jUj}rÆ™(j]j]j]j]j]ujjÀ™j]rÇ™jX)�rÈ™}rÉ™(jX Polling basedrÊ™jjÄ™j j’jj\j}rË™(j]j]j]j]j]ujM(j]rÌ™j%X Polling basedrÍ™…�rΙ}rÏ™(jjÊ™jjÈ™ubaubajjéubjÜ)�rЙ}rÑ™(jUj}rÒ™(j]j]j]j]j]ujjÀ™j]rÓ™jX)�rÔ™}rÕ™(jX7Invoked using SCICLIENT_SERVICE_OPERATION_MODE_POLLEDrÖ™jjЙj j’jj\j}r×™(j]j]j]j]j]ujM(j]rØ™j%X7Invoked using SCICLIENT_SERVICE_OPERATION_MODE_POLLEDrÙ™…�rÚ™}rÛ™(jjÖ™jjÔ™ubaubajjéubejjubj×)�rÜ™}rÝ™(jUj}rÞ™(j]j]j]j]j]ujj¼™j]rß™(jÜ)�rà™}rá™(jUj}râ™(j]j]j]j]j]ujjÜ™j]rã™jX)�rä™}rå™(jXInterrupt basedræ™jjà™j j’jj\j}rç™(j]j]j]j]j]ujM*j]rè™j%XInterrupt basedré™…�rê™}rë™(jjæ™jjä™ubaubajjéubjÜ)�rì™}rí™(jUj}rî™(j]j]j]j]j]ujjÜ™j]rï™jX)�rð™}rñ™(jX:Invoked using SCICLIENT_SERVICE_OPERATION_MODE_INTERRUPTrò™jjì™j j’jj\j}ró™(j]j]j]j]j]ujM*j]rô™j%X:Invoked using SCICLIENT_SERVICE_OPERATION_MODE_INTERRUPTrõ™…�rö™}r÷™(jjò™jjð™ubaubajjéubejjubejjðubejjñubajj¹ubajj§ ubeubaubjX)�rø™}rù™(jX Definition ::jjÒ˜j j’jj\j}rú™(j]j]j]j]j]ujM-jhj]rû™j%X Definitionrü™…�rý™}rþ™(jX Definitionjjø™ubaubj#)�rÿ™}rš(jX-Defined in sciclient.h as **Sciclient_init**.jjÒ˜j j’jj&j}rš(j2j3j]j]j]j]j]ujMLjhj]ršj%X-Defined in sciclient.h as **Sciclient_init**.rš…�rš}rš(jUjjÿ™ubaubjX)�rš}rš(jXNote ::jjÒ˜j j’jj\j}rš(j]j]j]j]j]ujM2jhj]r šj%XNoter š…�r š}r š(jXNotejjšubaubj#)�r š}rš(jXº- This API provides a software initialization for the driver. Any application using SCIClient must call this API. - SCICLIENT_SERVICE_OPERATION_MODE_INTERRUPT is not supported as of now.jjÒ˜j j’jj&j}rš(j2j3j]j]j]j]j]ujMQjhj]ršj%Xº- This API provides a software initialization for the driver. Any application using SCIClient must call this API. - SCICLIENT_SERVICE_OPERATION_MODE_INTERRUPT is not supported as of now.rš…�rš}rš(jUjj šubaubjX)�rš}rš(jXTypical usage ::jjÒ˜j j’jj\j}rš(j]j]j]j]j]ujM8jhj]ršj%X Typical usagerš…�rš}rš(jX Typical usagejjšubaubj#)�rš}rš(jXzSciclient_ConfigPrms_t config = { SCICLIENT_SERVICE_OPERATION_MODE_POLLED, NULL }; Sciclient_init(&config);jjÒ˜j j’jj&j}rš(j2j3j]j]j]j]j]ujMWjhj]ršj%XzSciclient_ConfigPrms_t config = { SCICLIENT_SERVICE_OPERATION_MODE_POLLED, NULL }; Sciclient_init(&config);rš…�r š}r!š(jUjjšubaubjb)�r"š}r#š(jXSYSFW communicationr$šjjÒ˜j j’jjfj}r%š(j]j]j]j]j]ujMAjhj]r&šj%XSYSFW communicationr'š…�r(š}r)š(jj$šjj"šubaubjš)�r*š}r+š(jX.. _Sciclient_service:jKjjÒ˜j j’jj�j}r,š(j]j]j]j]j]jO“jP“ujM_jhj]ubjX)�r-š}r.š(jXãThis API allows communicating with the System firmware which can be called to perform various functions in the system. Core SCIClient function for transmitting payload and recieving the response. The caller is expected to allocate memory for the input request parameter **Sciclient_ReqPrm_t** . This involves setting the message type being communicated to the firmware, the response flags, populate the payload of the message based on the inputs in the files located at include/tisci/ . Since the payload in considered a stream of bytes in this API, the caller should also populate the size of this stream in reqPayloadSize. The timeout is used to determine for what amount of iterations the API would wait for their operation to complete.jKjjÒ˜j j’jö˜}r/šhIj*šsjj\j}r0š(j]j]j]j]r1šjP“aj]r2šhIaujMDjhjû˜}r3šjP“j*šsj]r4š(j%XThis API allows communicating with the System firmware which can be called to perform various functions in the system. Core SCIClient function for transmitting payload and recieving the response. The caller is expected to allocate memory for the input request parameter r5š…�r6š}r7š(jXThis API allows communicating with the System firmware which can be called to perform various functions in the system. Core SCIClient function for transmitting payload and recieving the response. The caller is expected to allocate memory for the input request parameter jj-šubj|)�r8š}r9š(jX**Sciclient_ReqPrm_t**j}r:š(j]j]j]j]j]ujj-šj]r;šj%XSciclient_ReqPrm_tr<š…�r=š}r>š(jUjj8šubajj„ubj%X¿ . This involves setting the message type being communicated to the firmware, the response flags, populate the payload of the message based on the inputs in the files located at include/tisci/ . Since the payload in considered a stream of bytes in this API, the caller should also populate the size of this stream in reqPayloadSize. The timeout is used to determine for what amount of iterations the API would wait for their operation to complete.r?š…�r@š}rAš(jX¿ . This involves setting the message type being communicated to the firmware, the response flags, populate the payload of the message based on the inputs in the files located at include/tisci/ . Since the payload in considered a stream of bytes in this API, the caller should also populate the size of this stream in reqPayloadSize. The timeout is used to determine for what amount of iterations the API would wait for their operation to complete.jj-šubeubjX)�rBš}rCš(jX�To make sure the response is captured correctly the caller should also allocate the space for **Sciclient_RespPrm_t** parameters. The caller should populate the pointer to the pRespPayload and the size respPayloadSize. The API would populate the response flags to indicate any firmware specific errors and also populate the memory pointed by pRespPayload till the size given in respPayloadSize. ::jjÒ˜j j’jj\j}rDš(j]j]j]j]j]ujMRjhj]rEš(j%X^To make sure the response is captured correctly the caller should also allocate the space for rFš…�rGš}rHš(jX^To make sure the response is captured correctly the caller should also allocate the space for jjBšubj|)�rIš}rJš(jX**Sciclient_RespPrm_t**j}rKš(j]j]j]j]j]ujjBšj]rLšj%XSciclient_RespPrm_trMš…�rNš}rOš(jUjjIšubajj„ubj%X parameters. The caller should populate the pointer to the pRespPayload and the size respPayloadSize. The API would populate the response flags to indicate any firmware specific errors and also populate the memory pointed by pRespPayload till the size given in respPayloadSize.rPš…�rQš}rRš(jX parameters. The caller should populate the pointer to the pRespPayload and the size respPayloadSize. The API would populate the response flags to indicate any firmware specific errors and also populate the memory pointed by pRespPayload till the size given in respPayloadSize.jjBšubeubj#)�rSš}rTš(jX1Defined in sciclient.h as **Sciclient_service** .jjÒ˜j j’jj&j}rUš(j2j3j]j]j]j]j]ujMvjhj]rVšj%X1Defined in sciclient.h as **Sciclient_service** .rWš…�rXš}rYš(jUjjSšubaubjX)�rZš}r[š(jXTypical usage ::jjÒ˜j j’jj\j}r\š(j]j]j]j]j]ujMZjhj]r]šj%X Typical usager^š…�r_š}r`š(jX Typical usagejjZšubaubj#)�raš}rbš(jXmconst Sciclient_ReqPrm_t reqPrm = { TISCI_MSG_VERSION, TISCI_MSG_FLAG_AOP, NULL, 0, SCICLIENT_SERVICE_WAIT_FOREVER }; struct tisci_msg_version_resp response; Sciclient_RespPrm_t respPrm = { 0, (uint8_t *) &response, sizeof (response) }; status = Sciclient_init(&config); status = Sciclient_service(&reqPrm, &respPrm);jjÒ˜j j’jj&j}rcš(j2j3j]j]j]j]j]ujMyjhj]rdšj%Xmconst Sciclient_ReqPrm_t reqPrm = { TISCI_MSG_VERSION, TISCI_MSG_FLAG_AOP, NULL, 0, SCICLIENT_SERVICE_WAIT_FOREVER }; struct tisci_msg_version_resp response; Sciclient_RespPrm_t respPrm = { 0, (uint8_t *) &response, sizeof (response) }; status = Sciclient_init(&config); status = Sciclient_service(&reqPrm, &respPrm);reš…�rfš}rgš(jUjjašubaubjb)�rhš}riš(jXSCIClient de-initializationrjšjjÒ˜j j’jjfj}rkš(j]j]j]j]j]ujMpjhj]rlšj%XSCIClient de-initializationrmš…�rnš}roš(jjjšjjhšubaubjš)�rpš}rqš(jX.. _Sciclient_deinit:jjÒ˜j j’jj�j}rrš(j]j]j]j]j]jO“Usciclient-deinitrsšujMŽjhj]ubjX)�rtš}ruš(jXïDe-initialization of sciclient. This de-initialization is specific to the application. It only de-initializes the semaphores, interrupts etc. which are initialized using `Sciclient_init`_ . It does not de-initialize the system firmware. ::jjÒ˜j j’jö˜}rvšhójpšsjj\j}rwš(j]j]j]j]rxšjsšaj]ryšhóaujMsjhjû˜}rzšjsšjpšsj]r{š(j%XªDe-initialization of sciclient. This de-initialization is specific to the application. It only de-initializes the semaphores, interrupts etc. which are initialized using r|š…�r}š}r~š(jXªDe-initialization of sciclient. This de-initialization is specific to the application. It only de-initializes the semaphores, interrupts etc. which are initialized using jjtšubj)�rš}r€š(jX`Sciclient_init`_jqKjjtšjjj}r�š(UnameXSciclient_initj]j]j]j]j]jO“j™uj]r‚šj%XSciclient_initrƒš…�r„š}r…š(jUjjšubaubj%X1 . It does not de-initialize the system firmware.r†š…�r‡š}rˆš(jX1 . It does not de-initialize the system firmware.jjtšubeubj#)�r‰š}rŠš(jX0Defined in sciclient.h as **Sciclient_deinit** .jjÒ˜j j’jj&j}r‹š(j2j3j]j]j]j]j]ujM•jhj]rŒšj%X0Defined in sciclient.h as **Sciclient_deinit** .r�š…�rŽš}r�š(jUjj‰šubaubjX)�r�š}r‘š(jXTypical usage ::jjÒ˜j j’jj\j}r’š(j]j]j]j]j]ujMzjhj]r“šj%X Typical usager”š…�r•š}r–š(jX Typical usagejj�šubaubj#)�r—š}r˜š(jXSciclient_deinit();jjÒ˜j j’jj&j}r™š(j2j3j]j]j]j]j]ujM™jhj]rššj%XSciclient_deinit();r›š…�rœš}r�š(jUjj—šubaubjb)�ržš}rŸš(jXBoard configurationr šjjÒ˜j j’jjfj}r¡š(j]j]j]j]j]ujM€jhj]r¢šj%XBoard configurationr£š…�r¤š}r¥š(jj šjjžšubaubjX)�r¦š}r§š(jX¬One time board configuration needs to be done from R5 for rm,pm and security to communicate with SYSFW. It is normally done by SBL, so user doesn't need to call these APIs.r¨šjjÒ˜j j’jj\j}r©š(j]j]j]j]j]ujM�jhj]rªšj%X¬One time board configuration needs to be done from R5 for rm,pm and security to communicate with SYSFW. It is normally done by SBL, so user doesn't need to call these APIs.r«š…�r¬š}r­š(jj¨šjj¦šubaubjX)�r®š}r¯š(jXUser needs to define a section ".boardcfg_data" in the linker file for the default configuration (NULL pointer to *Sciclient_BoardCfgPrms_t* is passed to the APIs), which needs to be present in OCMRAM . If user provides custom board_cfg, then the data must be present on OCMRAM. ::jjÒ˜j j’jj\j}r°š(j]j]j]j]j]ujM„jhj]r±š(j%XrUser needs to define a section ".boardcfg_data" in the linker file for the default configuration (NULL pointer to r²š…�r³š}r´š(jXrUser needs to define a section ".boardcfg_data" in the linker file for the default configuration (NULL pointer to jj®šubj<)�rµš}r¶š(jX*Sciclient_BoardCfgPrms_t*j}r·š(j]j]j]j]j]ujj®šj]r¸šj%XSciclient_BoardCfgPrms_tr¹š…�rºš}r»š(jUjjµšubajjDubj%XŠ is passed to the APIs), which needs to be present in OCMRAM . If user provides custom board_cfg, then the data must be present on OCMRAM.r¼š…�r½š}r¾š(jXŠ is passed to the APIs), which needs to be present in OCMRAM . If user provides custom board_cfg, then the data must be present on OCMRAM.jj®šubeubj#)�r¿š}rÀš(jXhBoard configuration structure is defined in include/V0/sciclient_boardcfg.h as Sciclient_BoardCfgPrms_t.jjÒ˜j j’jj&j}rÁš(j2j3j]j]j]j]j]ujM¦jhj]ršj%XhBoard configuration structure is defined in include/V0/sciclient_boardcfg.h as Sciclient_BoardCfgPrms_t.rÚ…�rÄš}rÅš(jUjj¿šubaubjX)�rÆš}rÇš(jXTypical usage ::jjÒ˜j j’jj\j}rÈš(j]j]j]j]j]ujM‹jhj]rÉšj%X Typical usagerÊš…�rËš}rÌš(jX Typical usagejjÆšubaubj#)�rÍš}rΚ(jX»status = Sciclient_boardCfg(NULL); if (CSL_PASS == status) { status = Sciclient_boardCfgPm(NULL) + Sciclient_boardCfgRm(NULL) + Sciclient_boardCfgSec(NULL) ; }jjÒ˜j j’jj&j}rÏš(j2j3j]j]j]j]j]ujMªjhj]rКj%X»status = Sciclient_boardCfg(NULL); if (CSL_PASS == status) { status = Sciclient_boardCfgPm(NULL) + Sciclient_boardCfgRm(NULL) + Sciclient_boardCfgSec(NULL) ; }rÑš…�rÒš}rÓš(jUjjÍšubaubeubj)�rÔš}rÕš(jUjKjjb˜j j’jjj}rÖš(j]j]j]j]rךj©˜aj]rØšh7aujM–jhj]rÙš(j)�rÚš}rÛš(jXSCIClient Shim LayerrÜšjjÔšj j’jj"j}rÝš(j]j]j]j]j]ujM–jhj]rÞšj%XSCIClient Shim Layerrßš…�ràš}ráš(jjÜšjjÚšubaubjb)�râš}rãš(jXPower managementräšjjÔšj j’jjfj}råš(j]j]j]j]j]ujM˜jhj]ræšj%XPower managementrçš…�rèš}réš(jjäšjjâšubaubjš)�rêš}rëš(jX.. _Power_management:jKjjÔšj j’jj�j}rìš(j]j]j]j]j]jO“j´˜ujM¶jhj]ubjX)�ríš}rîš(jXkThe APIs in include/sciclient_pm.h provide declarations of SCIClient APIs for power management of the SOC .rïšjKjjÔšj j’jö˜}rðšhêjêšsjj\j}rñš(j]j]j]j]ròšj´˜aj]róšhêaujM›jhjû˜}rôšj´˜jêšsj]rõšj%XkThe APIs in include/sciclient_pm.h provide declarations of SCIClient APIs for power management of the SOC .röš…�r÷š}røš(jjïšjjíšubaubjb)�rùš}rúš(jXResource managementrûšjjÔšj j’jjfj}rüš(j]j]j]j]j]ujM�jhj]rýšj%XResource managementrþš…�rÿš}r›(jjûšjjùšubaubjš)�r›}r›(jX.. _Resource_management:jKjjÔšj j’jj�j}r›(j]j]j]j]j]jO“j¿˜ujM»jhj]ubjX)�r›}r›(jXnThe APIs in include/sciclient_rm.h provide declarations of SCIClient APIs for resource management of the SOC .r›jKjjÔšj j’jö˜}r›hrj›sjj\j}r›(j]j]j]j]r ›j¿˜aj]r ›hraujM jhjû˜}r ›j¿˜j›sj]r ›j%XnThe APIs in include/sciclient_rm.h provide declarations of SCIClient APIs for resource management of the SOC .r ›…�r›}r›(jj›jj›ubaubjb)�r›}r›(jXProcessor BOOT API Interfacer›jjÔšj j’jjfj}r›(j]j]j]j]j]ujM£jhj]r›j%XProcessor BOOT API Interfacer›…�r›}r›(jj›jj›ubaubjš)�r›}r›(jX!.. _Processor_BOOT_API_Interface:jKjjÔšj j’jj�j}r›(j]j]j]j]j]jO“jʘujMÁjhj]ubjX)�r›}r›(jXoThe APIs in include/sciclient_procboot.h provide declarations of SCIClient APIs for processor boot and control.r›jKjjÔšj j’jö˜}r›h;j›sjj\j}r›(j]j]j]j]r ›jʘaj]r!›h;aujM¦jhjû˜}r"›jʘj›sj]r#›j%XoThe APIs in include/sciclient_procboot.h provide declarations of SCIClient APIs for processor boot and control.r$›…�r%›}r&›(jj›jj›ubaubjX)�r'›}r(›(jX,APIs are divided into the following two setsr)›jjÔšj j’jj\j}r*›(j]j]j]j]j]ujM¨jhj]r+›j%X,APIs are divided into the following two setsr,›…�r-›}r.›(jj)›jj'›ubaubj)�r/›}r0›(jUjjÔšj j’jjj}r1›(jX-j]j]j]j]j]ujMªjhj]r2›(j)�r3›}r4›(jX_Book keeping APIs - Meant to control access to allow a reasonable usage scenario of processors.r5›jj/›j j’jj j}r6›(j]j]j]j]j]ujNjhj]r7›jX)�r8›}r9›(jj5›jj3›j j’jj\j}r:›(j]j]j]j]j]ujMªj]r;›j%X_Book keeping APIs - Meant to control access to allow a reasonable usage scenario of processors.r<›…�r=›}r>›(jj5›jj8›ubaubaubj)�r?›}r@›(jXHProcessor Control APIs - Meant to be the actual Processor Corecontrols. jj/›j XYinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/SCICLIENT.rst.incrA›jj j}rB›(j]j]j]j]j]ujNjhj]rC›jX)�rD›}rE›(jXGProcessor Control APIs - Meant to be the actual Processor Corecontrols.rF›jj?›j j’jj\j}rG›(j]j]j]j]j]ujM«j]rH›j%XGProcessor Control APIs - Meant to be the actual Processor Corecontrols.rI›…�rJ›}rK›(jjF›jjD›ubaubaubeubeubeubeubj j’jjj}rL›(j]rM›XoverviewrN›aj]j]j]rO›Uid249rP›aj]ujKjhj]rQ›(j)�rR›}rS›(jXOverviewrT›jj’j j’jj"j}rU›(j]j]j]j]j]ujKjhj]rV›j%XOverviewrW›…�rX›}rY›(jjT›jjR›ubaubjX)�rZ›}r[›(jX Traditional Texas Instruments SoCs implement system control functions such as power management within operating systems on each of the processing units (ARM/DSP etc). However the traditional approach has had tremendous challenges to ensure system stability. Few of the challenges include:r\›jj’j j’jj\j}r]›(j]j]j]j]j]ujKjhj]r^›j%X Traditional Texas Instruments SoCs implement system control functions such as power management within operating systems on each of the processing units (ARM/DSP etc). However the traditional approach has had tremendous challenges to ensure system stability. Few of the challenges include:r_›…�r`›}ra›(jj\›jjZ›ubaubj)�rb›}rc›(jUjj’j j’jjj}rd›(jX-j]j]j]j]j]ujK jhj]re›(j)�rf›}rg›(jXZComplex interactions between Operating Systems on heterogeneous SoCs for generic features.rh›jjb›j j’jj j}ri›(j]j]j]j]j]ujNjhj]rj›jX)�rk›}rl›(jjh›jjf›j j’jj\j}rm›(j]j]j]j]j]ujK j]rn›j%XZComplex interactions between Operating Systems on heterogeneous SoCs for generic features.ro›…�rp›}rq›(jjh›jjk›ubaubaubj)�rr›}rs›(jX.Lack of centralized knowledge of system state.rt›jjb›j j’jj j}ru›(j]j]j]j]j]ujNjhj]rv›jX)�rw›}rx›(jjt›jjr›j j’jj\j}ry›(j]j]j]j]j]ujK j]rz›j%X.Lack of centralized knowledge of system state.r{›…�r|›}r}›(jjt›jjw›ubaubaubj)�r~›}r›(jXOComplex implementation challenges when implementing workarounds for SoC errata.r€›jjb›j j’jj j}r�›(j]j]j]j]j]ujNjhj]r‚›jX)�rƒ›}r„›(jj€›jj~›j j’jj\j}r…›(j]j]j]j]j]ujK j]r†›j%XOComplex implementation challenges when implementing workarounds for SoC errata.r‡›…�rˆ›}r‰›(jj€›jjƒ›ubaubaubj)�rŠ›}r‹›(jX^Equivalent SoC power or device management entitlement on all variations of Operating Systems. jjb›j j’jj j}rŒ›(j]j]j]j]j]ujNjhj]r�›jX)�rŽ›}r�›(jX]Equivalent SoC power or device management entitlement on all variations of Operating Systems.r�›jjŠ›j j’jj\j}r‘›(j]j]j]j]j]ujK j]r’›j%X]Equivalent SoC power or device management entitlement on all variations of Operating Systems.r“›…�r”›}r•›(jj�›jjŽ›ubaubaubeubjX)�r–›}r—›(jXDMSC controls the power management of the device, hence is responsible for bringing the device out of reset, enforce clock and reset rules. DMSC power management functions are critical to bring device to low power modes, for example DeepSleep, and sense wake-up events to bring device back online to active state. There is one instance of DMSC in this family of devices - WKUP_DMSC0.r˜›jj’j j’jj\j}r™›(j]j]j]j]j]ujKjhj]rš›j%XDMSC controls the power management of the device, hence is responsible for bringing the device out of reset, enforce clock and reset rules. DMSC power management functions are critical to bring device to low power modes, for example DeepSleep, and sense wake-up events to bring device back online to active state. There is one instance of DMSC in this family of devices - WKUP_DMSC0.r››…�rœ›}r�›(jj˜›jj–›ubaubjX)�rž›}rŸ›(jX8Texas Instruments' System Control Interface defines the communication protocol between various processing entities to the System Control Entity on TI SoCs. This is a set of message formats and sequence of operations required to communicate and get system services processed from System Control entity in the SoC.r ›jj’j j’jj\j}r¡›(j]j]j]j]j]ujKjhj]r¢›j%X8Texas Instruments' System Control Interface defines the communication protocol between various processing entities to the System Control Entity on TI SoCs. This is a set of message formats and sequence of operations required to communicate and get system services processed from System Control entity in the SoC.r£›…�r¤›}r¥›(jj ›jjž›ubaubjX)�r¦›}r§›(jXfMore information regarding the TI-SCI is given `here `_ .r¨›jj’j j’jj\j}r©›(j]j]j]j]j]ujKjhj]rª›(j%X/More information regarding the TI-SCI is given r«›…�r¬›}r­›(jX/More information regarding the TI-SCI is given jj¦›ubj)�r®›}r¯›(jX5`here `_j}r°›(UnamehjX+http://downloads.ti.com/tisci/esd/18_08_00/r±›j]j]j]j]j]ujj¦›j]r²›j%Xherer³›…�r´›}rµ›(jUjj®›ubajjubjš)�r¶›}r·›(jX. jKjj¦›jj�j}r¸›(Urefurij±›j]r¹›Uhererº›aj]j]j]j]r»›hauj]ubj%X .r¼›…�r½›}r¾›(jX .jj¦›ubeubjX)�r¿›}rÀ›(jX The SCIClient is an interface to the TI-SCI protocol for RTOS and non-OS based applications. It exposes the core message details, valid module/clock IDs to the higher level software and abstracts the communication with SYSFW based on the TI-SCI protocol. These APIs can be called by power, resource and security RTOS drivers or any other non-OS or RTOS based higher level software to be able to communicate with DMSC for its services. The higher level software is expected to populate the necessary message core parameters.rÁ›jj’j j’jj\j}r›(j]j]j]j]j]ujKjhj]rÛj%X The SCIClient is an interface to the TI-SCI protocol for RTOS and non-OS based applications. It exposes the core message details, valid module/clock IDs to the higher level software and abstracts the communication with SYSFW based on the TI-SCI protocol. These APIs can be called by power, resource and security RTOS drivers or any other non-OS or RTOS based higher level software to be able to communicate with DMSC for its services. The higher level software is expected to populate the necessary message core parameters.rÄ›…�rÅ›}rÆ›(jjÁ›jj¿›ubaubjX)�rÇ›}rÈ›(jXšThe firmware which runs on DMSC is called system-firmware(SYSFW) .The documentation for SYSFW can be found at docs/system-firmware-public-documentation/ .rÉ›jj’j j’jj\j}rÊ›(j]j]j]j]j]ujKjhj]rË›j%XšThe firmware which runs on DMSC is called system-firmware(SYSFW) .The documentation for SYSFW can be found at docs/system-firmware-public-documentation/ .rÌ›…�rÍ›}rΛ(jjÉ›jjÇ›ubaubeubj j’jj?j}rÏ›(j]UlevelKj]j]rЛjP›aUsourcej’j]j]UlineKUtypejAujKjhj]rÑ›jX)�rÒ›}rÓ›(jX+Duplicate implicit target name: "overview".j}rÔ›(j]j]j]j]j]ujj’j]rÕ›j%X+Duplicate implicit target name: "overview".rÖ›…�r×›}rØ›(jUjjÒ›ubajj\ubaubhÿ)�rÙ›}rÚ›(jUjj¬“j j’jj?j}rÛ›(j]UlevelKj]j]Usourcej’j]j]UlineK=UtypejAujK=jhj]rÜ›jX)�rÝ›}rÞ›(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rß›(j]j]j]j]j]ujjÙ›j]rà›j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rá›…�râ›}rã›(jUjjÝ›ubajj\ubaubhÿ)�rä›}rå›(jUjj¬“j j’jj?j}ræ›(j]UlevelKj]j]Usourcej’j]j]UlineK>UtypejòujK=jhj]rç›jX)�rè›}ré›(jXUnexpected indentation.j}rê›(j]j]j]j]j]ujjä›j]rë›j%XUnexpected indentation.rì›…�rí›}rî›(jUjjè›ubajj\ubaubhÿ)�rï›}rð›(jUjjÉ“j j’jj?j}rñ›(j]UlevelKj]j]Usourcej’j]j]UlineKSUtypejAujKSjhj]rò›jX)�ró›}rô›(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rõ›(j]j]j]j]j]ujjï›j]rö›j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r÷›…�rø›}rù›(jUjjó›ubajj\ubaubhÿ)�rú›}rû›(jUjjÉ“j j’jj?j}rü›(j]UlevelKj]j]Usourcej’j]j]UlineKTUtypejòujKSjhj]rý›jX)�rþ›}rÿ›(jXUnexpected indentation.j}rœ(j]j]j]j]j]ujjú›j]rœj%XUnexpected indentation.rœ…�rœ}rœ(jUjjþ›ubajj\ubaubhÿ)�rœ}rœ(jUjj=•j j’jj?j}rœ(j]UlevelKj]j]Usourcej’j]j]UlineKgUtypejXujKfjhj]rœjX)�r œ}r œ(jX;Bullet list ends without a blank line; unexpected unindent.j}r œ(j]j]j]j]j]ujjœj]r œj%X;Bullet list ends without a blank line; unexpected unindent.r œ…�rœ}rœ(jUjj œubajj\ubaubhÿ)�rœ}rœ(jUjj=•j j’jj?j}rœ(j]UlevelKj]j]Usourcej’j]j]UlineKhUtypejAujKhjhj]rœjX)�rœ}rœ(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rœ(j]j]j]j]j]ujjœj]rœj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rœ…�rœ}rœ(jUjjœubajj\ubaubhÿ)�rœ}rœ(jUjj=•j j’jj?j}rœ(j]UlevelKj]j]Usourcej’j]j]UlineKiUtypejòujKhjhj]rœjX)�rœ}r œ(jXUnexpected indentation.j}r!œ(j]j]j]j]j]ujjœj]r"œj%XUnexpected indentation.r#œ…�r$œ}r%œ(jUjjœubajj\ubaubhÿ)�r&œ}r'œ(jUjj=•j j’jj?j}r(œ(j]UlevelKj]j]Usourcej’j]j]UlineKnUtypejXujKmjhj]r)œjX)�r*œ}r+œ(jX=Literal block ends without a blank line; unexpected unindent.j}r,œ(j]j]j]j]j]ujj&œj]r-œj%X=Literal block ends without a blank line; unexpected unindent.r.œ…�r/œ}r0œ(jUjj*œubajj\ubaubhÿ)�r1œ}r2œ(jUjj=•j j’jj?j}r3œ(j]UlevelKj]j]Usourcej’j]j]UlineKoUtypejAujKojhj]r4œjX)�r5œ}r6œ(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}r7œ(j]j]j]j]j]ujj1œj]r8œj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r9œ…�r:œ}r;œ(jUjj5œubajj\ubaubhÿ)�r<œ}r=œ(jUjj=•j j’jj?j}r>œ(j]UlevelKj]j]Usourcej’j]j]UlineKpUtypejòujKojhj]r?œjX)�r@œ}rAœ(jXUnexpected indentation.j}rBœ(j]j]j]j]j]ujj<œj]rCœj%XUnexpected indentation.rDœ…�rEœ}rFœ(jUjj@œubajj\ubaubhÿ)�rGœ}rHœ(jUjj=•j j’jj?j}rIœ(j]UlevelKj]j]Usourcej’j]j]UlineK†UtypejòujK…jhj]rJœjX)�rKœ}rLœ(jXUnexpected indentation.j}rMœ(j]j]j]j]j]ujjGœj]rNœj%XUnexpected indentation.rOœ…�rPœ}rQœ(jUjjKœubajj\ubaubhÿ)�rRœ}rSœ(jUjj=•j j’jj?j}rTœ(j]UlevelKj]j]Usourcej’j]j]UlineK‡UtypejXujK†jhj]rUœjX)�rVœ}rWœ(jX=Literal block ends without a blank line; unexpected unindent.j}rXœ(j]j]j]j]j]ujjRœj]rYœj%X=Literal block ends without a blank line; unexpected unindent.rZœ…�r[œ}r\œ(jUjjVœubajj\ubaubhÿ)�r]œ}r^œ(jUjjÞ•j j’jj?j}r_œ(j]UlevelKj]j]Usourcej’j]j]UlineKŽUtypejAujKŽjhj]r`œjX)�raœ}rbœ(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rcœ(j]j]j]j]j]ujj]œj]rdœj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.reœ…�rfœ}rgœ(jUjjaœubajj\ubaubhÿ)�rhœ}riœ(jUjjÞ•j j’jj?j}rjœ(j]UlevelKj]j]Usourcej’j]j]UlineK�UtypejòujKŽjhj]rkœjX)�rlœ}rmœ(jXUnexpected indentation.j}rnœ(j]j]j]j]j]ujjhœj]roœj%XUnexpected indentation.rpœ…�rqœ}rrœ(jUjjlœubajj\ubaubhÿ)�rsœ}rtœ(jUjjÞ•j j’jj?j}ruœ(j]UlevelKj]j]Usourcej’j]j]UlineK•UtypejXujK”jhj]rvœjX)�rwœ}rxœ(jX=Literal block ends without a blank line; unexpected unindent.j}ryœ(j]j]j]j]j]ujjsœj]rzœj%X=Literal block ends without a blank line; unexpected unindent.r{œ…�r|œ}r}œ(jUjjwœubajj\ubaubhÿ)�r~œ}rœ(jUjjÞ•j j’jj?j}r€œ(j]UlevelKj]j]Usourcej’j]j]UlineK–UtypejAujK–jhj]r�œjX)�r‚œ}rƒœ(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}r„œ(j]j]j]j]j]ujj~œj]r…œj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r†œ…�r‡œ}rˆœ(jUjj‚œubajj\ubaubhÿ)�r‰œ}rŠœ(jUjjÞ•j j’jj?j}r‹œ(j]UlevelKj]j]Usourcej’j]j]UlineK—UtypejòujK–jhj]rŒœjX)�r�œ}rŽœ(jXUnexpected indentation.j}r�œ(j]j]j]j]j]ujj‰œj]r�œj%XUnexpected indentation.r‘œ…�r’œ}r“œ(jUjj�œubajj\ubaubhÿ)�r”œ}r•œ(jUjj–j j’jj?j}r–œ(j]UlevelKj]j]Usourcej’j]j]UlineK§UtypejXujK¦jhj]r—œjX)�r˜œ}r™œ(jX;Bullet list ends without a blank line; unexpected unindent.j}ršœ(j]j]j]j]j]ujj”œj]r›œj%X;Bullet list ends without a blank line; unexpected unindent.rœœ…�r�œ}ržœ(jUjj˜œubajj\ubaubhÿ)�rŸœ}r œ(jUjj–j j’jj?j}r¡œ(j]UlevelKj]j]Usourcej’j]j]UlineK§UtypejAujK©jhj]r¢œjX)�r£œ}r¤œ(jX`Possible incomplete section title. Treating the overline as ordinary text because it's so short.j}r¥œ(j]j]j]j]j]ujjŸœj]r¦œj%X`Possible incomplete section title. Treating the overline as ordinary text because it's so short.r§œ…�r¨œ}r©œ(jUjj£œubajj\ubaubhÿ)�rªœ}r«œ(jUj}r¬œ(j]UlevelKj]j]Usourcej’j]j]UlineK©UtypejAujjS–j]r­œjX)�r®œ}r¯œ(jX`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.j}r°œ(j]j]j]j]j]ujjªœj]r±œj%X`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.r²œ…�r³œ}r´œ(jUjj®œubajj\ubajj?ubhÿ)�rµœ}r¶œ(jUjj–j j’jj?j}r·œ(j]UlevelKj]j]Usourcej’j]j]UlineKªUtypejXujK©jhj]r¸œjX)�r¹œ}rºœ(jX?Definition list ends without a blank line; unexpected unindent.j}r»œ(j]j]j]j]j]ujjµœj]r¼œj%X?Definition list ends without a blank line; unexpected unindent.r½œ…�r¾œ}r¿œ(jUjj¹œubajj\ubaubhÿ)�rÀœ}rÁœ(jUjj–j j’jj?j}rœ(j]UlevelKj]j]Usourcej’j]j]UlineK­UtypejòujK¬jhj]rÜjX)�rÄœ}rÅœ(jXUnexpected indentation.j}rÆœ(j]j]j]j]j]ujjÀœj]rÇœj%XUnexpected indentation.rÈœ…�rÉœ}rÊœ(jUjjÄœubajj\ubaubhÿ)�rËœ}rÌœ(jUjj–j j’jj?j}rÍœ(j]UlevelKj]j]Usourcej’j]j]UlineK³UtypejXujK²jhj]rΜjX)�rÏœ}rМ(jX=Literal block ends without a blank line; unexpected unindent.j}rÑœ(j]j]j]j]j]ujjËœj]rÒœj%X=Literal block ends without a blank line; unexpected unindent.rÓœ…�rÔœ}rÕœ(jUjjÏœubajj\ubaubhÿ)�rÖœ}rל(jUjj–j j’jj?j}rØœ(j]UlevelKj]j]Usourcej’j]j]UlineK´UtypejAujK´jhj]rÙœjX)�rÚœ}rÛœ(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rÜœ(j]j]j]j]j]ujjÖœj]rÝœj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rÞœ…�rßœ}ràœ(jUjjÚœubajj\ubaubhÿ)�ráœ}râœ(jUjj–j j’jj?j}rãœ(j]UlevelKj]j]Usourcej’j]j]UlineKµUtypejòujK´jhj]räœjX)�råœ}ræœ(jXUnexpected indentation.j}rçœ(j]j]j]j]j]ujjáœj]rèœj%XUnexpected indentation.r霅�rêœ}rëœ(jUjjåœubajj\ubaubhÿ)�rìœ}ríœ(jUjj–j j’jj?j}rîœ(j]UlevelKj]j]Usourcej’j]j]UlineK»UtypejXujKºjhj]rïœjX)�rðœ}rñœ(jX=Literal block ends without a blank line; unexpected unindent.j}ròœ(j]j]j]j]j]ujjìœj]róœj%X=Literal block ends without a blank line; unexpected unindent.rôœ…�rõœ}röœ(jUjjðœubajj\ubaubhÿ)�r÷œ}røœ(jUjj–j j’jj?j}rùœ(j]UlevelKj]rúœjˆ–aj]rûœj‡–aUsourcej’j]j]UlineK»UtypejXujK¼jhj]rüœjX)�rýœ}rþœ(jX0Inline emphasis start-string without end-string.j}rÿœ(j]j]j]j]j]ujj÷œj]r�j%X0Inline emphasis start-string without end-string.r�…�r�}r�(jUjjýœubajj\ubaubhÿ)�r�}r�(jUjj–j j’jj?j}r�(j]UlevelKj]r�j”–aj]r�j“–aUsourcej’j]j]UlineK»UtypejXujK¼jhj]r �jX)�r �}r �(jX0Inline emphasis start-string without end-string.j}r �(j]j]j]j]j]ujj�j]r �j%X0Inline emphasis start-string without end-string.r�…�r�}r�(jUjj �ubajj\ubaubhÿ)�r�}r�(jUjj›–j j’jj?j}r�(j]UlevelKj]j]Usourcej’j]j]UlineKÃUtypejXujKÂjhj]r�jX)�r�}r�(jX;Bullet list ends without a blank line; unexpected unindent.j}r�(j]j]j]j]j]ujj�j]r�j%X;Bullet list ends without a blank line; unexpected unindent.r�…�r�}r�(jUjj�ubajj\ubaubhÿ)�r�}r�(jUjj›–j j’jj?j}r�(j]UlevelKj]j]Usourcej’j]j]UlineKÇUtypejòujKÆjhj]r�jX)�r �}r!�(jXUnexpected indentation.j}r"�(j]j]j]j]j]ujj�j]r#�j%XUnexpected indentation.r$�…�r%�}r&�(jUjj �ubajj\ubaubhÿ)�r'�}r(�(jUjj›–j j’jj?j}r)�(j]UlevelKj]j]Usourcej’j]j]UlineKÓUtypejXujKÒjhj]r*�jX)�r+�}r,�(jX=Literal block ends without a blank line; unexpected unindent.j}r-�(j]j]j]j]j]ujj'�j]r.�j%X=Literal block ends without a blank line; unexpected unindent.r/�…�r0�}r1�(jUjj+�ubajj\ubaubhÿ)�r2�}r3�(jUjj›–j j’jj?j}r4�(j]UlevelKj]j]Usourcej’j]j]UlineKÕUtypejXujKÔjhj]r5�jX)�r6�}r7�(jX;Bullet list ends without a blank line; unexpected unindent.j}r8�(j]j]j]j]j]ujj2�j]r9�j%X;Bullet list ends without a blank line; unexpected unindent.r:�…�r;�}r<�(jUjj6�ubajj\ubaubhÿ)�r=�}r>�(jUjj›–j j’jj?j}r?�(j]UlevelKj]j]Usourcej’j]j]UlineKÕUtypejAujK×jhj]r@�jX)�rA�}rB�(jX`Possible incomplete section title. Treating the overline as ordinary text because it's so short.j}rC�(j]j]j]j]j]ujj=�j]rD�j%X`Possible incomplete section title. Treating the overline as ordinary text because it's so short.rE�…�rF�}rG�(jUjjA�ubajj\ubaubhÿ)�rH�}rI�(jUj}rJ�(j]UlevelKj]j]Usourcej’j]j]UlineKôUtypejAujj—j]rK�jX)�rL�}rM�(jX`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.j}rN�(j]j]j]j]j]ujjH�j]rO�j%X`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.rP�…�rQ�}rR�(jUjjL�ubajj\ubajj?ubhÿ)�rS�}rT�(jUj}rU�(j]UlevelKj]j]Usourcej’j]j]UlineKßUtypejòujj—j]rV�jX)�rW�}rX�(jXUnexpected indentation.j}rY�(j]j]j]j]j]ujjS�j]rZ�j%XUnexpected indentation.r[�…�r\�}r]�(jUjjW�ubajj\ubajj?ubhÿ)�r^�}r_�(jUj}r`�(j]UlevelKj]j]Usourcej’j]j]UlineKàUtypejXujj—j]ra�jX)�rb�}rc�(jX;Block quote ends without a blank line; unexpected unindent.j}rd�(j]j]j]j]j]ujj^�j]re�j%X;Block quote ends without a blank line; unexpected unindent.rf�…�rg�}rh�(jUjjb�ubajj\ubajj?ubhÿ)�ri�}rj�(jUj}rk�(j]UlevelKj]j]Usourcej’j]j]UlineKçUtypejòujj—j]rl�jX)�rm�}rn�(jXUnexpected indentation.j}ro�(j]j]j]j]j]ujji�j]rp�j%XUnexpected indentation.rq�…�rr�}rs�(jUjjm�ubajj\ubajj?ubhÿ)�rt�}ru�(jUj}rv�(j]UlevelKj]j]Usourcej’j]j]UlineKèUtypejXujj—j]rw�jX)�rx�}ry�(jX;Block quote ends without a blank line; unexpected unindent.j}rz�(j]j]j]j]j]ujjt�j]r{�j%X;Block quote ends without a blank line; unexpected unindent.r|�…�r}�}r~�(jUjjx�ubajj\ubajj?ubhÿ)�r�}r€�(jUj}r��(j]UlevelKj]j]Usourcej’j]j]UlineKîUtypejòujj—j]r‚�jX)�rƒ�}r„�(jXUnexpected indentation.j}r…�(j]j]j]j]j]ujj�j]r†�j%XUnexpected indentation.r‡�…�rˆ�}r‰�(jUjjƒ�ubajj\ubajj?ubhÿ)�rŠ�}r‹�(jUj}rŒ�(j]UlevelKj]j]Usourcej’j]j]UlineKðUtypejXujj—j]r��jX)�rŽ�}r��(jX;Block quote ends without a blank line; unexpected unindent.j}r��(j]j]j]j]j]ujjŠ�j]r‘�j%X;Block quote ends without a blank line; unexpected unindent.r’�…�r“�}r”�(jUjjŽ�ubajj\ubajj?ubhÿ)�r•�}r–�(jUjjb˜j j’jj?j}r—�(j]UlevelKj]j]Usourcej’j]j]UlineKøUtypejAujKøjhj]r˜�jX)�r™�}rš�(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}r›�(j]j]j]j]j]ujj•�j]rœ�j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r��…�rž�}rŸ�(jUjj™�ubajj\ubaubhÿ)�r �}r¡�(jUjjÒ˜j j’jj?j}r¢�(j]UlevelKj]j]Usourcej’j]j]UlineM UtypejòujM jhj]r£�jX)�r¤�}r¥�(jXUnexpected indentation.j}r¦�(j]j]j]j]j]ujj �j]r§�j%XUnexpected indentation.r¨�…�r©�}rª�(jUjj¤�ubajj\ubaubhÿ)�r«�}r¬�(jUjjÒ˜j j’jj?j}r­�(j]UlevelKj]j]Usourcej’j]j]UlineMUtypejAujMjhj]r®�jX)�r¯�}r°�(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}r±�(j]j]j]j]j]ujj«�j]r²�j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r³�…�r´�}rµ�(jUjj¯�ubajj\ubaubhÿ)�r¶�}r·�(jUjjÒ˜j j’jj?j}r¸�(j]UlevelKj]j]Usourcej’j]j]UlineMUtypejòujMjhj]r¹�jX)�rº�}r»�(jXUnexpected indentation.j}r¼�(j]j]j]j]j]ujj¶�j]r½�j%XUnexpected indentation.r¾�…�r¿�}rÀ�(jUjjº�ubajj\ubaubhÿ)�rÁ�}rÂ�(jUjjÒ˜j j’jj?j}rÃ�(j]UlevelKj]j]Usourcej’j]j]UlineM.UtypejAujM.jhj]rÄ�jX)�rÅ�}rÆ�(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rÇ�(j]j]j]j]j]ujjÁ�j]rÈ�j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rÉ�…�rÊ�}rË�(jUjjÅ�ubajj\ubaubhÿ)�rÌ�}rÍ�(jUjjÒ˜j j’jj?j}rÎ�(j]UlevelKj]j]Usourcej’j]j]UlineM/UtypejòujM.jhj]rÏ�jX)�rÐ�}rÑ�(jXUnexpected indentation.j}rÒ�(j]j]j]j]j]ujjÌ�j]rÓ�j%XUnexpected indentation.rÔ�…�rÕ�}rÖ�(jUjjÐ�ubajj\ubaubhÿ)�r×�}rØ�(jUjjÒ˜j j’jj?j}rÙ�(j]UlevelKj]j]Usourcej’j]j]UlineM3UtypejAujM3jhj]rÚ�jX)�rÛ�}rÜ�(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rÝ�(j]j]j]j]j]ujj×�j]rÞ�j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rß�…�rà�}rá�(jUjjÛ�ubajj\ubaubhÿ)�râ�}rã�(jUjjÒ˜j j’jj?j}rä�(j]UlevelKj]j]Usourcej’j]j]UlineM4UtypejòujM3jhj]rå�jX)�ræ�}rç�(jXUnexpected indentation.j}rè�(j]j]j]j]j]ujjâ�j]ré�j%XUnexpected indentation.rê�…�rë�}rì�(jUjjæ�ubajj\ubaubhÿ)�rí�}rî�(jUjjÒ˜j j’jj?j}rï�(j]UlevelKj]j]Usourcej’j]j]UlineM9UtypejAujM9jhj]rð�jX)�rñ�}rò�(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}ró�(j]j]j]j]j]ujjí�j]rô�j%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rõ�…�rö�}r÷�(jUjjñ�ubajj\ubaubhÿ)�rø�}rù�(jUjjÒ˜j j’jj?j}rú�(j]UlevelKj]j]Usourcej’j]j]UlineM:UtypejòujM9jhj]rû�jX)�rü�}rý�(jXUnexpected indentation.j}rþ�(j]j]j]j]j]ujjø�j]rÿ�j%XUnexpected indentation.rž…�rž}rž(jUjjü�ubajj\ubaubhÿ)�rž}rž(jUjjÒ˜j j’jj?j}rž(j]UlevelKj]j]Usourcej’j]j]UlineMYUtypejòujMXjhj]ržjX)�rž}rž(jXUnexpected indentation.j}r ž(j]j]j]j]j]ujjžj]r žj%XUnexpected indentation.r ž…�r ž}r ž(jUjjžubajj\ubaubhÿ)�rž}rž(jUjjÒ˜j j’jj?j}rž(j]UlevelKj]j]Usourcej’j]j]UlineMZUtypejXujMYjhj]ržjX)�rž}rž(jX=Literal block ends without a blank line; unexpected unindent.j}rž(j]j]j]j]j]ujjžj]ržj%X=Literal block ends without a blank line; unexpected unindent.rž…�rž}rž(jUjjžubajj\ubaubhÿ)�rž}rž(jUjjÒ˜j j’jj?j}rž(j]UlevelKj]j]Usourcej’j]j]UlineM[UtypejAujM[jhj]ržjX)�rž}rž(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}rž(j]j]j]j]j]ujjžj]r žj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r!ž…�r"ž}r#ž(jUjjžubajj\ubaubhÿ)�r$ž}r%ž(jUjjÒ˜j j’jj?j}r&ž(j]UlevelKj]j]Usourcej’j]j]UlineM\UtypejòujM[jhj]r'žjX)�r(ž}r)ž(jXUnexpected indentation.j}r*ž(j]j]j]j]j]ujj$žj]r+žj%XUnexpected indentation.r,ž…�r-ž}r.ž(jUjj(žubajj\ubaubhÿ)�r/ž}r0ž(jUjjÒ˜j j’jj?j}r1ž(j]UlevelKj]j]Usourcej’j]j]UlineMxUtypejòujMwjhj]r2žjX)�r3ž}r4ž(jXUnexpected indentation.j}r5ž(j]j]j]j]j]ujj/žj]r6žj%XUnexpected indentation.r7ž…�r8ž}r9ž(jUjj3žubajj\ubaubhÿ)�r:ž}r;ž(jUjjÒ˜j j’jj?j}r<ž(j]UlevelKj]j]Usourcej’j]j]UlineM{UtypejAujM{jhj]r=žjX)�r>ž}r?ž(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}r@ž(j]j]j]j]j]ujj:žj]rAžj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rBž…�rCž}rDž(jUjj>žubajj\ubaubhÿ)�rEž}rFž(jUjjÒ˜j j’jj?j}rGž(j]UlevelKj]j]Usourcej’j]j]UlineM|UtypejòujM{jhj]rHžjX)�rIž}rJž(jXUnexpected indentation.j}rKž(j]j]j]j]j]ujjEžj]rLžj%XUnexpected indentation.rMž…�rNž}rOž(jUjjIžubajj\ubaubhÿ)�rPž}rQž(jUjjÒ˜j j’jj?j}rRž(j]UlevelKj]j]Usourcej’j]j]UlineM‰UtypejòujMˆjhj]rSžjX)�rTž}rUž(jXUnexpected indentation.j}rVž(j]j]j]j]j]ujjPžj]rWžj%XUnexpected indentation.rXž…�rYž}rZž(jUjjTžubajj\ubaubhÿ)�r[ž}r\ž(jUjjÒ˜j j’jj?j}r]ž(j]UlevelKj]j]Usourcej’j]j]UlineMŒUtypejAujMŒjhj]r^žjX)�r_ž}r`ž(jXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.j}raž(j]j]j]j]j]ujj[žj]rbžj%XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rcž…�rdž}rež(jUjj_žubajj\ubaubhÿ)�rfž}rgž(jUjjÒ˜j j’jj?j}rhž(j]UlevelKj]j]Usourcej’j]j]UlineM�UtypejòujMŒjhj]rižjX)�rjž}rkž(jXUnexpected indentation.j}rlž(j]j]j]j]j]ujjfžj]rmžj%XUnexpected indentation.rnž…�rož}rpž(jUjjjžubajj\ubaubhÿ)�rqž}rrž(jUjj)�rsž}rtž(jUjKjj)�ruž}rvž(jUjhj j jjj}rwž(j]j]j]j]rxžUipclldryžaj]rzžh?aujK·jhj]r{ž(j)�r|ž}r}ž(jXIPCLLDr~žjjužj j jj"j}rž(j]j]j]j]j]ujK·jhj]r€žj%XIPCLLDr�ž…�r‚ž}rƒž(jj~žjj|žubaubj))�r„ž}r…ž(jXAhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_IPCLLDjjužj j,X?source/rtos/PDK_Platform_Software/Device_Drivers/IPCLLD.rst.incr†ž…�r‡ž}rˆžbjj0j}r‰ž(j2j3j]j]j]j]j]ujKjhj]rŠžj%XAhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_IPCLLDr‹ž…�rŒž}r�ž(jUjj„žubaubjsžj)�rŽž}r�ž(jUjKjjužj j‡žjjj}r�ž(j]r‘žj"’aj]j]j]r’žUid255r“žaj]ujK jhj]r”ž(j)�r•ž}r–ž(jXTerms and Abbreviationr—žjjŽžj j‡žjj"j}r˜ž(j]j]j]j]j]ujK jhj]r™žj%XTerms and Abbreviationršž…�r›ž}rœž(jj—žjj•žubaubj¶)�r�ž}ržž(jUjjŽžj j‡žjj¹j}rŸž(j]j]j]j]j]ujNjhj]r žj¼)�r¡ž}r¢ž(jUj}r£ž(j]j]j]j]j]UcolsKujj�žj]r¤ž(jÁ)�r¥ž}r¦ž(jUj}r§ž(j]j]j]j]j]UcolwidthKujj¡žj]jjÅubjÁ)�r¨ž}r©ž(jUj}rªž(j]j]j]j]j]UcolwidthKGujj¡žj]jjÅubjÒ)�r«ž}r¬ž(jUj}r­ž(j]j]j]j]j]ujj¡žj]r®žj×)�r¯ž}r°ž(jUj}r±ž(j]j]j]j]j]ujj«žj]r²ž(jÜ)�r³ž}r´ž(jUj}rµž(j]j]j]j]j]ujj¯žj]r¶žjX)�r·ž}r¸ž(jXTermr¹žjj³žj j‡žjj\j}rºž(j]j]j]j]j]ujKj]r»žj%XTermr¼ž…�r½ž}r¾ž(jj¹žjj·žubaubajjéubjÜ)�r¿ž}rÀž(jUj}rÁž(j]j]j]j]j]ujj¯žj]ržjX)�rÞ}rÄž(jXDefinition or ExplanationrÅžjj¿žj j‡žjj\j}rÆž(j]j]j]j]j]ujKj]rÇžj%XDefinition or ExplanationrÈž…�rÉž}rÊž(jjÅžjjÞubaubajjéubejjubajjubj)�rËž}rÌž(jUj}rÍž(j]j]j]j]j]ujj¡žj]rΞ(j×)�rÏž}rО(jUj}rÑž(j]j]j]j]j]ujjËžj]rÒž(jÜ)�rÓž}rÔž(jUj}rÕž(j]j]j]j]j]ujjÏžj]rÖžjX)�rמ}rØž(jXIPCrÙžjjÓžj j‡žjj\j}rÚž(j]j]j]j]j]ujKj]rÛžj%XIPCrÜž…�rÝž}rÞž(jjÙžjjמubaubajjéubjÜ)�rßž}ràž(jUj}ráž(j]j]j]j]j]ujjÏžj]râžjX)�rãž}räž(jXInter-Processor Communicationråžjjßžj j‡žjj\j}ræž(j]j]j]j]j]ujKj]rçžj%XInter-Processor Communicationrèž…�réž}rêž(jjåžjjãžubaubajjéubejjubj×)�rëž}rìž(jUj}ríž(j]j]j]j]j]ujjËžj]rîž(jÜ)�rïž}rðž(jUj}rñž(j]j]j]j]j]ujjëžj]ròžjX)�róž}rôž(jXRirtIOrõžjjïžj j‡žjj\j}röž(j]j]j]j]j]ujKj]r÷žj%XRirtIOrøž…�rùž}rúž(jjõžjjóžubaubajjéubjÜ)�rûž}rüž(jUj}rýž(j]j]j]j]j]ujjëžj]rþžjX)�rÿž}rŸ(jXVirtual I/O driverrŸjjûžj j‡žjj\j}rŸ(j]j]j]j]j]ujKj]rŸj%XVirtual I/O driverrŸ…�rŸ}rŸ(jjŸjjÿžubaubajjéubejjubj×)�rŸ}rŸ(jUj}r Ÿ(j]j]j]j]j]ujjËžj]r Ÿ(jÜ)�r Ÿ}r Ÿ(jUj}r Ÿ(j]j]j]j]j]ujjŸj]rŸjX)�rŸ}rŸ(jXMailBoxrŸjj Ÿj j‡žjj\j}rŸ(j]j]j]j]j]ujKj]rŸj%XMailBoxrŸ…�rŸ}rŸ(jjŸjjŸubaubajjéubjÜ)�rŸ}rŸ(jUj}rŸ(j]j]j]j]j]ujjŸj]rŸjX)�rŸ}rŸ(jXGIP which provides queued interrupt mechanism for communication channelrŸjjŸj j‡žjj\j}rŸ(j]j]j]j]j]ujKj]rŸj%XGIP which provides queued interrupt mechanism for communication channelr Ÿ…�r!Ÿ}r"Ÿ(jjŸjjŸubaubajjéubejjubj×)�r#Ÿ}r$Ÿ(jUj}r%Ÿ(j]j]j]j]j]ujjËžj]r&Ÿ(jÜ)�r'Ÿ}r(Ÿ(jUj}r)Ÿ(j]j]j]j]j]ujj#Ÿj]r*ŸjX)�r+Ÿ}r,Ÿ(jXVRingr-Ÿjj'Ÿj j‡žjj\j}r.Ÿ(j]j]j]j]j]ujKj]r/Ÿj%XVRingr0Ÿ…�r1Ÿ}r2Ÿ(jj-Ÿjj+ŸubaubajjéubjÜ)�r3Ÿ}r4Ÿ(jUj}r5Ÿ(j]j]j]j]j]ujj#Ÿj]r6ŸjX)�r7Ÿ}r8Ÿ(jXRing Buffer in shared memoryr9Ÿjj3Ÿj j‡žjj\j}r:Ÿ(j]j]j]j]j]ujKj]r;Ÿj%XRing Buffer in shared memoryr<Ÿ…�r=Ÿ}r>Ÿ(jj9Ÿjj7Ÿubaubajjéubejjubj×)�r?Ÿ}r@Ÿ(jUj}rAŸ(j]j]j]j]j]ujjËžj]rBŸ(jÜ)�rCŸ}rDŸ(jUj}rEŸ(j]j]j]j]j]ujj?Ÿj]rFŸjX)�rGŸ}rHŸ(jXPDKrIŸjjCŸj j‡žjj\j}rJŸ(j]j]j]j]j]ujKj]rKŸj%XPDKrLŸ…�rMŸ}rNŸ(jjIŸjjGŸubaubajjéubjÜ)�rOŸ}rPŸ(jUj}rQŸ(j]j]j]j]j]ujj?Ÿj]rRŸjX)�rSŸ}rTŸ(jXPlatform Development KitrUŸjjOŸj j‡žjj\j}rVŸ(j]j]j]j]j]ujKj]rWŸj%XPlatform Development KitrXŸ…�rYŸ}rZŸ(jjUŸjjSŸubaubajjéubejjubj×)�r[Ÿ}r\Ÿ(jUj}r]Ÿ(j]j]j]j]j]ujjËžj]r^Ÿ(jÜ)�r_Ÿ}r`Ÿ(jUj}raŸ(j]j]j]j]j]ujj[Ÿj]rbŸjX)�rcŸ}rdŸ(jXPSDKRAreŸjj_Ÿj j‡žjj\j}rfŸ(j]j]j]j]j]ujKj]rgŸj%XPSDKRArhŸ…�riŸ}rjŸ(jjeŸjjcŸubaubajjéubjÜ)�rkŸ}rlŸ(jUj}rmŸ(j]j]j]j]j]ujj[Ÿj]rnŸjX)�roŸ}rpŸ(jXProcessor SDK RTOS AutomotiverqŸjjkŸj j‡žjj\j}rrŸ(j]j]j]j]j]ujKj]rsŸj%XProcessor SDK RTOS AutomotivertŸ…�ruŸ}rvŸ(jjqŸjjoŸubaubajjéubejjubj×)�rwŸ}rxŸ(jUj}ryŸ(j]j]j]j]j]ujjËžj]rzŸ(jÜ)�r{Ÿ}r|Ÿ(jUj}r}Ÿ(j]j]j]j]j]ujjwŸj]r~ŸjX)�rŸ}r€Ÿ(jXPSDKLAr�Ÿjj{Ÿj j‡žjj\j}r‚Ÿ(j]j]j]j]j]ujKj]rƒŸj%XPSDKLAr„Ÿ…�r…Ÿ}r†Ÿ(jj�ŸjjŸubaubajjéubjÜ)�r‡Ÿ}rˆŸ(jUj}r‰Ÿ(j]j]j]j]j]ujjwŸj]rŠŸjX)�r‹Ÿ}rŒŸ(jXProcessor SDK Linux Automotiver�Ÿjj‡Ÿj j‡žjj\j}rŽŸ(j]j]j]j]j]ujKj]r�Ÿj%XProcessor SDK Linux Automotiver�Ÿ…�r‘Ÿ}r’Ÿ(jj�Ÿjj‹Ÿubaubajjéubejjubejjðubejjñubaubeubj)�r“Ÿ}r”Ÿ(jUjjužj j‡žjjj}r•Ÿ(j]j]j]j]r–ŸU referencesr—Ÿaj]r˜ŸhgaujKjhj]r™Ÿ(j)�ršŸ}r›Ÿ(jX ReferencesrœŸjj“Ÿj j‡žjj"j}r�Ÿ(j]j]j]j]j]ujKjhj]ržŸj%X ReferencesrŸŸ…�r Ÿ}r¡Ÿ(jjœŸjjšŸubaubj)�r¢Ÿ}r£Ÿ(jUjj“Ÿj j‡žjjj}r¤Ÿ(jX*j]j]j]j]j]ujKjhj]r¥Ÿ(j)�r¦Ÿ}r§Ÿ(jX@`Sitara Processor Datasheet `_r¨Ÿjj¢Ÿj j‡žjj j}r©Ÿ(j]j]j]j]j]ujNjhj]rªŸjX)�r«Ÿ}r¬Ÿ(jj¨Ÿjj¦Ÿj j‡žjj\j}r­Ÿ(j]j]j]j]j]ujKj]r®Ÿ(j)�r¯Ÿ}r°Ÿ(jj¨Ÿj}r±Ÿ(UnameXSitara Processor DatasheetjX http://www.ti.com/lit/gpn/am6548r²Ÿj]j]j]j]j]ujj«Ÿj]r³Ÿj%XSitara Processor Datasheetr´Ÿ…�rµŸ}r¶Ÿ(jUjj¯Ÿubajjubjš)�r·Ÿ}r¸Ÿ(jX# jKjj«Ÿjj�j}r¹Ÿ(Urefurij²Ÿj]rºŸUsitara-processor-datasheetr»Ÿaj]j]j]j]r¼Ÿh0auj]ubeubaubj)�r½Ÿ}r¾Ÿ(jX5For J721e datasheet, please contact TI presentative jj¢Ÿj j‡žjj j}r¿Ÿ(j]j]j]j]j]ujNjhj]rÀŸjX)�rÁŸ}rŸ(jX3For J721e datasheet, please contact TI presentativerßjj½Ÿj j‡žjj\j}rÄŸ(j]j]j]j]j]ujKj]rÅŸj%X3For J721e datasheet, please contact TI presentativerÆŸ…�rÇŸ}rÈŸ(jjßjjÁŸubaubaubeubeubj)�rÉŸ}rÊŸ(jUjjužj j‡žjjj}rËŸ(j]j]j]j]rÌŸUfeaturesrÍŸaj]rΟhZaujK#jhj]rÏŸ(j)�rП}rÑŸ(jXFeaturesrÒŸjjÉŸj j‡žjj"j}rÓŸ(j]j]j]j]j]ujK#jhj]rÔŸj%XFeaturesrÕŸ…�rÖŸ}rן(jjÒŸjjПubaubj)�rØŸ}rÙŸ(jUjjÉŸj j‡žjjj}rÚŸ(jX*j]j]j]j]j]ujK%jhj]rÛŸ(j)�rÜŸ}rÝŸ(jXdProvides ipc low-level driver, which can be compiled for any of the cores on AM65xx or J721E devicesrÞŸjjØŸj j‡žjj j}rߟ(j]j]j]j]j]ujNjhj]ràŸjX)�ráŸ}râŸ(jjÞŸjjÜŸj j‡žjj\j}rãŸ(j]j]j]j]j]ujK%j]räŸj%XdProvides ipc low-level driver, which can be compiled for any of the cores on AM65xx or J721E devicesr埅�ræŸ}rçŸ(jjÞŸjjáŸubaubaubj)�rèŸ}réŸ(jXJSupports Bios/Bios communication and Linux/Bios concurrently for all coresrêŸjjØŸj j‡žjj j}rëŸ(j]j]j]j]j]ujNjhj]rìŸjX)�ríŸ}rîŸ(jjêŸjjèŸj j‡žjj\j}rïŸ(j]j]j]j]j]ujK&j]rðŸj%XJSupports Bios/Bios communication and Linux/Bios concurrently for all coresrñŸ…�ròŸ}róŸ(jjêŸjjíŸubaubaubj)�rôŸ}rõŸ(jX7Supports TI RTOS, Linux, QNX and baremetal (No-OS) use.röŸjjØŸj j‡žjj j}r÷Ÿ(j]j]j]j]j]ujNjhj]røŸjX)�rùŸ}rúŸ(jjöŸjjôŸj j‡žjj\j}rûŸ(j]j]j]j]j]ujK'j]rüŸj%X7Supports TI RTOS, Linux, QNX and baremetal (No-OS) use.rýŸ…�rþŸ}rÿŸ(jjöŸjjùŸubaubaubj)�r }r (jXIIt can be extended for any third-party RTOS by adding OS adaptation layerr jjØŸj j‡žjj j}r (j]j]j]j]j]ujNjhj]r jX)�r }r (jj jj j j‡žjj\j}r (j]j]j]j]j]ujK(j]r j%XIIt can be extended for any third-party RTOS by adding OS adaptation layerr  …�r  }r  (jj jj ubaubaubj)�r  }r  (jX8IPCLLD also provides many examples for quick reference jjØŸj j‡žjj j}r (j]j]j]j]j]ujNjhj]r jX)�r }r (jX6IPCLLD also provides many examples for quick referencer jj  j j‡žjj\j}r (j]j]j]j]j]ujK)j]r j%X6IPCLLD also provides many examples for quick referencer …�r }r (jj jj ubaubaubeubeubj)�r }r (jUjjužj j‡žjjj}r (j]j]j]j]r U installationr aj]r hqaujK-jhj]r (j)�r }r  (jX Installationr! jj j j‡žjj"j}r" (j]j]j]j]j]ujK-jhj]r# j%X Installationr$ …�r% }r& (jj! jj ubaubjX)�r' }r( (jXOIPCLLD is part of TI PDK (Platform Development Kit) package. Once PRSDK is installed, PDK and all dependent packages and tool-chains are installed automatically. IPCLLD can also be located at /pdk/packages/ti/drv/ipc. IPCLLD is also available publically at ``_ at packages/ti/drv/ipc.jj j j‡žjj\j}r) (j]j]j]j]j]ujK/jhj]r* (j%X IPCLLD is part of TI PDK (Platform Development Kit) package. Once PRSDK is installed, PDK and all dependent packages and tool-chains are installed automatically. IPCLLD can also be located at /pdk/packages/ti/drv/ipc. IPCLLD is also available publically at r+ …�r, }r- (jX IPCLLD is part of TI PDK (Platform Development Kit) package. Once PRSDK is installed, PDK and all dependent packages and tool-chains are installed automatically. IPCLLD can also be located at /pdk/packages/ti/drv/ipc. IPCLLD is also available publically at jj' ubj)�r. }r/ (jX*``_j}r0 (Unameh¤jh¤j]j]j]j]j]ujj' j]r1 j%X%https://git.ti.com/processor-sdk/pdk/r2 …�r3 }r4 (jUjj. ubajjubjš)�r5 }r6 (jX'jKjj' jj�j}r7 (Urefurih¤j]r8 U"https-git-ti-com-processor-sdk-pdkr9 aj]j]j]j]r: h¤auj]ubj%X at packages/ti/drv/ipc.r; …�r< }r= (jX at packages/ti/drv/ipc.jj' ubeubjX)�r> }r? (jX2It can also be cloned using following git command:r@ jj j j‡žjj\j}rA (j]j]j]j]j]ujK2jhj]rB j%X2It can also be cloned using following git command:rC …�rD }rE (jj@ jj> ubaubj)�rF }rG (jUjj j j‡žjjj}rH (jX*j]j]j]j]j]ujK4jhj]rI (j)�rJ }rK (jX0git clone git://git.ti.com/processor-sdk/pdk.gitrL jjF j j‡žjj j}rM (j]j]j]j]j]ujNjhj]rN jX)�rO }rP (jjL jjJ j j‡žjj\j}rQ (j]j]j]j]j]ujK4j]rR j%X0git clone git://git.ti.com/processor-sdk/pdk.gitrS …�rT }rU (jjL jjO ubaubaubj)�rV }rW (jX+Provides many examples for quick reference jjF j j‡žjj j}rX (j]j]j]j]j]ujNjhj]rY jX)�rZ }r[ (jX*Provides many examples for quick referencer\ jjV j j‡žjj\j}r] (j]j]j]j]j]ujK5j]r^ j%X*Provides many examples for quick referencer_ …�r` }ra (jj\ jjZ ubaubaubeubjX)�rb }rc (jX3The file and directory oraganization are as below.rd jj j j‡žjj\j}re (j]j]j]j]j]ujK7jhj]rf j%X3The file and directory oraganization are as below.rg …�rh }ri (jjd jjb ubaubj¤ )�rj }rk (jUjj j Njj§ j}rl (j]j]j]j]j]ujNjhj]rm j^)�rn }ro (jXa.. image:: ../images/ipclld_file_org.png :height: 944 :width: 435 j}rp (j]UuriX"rtos/../images/ipclld_file_org.pngrq j]j]UwidthX435j]jd}rr U*jq sj]UheightX944ujjj j]jjaubaubeubj)�rs }rt (jUjjužj j‡žjjj}ru (j]j]j]j]rv Ubuildrw aj]rx hÕaujK?jhj]ry (j)�rz }r{ (jXBuildr| jjs j j‡žjj"j}r} (j]j]j]j]j]ujK?jhj]r~ j%XBuildr …�r€ }r� (jj| jjz ubaubjX)�r‚ }rƒ (jXWIPCLLD uses the PDK build systems to build the IPCLLD library and example applications.r„ jjs j j‡žjj\j}r… (j]j]j]j]j]ujKAjhj]r† j%XWIPCLLD uses the PDK build systems to build the IPCLLD library and example applications.r‡ …�rˆ }r‰ (jj„ jj‚ ubaubj)�rŠ }r‹ (jUjjs j j‡žjjj}rŒ (j]j]j]j]r� U%dependency-of-external-pdk-componentsrŽ aj]r� hœaujKDjhj]r� (j)�r‘ }r’ (jX%Dependency of External PDK Componentsr“ jjŠ j j‡žjj"j}r” (j]j]j]j]j]ujKDjhj]r• j%X%Dependency of External PDK Componentsr– …�r— }r˜ (jj“ jj‘ ubaubjX)�r™ }rš (jXæIPCLLD does not access any hardware diretly. It uses the PDK/csl component to configure Mailbox registers. It uses sciclient to set/release Mailbox interrupt. Also it uses PDK/osal to configure OS-related steps like Semaphore etc.r› jjŠ j j‡žjj\j}rœ (j]j]j]j]j]ujKEjhj]r� j%XæIPCLLD does not access any hardware diretly. It uses the PDK/csl component to configure Mailbox registers. It uses sciclient to set/release Mailbox interrupt. Also it uses PDK/osal to configure OS-related steps like Semaphore etc.rž …�rŸ }r  (jj› jj™ ubaubj)�r¡ }r¢ (jUjjŠ j j‡žjjj}r£ (jX-j]j]j]j]j]ujKGjhj]r¤ (j)�r¥ }r¦ (jX&pdk/csl : Configures Mailbox registersr§ jj¡ j j‡žjj j}r¨ (j]j]j]j]j]ujNjhj]r© jX)�rª }r« (jj§ jj¥ j j‡žjj\j}r¬ (j]j]j]j]j]ujKGj]r­ j%X&pdk/csl : Configures Mailbox registersr® …�r¯ }r° (jj§ jjª ubaubaubj)�r± }r² (jX&pdk/sciclient : Set Mailbox interruptsr³ jj¡ j j‡žjj j}r´ (j]j]j]j]j]ujNjhj]rµ jX)�r¶ }r· (jj³ jj± j j‡žjj\j}r¸ (j]j]j]j]j]ujKHj]r¹ j%X&pdk/sciclient : Set Mailbox interruptsrº …�r» }r¼ (jj³ jj¶ ubaubaubj)�r½ }r¾ (jX:pdk/osal : To register for HWI and other kernel stuffs. jj¡ j j‡žjj j}r¿ (j]j]j]j]j]ujNjhj]rÀ jX)�rÁ }r (jX7pdk/osal : To register for HWI and other kernel stuffs.ràjj½ j j‡žjj\j}rÄ (j]j]j]j]j]ujKIj]rÅ j%X7pdk/osal : To register for HWI and other kernel stuffs.rÆ …�rÇ }rÈ (jjàjjÁ ubaubaubeubeubj)�rÉ }rÊ (jUjjs j j‡žjjj}rË (j]j]j]j]rÌ Ucommand-to-build-ipclldrÍ aj]rΠhÛaujKNjhj]rÏ (j)�rР}rÑ (jXCommand to build IPCLLDrÒ jjÉ j j‡žjj"j}rÓ (j]j]j]j]j]ujKNjhj]rÔ j%XCommand to build IPCLLDrÕ …�rÖ }r× (jjÒ jjРubaubjX)�rØ }rÙ (jXThe build can be done either from the IPCLLD's path in the PDK packages, or from the PDK build folder. For either method, the following environment variables must be defined, or supplied with the build command (if they are different from the defaults of the SDK installation):rÚ jjÉ j j‡žjj\j}rÛ (j]j]j]j]j]ujKPjhj]rÜ j%XThe build can be done either from the IPCLLD's path in the PDK packages, or from the PDK build folder. For either method, the following environment variables must be defined, or supplied with the build command (if they are different from the defaults of the SDK installation):rÝ …�rÞ }rß (jjÚ jjØ ubaubj)�rà }rá (jUjjÉ j j‡žjjj}râ (jX-j]j]j]j]j]ujKRjhj]rã (j)�rä }rå (jX+SDK_INSTALL_PATH: Installation root for sdkræ jjà j j‡žjj j}rç (j]j]j]j]j]ujNjhj]rè jX)�ré }rê (jjæ jjä j j‡žjj\j}rë (j]j]j]j]j]ujKRj]rì j%X+SDK_INSTALL_PATH: Installation root for sdkrí …�rî }rï (jjæ jjé ubaubaubj)�rð }rñ (jX_TOOLS_INSTALL_PATH: where all the tool chains are installed, if different from SDK_INSTALL_PATHrò jjà j j‡žjj j}ró (j]j]j]j]j]ujNjhj]rô jX)�rõ }rö (jjò jjð j j‡žjj\j}r÷ (j]j]j]j]j]ujKSj]rø j%X_TOOLS_INSTALL_PATH: where all the tool chains are installed, if different from SDK_INSTALL_PATHrù …�rú }rû (jjò jjõ ubaubaubj)�rü }rý (jX+PDK_INSTALL_PATH: Installtion root for pdk jjà j j‡žjj j}rþ (j]j]j]j]j]ujNjhj]rÿ jX)�r¡}r¡(jX*PDK_INSTALL_PATH: Installtion root for pdkr¡jjü j j‡žjj\j}r¡(j]j]j]j]j]ujKTj]r¡j%X*PDK_INSTALL_PATH: Installtion root for pdkr¡…�r¡}r¡(jj¡jj¡ubaubaubeubjX)�r¡}r ¡(jXfThe following build instructions are for Linux. For Windows build, please replace "make" with "gmake".r ¡jjÉ j j‡žjj\j}r ¡(j]j]j]j]j]ujKVjhj]r ¡j%XfThe following build instructions are for Linux. For Windows build, please replace "make" with "gmake".r ¡…�r¡}r¡(jj ¡jj¡ubaubjX)�r¡}r¡(jX Method 1:r¡jjÉ j j‡žjj\j}r¡(j]j]j]j]j]ujKXjhj]r¡j%X Method 1:r¡…�r¡}r¡(jj¡jj¡ubaubjX)�r¡}r¡(jXRThese libraries and examples are built from the IPCLLD's path in the PDK packages:r¡jjÉ j j‡žjj\j}r¡(j]j]j]j]j]ujKZjhj]r¡j%XRThese libraries and examples are built from the IPCLLD's path in the PDK packages:r¡…�r¡}r¡(jj¡jj¡ubaubj¤ )�r ¡}r!¡(jUjjÉ j j‡žjj§ j}r"¡(j]j]j]j]j]ujNjhj]r#¡jX)�r$¡}r%¡(jX#PDK_INSTALL_DIR/packages/ti/drv/ipcr&¡jj ¡j j‡žjj\j}r'¡(j]j]j]j]j]ujK\j]r(¡j%X#PDK_INSTALL_DIR/packages/ti/drv/ipcr)¡…�r*¡}r+¡(jj&¡jj$¡ubaubaubj¶)�r,¡}r-¡(jUjjÉ j j‡žjj¹j}r.¡(j]j]j]j]j]ujNjhj]r/¡j¼)�r0¡}r1¡(jUj}r2¡(j]j]j]j]j]UcolsKujj,¡j]r3¡(jÁ)�r4¡}r5¡(jUj}r6¡(j]j]j]j]j]UcolwidthKujj0¡j]jjÅubjÁ)�r7¡}r8¡(jUj}r9¡(j]j]j]j]j]UcolwidthKVujj0¡j]jjÅubjÁ)�r:¡}r;¡(jUj}r<¡(j]j]j]j]j]UcolwidthK!ujj0¡j]jjÅubjÒ)�r=¡}r>¡(jUj}r?¡(j]j]j]j]j]ujj0¡j]r@¡j×)�rA¡}rB¡(jUj}rC¡(j]j]j]j]j]ujj=¡j]rD¡(jÜ)�rE¡}rF¡(jUj}rG¡(j]j]j]j]j]ujjA¡j]rH¡jX)�rI¡}rJ¡(jXTargetrK¡jjE¡j j‡žjj\j}rL¡(j]j]j]j]j]ujK_j]rM¡j%XTargetrN¡…�rO¡}rP¡(jjK¡jjI¡ubaubajjéubjÜ)�rQ¡}rR¡(jUj}rS¡(j]j]j]j]j]ujjA¡j]rT¡jX)�rU¡}rV¡(jX Build CommandrW¡jjQ¡j j‡žjj\j}rX¡(j]j]j]j]j]ujK_j]rY¡j%X Build CommandrZ¡…�r[¡}r\¡(jjW¡jjU¡ubaubajjéubjÜ)�r]¡}r^¡(jUj}r_¡(j]j]j]j]j]ujjA¡j]r`¡jX)�ra¡}rb¡(jX Descriptionrc¡jj]¡j j‡žjj\j}rd¡(j]j]j]j]j]ujK_j]re¡j%X Descriptionrf¡…�rg¡}rh¡(jjc¡jja¡ubaubajjéubejjubajjubj)�ri¡}rj¡(jUj}rk¡(j]j]j]j]j]ujj0¡j]rl¡(j×)�rm¡}rn¡(jUj}ro¡(j]j]j]j]j]ujji¡j]rp¡(jÜ)�rq¡}rr¡(jUj}rs¡(j]j]j]j]j]ujjm¡j]rt¡jX)�ru¡}rv¡(jXlibrw¡jjq¡j j‡žjj\j}rx¡(j]j]j]j]j]ujKaj]ry¡j%Xlibrz¡…�r{¡}r|¡(jjw¡jju¡ubaubajjéubjÜ)�r}¡}r~¡(jUj}r¡(j]j]j]j]j]ujjm¡j]r€¡jX)�r�¡}r‚¡(jXTmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH librƒ¡jj}¡j j‡žjj\j}r„¡(j]j]j]j]j]ujKaj]r…¡j%XTmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH libr†¡…�r‡¡}rˆ¡(jjƒ¡jj�¡ubaubajjéubjÜ)�r‰¡}rŠ¡(jUj}r‹¡(j]j]j]j]j]ujjm¡j]rŒ¡jX)�r�¡}rŽ¡(jXIPCLLD libraryr�¡jj‰¡j j‡žjj\j}r�¡(j]j]j]j]j]ujKaj]r‘¡j%XIPCLLD libraryr’¡…�r“¡}r”¡(jj�¡jj�¡ubaubajjéubejjubj×)�r•¡}r–¡(jUj}r—¡(j]j]j]j]j]ujji¡j]r˜¡(jÜ)�r™¡}rš¡(jUj}r›¡(j]j]j]j]j]ujj•¡j]rœ¡jX)�r�¡}rž¡(jXappsrŸ¡jj™¡j j‡žjj\j}r ¡(j]j]j]j]j]ujKbj]r¡¡j%Xappsr¢¡…�r£¡}r¤¡(jjŸ¡jj�¡ubaubajjéubjÜ)�r¥¡}r¦¡(jUj}r§¡(j]j]j]j]j]ujj•¡j]r¨¡jX)�r©¡}rª¡(jXUmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH appsr«¡jj¥¡j j‡žjj\j}r¬¡(j]j]j]j]j]ujKbj]r­¡j%XUmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH appsr®¡…�r¯¡}r°¡(jj«¡jj©¡ubaubajjéubjÜ)�r±¡}r²¡(jUj}r³¡(j]j]j]j]j]ujj•¡j]r´¡jX)�rµ¡}r¶¡(jXIPCLLD examplesr·¡jj±¡j j‡žjj\j}r¸¡(j]j]j]j]j]ujKbj]r¹¡j%XIPCLLD examplesrº¡…�r»¡}r¼¡(jj·¡jjµ¡ubaubajjéubejjubj×)�r½¡}r¾¡(jUj}r¿¡(j]j]j]j]j]ujji¡j]rÀ¡(jÜ)�rÁ¡}r¡(jUj}rá(j]j]j]j]j]ujj½¡j]rÄ¡jX)�rÅ¡}rÆ¡(jXcleanrÇ¡jjÁ¡j j‡žjj\j}rÈ¡(j]j]j]j]j]ujKcj]rÉ¡j%XcleanrÊ¡…�rË¡}rÌ¡(jjÇ¡jjÅ¡ubaubajjéubjÜ)�rÍ¡}rΡ(jUj}rÏ¡(j]j]j]j]j]ujj½¡j]rСjX)�rÑ¡}rÒ¡(jXVmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH cleanrÓ¡jjÍ¡j j‡žjj\j}rÔ¡(j]j]j]j]j]ujKcj]rÕ¡j%XVmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH cleanrÖ¡…�rס}rØ¡(jjÓ¡jjÑ¡ubaubajjéubjÜ)�rÙ¡}rÚ¡(jUj}rÛ¡(j]j]j]j]j]ujj½¡j]rÜ¡jX)�rÝ¡}rÞ¡(jX!Clean IPCLLD library and examplesrß¡jjÙ¡j j‡žjj\j}rà¡(j]j]j]j]j]ujKcj]rá¡j%X!Clean IPCLLD library and examplesrâ¡…�rã¡}rä¡(jjß¡jjÝ¡ubaubajjéubejjubj×)�rå¡}ræ¡(jUj}rç¡(j]j]j]j]j]ujji¡j]rè¡(jÜ)�ré¡}rê¡(jUj}rë¡(j]j]j]j]j]ujjå¡j]rì¡jX)�rí¡}rî¡(jXallrï¡jjé¡j j‡žjj\j}rð¡(j]j]j]j]j]ujKdj]rñ¡j%Xallrò¡…�ró¡}rô¡(jjï¡jjí¡ubaubajjéubjÜ)�rõ¡}rö¡(jUj}r÷¡(j]j]j]j]j]ujjå¡j]rø¡jX)�rù¡}rú¡(jXTmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH allrû¡jjõ¡j j‡žjj\j}rü¡(j]j]j]j]j]ujKdj]rý¡j%XTmake PDK_INSTALL_PATH=PDK_INSTALL_DIR/packages SDK_INSTALL_PATH=SDK_INSTALL_PATH allrþ¡…�rÿ¡}r¢(jjû¡jjù¡ubaubajjéubjÜ)�r¢}r¢(jUj}r¢(j]j]j]j]j]ujjå¡j]r¢jX)�r¢}r¢(jX!Build IPCLLD library and examplesr¢jj¢j j‡žjj\j}r¢(j]j]j]j]j]ujKdj]r ¢j%X!Build IPCLLD library and examplesr ¢…�r ¢}r ¢(jj¢jj¢ubaubajjéubejjubejjðubejjñubaubjX)�r ¢}r¢(jX Method 2:r¢jjÉ j j‡žjj\j}r¢(j]j]j]j]j]ujKgjhj]r¢j%X Method 2:r¢…�r¢}r¢(jj¢jj ¢ubaubjX)�r¢}r¢(jXHIf building from the PDK build folder, then use following steps to buildr¢jjÉ j j‡žjj\j}r¢(j]j]j]j]j]ujKijhj]r¢j%XHIf building from the PDK build folder, then use following steps to buildr¢…�r¢}r¢(jj¢jj¢ubaubj¤ )�r¢}r¢(jUjjÉ j j‡žjj§ j}r¢(j]j]j]j]j]ujNjhj]r ¢jX)�r!¢}r"¢(jX'Go to PDK_INSTALL_DIR/packages/ti/buildr#¢jj¢j j‡žjj\j}r$¢(j]j]j]j]j]ujKkj]r%¢j%X'Go to PDK_INSTALL_DIR/packages/ti/buildr&¢…�r'¢}r(¢(jj#¢jj!¢ubaubaubj¶)�r)¢}r*¢(jUjjÉ j j‡žjj¹j}r+¢(j]j]j]j]j]ujNjhj]r,¢j¼)�r-¢}r.¢(jUj}r/¢(j]j]j]j]j]UcolsKujj)¢j]r0¢(jÁ)�r1¢}r2¢(jUj}r3¢(j]j]j]j]j]UcolwidthKujj-¢j]jjÅubjÁ)�r4¢}r5¢(jUj}r6¢(j]j]j]j]j]UcolwidthKjujj-¢j]jjÅubjÁ)�r7¢}r8¢(jUj}r9¢(j]j]j]j]j]UcolwidthKjujj-¢j]jjÅubjÒ)�r:¢}r;¢(jUj}r<¢(j]j]j]j]j]ujj-¢j]r=¢j×)�r>¢}r?¢(jUj}r@¢(j]j]j]j]j]ujj:¢j]rA¢(jÜ)�rB¢}rC¢(jUj}rD¢(j]j]j]j]j]ujj>¢j]rE¢jX)�rF¢}rG¢(jXTargetrH¢jjB¢j j‡žjj\j}rI¢(j]j]j]j]j]ujKnj]rJ¢j%XTargetrK¢…�rL¢}rM¢(jjH¢jjF¢ubaubajjéubjÜ)�rN¢}rO¢(jUj}rP¢(j]j]j]j]j]ujj>¢j]rQ¢jX)�rR¢}rS¢(jX Build CommandrT¢jjN¢j j‡žjj\j}rU¢(j]j]j]j]j]ujKnj]rV¢j%X Build CommandrW¢…�rX¢}rY¢(jjT¢jjR¢ubaubajjéubjÜ)�rZ¢}r[¢(jUj}r\¢(j]j]j]j]j]ujj>¢j]r]¢jX)�r^¢}r_¢(jX Descriptionr`¢jjZ¢j j‡žjj\j}ra¢(j]j]j]j]j]ujKnj]rb¢j%X Descriptionrc¢…�rd¢}re¢(jj`¢jj^¢ubaubajjéubejjubajjubj)�rf¢}rg¢(jUj}rh¢(j]j]j]j]j]ujj-¢j]ri¢(j×)�rj¢}rk¢(jUj}rl¢(j]j]j]j]j]ujjf¢j]rm¢(jÜ)�rn¢}ro¢(jUj}rp¢(j]j]j]j]j]ujjj¢j]rq¢jX)�rr¢}rs¢(jXlibrt¢jjn¢j j‡žjj\j}ru¢(j]j]j]j]j]ujKpj]rv¢j%Xlibrw¢…�rx¢}ry¢(jjt¢jjr¢ubaubajjéubjÜ)�rz¢}r{¢(jUj}r|¢(j]j]j]j]j]ujjj¢j]r}¢jX)�r~¢}r¢(jXZmake -s -j BUILD_PROFILE= BOARD= CORE= ipcr€¢jjz¢j j‡žjj\j}r�¢(j]j]j]j]j]ujKpj]r‚¢j%XZmake -s -j BUILD_PROFILE= BOARD= CORE= ipcrƒ¢…�r„¢}r…¢(jj€¢jj~¢ubaubajjéubjÜ)�r†¢}r‡¢(jUj}rˆ¢(j]j]j]j]j]ujjj¢j]r‰¢jX)�rŠ¢}r‹¢(jXIPCLLD libraryrŒ¢jj†¢j j‡žjj\j}r�¢(j]j]j]j]j]ujKpj]rŽ¢j%XIPCLLD libraryr�¢…�r�¢}r‘¢(jjŒ¢jjŠ¢ubaubajjéubejjubj×)�r’¢}r“¢(jUj}r”¢(j]j]j]j]j]ujjf¢j]r•¢(jÜ)�r–¢}r—¢(jUj}r˜¢(j]j]j]j]j]ujj’¢j]r™¢jX)�rš¢}r›¢(jXexamplerœ¢jj–¢j j‡žjj\j}r�¢(j]j]j]j]j]ujKqj]rž¢j%XexamplerŸ¢…�r ¢}r¡¢(jjœ¢jjš¢ubaubajjéubjÜ)�r¢¢}r£¢(jUj}r¤¢(j]j]j]j]j]ujj’¢j]r¥¢jX)�r¦¢}r§¢(jXdmake -s -j BUILD_PROFILE= BOARD= CORE= ipc_echo_testr¨¢jj¢¢j j‡žjj\j}r©¢(j]j]j]j]j]ujKqj]rª¢j%Xdmake -s -j BUILD_PROFILE= BOARD= CORE= ipc_echo_testr«¢…�r¬¢}r­¢(jj¨¢jj¦¢ubaubajjéubjÜ)�r®¢}r¯¢(jUj}r°¢(j]j]j]j]j]ujj’¢j]r±¢jX)�r²¢}r³¢(jXhipc_echo_test example (this can be replaced with any available IPC test name to build the specific test)r´¢jj®¢j j‡žjj\j}rµ¢(j]j]j]j]j]ujKqj]r¶¢j%Xhipc_echo_test example (this can be replaced with any available IPC test name to build the specific test)r·¢…�r¸¢}r¹¢(jj´¢jj²¢ubaubajjéubejjubj×)�rº¢}r»¢(jUj}r¼¢(j]j]j]j]j]ujjf¢j]r½¢(jÜ)�r¾¢}r¿¢(jUj}rÀ¢(j]j]j]j]j]ujjº¢j]rÁ¢jX)�r¢}râ(jXcleanrÄ¢jj¾¢j j‡žjj\j}rÅ¢(j]j]j]j]j]ujKrj]rÆ¢j%XcleanrÇ¢…�rÈ¢}rÉ¢(jjÄ¢jj¢ubaubajjéubjÜ)�rÊ¢}rË¢(jUj}rÌ¢(j]j]j]j]j]ujjº¢j]rÍ¢jX)�r΢}rÏ¢(jXjmake -s -j BUILD_PROFILE= BOARD= CORE= ipc_echo_test_cleanrТjjÊ¢j j‡žjj\j}rÑ¢(j]j]j]j]j]ujKrj]rÒ¢j%Xjmake -s -j BUILD_PROFILE= BOARD= CORE= ipc_echo_test_cleanrÓ¢…�rÔ¢}rÕ¢(jjТjj΢ubaubajjéubjÜ)�rÖ¢}r×¢(jUj}rØ¢(j]j]j]j]j]ujjº¢j]rÙ¢jX)�rÚ¢}rÛ¢(jXjClean the ipc_echo_test (this can be replaced with any available IPC test name to build the specific test)rÜ¢jjÖ¢j j‡žjj\j}rÝ¢(j]j]j]j]j]ujKrj]rÞ¢j%XjClean the ipc_echo_test (this can be replaced with any available IPC test name to build the specific test)rߢ…�rà¢}rá¢(jjÜ¢jjÚ¢ubaubajjéubejjubejjðubejjñubaubjX)�râ¢}rã¢(jX6See `Example Details`_ for list of supported examples.rä¢jjÉ j j‡žjj\j}rå¢(j]j]j]j]j]ujKujhj]ræ¢(j%XSee r碅�rè¢}ré¢(jXSee jjâ¢ubj)�rê¢}rë¢(jX`Example Details`_jqKjjâ¢jjj}rì¢(UnameXExample Detailsj]j]j]j]j]jO“Uexample-detailsrí¢uj]rî¢j%XExample Detailsr�rð¢}rñ¢(jUjjê¢ubaubj%X for list of supported examples.rò¢…�ró¢}rô¢(jX for list of supported examples.jjâ¢ubeubeubj)�rõ¢}rö¢(jUjjs j j‡žjjj}r÷¢(j]j]j]j]rø¢Uavailable-core-namesrù¢aj]rú¢h\aujKxjhj]rû¢(j)�rü¢}rý¢(jXAvailable Core namesrþ¢jjõ¢j j‡žjj"j}rÿ¢(j]j]j]j]j]ujKxjhj]r£j%XAvailable Core namesr£…�r£}r£(jjþ¢jjü¢ubaubjÆ )�r£}r£(jUjjõ¢j NjjÉ j}r£(j]j]j]j]j]ujNjhj]r£(jÌ )�r£}r £(jX:AM65XX: - mpu1_0 (A53) - mcu1_0 (r5f0_0) - mcu1_1 (r5f0_1)jj£j j‡žjjÏ j}r £(j]j]j]j]j]ujK|j]r £(jÒ )�r £}r £(jXAM65XX:r£jj£j j‡žjjÖ j}r£(j]j]j]j]j]ujK|j]r£j%XAM65XX:r£…�r£}r£(jj£jj £ubaubjÜ )�r£}r£(jUj}r£(j]j]j]j]j]ujj£j]r£j)�r£}r£(jUj}r£(jX-j]j]j]j]j]ujj£j]r£(j)�r£}r£(jX mpu1_0 (A53)r£j}r£(j]j]j]j]j]ujj£j]r £jX)�r!£}r"£(jj£jj£j j‡žjj\j}r#£(j]j]j]j]j]ujK{j]r$£j%X mpu1_0 (A53)r%£…�r&£}r'£(jj£jj!£ubaubajj ubj)�r(£}r)£(jXmcu1_0 (r5f0_0)r*£j}r+£(j]j]j]j]j]ujj£j]r,£jX)�r-£}r.£(jj*£jj(£j j‡žjj\j}r/£(j]j]j]j]j]ujK|j]r0£j%Xmcu1_0 (r5f0_0)r1£…�r2£}r3£(jj*£jj-£ubaubajj ubj)�r4£}r5£(jXmcu1_1 (r5f0_1)r6£j}r7£(j]j]j]j]j]ujj£j]r8£jX)�r9£}r:£(jj6£jj4£j j‡žjj\j}r;£(j]j]j]j]j]ujK}j]r<£j%Xmcu1_1 (r5f0_1)r=£…�r>£}r?£(jj6£jj9£ubaubajj ubejjubajj ubeubjÌ )�r@£}rA£(jXÙJ721E: - mpu1_0 (A72) - mcu1_0 (mcu-r5f0_0) - mcu1_1 (mcu-r5f0_1) - mcu2_0 (main-r5f0_0) - mcu2_1 (main-r5f0_1) - mcu3_0 (main-r5f1_0) - mcu3_1 (main-r5f1_1) - c66xdsp_1 (c66x_0) - c66xdsp_2 (c66x_1) - c7x_1 (c71x_0) jj£j j‡žjjÏ j}rB£(j]j]j]j]j]ujKˆjhj]rC£(jÒ )�rD£}rE£(jXJ721E:rF£jj@£j j‡žjjÖ j}rG£(j]j]j]j]j]ujKˆj]rH£j%XJ721E:rI£…�rJ£}rK£(jjF£jjD£ubaubjÜ )�rL£}rM£(jUj}rN£(j]j]j]j]j]ujj@£j]rO£j)�rP£}rQ£(jUj}rR£(jX-j]j]j]j]j]ujjL£j]rS£(j)�rT£}rU£(jX mpu1_0 (A72)rV£j}rW£(j]j]j]j]j]ujjP£j]rX£jX)�rY£}rZ£(jjV£jjT£j j‡žjj\j}r[£(j]j]j]j]j]ujKj]r\£j%X mpu1_0 (A72)r]£…�r^£}r_£(jjV£jjY£ubaubajj ubj)�r`£}ra£(jXmcu1_0 (mcu-r5f0_0)rb£j}rc£(j]j]j]j]j]ujjP£j]rd£jX)�re£}rf£(jjb£jj`£j j‡žjj\j}rg£(j]j]j]j]j]ujK€j]rh£j%Xmcu1_0 (mcu-r5f0_0)ri£…�rj£}rk£(jjb£jje£ubaubajj ubj)�rl£}rm£(jXmcu1_1 (mcu-r5f0_1)rn£j}ro£(j]j]j]j]j]ujjP£j]rp£jX)�rq£}rr£(jjn£jjl£j j‡žjj\j}rs£(j]j]j]j]j]ujK�j]rt£j%Xmcu1_1 (mcu-r5f0_1)ru£…�rv£}rw£(jjn£jjq£ubaubajj ubj)�rx£}ry£(jXmcu2_0 (main-r5f0_0)rz£j}r{£(j]j]j]j]j]ujjP£j]r|£jX)�r}£}r~£(jjz£jjx£j j‡žjj\j}r£(j]j]j]j]j]ujK‚j]r€£j%Xmcu2_0 (main-r5f0_0)r�£…�r‚£}rƒ£(jjz£jj}£ubaubajj ubj)�r„£}r…£(jXmcu2_1 (main-r5f0_1)r†£j}r‡£(j]j]j]j]j]ujjP£j]rˆ£jX)�r‰£}rŠ£(jj†£jj„£j j‡žjj\j}r‹£(j]j]j]j]j]ujKƒj]rŒ£j%Xmcu2_1 (main-r5f0_1)r�£…�rŽ£}r�£(jj†£jj‰£ubaubajj ubj)�r�£}r‘£(jXmcu3_0 (main-r5f1_0)r’£j}r“£(j]j]j]j]j]ujjP£j]r”£jX)�r•£}r–£(jj’£jj�£j j‡žjj\j}r—£(j]j]j]j]j]ujK„j]r˜£j%Xmcu3_0 (main-r5f1_0)r™£…�rš£}r›£(jj’£jj•£ubaubajj ubj)�rœ£}r�£(jXmcu3_1 (main-r5f1_1)rž£j}rŸ£(j]j]j]j]j]ujjP£j]r £jX)�r¡£}r¢£(jjž£jjœ£j j‡žjj\j}r££(j]j]j]j]j]ujK…j]r¤£j%Xmcu3_1 (main-r5f1_1)r¥£…�r¦£}r§£(jjž£jj¡£ubaubajj ubj)�r¨£}r©£(jXc66xdsp_1 (c66x_0)rª£j}r«£(j]j]j]j]j]ujjP£j]r¬£jX)�r­£}r®£(jjª£jj¨£j j‡žjj\j}r¯£(j]j]j]j]j]ujK†j]r°£j%Xc66xdsp_1 (c66x_0)r±£…�r²£}r³£(jjª£jj­£ubaubajj ubj)�r´£}rµ£(jXc66xdsp_2 (c66x_1)r¶£j}r·£(j]j]j]j]j]ujjP£j]r¸£jX)�r¹£}rº£(jj¶£jj´£j j‡žjj\j}r»£(j]j]j]j]j]ujK‡j]r¼£j%Xc66xdsp_2 (c66x_1)r½£…�r¾£}r¿£(jj¶£jj¹£ubaubajj ubj)�rÀ£}rÁ£(jXc7x_1 (c71x_0) j}r£(j]j]j]j]j]ujjP£j]rãjX)�rÄ£}rÅ£(jXc7x_1 (c71x_0)rÆ£jjÀ£j j‡žjj\j}rÇ£(j]j]j]j]j]ujKˆj]rÈ£j%Xc7x_1 (c71x_0)rÉ£…�rÊ£}rË£(jjÆ£jjÄ£ubaubajj ubejjubajj ubeubeubeubj)�rÌ£}rÍ£(jUjjs j j‡žjjj}rΣ(j]j]j]j]rÏ£Uexpected-outputrУaj]rÑ£hÜaujK‹jhj]rÒ£(j)�rÓ£}rÔ£(jXExpected OutputrÕ£jjÌ£j j‡žjj"j}rÖ£(j]j]j]j]j]ujK‹jhj]r×£j%XExpected OutputrØ£…�rÙ£}rÚ£(jjÕ£jjÓ£ubaubjX)�rÛ£}rÜ£(jXCThe built example binaries can be found in the PDK's binary folder:rÝ£jjÌ£j j‡žjj\j}rÞ£(j]j]j]j]j]ujK�jhj]rߣj%XCThe built example binaries can be found in the PDK's binary folder:rࣅ�rá£}râ£(jjÝ£jjÛ£ubaubj¤ )�rã£}rä£(jUjjÌ£j j‡žjj§ j}rå£(j]j]j]j]j]ujNjhj]ræ£jX)�rç£}rè£(jXAPDK_INSTALL_PATH/packages/ti/binary//bin//ré£jjã£j j‡žjj\j}rê£(j]j]j]j]j]ujK�j]rë£j%XAPDK_INSTALL_PATH/packages/ti/binary//bin//r죅�rí£}rî£(jjé£jjç£ubaubaubeubeubj)�rï£}rð£(jUjjužj j‡žjjj}rñ£(j]j]j]j]rò£Urunning-the-ipclld-examplesró£aj]rô£h aujK’jhj]rõ£(j)�rö£}r÷£(jXRunning the IPCLLD examplesrø£jjï£j j‡žjj"j}rù£(j]j]j]j]j]ujK’jhj]rú£j%XRunning the IPCLLD examplesrû£…�rü£}rý£(jjø£jjö£ubaubjX)�rþ£}rÿ£(jX)IPCLLD comes with the following examples.r¤jjï£j j‡žjj\j}r¤(j]j]j]j]j]ujK”jhj]r¤j%X)IPCLLD comes with the following examples.r¤…�r¤}r¤(jj¤jjþ£ubaubj)�r¤}r¤(jUjKjjï£j j‡žjjj}r¤(j]j]j]j]r ¤jí¢aj]r ¤haujK—jhj]r ¤(j)�r ¤}r ¤(jXExample Detailsr¤jj¤j j‡žjj"j}r¤(j]j]j]j]j]ujK—jhj]r¤j%XExample Detailsr¤…�r¤}r¤(jj¤jj ¤ubaubj)�r¤}r¤(jUjj¤j j‡žjjj}r¤(jX-j]j]j]j]j]ujK™jhj]r¤(j)�r¤}r¤(jX-**ipc_echo_test:** This is most generic example application where mpu1_0 is running Linux, and all other cores running bios. All cores talk to each other bi-diectionally. It is send ping message and remote end responds pong message. There are 10000 ping/pong messages exchanged between each core-pair.r¤jj¤j j‡žjj j}r¤(j]j]j]j]j]ujNjhj]r¤jX)�r¤}r¤(jj¤jj¤j j‡žjj\j}r¤(j]j]j]j]j]ujK™j]r ¤(j|)�r!¤}r"¤(jX**ipc_echo_test:**j}r#¤(j]j]j]j]j]ujj¤j]r$¤j%Xipc_echo_test:r%¤…�r&¤}r'¤(jUjj!¤ubajj„ubj%X This is most generic example application where mpu1_0 is running Linux, and all other cores running bios. All cores talk to each other bi-diectionally. It is send ping message and remote end responds pong message. There are 10000 ping/pong messages exchanged between each core-pair.r(¤…�r)¤}r*¤(jX This is most generic example application where mpu1_0 is running Linux, and all other cores running bios. All cores talk to each other bi-diectionally. It is send ping message and remote end responds pong message. There are 10000 ping/pong messages exchanged between each core-pair.jj¤ubeubaubj)�r+¤}r,¤(jXn**ex01_bios_2core_echo_test:** This is the simplistic ping/pong application between any two cores running BIOSr-¤jj¤j j‡žjj j}r.¤(j]j]j]j]j]ujNjhj]r/¤jX)�r0¤}r1¤(jj-¤jj+¤j j‡žjj\j}r2¤(j]j]j]j]j]ujKšj]r3¤(j|)�r4¤}r5¤(jX**ex01_bios_2core_echo_test:**j}r6¤(j]j]j]j]j]ujj0¤j]r7¤j%Xex01_bios_2core_echo_test:r8¤…�r9¤}r:¤(jUjj4¤ubajj„ubj%XP This is the simplistic ping/pong application between any two cores running BIOSr;¤…�r<¤}r=¤(jXP This is the simplistic ping/pong application between any two cores running BIOSjj0¤ubeubaubj)�r>¤}r?¤(jX›**ex02_bios_multicore_echo_test:** All cores running BIOS, many-to-many communication, each sending ping/pong with each other. mpu1_0 is also running BIOS.r@¤jj¤j j‡žjj j}rA¤(j]j]j]j]j]ujNjhj]rB¤jX)�rC¤}rD¤(jj@¤jj>¤j j‡žjj\j}rE¤(j]j]j]j]j]ujK›j]rF¤(j|)�rG¤}rH¤(jX"**ex02_bios_multicore_echo_test:**j}rI¤(j]j]j]j]j]ujjC¤j]rJ¤j%Xex02_bios_multicore_echo_test:rK¤…�rL¤}rM¤(jUjjG¤ubajj„ubj%Xy All cores running BIOS, many-to-many communication, each sending ping/pong with each other. mpu1_0 is also running BIOS.rN¤…�rO¤}rP¤(jXy All cores running BIOS, many-to-many communication, each sending ping/pong with each other. mpu1_0 is also running BIOS.jjC¤ubeubaubj)�rQ¤}rR¤(jXŒ**ex03_linux_bios_2core_echo_test:** This is simplistic ping/pong application where mpu1_0 running Linux and any other core is running Bios.rS¤jj¤j j‡žjj j}rT¤(j]j]j]j]j]ujNjhj]rU¤jX)�rV¤}rW¤(jjS¤jjQ¤j j‡žjj\j}rX¤(j]j]j]j]j]ujKœj]rY¤(j|)�rZ¤}r[¤(jX$**ex03_linux_bios_2core_echo_test:**j}r\¤(j]j]j]j]j]ujjV¤j]r]¤j%X ex03_linux_bios_2core_echo_test:r^¤…�r_¤}r`¤(jUjjZ¤ubajj„ubj%Xh This is simplistic ping/pong application where mpu1_0 running Linux and any other core is running Bios.ra¤…�rb¤}rc¤(jXh This is simplistic ping/pong application where mpu1_0 running Linux and any other core is running Bios.jjV¤ubeubaubj)�rd¤}re¤(jXž**ex04_linux_baremetal_2core_echo_test:** AM65xx only. This is a ping/pong application where mpu1_0 is running Linux and the other core is baremetal (no OS). jj¤j j‡žjj j}rf¤(j]j]j]j]j]ujNjhj]rg¤jX)�rh¤}ri¤(jX�**ex04_linux_baremetal_2core_echo_test:** AM65xx only. This is a ping/pong application where mpu1_0 is running Linux and the other core is baremetal (no OS).jjd¤j j‡žjj\j}rj¤(j]j]j]j]j]ujK�j]rk¤(j|)�rl¤}rm¤(jX)**ex04_linux_baremetal_2core_echo_test:**j}rn¤(j]j]j]j]j]ujjh¤j]ro¤j%X%ex04_linux_baremetal_2core_echo_test:rp¤…�rq¤}rr¤(jUjjl¤ubajj„ubj%Xt AM65xx only. This is a ping/pong application where mpu1_0 is running Linux and the other core is baremetal (no OS).rs¤…�rt¤}ru¤(jXt AM65xx only. This is a ping/pong application where mpu1_0 is running Linux and the other core is baremetal (no OS).jjh¤ubeubaubeubeubj)�rv¤}rw¤(jUjjï£j j‡žjjj}rx¤(j]j]j]j]ry¤Uloading-remote-firmwarerz¤aj]r{¤hzaujK jhj]r|¤(j)�r}¤}r~¤(jXLoading Remote Firmwarer¤jjv¤j j‡žjj"j}r€¤(j]j]j]j]j]ujK jhj]r�¤j%XLoading Remote Firmwarer‚¤…�rƒ¤}r„¤(jj¤jj}¤ubaubjX)�r…¤}r†¤(jX<Remote firmware can be loading using CCS or using uBoot SPL.r‡¤jjv¤j j‡žjj\j}rˆ¤(j]j]j]j]j]ujK¢jhj]r‰¤j%X<Remote firmware can be loading using CCS or using uBoot SPL.rФ…�r‹¤}rŒ¤(jj‡¤jj…¤ubaubj`)�r�¤}rޤ(jUjjv¤j j‡žjjcj}r�¤(jeU.j]j]j]jfUj]j]jgjhujK¤jhj]r�¤(j)�r‘¤}r’¤(jXë**Loading using CCS** : Sciclient module contains default system firmware and CCS script to load the system firmware. The load scripts should be modified to reflect the correct full-path of the script location. Once the script is updated, * start TI CCS 9.1 or newer * open CCS script console using menu **View --> Scripting Console** * Run the script using following command (example below is for J721E, use the appropriate one for your target) - loadJSFile("PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js") .. image:: ../images/ipclld_LoadingSysFw_sciclient.png :height: 160 :width: 941 * Connect the cores - select the core - right-click and connect * Load the remote binaries - Menu **Run --> Load Program** * Run the cores. * After running the cores, the sample output should look something like below. .. image:: ../images/ipclld_Sample_output_mpu.png :height: 377 :width: 672 jj�¤j j‡žjj j}r“¤(j]j]j]j]j]ujNjhj]r”¤(jX)�r•¤}r–¤(jX**Loading using CCS** :r—¤jj‘¤j j‡žjj\j}r˜¤(j]j]j]j]j]ujK¤j]r™¤(j|)�rš¤}r›¤(jX**Loading using CCS**j}rœ¤(j]j]j]j]j]ujj•¤j]r�¤j%XLoading using CCSrž¤…�rŸ¤}r ¤(jUjjš¤ubajj„ubj%X :r¡¤…�r¢¤}r£¤(jX :jj•¤ubeubj¤ )�r¤¤}r¥¤(jUj}r¦¤(j]j]j]j]j]ujj‘¤j]r§¤(jX)�r¨¤}r©¤(jXÖSciclient module contains default system firmware and CCS script to load the system firmware. The load scripts should be modified to reflect the correct full-path of the script location. Once the script is updated,rª¤jj¤¤j j‡žjj\j}r«¤(j]j]j]j]j]ujK¦j]r¬¤j%XÖSciclient module contains default system firmware and CCS script to load the system firmware. The load scripts should be modified to reflect the correct full-path of the script location. Once the script is updated,r­¤…�r®¤}r¯¤(jjª¤jj¨¤ubaubj)�r°¤}r±¤(jUj}r²¤(jX*j]j]j]j]j]ujj¤¤j]r³¤(j)�r´¤}rµ¤(jXstart TI CCS 9.1 or newerr¶¤j}r·¤(j]j]j]j]j]ujj°¤j]r¸¤jX)�r¹¤}rº¤(jj¶¤jj´¤j j‡žjj\j}r»¤(j]j]j]j]j]ujK¨j]r¼¤j%Xstart TI CCS 9.1 or newerr½¤…�r¾¤}r¿¤(jj¶¤jj¹¤ubaubajj ubj)�rÀ¤}rÁ¤(jXAopen CCS script console using menu **View --> Scripting Console**r¤j}rä(j]j]j]j]j]ujj°¤j]rĤjX)�rŤ}rƤ(jj¤jjÀ¤j j‡žjj\j}rǤ(j]j]j]j]j]ujK©j]rȤ(j%X#open CCS script console using menu rɤ…�rʤ}rˤ(jX#open CCS script console using menu jjŤubj|)�r̤}rͤ(jX**View --> Scripting Console**j}rΤ(j]j]j]j]j]ujjŤj]rϤj%XView --> Scripting ConsolerФ…�rѤ}rÒ¤(jUjj̤ubajj„ubeubajj ubj)�rÓ¤}rÔ¤(jX/Run the script using following command (example below is for J721E, use the appropriate one for your target) - loadJSFile("PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js") .. image:: ../images/ipclld_LoadingSysFw_sciclient.png :height: 160 :width: 941j}rÕ¤(j]j]j]j]j]ujj°¤j]rÖ¤(jÆ )�rפ}rؤ(jUj}rÙ¤(j]j]j]j]j]ujjÓ¤j]rÚ¤jÌ )�rÛ¤}rܤ(jXÉRun the script using following command (example below is for J721E, use the appropriate one for your target) - loadJSFile("PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js") jjפj j‡žjjÏ j}rݤ(j]j]j]j]j]ujK«j]rÞ¤(jÒ )�rߤ}rà¤(jXlRun the script using following command (example below is for J721E, use the appropriate one for your target)rá¤jjÛ¤j j‡žjjÖ j}râ¤(j]j]j]j]j]ujK«j]rã¤j%XlRun the script using following command (example below is for J721E, use the appropriate one for your target)r䤅�rå¤}ræ¤(jjá¤jjߤubaubjÜ )�rç¤}rè¤(jUj}ré¤(j]j]j]j]j]ujjÛ¤j]rê¤j)�rë¤}rì¤(jUj}rí¤(jX-j]j]j]j]j]ujjç¤j]rî¤j)�rï¤}rð¤(jXZloadJSFile("PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js") j}rñ¤(j]j]j]j]j]ujjë¤j]rò¤jX)�ró¤}rô¤(jXYloadJSFile("PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js")rõ¤jjï¤j j‡žjj\j}rö¤(j]j]j]j]j]ujK«j]r÷¤j%XYloadJSFile("PDK_INSTALL_DIR/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js")rø¤…�rù¤}rú¤(jjõ¤jjó¤ubaubajj ubajjubajj ubeubajjÉ ubj^)�rû¤}rü¤(jXc.. image:: ../images/ipclld_LoadingSysFw_sciclient.png :height: 160 :width: 941j}rý¤(j]UuriX0rtos/../images/ipclld_LoadingSysFw_sciclient.pngrþ¤j]j]UwidthX941j]jd}rÿ¤U*jþ¤sj]UheightX160ujjÓ¤j]jjaubejj ubj)�r¥}r¥(jXAConnect the cores - select the core - right-click and connectj}r¥(j]j]j]j]j]ujj°¤j]r¥jÆ )�r¥}r¥(jUj}r¥(j]j]j]j]j]ujj¥j]r¥jÌ )�r¥}r ¥(jX=Connect the cores - select the core - right-click and connectjj¥j j‡žjjÏ j}r ¥(j]j]j]j]j]ujK±j]r ¥(jÒ )�r ¥}r ¥(jXConnect the coresr¥jj¥j j‡žjjÖ j}r¥(j]j]j]j]j]ujK±j]r¥j%XConnect the coresr¥…�r¥}r¥(jj¥jj ¥ubaubjÜ )�r¥}r¥(jUj}r¥(j]j]j]j]j]ujj¥j]r¥j)�r¥}r¥(jUj}r¥(jX-j]j]j]j]j]ujj¥j]r¥(j)�r¥}r¥(jXselect the corer¥j}r¥(j]j]j]j]j]ujj¥j]r ¥jX)�r!¥}r"¥(jj¥jj¥j j‡žjj\j}r#¥(j]j]j]j]j]ujK±j]r$¥j%Xselect the corer%¥…�r&¥}r'¥(jj¥jj!¥ubaubajj ubj)�r(¥}r)¥(jXright-click and connectr*¥j}r+¥(j]j]j]j]j]ujj¥j]r,¥jX)�r-¥}r.¥(jj*¥jj(¥j j‡žjj\j}r/¥(j]j]j]j]j]ujK²j]r0¥j%Xright-click and connectr1¥…�r2¥}r3¥(jj*¥jj-¥ubaubajj ubejjubajj ubeubajjÉ ubajj ubj)�r4¥}r5¥(jX:Load the remote binaries - Menu **Run --> Load Program**j}r6¥(j]j]j]j]j]ujj°¤j]r7¥jÆ )�r8¥}r9¥(jUj}r:¥(j]j]j]j]j]ujj4¥j]r;¥jÌ )�r<¥}r=¥(jX8Load the remote binaries - Menu **Run --> Load Program**jj8¥j j‡žjjÏ j}r>¥(j]j]j]j]j]ujK³j]r?¥(jÒ )�r@¥}rA¥(jXLoad the remote binariesrB¥jj<¥j j‡žjjÖ j}rC¥(j]j]j]j]j]ujK³j]rD¥j%XLoad the remote binariesrE¥…�rF¥}rG¥(jjB¥jj@¥ubaubjÜ )�rH¥}rI¥(jUj}rJ¥(j]j]j]j]j]ujj<¥j]rK¥j)�rL¥}rM¥(jUj}rN¥(jX-j]j]j]j]j]ujjH¥j]rO¥j)�rP¥}rQ¥(jXMenu **Run --> Load Program**rR¥j}rS¥(j]j]j]j]j]ujjL¥j]rT¥jX)�rU¥}rV¥(jjR¥jjP¥j j‡žjj\j}rW¥(j]j]j]j]j]ujK´j]rX¥(j%XMenu rY¥…�rZ¥}r[¥(jXMenu jjU¥ubj|)�r\¥}r]¥(jX**Run --> Load Program**j}r^¥(j]j]j]j]j]ujjU¥j]r_¥j%XRun --> Load Programr`¥…�ra¥}rb¥(jUjj\¥ubajj„ubeubajj ubajjubajj ubeubajjÉ ubajj ubj)�rc¥}rd¥(jXRun the cores.re¥j}rf¥(j]j]j]j]j]ujj°¤j]rg¥jX)�rh¥}ri¥(jje¥jjc¥j j‡žjj\j}rj¥(j]j]j]j]j]ujKµj]rk¥j%XRun the cores.rl¥…�rm¥}rn¥(jje¥jjh¥ubaubajj ubj)�ro¥}rp¥(jX®After running the cores, the sample output should look something like below. .. image:: ../images/ipclld_Sample_output_mpu.png :height: 377 :width: 672 j}rq¥(j]j]j]j]j]ujj°¤j]rr¥(jX)�rs¥}rt¥(jXLAfter running the cores, the sample output should look something like below.ru¥jjo¥j j‡žjj\j}rv¥(j]j]j]j]j]ujK¶j]rw¥j%XLAfter running the cores, the sample output should look something like below.rx¥…�ry¥}rz¥(jju¥jjs¥ubaubj^)�r{¥}r|¥(jX`.. image:: ../images/ipclld_Sample_output_mpu.png :height: 377 :width: 672 j}r}¥(j]UuriX+rtos/../images/ipclld_Sample_output_mpu.pngr~¥j]j]UwidthX672j]jd}r¥U*j~¥sj]UheightX377ujjo¥j]jjaubejj ubejjubejj§ ubeubj)�r€¥}r�¥(jX**Loading using SPL/uBoot** jj�¤j j‡žjj j}r‚¥(j]j]j]j]j]ujNjhj]rƒ¥jX)�r„¥}r…¥(jX**Loading using SPL/uBoot**r†¥jj€¥j j‡žjj\j}r‡¥(j]j]j]j]j]ujK½j]rˆ¥j|)�r‰¥}rŠ¥(jj†¥j}r‹¥(j]j]j]j]j]ujj„¥j]rŒ¥j%XLoading using SPL/uBootr�¥…�rŽ¥}r�¥(jUjj‰¥ubajj„ubaubaubeubj¤ )�r�¥}r‘¥(jUjjv¤j Njj§ j}r’¥(j]j]j]j]j]ujNjhj]r“¥(jX)�r”¥}r•¥(jXYRun following steps to configure remote firmware for SPL loading with HLOS running on MPUr–¥jj�¥j j‡žjj\j}r—¥(j]j]j]j]j]ujK¿j]r˜¥j%XYRun following steps to configure remote firmware for SPL loading with HLOS running on MPUr™¥…�rš¥}r›¥(jj–¥jj”¥ubaubj`)�rœ¥}r�¥(jUj}rž¥(jeU)j]j]j]jfUj]j]jgjhujj�¥j]rŸ¥(j)�r ¥}r¡¥(jXBCopy the remote firmware to rootfs at /lib/firmware/pdk-ipc folderr¢¥j}r£¥(j]j]j]j]j]ujjœ¥j]r¤¥jX)�r¥¥}r¦¥(jj¢¥jj ¥j j‡žjj\j}r§¥(j]j]j]j]j]ujKÁj]r¨¥j%XBCopy the remote firmware to rootfs at /lib/firmware/pdk-ipc folderr©¥…�rª¥}r«¥(jj¢¥jj¥¥ubaubajj ubj)�r¬¥}r­¥(jXcd /lib/firmwarer®¥j}r¯¥(j]j]j]j]j]ujjœ¥j]r°¥jX)�r±¥}r²¥(jj®¥jj¬¥j j‡žjj\j}r³¥(j]j]j]j]j]ujKÂj]r´¥j%Xcd /lib/firmwarerµ¥…�r¶¥}r·¥(jj®¥jj±¥ubaubajj ubj)�r¸¥}r¹¥(jX/Remove old soft link for remote cores * rm j7*j}rº¥(j]j]j]j]j]ujjœ¥j]r»¥(jX)�r¼¥}r½¥(jX%Remove old soft link for remote coresr¾¥jj¸¥j j‡žjj\j}r¿¥(j]j]j]j]j]ujKÃj]rÀ¥j%X%Remove old soft link for remote coresrÁ¥…�rÂ¥}rÃ¥(jj¾¥jj¼¥ubaubj)�rÄ¥}rÅ¥(jUj}rÆ¥(jX*j]j]j]j]j]ujj¸¥j]rÇ¥j)�rÈ¥}rÉ¥(jXrm j7*rÊ¥j}rË¥(j]j]j]j]j]ujjÄ¥j]rÌ¥jX)�rÍ¥}rÎ¥(jjÊ¥jjÈ¥j j‡žjj\j}rÏ¥(j]j]j]j]j]ujKÅj]rÐ¥j%Xrm j7*rÑ¥…�rÒ¥}rÓ¥(jjÊ¥jjÍ¥ubaubajj ubajjubejj ubj)�rÔ¥}rÕ¥(jXCreate new soft links * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_1_release.xe66 j7-c66_0-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_2_release.xe66 j7-c66_1-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_c7x_1_release.xe71 j7-c71_0-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release.xer5f j7-main-r5f0_0-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release.xer5f j7-main-r5f0_1-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release.xer5f j7-main-r5f1_0-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release.xer5f j7-main-r5f1_1-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release.xer5f j7-mcu-r5f0_0-fw * ln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release.xer5f j7-mcu-r5f0_1-fw j}rÖ¥(j]j]j]j]j]ujjœ¥j]r×¥(jX)�rØ¥}rÙ¥(jXCreate new soft linksrÚ¥jjÔ¥j j‡žjj\j}rÛ¥(j]j]j]j]j]ujKÆj]rÜ¥j%XCreate new soft linksrÝ¥…�rÞ¥}rߥ(jjÚ¥jjØ¥ubaubj)�rà¥}rá¥(jUj}râ¥(jX*j]j]j]j]j]ujjÔ¥j]rã¥(j)�rä¥}rå¥(jXLln -s /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_1_release.xe66 j7-c66_0-fwræ¥j}rç¥(j]j]j]j]j]ujjà¥j]rè¥jX)�ré¥}rê¥(jjæ¥jjä¥j j‡žjj\j}rë¥(j]j]j]j]j]ujKÈj]rì¥j%XLln -s /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_1_release.xe66 j7-c66_0-fwrí¥…�rî¥}rï¥(jjæ¥jjé¥ubaubajj ubj)�rð¥}rñ¥(jXLln -s /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_2_release.xe66 j7-c66_1-fwrò¥j}ró¥(j]j]j]j]j]ujjà¥j]rô¥jX)�rõ¥}rö¥(jjò¥jjð¥j j‡žjj\j}r÷¥(j]j]j]j]j]ujKÉj]rø¥j%XLln -s /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_2_release.xe66 j7-c66_1-fwrù¥…�rú¥}rû¥(jjò¥jjõ¥ubaubajj ubj)�rü¥}rý¥(jXLln -s /lib/firmware/pdk-ipc/ipc_echo_test_c7x_1_release.xe71 j7-c71_0-fwrþ¥j}rÿ¥(j]j]j]j]j]ujjà¥j]r¦jX)�r¦}r¦(jjþ¥jjü¥j j‡žjj\j}r¦(j]j]j]j]j]ujKÊj]r¦j%XLln -s /lib/firmware/pdk-ipc/ipc_echo_test_c7x_1_release.xe71 j7-c71_0-fwr¦…�r¦}r¦(jjþ¥jj¦ubaubajj ubj)�r¦}r ¦(jXRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release.xer5f j7-main-r5f0_0-fwr ¦j}r ¦(j]j]j]j]j]ujjà¥j]r ¦jX)�r ¦}r¦(jj ¦jj¦j j‡žjj\j}r¦(j]j]j]j]j]ujKËj]r¦j%XRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release.xer5f j7-main-r5f0_0-fwr¦…�r¦}r¦(jj ¦jj ¦ubaubajj ubj)�r¦}r¦(jXRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release.xer5f j7-main-r5f0_1-fwr¦j}r¦(j]j]j]j]j]ujjà¥j]r¦jX)�r¦}r¦(jj¦jj¦j j‡žjj\j}r¦(j]j]j]j]j]ujKÌj]r¦j%XRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release.xer5f j7-main-r5f0_1-fwr¦…�r¦}r¦(jj¦jj¦ubaubajj ubj)�r ¦}r!¦(jXRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release.xer5f j7-main-r5f1_0-fwr"¦j}r#¦(j]j]j]j]j]ujjà¥j]r$¦jX)�r%¦}r&¦(jj"¦jj ¦j j‡žjj\j}r'¦(j]j]j]j]j]ujKÍj]r(¦j%XRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release.xer5f j7-main-r5f1_0-fwr)¦…�r*¦}r+¦(jj"¦jj%¦ubaubajj ubj)�r,¦}r-¦(jXRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release.xer5f j7-main-r5f1_1-fwr.¦j}r/¦(j]j]j]j]j]ujjà¥j]r0¦jX)�r1¦}r2¦(jj.¦jj,¦j j‡žjj\j}r3¦(j]j]j]j]j]ujKÎj]r4¦j%XRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release.xer5f j7-main-r5f1_1-fwr5¦…�r6¦}r7¦(jj.¦jj1¦ubaubajj ubj)�r8¦}r9¦(jXQln -s /lib/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release.xer5f j7-mcu-r5f0_0-fwr:¦j}r;¦(j]j]j]j]j]ujjà¥j]r<¦jX)�r=¦}r>¦(jj:¦jj8¦j j‡žjj\j}r?¦(j]j]j]j]j]ujKÏj]r@¦j%XQln -s /lib/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release.xer5f j7-mcu-r5f0_0-fwrA¦…�rB¦}rC¦(jj:¦jj=¦ubaubajj ubj)�rD¦}rE¦(jXRln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release.xer5f j7-mcu-r5f0_1-fw j}rF¦(j]j]j]j]j]ujjà¥j]rG¦jX)�rH¦}rI¦(jXQln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release.xer5f j7-mcu-r5f0_1-fwrJ¦jjD¦j j‡žjj\j}rK¦(j]j]j]j]j]ujKÐj]rL¦j%XQln -s /lib/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release.xer5f j7-mcu-r5f0_1-fwrM¦…�rN¦}rO¦(jjJ¦jjH¦ubaubajj ubejjubejj ubj)�rP¦}rQ¦(jX&sync : write the changes to filesystemrR¦j}rS¦(j]j]j]j]j]ujjœ¥j]rT¦jX)�rU¦}rV¦(jjR¦jjP¦j j‡žjj\j}rW¦(j]j]j]j]j]ujKÒj]rX¦j%X&sync : write the changes to filesystemrY¦…�rZ¦}r[¦(jjR¦jjU¦ubaubajj ubj)�r\¦}r]¦(jXReboot the system j}r^¦(j]j]j]j]j]ujjœ¥j]r_¦jX)�r`¦}ra¦(jXReboot the systemrb¦jj\¦j j‡žjj\j}rc¦(j]j]j]j]j]ujKÓj]rd¦j%XReboot the systemre¦…�rf¦}rg¦(jjb¦jj`¦ubaubajj ubejjcubeubeubj)�rh¦}ri¦(jUjjï£j j‡žjjj}rj¦(j]j]j]j]rk¦Urunning-the-echo-testsrl¦aj]rm¦h‡aujK×jhj]rn¦(j)�ro¦}rp¦(jXRunning the Echo Testsrq¦jjh¦j j‡žjj"j}rr¦(j]j]j]j]j]ujK×jhj]rs¦j%XRunning the Echo Testsrt¦…�ru¦}rv¦(jjq¦jjo¦ubaubjX)�rw¦}rx¦(jX©In this section ipc_echo_test is used to demonstrate, but same instructions apply to other examples that have Linux on MPU, though test output may be slightly different.ry¦jjh¦j j‡žjj\j}rz¦(j]j]j]j]j]ujKÙjhj]r{¦j%X©In this section ipc_echo_test is used to demonstrate, but same instructions apply to other examples that have Linux on MPU, though test output may be slightly different.r|¦…�r}¦}r~¦(jjy¦jjw¦ubaubj¤ )�r¦}r€¦(jUjjh¦j j‡žjj§ j}r�¦(j]j]j]j]j]ujNjhj]r‚¦(j`)�rƒ¦}r„¦(jUj}r…¦(jeU)j]j]j]jfUj]j]jgjhujj¦j]r†¦(j)�r‡¦}rˆ¦(jX Login as rootr‰¦j}rЦ(j]j]j]j]j]ujjƒ¦j]r‹¦jX)�rŒ¦}r�¦(jj‰¦jj‡¦j j‡žjj\j}rަ(j]j]j]j]j]ujKÛj]r�¦j%X Login as rootr�¦…�r‘¦}r’¦(jj‰¦jjŒ¦ubaubajj ubj)�r“¦}r”¦(jXžStart sample app as below - modprobe rpmsg_client_sample count=5 .. image:: ../images/ipclld_Linux_Start.png :height: 270 :width: 581 j}r•¦(j]j]j]j]j]ujjƒ¦j]r–¦(jX)�r—¦}r˜¦(jXStart sample app as belowr™¦jj“¦j j‡žjj\j}rš¦(j]j]j]j]j]ujKÜj]r›¦j%XStart sample app as belowrœ¦…�r�¦}rž¦(jj™¦jj—¦ubaubj)�rŸ¦}r ¦(jUj}r¡¦(jX-j]j]j]j]j]ujj“¦j]r¢¦j)�r£¦}r¤¦(jX%modprobe rpmsg_client_sample count=5 j}r¥¦(j]j]j]j]j]ujjŸ¦j]r¦¦jX)�r§¦}r¨¦(jX$modprobe rpmsg_client_sample count=5r©¦jj£¦j j‡žjj\j}rª¦(j]j]j]j]j]ujKÞj]r«¦j%X$modprobe rpmsg_client_sample count=5r¬¦…�r­¦}r®¦(jj©¦jj§¦ubaubajj ubajjubj^)�r¯¦}r°¦(jX[.. image:: ../images/ipclld_Linux_Start.png :height: 270 :width: 581 j}r±¦(j]UuriX%rtos/../images/ipclld_Linux_Start.pngr²¦j]j]UwidthX581j]jd}r³¦U*j²¦sj]UheightX270ujj“¦j]jjaubejj ubejjcubj¤ )�r´¦}rµ¦(jUj}r¶¦(j]j]j]j]j]ujj¦j]r·¦(j`)�r¸¦}r¹¦(jUj}rº¦(jeU)jˆKj]j]j]jfUj]j]jgjhujj´¦j]r»¦j)�r¼¦}r½¦(jX@After running the sample app, it should display something below j}r¾¦(j]j]j]j]j]ujj¸¦j]r¿¦jX)�rÀ¦}rÁ¦(jX?After running the sample app, it should display something belowr¦jj¼¦j j‡žjj\j}ræ(j]j]j]j]j]ujKäj]rĦj%X?After running the sample app, it should display something belowrŦ…�rƦ}rǦ(jj¦jjÀ¦ubaubajj ubajjcubj¤ )�rȦ}rɦ(jUj}rʦ(j]j]j]j]j]ujj´¦j]r˦j^)�r̦}rͦ(jXc.. image:: ../images/ipclld_linux_output.png :height: 796px :width: 983px j}rΦ(j]UuriX&rtos/../images/ipclld_linux_output.pngrϦj]j]UwidthX983pxj]jd}rЦU*jϦsj]UheightX796pxujjȦj]jjaubajj§ ubejj§ ubeubeubeubj)�rѦ}rÒ¦(jUjKjjužj j‡žjjj}rÓ¦(j]j]j]j]rÔ¦Uipclld-design-detailsrÕ¦aj]rÖ¦híaujKìjhj]rצ(j)�rئ}rÙ¦(jXIPCLLD Design DetailsrÚ¦jjѦj j‡žjj"j}rÛ¦(j]j]j]j]j]ujKìjhj]rܦj%XIPCLLD Design Detailsrݦ…�rÞ¦}rߦ(jjÚ¦jjئubaubj)�rà¦}rá¦(jUjjѦj j‡žjjj}râ¦(jX-j]j]j]j]j]ujKîjhj]rã¦j)�rä¦}rå¦(jX|Ring Buffer is used as shared memory to transfer the data. It must be reserved system wide. The base-address and size of ring Buffer must be provided to IPCLLD. It must be same for all core applications. The invidual memory-range for Ring Buffer between core combinations are calculated internally inside the library. The default base-address and size used in the IPC examples is jjà¦j j‡žjj j}ræ¦(j]j]j]j]j]ujNjhj]rç¦jX)�rè¦}ré¦(jX{Ring Buffer is used as shared memory to transfer the data. It must be reserved system wide. The base-address and size of ring Buffer must be provided to IPCLLD. It must be same for all core applications. The invidual memory-range for Ring Buffer between core combinations are calculated internally inside the library. The default base-address and size used in the IPC examples isrê¦jjä¦j j‡žjj\j}rë¦(j]j]j]j]j]ujKîj]rì¦j%X{Ring Buffer is used as shared memory to transfer the data. It must be reserved system wide. The base-address and size of ring Buffer must be provided to IPCLLD. It must be same for all core applications. The invidual memory-range for Ring Buffer between core combinations are calculated internally inside the library. The default base-address and size used in the IPC examples isrí¦…�rî¦}rï¦(jjê¦jjè¦ubaubaubaubj¶)�rð¦}rñ¦(jUjjѦj j‡žjj¹j}rò¦(j]j]j]j]j]ujNjhj]ró¦j¼)�rô¦}rõ¦(jUj}rö¦(j]j]j]j]j]UcolsKujjð¦j]r÷¦(jÁ)�rø¦}rù¦(jUj}rú¦(j]j]j]j]j]UcolwidthKujjô¦j]jjÅubjÁ)�rû¦}rü¦(jUj}rý¦(j]j]j]j]j]UcolwidthK ujjô¦j]jjÅubjÁ)�rþ¦}rÿ¦(jUj}r§(j]j]j]j]j]UcolwidthK ujjô¦j]jjÅubjÒ)�r§}r§(jUj}r§(j]j]j]j]j]ujjô¦j]r§j×)�r§}r§(jUj}r§(j]j]j]j]j]ujj§j]r§(jÜ)�r §}r §(jUj}r §(j]j]j]j]j]ujj§j]r §jX)�r §}r§(jXDevicer§jj §j j‡žjj\j}r§(j]j]j]j]j]ujKñj]r§j%XDevicer§…�r§}r§(jj§jj §ubaubajjéubjÜ)�r§}r§(jUj}r§(j]j]j]j]j]ujj§j]r§jX)�r§}r§(jX Base Addressr§jj§j j‡žjj\j}r§(j]j]j]j]j]ujKñj]r§j%X Base Addressr§…�r§}r §(jj§jj§ubaubajjéubjÜ)�r!§}r"§(jUj}r#§(j]j]j]j]j]ujj§j]r$§jX)�r%§}r&§(jXSizer'§jj!§j j‡žjj\j}r(§(j]j]j]j]j]ujKñj]r)§j%XSizer*§…�r+§}r,§(jj'§jj%§ubaubajjéubejjubajjubj)�r-§}r.§(jUj}r/§(j]j]j]j]j]ujjô¦j]r0§(j×)�r1§}r2§(jUj}r3§(j]j]j]j]j]ujj-§j]r4§(jÜ)�r5§}r6§(jUj}r7§(j]j]j]j]j]ujj1§j]r8§jX)�r9§}r:§(jXJ721Er;§jj5§j j‡žjj\j}r<§(j]j]j]j]j]ujKój]r=§j%XJ721Er>§…�r?§}r@§(jj;§jj9§ubaubajjéubjÜ)�rA§}rB§(jUj}rC§(j]j]j]j]j]ujj1§j]rD§jX)�rE§}rF§(jX 0xAA000000rG§jjA§j j‡žjj\j}rH§(j]j]j]j]j]ujKój]rI§j%X 0xAA000000rJ§…�rK§}rL§(jjG§jjE§ubaubajjéubjÜ)�rM§}rN§(jUj}rO§(j]j]j]j]j]ujj1§j]rP§jX)�rQ§}rR§(jX 0x1C00000rS§jjM§j j‡žjj\j}rT§(j]j]j]j]j]ujKój]rU§j%X 0x1C00000rV§…�rW§}rX§(jjS§jjQ§ubaubajjéubejjubj×)�rY§}rZ§(jUj}r[§(j]j]j]j]j]ujj-§j]r\§(jÜ)�r]§}r^§(jUj}r_§(j]j]j]j]j]ujjY§j]r`§jX)�ra§}rb§(jXAM65XXrc§jj]§j j‡žjj\j}rd§(j]j]j]j]j]ujKôj]re§j%XAM65XXrf§…�rg§}rh§(jjc§jja§ubaubajjéubjÜ)�ri§}rj§(jUj}rk§(j]j]j]j]j]ujjY§j]rl§jX)�rm§}rn§(jX 0xA2000000ro§jji§j j‡žjj\j}rp§(j]j]j]j]j]ujKôj]rq§j%X 0xA2000000rr§…�rs§}rt§(jjo§jjm§ubaubajjéubjÜ)�ru§}rv§(jUj}rw§(j]j]j]j]j]ujjY§j]rx§jX)�ry§}rz§(jX0x200000r{§jju§j j‡žjj\j}r|§(j]j]j]j]j]ujKôj]r}§j%X0x200000r~§…�r§}r€§(jj{§jjy§ubaubajjéubejjubejjðubejjñubaubjX)�r�§}r‚§(jX¥The VRing base address and size is passed from the application during the Ipc_initVirtIO() call. See `Writing HelloWorld App using IPCLLD`_ for the example of usage.rƒ§jjѦj j‡žjj\j}r„§(j]j]j]j]j]ujK÷jhj]r…§(j%XeThe VRing base address and size is passed from the application during the Ipc_initVirtIO() call. See r†§…�r‡§}rˆ§(jXeThe VRing base address and size is passed from the application during the Ipc_initVirtIO() call. See jj�§ubj)�r‰§}rЧ(jX&`Writing HelloWorld App using IPCLLD`_jqKjj�§jjj}r‹§(UnameX#Writing HelloWorld App using IPCLLDj]j]j]j]j]jO“U#writing-helloworld-app-using-ipclldrŒ§uj]r�§j%X#Writing HelloWorld App using IPCLLDrާ…�r�§}r�§(jUjj‰§ubaubj%X for the example of usage.r‘§…�r’§}r“§(jX for the example of usage.jj�§ubeubjX)�r”§}r•§(jXÖAdditionally the Ring Buffer memory used when communicating with MPU running Linux must be reserved system wide. The base-address and size of the ring buffer is different from what is used between cores not running Linux. The base-address and size of the ring Buffer is provided to IPCLLD when Linux updates the core's resource table with the allocated addresses. Linux allocates the base-address from the first memory-region. See `Resource Table`_ for more information.r–§jjѦj j‡žjj\j}r—§(j]j]j]j]j]ujKùjhj]r˜§(j%X¯Additionally the Ring Buffer memory used when communicating with MPU running Linux must be reserved system wide. The base-address and size of the ring buffer is different from what is used between cores not running Linux. The base-address and size of the ring Buffer is provided to IPCLLD when Linux updates the core's resource table with the allocated addresses. Linux allocates the base-address from the first memory-region. See r™§…�rš§}r›§(jX¯Additionally the Ring Buffer memory used when communicating with MPU running Linux must be reserved system wide. The base-address and size of the ring buffer is different from what is used between cores not running Linux. The base-address and size of the ring Buffer is provided to IPCLLD when Linux updates the core's resource table with the allocated addresses. Linux allocates the base-address from the first memory-region. See jj”§ubj)�rœ§}r�§(jX`Resource Table`_jqKjj”§jjj}rž§(UnameXResource Tablej]j]j]j]j]jO“Uresource-tablerŸ§uj]r §j%XResource Tabler¡§…�r¢§}r£§(jUjjœ§ubaubj%X for more information.r¤§…�r¥§}r¦§(jX for more information.jj”§ubeubj)�r§§}r¨§(jUjjѦj j‡žjjj}r©§(jX-j]j]j]j]j]ujKûjhj]rª§(j)�r«§}r¬§(jX®For each RPmessage object, the memory must be provided to library from local heap. All subsequent send/recv API is using rpmessage buffer provided during the create function.r­§jj§§j j‡žjj j}r®§(j]j]j]j]j]ujNjhj]r¯§jX)�r°§}r±§(jj­§jj«§j j‡žjj\j}r²§(j]j]j]j]j]ujKûj]r³§j%X®For each RPmessage object, the memory must be provided to library from local heap. All subsequent send/recv API is using rpmessage buffer provided during the create function.r´§…�rµ§}r¶§(jj­§jj°§ubaubaubj)�r·§}r¸§(jX»RPMessage can transfer maximum of 512 bytes of data. For larger data transfers, it is recommended to pass a pointer/handle/offset to a larger shared memory buffer inside the message data.r¹§jj§§j j‡žjj j}rº§(j]j]j]j]j]ujNjhj]r»§jX)�r¼§}r½§(jj¹§jj·§j j‡žjj\j}r¾§(j]j]j]j]j]ujKüj]r¿§j%X»RPMessage can transfer maximum of 512 bytes of data. For larger data transfers, it is recommended to pass a pointer/handle/offset to a larger shared memory buffer inside the message data.rÀ§…�rÁ§}r§(jj¹§jj¼§ubaubaubj)�rç}rħ(jX‚For firmware that will communicate with Linux over IPC, a Resource Table is required. See `Resource Table`_ for more information. jj§§j j‡žjj j}rŧ(j]j]j]j]j]ujNjhj]rƧjX)�rǧ}rȧ(jX�For firmware that will communicate with Linux over IPC, a Resource Table is required. See `Resource Table`_ for more information.jjçj j‡žjj\j}rɧ(j]j]j]j]j]ujKýj]rʧ(j%XZFor firmware that will communicate with Linux over IPC, a Resource Table is required. See r˧…�ŗ}rͧ(jXZFor firmware that will communicate with Linux over IPC, a Resource Table is required. See jjǧubj)�rΧ}rϧ(jX`Resource Table`_jqKjjǧjjj}rЧ(UnameXResource Tablej]j]j]j]j]jO“jŸ§uj]rѧj%XResource TablerÒ§…�rÓ§}rÔ§(jUjjΧubaubj%X for more information.rÕ§…�rÖ§}r×§(jX for more information.jjǧubeubaubeubj)�rا}rÙ§(jUjjѦj j‡žjjj}rÚ§(j]j]j]j]rÛ§U;typical-data-flow-in-ipclld-communication-between-two-coresrܧaj]rݧh*aujMjhj]rÞ§(j)�rß§}rà§(jX;Typical Data-Flow in IPCLLD communication between two coresrá§jjاj j‡žjj"j}râ§(j]j]j]j]j]ujMjhj]rã§j%X;Typical Data-Flow in IPCLLD communication between two coresrä§…�rå§}ræ§(jjá§jjß§ubaubjX)�rç§}rè§(jX\Following picture illustrates the data flow between two cores using mailbox IP as transport.ré§jjاj j‡žjj\j}rê§(j]j]j]j]j]ujMjhj]rë§j%X\Following picture illustrates the data flow between two cores using mailbox IP as transport.rì§…�rí§}rî§(jjé§jjç§ubaubj^)�rï§}rð§(jXc.. image:: ../images/ipclld_data_flow.png :height: 470 :width: 687 jjاj j‡žjjaj}rñ§(j]UuriX#rtos/../images/ipclld_data_flow.pngrò§j]j]UwidthX687j]jd}ró§U*jò§sj]UheightX470ujNjhj]ubeubj)�rô§}rõ§(jUjKjjѦj j‡žjjj}rö§(j]j]j]j]r÷§jŸ§aj]rø§haujM jhj]rù§(j)�rú§}rû§(jXResource Tablerü§jjô§j j‡žjj"j}rý§(j]j]j]j]j]ujM jhj]rþ§j%XResource Tablerÿ§…�r¨}r¨(jjü§jjú§ubaubjX)�r¨}r¨(jX�For applications that will use Linux IPC, a resource table is required. Example resource tables can be found in the IPC examples:r¨jjô§j j‡žjj\j}r¨(j]j]j]j]j]ujM jhj]r¨j%X�For applications that will use Linux IPC, a resource table is required. Example resource tables can be found in the IPC examples:r¨…�r¨}r ¨(jj¨jj¨ubaubj¶)�r ¨}r ¨(jUjjô§j j‡žjj¹j}r ¨(j]j]j]j]j]ujNjhj]r ¨j¼)�r¨}r¨(jUj}r¨(j]j]j]j]j]UcolsKujj ¨j]r¨(jÁ)�r¨}r¨(jUj}r¨(j]j]j]j]j]UcolwidthKujj¨j]jjÅubjÁ)�r¨}r¨(jUj}r¨(j]j]j]j]j]UcolwidthK)ujj¨j]jjÅubjÒ)�r¨}r¨(jUj}r¨(j]j]j]j]j]ujj¨j]r¨j×)�r¨}r¨(jUj}r¨(j]j]j]j]j]ujj¨j]r¨(jÜ)�r ¨}r!¨(jUj}r"¨(j]j]j]j]j]ujj¨j]r#¨jX)�r$¨}r%¨(jXDevicer&¨jj ¨j j‡žjj\j}r'¨(j]j]j]j]j]ujM j]r(¨j%XDevicer)¨…�r*¨}r+¨(jj&¨jj$¨ubaubajjéubjÜ)�r,¨}r-¨(jUj}r.¨(j]j]j]j]j]ujj¨j]r/¨jX)�r0¨}r1¨(jXResource Table Example Locationr2¨jj,¨j j‡žjj\j}r3¨(j]j]j]j]j]ujM j]r4¨j%XResource Table Example Locationr5¨…�r6¨}r7¨(jj2¨jj0¨ubaubajjéubejjubajjubj)�r8¨}r9¨(jUj}r:¨(j]j]j]j]j]ujj¨j]r;¨(j×)�r<¨}r=¨(jUj}r>¨(j]j]j]j]j]ujj8¨j]r?¨(jÜ)�r@¨}rA¨(jUj}rB¨(j]j]j]j]j]ujj<¨j]rC¨jX)�rD¨}rE¨(jXJ721ErF¨jj@¨j j‡žjj\j}rG¨(j]j]j]j]j]ujMj]rH¨j%XJ721ErI¨…�rJ¨}rK¨(jjF¨jjD¨ubaubajjéubjÜ)�rL¨}rM¨(jUj}rN¨(j]j]j]j]j]ujj<¨j]rO¨jX)�rP¨}rQ¨(jX"examples/common/src/ipc_rsctable.hrR¨jjL¨j j‡žjj\j}rS¨(j]j]j]j]j]ujMj]rT¨j%X"examples/common/src/ipc_rsctable.hrU¨…�rV¨}rW¨(jjR¨jjP¨ubaubajjéubejjubj×)�rX¨}rY¨(jUj}rZ¨(j]j]j]j]j]ujj8¨j]r[¨(jÜ)�r\¨}r]¨(jUj}r^¨(j]j]j]j]j]ujjX¨j]r_¨jX)�r`¨}ra¨(jXAM65XXrb¨jj\¨j j‡žjj\j}rc¨(j]j]j]j]j]ujMj]rd¨j%XAM65XXre¨…�rf¨}rg¨(jjb¨jj`¨ubaubajjéubjÜ)�rh¨}ri¨(jUj}rj¨(j]j]j]j]j]ujjX¨j]rk¨jX)�rl¨}rm¨(jX)examples/common/src/ipc_am65xx_rsctable.hrn¨jjh¨j j‡žjj\j}ro¨(j]j]j]j]j]ujMj]rp¨j%X)examples/common/src/ipc_am65xx_rsctable.hrq¨…�rr¨}rs¨(jjn¨jjl¨ubaubajjéubejjubejjðubejjñubaubjX)�rt¨}ru¨(jX÷The resource table must have at least one entry, the VDEV entry, to define the the vrings used for IPC communication with Linux. Optionally, the resource table can also have a TRACE entry which defines the location of the remote core trace buffer.rv¨jjô§j j‡žjj\j}rw¨(j]j]j]j]j]ujMjhj]rx¨j%X÷The resource table must have at least one entry, the VDEV entry, to define the the vrings used for IPC communication with Linux. Optionally, the resource table can also have a TRACE entry which defines the location of the remote core trace buffer.ry¨…�rz¨}r{¨(jjv¨jjt¨ubaubjX)�r|¨}r}¨(jX(The VDEV entry specifies the address as RPMSG_VRING_ADDR_ANY, meaning that the address will be allocated by the Linux driver during loading. The allocation is made from the first memory-region specified in the dts file for the remote core. For example, if the dts entry for mcu_r5fss0_core0 is ::r~¨jjô§j j‡žjj\j}r¨(j]j]j]j]j]ujMjhj]r€¨j%X%The VDEV entry specifies the address as RPMSG_VRING_ADDR_ANY, meaning that the address will be allocated by the Linux driver during loading. The allocation is made from the first memory-region specified in the dts file for the remote core. For example, if the dts entry for mcu_r5fss0_core0 isr�¨…�r‚¨}rƒ¨(jX%The VDEV entry specifies the address as RPMSG_VRING_ADDR_ANY, meaning that the address will be allocated by the Linux driver during loading. The allocation is made from the first memory-region specified in the dts file for the remote core. For example, if the dts entry for mcu_r5fss0_core0 isjj|¨ubaubj#)�r„¨}r…¨(jXÇreserved_memory: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 { compatible = "shared-dma-pool"; reg = <0 0xa0000000 0 0x100000>; no-map; }; mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 { compatible = "shared-dma-pool"; reg = <0 0xa0100000 0 0xf00000>; no-map; }; }jjô§j j‡žjj&j}r†¨(j2j3j]j]j]j]j]ujMè jhj]r‡¨j%XÇreserved_memory: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 { compatible = "shared-dma-pool"; reg = <0 0xa0000000 0 0x100000>; no-map; }; mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 { compatible = "shared-dma-pool"; reg = <0 0xa0100000 0 0xf00000>; no-map; }; }rˆ¨…�r‰¨}rЍ(jUjj„¨ubaubjX)�r‹¨}rŒ¨(jXGthen the allocation for the vrings will come from the 0xa0000000 entry.r�¨jjô§j j‡žjj\j}rލ(j]j]j]j]j]ujM*jhj]r�¨j%XGthen the allocation for the vrings will come from the 0xa0000000 entry.r�¨…�r‘¨}r’¨(jj�¨jj‹¨ubaubeubj)�r“¨}r”¨(jUjjѦj j‡žjjj}r•¨(j]j]j]j]r–¨Umemory-considerationsr—¨aj]r˜¨haujM-jhj]r™¨(j)�rš¨}r›¨(jXMemory Considerationsrœ¨jj“¨j j‡žjj"j}r�¨(j]j]j]j]j]ujM-jhj]rž¨j%XMemory ConsiderationsrŸ¨…�r ¨}r¡¨(jjœ¨jjš¨ubaubjX)�r¢¨}r£¨(jX3As mentioned in `IPCLLD Design Details`_, the Ring Buffer memory must be reserved system-wide. In addition, the Ring Buffer memory should be configured as non-cached on all cores using IPCLLD. For examples of configurations for Ring Buffer memory, refer to the examples in pdk/packages/ti/drv/ipc/examples/.r¤¨jj“¨j j‡žjj\j}r¥¨(j]j]j]j]j]ujM.jhj]r¦¨(j%XAs mentioned in r§¨…�r¨¨}r©¨(jXAs mentioned in jj¢¨ubj)�rª¨}r«¨(jX`IPCLLD Design Details`_jqKjj¢¨jjj}r¬¨(UnameXIPCLLD Design Detailsj]j]j]j]j]jO“jÕ¦uj]r­¨j%XIPCLLD Design Detailsr®¨…�r¯¨}r°¨(jUjjª¨ubaubj%X , the Ring Buffer memory must be reserved system-wide. In addition, the Ring Buffer memory should be configured as non-cached on all cores using IPCLLD. For examples of configurations for Ring Buffer memory, refer to the examples in pdk/packages/ti/drv/ipc/examples/.r±¨…�r²¨}r³¨(jX , the Ring Buffer memory must be reserved system-wide. In addition, the Ring Buffer memory should be configured as non-cached on all cores using IPCLLD. For examples of configurations for Ring Buffer memory, refer to the examples in pdk/packages/ti/drv/ipc/examples/.jj¢¨ubeubeubeubj)�r´¨}rµ¨(jUjKjjužj j‡žjjj}r¶¨(j]j]j]j]r·¨jŒ§aj]r¸¨hªaujM1jhj]r¹¨(j)�rº¨}r»¨(jX#Writing HelloWorld App using IPCLLDr¼¨jj´¨j j‡žjj"j}r½¨(j]j]j]j]j]ujM1jhj]r¾¨j%X#Writing HelloWorld App using IPCLLDr¿¨…�rÀ¨}rÁ¨(jj¼¨jjº¨ubaubj)�r¨}rè(jUjj´¨j j‡žjjj}rĨ(jX-j]j]j]j]j]ujM2jhj]rŨ(j)�rƨ}rǨ(jX€**Step1: Initialize MultiProc with SelfId, and how many remote cores** :: Ipc_mpSetConfig(selfProcId, numProc, remoteProc); jj¨j j‡žjj j}rȨ(j]j]j]j]j]ujNjhj]rɨ(jX)�rʨ}r˨(jXI**Step1: Initialize MultiProc with SelfId, and how many remote cores** ::jjƨj j‡žjj\j}r̨(j]j]j]j]j]ujM2j]rͨj|)�rΨ}rϨ(jXF**Step1: Initialize MultiProc with SelfId, and how many remote cores**j}rШ(j]j]j]j]j]ujjʨj]rѨj%XBStep1: Initialize MultiProc with SelfId, and how many remote coresrÒ¨…�rÓ¨}rÔ¨(jUjjΨubajj„ubaubj#)�rÕ¨}rÖ¨(jX1Ipc_mpSetConfig(selfProcId, numProc, remoteProc);jjƨjj&j}rר(j2j3j]j]j]j]j]ujM!j]rبj%X1Ipc_mpSetConfig(selfProcId, numProc, remoteProc);rÙ¨…�rÚ¨}rÛ¨(jUjjÕ¨ubaubeubj)�rܨ}rݨ(jX–**Step2: Load the Resource Table (required only if running Linux on A72/A53)** :: Ipc_loadResourceTable((void*)&ti_ipc_remoteproc_ResourceTable); jj¨j j‡žjj j}rÞ¨(j]j]j]j]j]ujNjhj]rߨ(jX)�rà¨}rá¨(jXQ**Step2: Load the Resource Table (required only if running Linux on A72/A53)** ::jjܨj j‡žjj\j}râ¨(j]j]j]j]j]ujM6j]rã¨j|)�rä¨}rå¨(jXN**Step2: Load the Resource Table (required only if running Linux on A72/A53)**j}ræ¨(j]j]j]j]j]ujjà¨j]rç¨j%XJStep2: Load the Resource Table (required only if running Linux on A72/A53)r訅�ré¨}rê¨(jUjjä¨ubajj„ubaubj#)�rë¨}rì¨(jX?Ipc_loadResourceTable((void*)&ti_ipc_remoteproc_ResourceTable);jjܨjj&j}rí¨(j2j3j]j]j]j]j]ujM!j]rî¨j%X?Ipc_loadResourceTable((void*)&ti_ipc_remoteproc_ResourceTable);r洞�rð¨}rñ¨(jUjjë¨ubaubeubeubjX)�rò¨}ró¨(jX8See `Resource Table`_ for details on the resource table.rô¨jj´¨j j‡žjj\j}rõ¨(j]j]j]j]j]ujM:jhj]rö¨(j%XSee r÷¨…�rø¨}rù¨(jXSee jjò¨ubj)�rú¨}rû¨(jX`Resource Table`_jqKjjò¨jjj}rü¨(UnameXResource Tablej]j]j]j]j]jO“jŸ§uj]rý¨j%XResource Tablerþ¨…�rÿ¨}r©(jUjjú¨ubaubj%X# for details on the resource table.r©…�r©}r©(jX# for details on the resource table.jjò¨ubeubj)�r©}r©(jUjj´¨j j‡žjjj}r©(jX-j]j]j]j]j]ujM<jhj]r©(j)�r©}r ©(jXS**Step3: Initialize VirtIO (note: Base Address for Shared Memory used for RingBuffer)** :: vqParam.vqObjBaseAddr = (void*)sysVqBuf; vqParam.vqBufSize = numProc * Ipc_getVqObjMemoryRequiredPerCore(); vqParam.vringBaseAddr = (void*)VRING_BASE_ADDRESS; vqParam.vringBufSize = VRING_BUFFER_SIZE; Ipc_initVirtIO(&vqParam); jj©j j‡žjj j}r ©(j]j]j]j]j]ujNjhj]r ©(jX)�r ©}r ©(jXZ**Step3: Initialize VirtIO (note: Base Address for Shared Memory used for RingBuffer)** ::jj©j j‡žjj\j}r©(j]j]j]j]j]ujM<j]r©j|)�r©}r©(jXW**Step3: Initialize VirtIO (note: Base Address for Shared Memory used for RingBuffer)**j}r©(j]j]j]j]j]ujj ©j]r©j%XSStep3: Initialize VirtIO (note: Base Address for Shared Memory used for RingBuffer)r©…�r©}r©(jUjj©ubajj„ubaubj#)�r©}r©(jXçvqParam.vqObjBaseAddr = (void*)sysVqBuf; vqParam.vqBufSize = numProc * Ipc_getVqObjMemoryRequiredPerCore(); vqParam.vringBaseAddr = (void*)VRING_BASE_ADDRESS; vqParam.vringBufSize = VRING_BUFFER_SIZE; Ipc_initVirtIO(&vqParam);jj©jj&j}r©(j2j3j]j]j]j]j]ujM!j]r©j%XçvqParam.vqObjBaseAddr = (void*)sysVqBuf; vqParam.vqBufSize = numProc * Ipc_getVqObjMemoryRequiredPerCore(); vqParam.vringBaseAddr = (void*)VRING_BASE_ADDRESS; vqParam.vringBufSize = VRING_BUFFER_SIZE; Ipc_initVirtIO(&vqParam);r©…�r©}r©(jUjj©ubaubeubj)�r©}r©(jXD**Step4: Initialize RPMessage** :: RPMessage_init(&cntrlParam); jj©j j‡žjj j}r ©(j]j]j]j]j]ujNjhj]r!©(jX)�r"©}r#©(jX"**Step4: Initialize RPMessage** ::jj©j j‡žjj\j}r$©(j]j]j]j]j]ujMDj]r%©j|)�r&©}r'©(jX**Step4: Initialize RPMessage**j}r(©(j]j]j]j]j]ujj"©j]r)©j%XStep4: Initialize RPMessager*©…�r+©}r,©(jUjj&©ubajj„ubaubj#)�r-©}r.©(jXRPMessage_init(&cntrlParam);jj©jj&j}r/©(j2j3j]j]j]j]j]ujM!j]r0©j%XRPMessage_init(&cntrlParam);r1©…�r2©}r3©(jUjj-©ubaubeubj)�r4©}r5©(jX`**Step5: Send Message** :: RPMessage_send(handle, dstProc, ENDPT1, myEndPt, (Ptr)buf, len); jj©j j‡žjj j}r6©(j]j]j]j]j]ujNjhj]r7©(jX)�r8©}r9©(jX**Step5: Send Message** ::jj4©j j‡žjj\j}r:©(j]j]j]j]j]ujMHj]r;©j|)�r<©}r=©(jX**Step5: Send Message**j}r>©(j]j]j]j]j]ujj8©j]r?©j%XStep5: Send Messager@©…�rA©}rB©(jUjj<©ubajj„ubaubj#)�rC©}rD©(jX@RPMessage_send(handle, dstProc, ENDPT1, myEndPt, (Ptr)buf, len);jj4©jj&j}rE©(j2j3j]j]j]j]j]ujM!j]rF©j%X@RPMessage_send(handle, dstProc, ENDPT1, myEndPt, (Ptr)buf, len);rG©…�rH©}rI©(jUjjC©ubaubeubj)�rJ©}rK©(jXr**Step6: Receive Message** :: RPMessage_recv(handle, (Ptr)buf, &len, &remoteEndPt, &remoteProcId, timeout); jj©j XVinternal padding after source/rtos/PDK_Platform_Software/Device_Drivers/IPCLLD.rst.incrL©jj j}rM©(j]j]j]j]j]ujNjhj]rN©(jX)�rO©}rP©(jX**Step6: Receive Message** ::jjJ©j j‡žjj\j}rQ©(j]j]j]j]j]ujMLj]rR©j|)�rS©}rT©(jX**Step6: Receive Message**j}rU©(j]j]j]j]j]ujjO©j]rV©j%XStep6: Receive MessagerW©…�rX©}rY©(jUjjS©ubajj„ubaubj#)�rZ©}r[©(jXMRPMessage_recv(handle, (Ptr)buf, &len, &remoteEndPt, &remoteProcId, timeout);jjJ©jj&j}r\©(j2j3j]j]j]j]j]ujM!j]r]©j%XMRPMessage_recv(handle, (Ptr)buf, &len, &remoteEndPt, &remoteProcId, timeout);r^©…�r_©}r`©(jUjjZ©ubaubeubeubeubeubj j‡žjjj}ra©(j]rb©Xoverviewrc©aj]j]j]rd©Uid254re©aj]ujKjhj]rf©(j)�rg©}rh©(jXOverviewri©jjsžj j‡žjj"j}rj©(j]j]j]j]j]ujKjhj]rk©j%XOverviewrl©…�rm©}rn©(jji©jjg©ubaubjX)�ro©}rp©(jX¿TI Jacinto7/AM65XX family of devices consists of many cores - ARM53/72, R5Fs (MCU or Main Domain) and/or DSPs (C66x / C7x). The actual cores vary with actual device. Refer to the datasheet of the device for the actual cores present on SoC. Inter-Processor Communication (IPC) provides a communication channel between various cores. IPCLLD is the low-level driver for IPC, which provides a core-agnostic and OS-agnostic framework for communication.rq©jjsžj j‡žjj\j}rr©(j]j]j]j]j]ujKjhj]rs©j%X¿TI Jacinto7/AM65XX family of devices consists of many cores - ARM53/72, R5Fs (MCU or Main Domain) and/or DSPs (C66x / C7x). The actual cores vary with actual device. Refer to the datasheet of the device for the actual cores present on SoC. Inter-Processor Communication (IPC) provides a communication channel between various cores. IPCLLD is the low-level driver for IPC, which provides a core-agnostic and OS-agnostic framework for communication.rt©…�ru©}rv©(jjq©jjo©ubaubjX)�rw©}rx©(jX‹More information regarding the `TI multicore processors `_ is available .ry©jjsžj j‡žjj\j}rz©(j]j]j]j]j]ujK jhj]r{©(j%XMore information regarding the r|©…�r}©}r~©(jXMore information regarding the jjw©ubj)�r©}r€©(jX]`TI multicore processors `_j}r�©(UnameXTI multicore processorsjX@http://www.ti.com/processors/automotive-processors/overview.htmlr‚©j]j]j]j]j]ujjw©j]rƒ©j%XTI multicore processorsr„©…�r…©}r†©(jUjj©ubajjubjš)�r‡©}rˆ©(jXC jKjjw©jj�j}r‰©(Urefurij‚©j]rŠ©Uti-multicore-processorsr‹©aj]j]j]j]rŒ©hÚauj]ubj%X is available .r�©…�rŽ©}r�©(jX is available .jjw©ubeubeubj j‡žjj?j}r�©(j]UlevelKj]j]r‘©je©aUsourcej‡žj]j]UlineKUtypejAujKjhj]r’©jX)�r“©}r”©(jX+Duplicate implicit target name: "overview".j}r•©(j]j]j]j]j]ujjqžj]r–©j%X+Duplicate implicit target name: "overview".r—©…�r˜©}r™©(jUjj“©ubajj\ubaubhÿ)�rš©}r›©(jUjjŽžj j‡žjj?j}rœ©(j]UlevelKj]j]r�©j“žaUsourcej‡žj]j]UlineK UtypejAujK jhj]rž©jX)�rŸ©}r ©(jX9Duplicate implicit target name: "terms and abbreviation".j}r¡©(j]j]j]j]j]ujjš©j]r¢©j%X9Duplicate implicit target name: "terms and abbreviation".r£©…�r¤©}r¥©(jUjjŸ©ubajj\ubaubhÿ)�r¦©}r§©(jUj}r¨©(j]UlevelKj]j]Usourcej j]j]UlineK·UtypejAujj´¦j]r©©jX)�rª©}r«©(jX:Enumerated list start value not ordinal-1: "3" (ordinal 3)j}r¬©(j]j]j]j]j]ujj¦©j]r­©j%X:Enumerated list start value not ordinal-1: "3" (ordinal 3)r®©…�r¯©}r°©(jUjjª©ubajj\ubajj?ubhÿ)�r±©}r²©(jUjj)�r³©}r´©(jUjKjj)�rµ©}r¶©(jUjhj j jjj}r·©(j]j]j]j]r¸©U vps-driversr¹©aj]rº©haujK½jhj]r»©(j)�r¼©}r½©(jX VPS Driversr¾©jjµ©j j jj"j}r¿©(j]j]j]j]j]ujK½jhj]rÀ©j%X VPS DriversrÁ©…�r©}ré(jj¾©jj¼©ubaubj))�rÄ©}rÅ©(jXFhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_VPS_DRIVERSjjµ©j j,XDsource/rtos/PDK_Platform_Software/Device_Drivers/VPS_Drivers.rst.incrÆ©…�rÇ©}rÈ©bjj0j}rÉ©(j2j3j]j]j]j]j]ujKjhj]rÊ©j%XFhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_VPS_DRIVERSrË©…�rÌ©}rÍ©(jUjjÄ©ubaubj³©j)�rΩ}rÏ©(jUjKjjµ©j jÇ©jjj}rЩ(j]rÑ©Xuser interfacerÒ©aj]j]j]rÓ©Uid258rÔ©aj]ujKjhj]rÕ©(j)�rÖ©}rש(jXUser InterfacerØ©jjΩj jÇ©jj"j}rÙ©(j]j]j]j]j]ujKjhj]rÚ©j%XUser InterfacerÛ©…�rÜ©}rÝ©(jjØ©jjÖ©ubaubj)�rÞ©}rß©(jUjKjjΩj jÇ©jjj}rà©(j]rá©Xdriver configurationrâ©aj]j]j]rã©Uid259rä©aj]ujKjhj]rå©(j)�ræ©}rç©(jXDriver Configurationrè©jjÞ©j jÇ©jj"j}ré©(j]j]j]j]j]ujKjhj]rê©j%XDriver Configurationrë©…�rì©}rí©(jjè©jjæ©ubaubjb)�rî©}rï©(jX **Board Specific Configuration**rð©jKjjÞ©j jÇ©jjfj}rñ©(j]rò©Uid260ró©aj]j]rô©Xboard-specific-configurationrõ©aj]j]ujNjhj]rö©j|)�r÷©}rø©(jjð©j}rù©(j]j]j]j]j]ujjî©j]rú©j%XBoard Specific Configurationrû©…�rü©}rý©(jUjj÷©ubajj„ubaubjX)�rþ©}rÿ©(jXæAll board specific configurations eg:enabling clock and pin-mux for UART/display/vip pins are required before calling any driver APIs. The board specific configurations are implemented under /ti/drv/vps/src/boards/src folder.rªjjÞ©j jÇ©jj\j}rª(j]j]j]j]j]ujK"jhj]rªj%XæAll board specific configurations eg:enabling clock and pin-mux for UART/display/vip pins are required before calling any driver APIs. The board specific configurations are implemented under /ti/drv/vps/src/boards/src folder.rª…�rª}rª(jjªjjþ©ubaubjb)�rª}rª(jX**VPS Configuration Structure**rªjjÞ©j jÇ©jjfj}r ª(j]r ªUvps-configuration-structurer ªaj]j]j]j]r ªhaujNjhj]r ªj|)�rª}rª(jjªj}rª(j]j]j]j]j]ujjªj]rªj%XVPS Configuration Structurerª…�rª}rª(jUjjªubajj„ubaubjX)�rª}rª(jX§For details about individual fields of VPS library structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\vps\\docs\\doxygen\\html\\index.html.jjÞ©j jÇ©jj\j}rª(j]j]j]j]j]ujK*jhj]rªj%XŸFor details about individual fields of VPS library structure, see the Doxygen help by opening PDK_INSTALL_DIR\packages\ti\drv\vps\docs\doxygen\html\index.html.rª…�rª}rª(jX§For details about individual fields of VPS library structure, see the Doxygen help by opening PDK_INSTALL_DIR\\packages\\ti\\drv\\vps\\docs\\doxygen\\html\\index.html.jjªubaubeubj)�rª}rª(jUjKjjΩj jÇ©jjj}rª(j]rªXapisr ªaj]j]j]r!ªUid261r"ªaj]ujK/jhj]r#ª(j)�r$ª}r%ª(jXAPIsr&ªjjªj jÇ©jj"j}r'ª(j]j]j]j]j]ujK/jhj]r(ªj%XAPIsr)ª…�r*ª}r+ª(jj&ªjj$ªubaubjX)�r,ª}r-ª(jXGThe VPS driver API can be broadly divided into the following categoriesr.ªjjªj jÇ©jj\j}r/ª(j]j]j]j]j]ujK1jhj]r0ªj%XGThe VPS driver API can be broadly divided into the following categoriesr1ª…�r2ª}r3ª(jj.ªjj,ªubaubj)�r4ª}r5ª(jUjjªj jÇ©jjj}r6ª(jX-j]j]j]j]j]ujK3jhj]r7ª(j)�r8ª}r9ª(jXIFVID2 API - API used to create, control and use the different VPS driversjj4ªj jÇ©jj j}r:ª(j]j]j]j]j]ujNjhj]r;ªjX)�r<ª}r=ª(jXIFVID2 API - API used to create, control and use the different VPS driversr>ªjj8ªj jÇ©jj\j}r?ª(j]j]j]j]j]ujK3j]r@ªj%XIFVID2 API - API used to create, control and use the different VPS driversrAª…�rBª}rCª(jj>ªjj<ªubaubaubj)�rDª}rEª(jXAVPS (Video Processing Sub-system) API - API for all video driversrFªjj4ªj jÇ©jj j}rGª(j]j]j]j]j]ujNjhj]rHªjX)�rIª}rJª(jjFªjjDªj jÇ©jj\j}rKª(j]j]j]j]j]ujK5j]rLªj%XAVPS (Video Processing Sub-system) API - API for all video driversrMª…�rNª}rOª(jjFªjjIªubaubaubj)�rPª}rQª(jXVPS Control Driver APIrRªjj4ªj jÇ©jj j}rSª(j]j]j]j]j]ujNjhj]rTªjX)�rUª}rVª(jjRªjjPªj jÇ©jj\j}rWª(j]j]j]j]j]ujK6j]rXªj%XVPS Control Driver APIrYª…�rZª}r[ª(jjRªjjUªubaubaubj)�r\ª}r]ª(jX/VPS Capture API - API for video capture driversr^ªjj4ªj jÇ©jj j}r_ª(j]j]j]j]j]ujNjhj]r`ªjX)�raª}rbª(jj^ªjj\ªj jÇ©jj\j}rcª(j]j]j]j]j]ujK7j]rdªj%X/VPS Capture API - API for video capture driversreª…�rfª}rgª(jj^ªjjaªubaubaubj)�rhª}riª(jX8VPS VIP Capture API - API specific to VIP capture driverrjªjj4ªj jÇ©jj j}rkª(j]j]j]j]j]ujNjhj]rlªjX)�rmª}rnª(jjjªjjhªj jÇ©jj\j}roª(j]j]j]j]j]ujK8j]rpªj%X8VPS VIP Capture API - API specific to VIP capture driverrqª…�rrª}rsª(jjjªjjmªubaubaubj)�rtª}ruª(jX=VPS DSSWB Capture API - API specific to DSS WB capture driverrvªjj4ªj jÇ©jj j}rwª(j]j]j]j]j]ujNjhj]rxªjX)�ryª}rzª(jjvªjjtªj jÇ©jj\j}r{ª(j]j]j]j]j]ujK9j]r|ªj%X=VPS DSSWB Capture API - API specific to DSS WB capture driverr}ª…�r~ª}rª(jjvªjjyªubaubaubj)�r€ª}r�ª(jX/VPS Display API - API for video display driversr‚ªjj4ªj jÇ©jj j}rƒª(j]j]j]j]j]ujNjhj]r„ªjX)�r…ª}r†ª(jj‚ªjj€ªj jÇ©jj\j}r‡ª(j]j]j]j]j]ujK:j]rˆªj%X/VPS Display API - API for video display driversr‰ª…�rŠª}r‹ª(jj‚ªjj…ªubaubaubj)�rŒª}r�ª(jX_VPS Display Controller API - API for controlling and configuring VENCs in the display subsystemjj4ªj jÇ©jj j}rŽª(j]j]j]j]j]ujNjhj]r�ªjX)�r�ª}r‘ª(jX_VPS Display Controller API - API for controlling and configuring VENCs in the display subsystemr’ªjjŒªj jÇ©jj\j}r“ª(j]j]j]j]j]ujK;j]r”ªj%X_VPS Display Controller API - API for controlling and configuring VENCs in the display subsystemr•ª…�r–ª}r—ª(jj’ªjj�ªubaubaubj)�r˜ª}r™ª(jXAVPS Memory to Memory (M2M) API - API for memory to memory driversršªjj4ªj jÇ©jj j}r›ª(j]j]j]j]j]ujNjhj]rœªjX)�r�ª}ržª(jjšªjj˜ªj jÇ©jj\j}rŸª(j]j]j]j]j]ujK=j]r ªj%XAVPS Memory to Memory (M2M) API - API for memory to memory driversr¡ª…�r¢ª}r£ª(jjšªjj�ªubaubaubj)�r¤ª}r¥ª(jX,M2M VPE API - API specific to VPE M2M driverr¦ªjj4ªj jÇ©jj j}r§ª(j]j]j]j]j]ujNjhj]r¨ªjX)�r©ª}rªª(jj¦ªjj¤ªj jÇ©jj\j}r«ª(j]j]j]j]j]ujK>j]r¬ªj%X,M2M VPE API - API specific to VPE M2M driverr­ª…�r®ª}r¯ª(jj¦ªjj©ªubaubaubj)�r°ª}r±ª(jX–External Device API - API for controlling external video devices like video decoders, video encoders, video filters, IO expanders, Ultra-sonic sensorsjj4ªj jÇ©jj j}r²ª(j]j]j]j]j]ujNjhj]r³ªjX)�r´ª}rµª(jX–External Device API - API for controlling external video devices like video decoders, video encoders, video filters, IO expanders, Ultra-sonic sensorsr¶ªjj°ªj jÇ©jj\j}r·ª(j]j]j]j]j]ujK?j]r¸ªj%X–External Device API - API for controlling external video devices like video decoders, video encoders, video filters, IO expanders, Ultra-sonic sensorsr¹ª…�rºª}r»ª(jj¶ªjj´ªubaubaubj)�r¼ª}r½ª(jXcPlatform Specific API - API for platform/board specific control, like setting pin muxes, clocks etcjj4ªj jÇ©jj j}r¾ª(j]j]j]j]j]ujNjhj]r¿ªjX)�rÀª}rÁª(jXcPlatform Specific API - API for platform/board specific control, like setting pin muxes, clocks etcrªjj¼ªj jÇ©jj\j}rê(j]j]j]j]j]ujKBj]rĪj%XcPlatform Specific API - API for platform/board specific control, like setting pin muxes, clocks etcrŪ…�rƪ}rǪ(jjªjjÀªubaubaubj)�rȪ}rɪ(jX6Board Specific API - API for board specific features. jj4ªj jÇ©jj j}rʪ(j]j]j]j]j]ujNjhj]r˪jX)�r̪}rͪ(jX5Board Specific API - API for board specific features.rΪjjȪj jÇ©jj\j}rϪ(j]j]j]j]j]ujKDj]rЪj%X5Board Specific API - API for board specific features.rѪ…�rÒª}rÓª(jjΪjj̪ubaubaubeubjX)�rÔª}rÕª(jXIn addition to above drivers the VPS package also includes many sample examples which show how to use the drivers in different ways. Many of these sample examples use a common set of APIs which a user may find useful to refer to for use in their final application.rÖªjjªj jÇ©jj\j}rת(j]j]j]j]j]ujKFjhj]rتj%XIn addition to above drivers the VPS package also includes many sample examples which show how to use the drivers in different ways. Many of these sample examples use a common set of APIs which a user may find useful to refer to for use in their final application.rÙª…�rÚª}rÛª(jjÖªjjÔªubaubjX)�rܪ}rݪ(jXAPI reference for application:rÞªjjªj jÇ©jj\j}rߪ(j]j]j]j]j]ujKKjhj]ràªj%XAPI reference for application:r᪅�râª}rãª(jjÞªjjܪubaubj#)�räª}råª(jX*#include .h>jjªj jÇ©jj&j}ræª(j2j3j]j]j]j]j]ujMw!jhj]rçªj%X*#include .h>r誅�réª}rêª(jUjjäªubaubeubeubj)�rëª}rìª(jUjKjjµ©j jÇ©jjj}ríª(j]rîªX applicationrïªaj]j]j]rðªUid262rñªaj]ujKRjhj]ròª(j)�róª}rôª(jX Applicationrõªjjëªj jÇ©jj"j}röª(j]j]j]j]j]ujKRjhj]r÷ªj%X Applicationrøª…�rùª}rúª(jjõªjjóªubaubj)�rûª}rüª(jUjKjjëªj jÇ©jjj}rýª(j]rþªXexamplesrÿªaj]j]j]r«Uid263r«aj]ujKUjhj]r«(j)�r«}r«(jXExamplesr«jjûªj jÇ©jj"j}r«(j]j]j]j]j]ujKUjhj]r«j%XExamplesr«…�r «}r «(jj«jj«ubaubj¶)�r «}r «(jUjjûªj jÇ©jj¹j}r «(j]j]j]j]j]ujNjhj]r«j¼)�r«}r«(jUj}r«(j]j]j]j]j]UcolsKujj «j]r«(jÁ)�r«}r«(jUj}r«(j]j]j]j]j]UcolwidthKujj«j]jjÅubjÁ)�r«}r«(jUj}r«(j]j]j]j]j]UcolwidthKujj«j]jjÅubjÁ)�r«}r«(jUj}r«(j]j]j]j]j]UcolwidthKujj«j]jjÅubjÒ)�r«}r«(jUj}r«(j]j]j]j]j]ujj«j]r«j×)�r «}r!«(jUj}r"«(j]j]j]j]j]ujj«j]r#«(jÜ)�r$«}r%«(jUj}r&«(j]j]j]j]j]ujj «j]r'«jX)�r(«}r)«(jXNamer*«jj$«j jÇ©jj\j}r+«(j]j]j]j]j]ujKXj]r,«j%XNamer-«…�r.«}r/«(jj*«jj(«ubaubajjéubjÜ)�r0«}r1«(jUj}r2«(j]j]j]j]j]ujj «j]r3«jÁ)�r4«}r5«(jUj}r6«(j]j]j]j]j]ujj0«j]r7«jÇ)�r8«}r9«(jX Descriptionr:«jÊKjj4«j jÇ©jjj}r;«(j]j]j]j]j]ujKj]r<«j%X Descriptionr=«…�r>«}r?«(jj:«jj8«ubaubajjÄubajjéubjÜ)�r@«}rA«(jUj}rB«(j]j]j]j]j]ujj «j]rC«jÁ)�rD«}rE«(jUj}rF«(j]j]j]j]j]ujj@«j]rG«jÇ)�rH«}rI«(jXExpected ResultsrJ«jÊKjjD«j jÇ©jjj}rK«(j]j]j]j]j]ujKj]rL«j%XExpected ResultsrM«…�rN«}rO«(jjJ«jjH«ubaubajjÄubajjéubejjubajjubj)�rP«}rQ«(jUj}rR«(j]j]j]j]j]ujj«j]rS«(j×)�rT«}rU«(jUj}rV«(j]j]j]j]j]ujjP«j]rW«(jÜ)�rX«}rY«(jUj}rZ«(j]j]j]j]j]ujjT«j]r[«jX)�r\«}r]«(jXDisplay Dss applicationr^«jjX«j jÇ©jj\j}r_«(j]j]j]j]j]ujKZj]r`«j%XDisplay Dss applicationra«…�rb«}rc«(jj^«jj\«ubaubajjéubjÜ)�rd«}re«(jUj}rf«(j]j]j]j]j]ujjT«j]rg«jÁ)�rh«}ri«(jUj}rj«(j]j]j]j]j]ujjd«j]rk«jÇ)�rl«}rm«(jXoExample demonstrating *simple* display yuyv or bgr frames to the LCD use case. Reference example for developersjÊKjjh«j jÇ©jjj}rn«(j]j]j]j]j]ujKj]ro«(j%XExample demonstrating rp«…�rq«}rr«(jXExample demonstrating jjl«ubj<)�rs«}rt«(jX*simple*j}ru«(j]j]j]j]j]ujjl«j]rv«j%Xsimplerw«…�rx«}ry«(jUjjs«ubajjDubj%XQ display yuyv or bgr frames to the LCD use case. Reference example for developersrz«…�r{«}r|«(jXQ display yuyv or bgr frames to the LCD use case. Reference example for developersjjl«ubeubajjÄubajjéubjÜ)�r}«}r~«(jUj}r«(j]j]j]j]j]ujjT«j]r€«jÁ)�r�«}r‚«(jUj}rƒ«(j]j]j]j]j]ujj}«j]r„«jÇ)�r…«}r†«(jXFApplication prompts user to select the test case input in CCS console.r‡«jÊKjj�«j jÇ©jjj}rˆ«(j]j]j]j]j]ujKj]r‰«j%XFApplication prompts user to select the test case input in CCS console.rŠ«…�r‹«}rŒ«(jj‡«jj…«ubaubajjÄubajjéubejjubj×)�r�«}rŽ«(jUj}r�«(j]j]j]j]j]ujjP«j]r�«(jÜ)�r‘«}r’«(jUj}r“«(j]j]j]j]j]ujj�«j]r”«jX)�r•«}r–«(jX$Display Dss application (Bare Metal)r—«jj‘«j jÇ©jj\j}r˜«(j]j]j]j]j]ujKcj]r™«j%X$Display Dss application (Bare Metal)rš«…�r›«}rœ«(jj—«jj•«ubaubajjéubjÜ)�r�«}rž«(jUj}rŸ«(j]j]j]j]j]ujj�«j]r «jÁ)�r¡«}r¢«(jUj}r£«(j]j]j]j]j]ujj�«j]r¤«jÇ)�r¥«}r¦«(jX“Example demonstrating *simple* display yuyv or bgr frames to the LCD use case for bare metal use cases. Reference bare metal example for developersjÊKjj¡«j jÇ©jjj}r§«(j]j]j]j]j]ujKj]r¨«(j%XExample demonstrating r©«…�rª«}r««(jXExample demonstrating jj¥«ubj<)�r¬«}r­«(jX*simple*j}r®«(j]j]j]j]j]ujj¥«j]r¯«j%Xsimpler°«…�r±«}r²«(jUjj¬«ubajjDubj%Xu display yuyv or bgr frames to the LCD use case for bare metal use cases. Reference bare metal example for developersr³«…�r´«}rµ«(jXu display yuyv or bgr frames to the LCD use case for bare metal use cases. Reference bare metal example for developersjj¥«ubeubajjÄubajjéubjÜ)�r¶«}r·«(jUj}r¸«(j]j]j]j]j]ujj�«j]r¹«jÁ)�rº«}r»«(jUj}r¼«(j]j]j]j]j]ujj¶«j]r½«jÇ)�r¾«}r¿«(jXFApplication prompts user to select the test case input in CCS console.rÀ«jÊKjjº«j jÇ©jjj}rÁ«(j]j]j]j]j]ujKj]r«j%XFApplication prompts user to select the test case input in CCS console.rë…�rÄ«}rÅ«(jjÀ«jj¾«ubaubajjÄubajjéubejjubj×)�rÆ«}rÇ«(jUj}rÈ«(j]j]j]j]j]ujjP«j]rÉ«(jÜ)�rÊ«}rË«(jUj}rÌ«(j]j]j]j]j]ujjÆ«j]rÍ«jX)�rΫ}rÏ«(jXDisplay Dss WB applicationrЫjjÊ«j jÇ©jj\j}rÑ«(j]j]j]j]j]ujKmj]rÒ«j%XDisplay Dss WB applicationrÓ«…�rÔ«}rÕ«(jjЫjjΫubaubajjéubjÜ)�rÖ«}r׫(jUj}rØ«(j]j]j]j]j]ujjÆ«j]rÙ«jÁ)�rÚ«}rÛ«(jUj}rÜ«(j]j]j]j]j]ujjÖ«j]rÝ«jÇ)�rÞ«}rß«(jXExample demonstrating *simple* display Write Back (WB) yuyv or bgr frames to the LCD use case. Reference example for developersjÊKjjÚ«j jÇ©jjj}rà«(j]j]j]j]j]ujKj]rá«(j%XExample demonstrating râ«…�rã«}rä«(jXExample demonstrating jjÞ«ubj<)�rå«}ræ«(jX*simple*j}rç«(j]j]j]j]j]ujjÞ«j]rè«j%Xsimpleré«…�rê«}rë«(jUjjå«ubajjDubj%Xa display Write Back (WB) yuyv or bgr frames to the LCD use case. Reference example for developersrì«…�rí«}rî«(jXa display Write Back (WB) yuyv or bgr frames to the LCD use case. Reference example for developersjjÞ«ubeubajjÄubajjéubjÜ)�rï«}rð«(jUj}rñ«(j]j]j]j]j]ujjÆ«j]rò«jÁ)�ró«}rô«(jUj}rõ«(j]j]j]j]j]ujjï«j]rö«jÇ)�r÷«}rø«(jXFApplication prompts user to select the test case input in CCS console.rù«jÊKjjó«j jÇ©jjj}rú«(j]j]j]j]j]ujKj]rû«j%XFApplication prompts user to select the test case input in CCS console.rü«…�rý«}rþ«(jjù«jj÷«ubaubajjÄubajjéubejjubj×)�rÿ«}r¬(jUj}r¬(j]j]j]j]j]ujjP«j]r¬(jÜ)�r¬}r¬(jUj}r¬(j]j]j]j]j]ujjÿ«j]r¬jX)�r¬}r¬(jX6Loopback application (Capture and Display application)r ¬jj¬j jÇ©jj\j}r ¬(j]j]j]j]j]ujKwj]r ¬j%X6Loopback application (Capture and Display application)r ¬…�r ¬}r¬(jj ¬jj¬ubaubajjéubjÜ)�r¬}r¬(jUj}r¬(j]j]j]j]j]ujjÿ«j]r¬jÁ)�r¬}r¬(jUj}r¬(j]j]j]j]j]ujj¬j]r¬jÇ)�r¬}r¬(jX€Example demonstrating *simple* capture and display yuyv frames from camera to the LCD use case. Reference example for developersjÊKjj¬j jÇ©jjj}r¬(j]j]j]j]j]ujKj]r¬(j%XExample demonstrating r¬…�r¬}r¬(jXExample demonstrating jj¬ubj<)�r¬}r¬(jX*simple*j}r ¬(j]j]j]j]j]ujj¬j]r!¬j%Xsimpler"¬…�r#¬}r$¬(jUjj¬ubajjDubj%Xb capture and display yuyv frames from camera to the LCD use case. Reference example for developersr%¬…�r&¬}r'¬(jXb capture and display yuyv frames from camera to the LCD use case. Reference example for developersjj¬ubeubajjÄubajjéubjÜ)�r(¬}r)¬(jUj}r*¬(j]j]j]j]j]ujjÿ«j]r+¬jÁ)�r,¬}r-¬(jUj}r.¬(j]j]j]j]j]ujj(¬j]r/¬jÇ)�r0¬}r1¬(jX•Application prompts user to select the test case input in CCS console, please select ov2659 camera for idkAM57x and OV1063x for evmAM572x test cases.r2¬jÊKjj,¬j jÇ©jjj}r3¬(j]j]j]j]j]ujKj]r4¬j%X•Application prompts user to select the test case input in CCS console, please select ov2659 camera for idkAM57x and OV1063x for evmAM572x test cases.r5¬…�r6¬}r7¬(jj2¬jj0¬ubaubajjÄubajjéubejjubj×)�r8¬}r9¬(jUj}r:¬(j]j]j]j]j]ujjP«j]r;¬(jÜ)�r<¬}r=¬(jUj}r>¬(j]j]j]j]j]ujj8¬j]r?¬jX)�r@¬}rA¬(jX@Loopback application Bare metal(Capture and Display application)rB¬jj<¬j jÇ©jj\j}rC¬(j]j]j]j]j]ujK�j]rD¬j%X@Loopback application Bare metal(Capture and Display application)rE¬…�rF¬}rG¬(jjB¬jj@¬ubaubajjéubjÜ)�rH¬}rI¬(jUj}rJ¬(j]j]j]j]j]ujj8¬j]rK¬jÁ)�rL¬}rM¬(jUj}rN¬(j]j]j]j]j]ujjH¬j]rO¬jÇ)�rP¬}rQ¬(jXšExample demonstrating *simple* capture and display yuyv frames from camera to the LCD use case for bare metal. Bare Metal reference example for developersjÊKjjL¬j jÇ©jjj}rR¬(j]j]j]j]j]ujKj]rS¬(j%XExample demonstrating rT¬…�rU¬}rV¬(jXExample demonstrating jjP¬ubj<)�rW¬}rX¬(jX*simple*j}rY¬(j]j]j]j]j]ujjP¬j]rZ¬j%Xsimpler[¬…�r\¬}r]¬(jUjjW¬ubajjDubj%X| capture and display yuyv frames from camera to the LCD use case for bare metal. Bare Metal reference example for developersr^¬…�r_¬}r`¬(jX| capture and display yuyv frames from camera to the LCD use case for bare metal. Bare Metal reference example for developersjjP¬ubeubajjÄubajjéubjÜ)�ra¬}rb¬(jUj}rc¬(j]j]j]j]j]ujj8¬j]rd¬jÁ)�re¬}rf¬(jUj}rg¬(j]j]j]j]j]ujja¬j]rh¬jÇ)�ri¬}rj¬(jX•Application prompts user to select the test case input in CCS console, please select ov2659 camera for idkAM57x and OV1063x for evmAM572x test cases.rk¬jÊKjje¬j jÇ©jjj}rl¬(j]j]j]j]j]ujKj]rm¬j%X•Application prompts user to select the test case input in CCS console, please select ov2659 camera for idkAM57x and OV1063x for evmAM572x test cases.rn¬…�ro¬}rp¬(jjk¬jji¬ubaubajjÄubajjéubejjubejjðubejjñubaubj\)�rq¬}rr¬(jXƒ:: * Starting from Processor SDK 4.2 release, idkAM574x support is added for VPS. * Starting from Processor SDK 4.2 release, oV1063x camera part support is added for AM572x - GP evm (older Aptina MT9T11 camera is never supported). * Starting from Processor SDK 3.2 release, osd101t2587 lcd panel is supported (new part) along with osd101t2045 lcd panel (old part) on idkAM572x and idkAM571x boards for all display subsystem examples. * The bare metal examples are added starting from Processor SDK 4.0 release * Some of the clocks such as 32KHz Sync clock are directly tied to A15 core and need that core to be running. Hence while testing the code on other cores such as DSP/IPU, please make sure to disconnect the ARM core after connecting the ARM core & running the GEL files to enable the other cores and before loading the executable on that core.jjûªj jÇ©jj_j}rs¬(j]j]j]j]j]ujNjhj]rt¬j#)�ru¬}rv¬(jXW* Starting from Processor SDK 4.2 release, idkAM574x support is added for VPS. * Starting from Processor SDK 4.2 release, oV1063x camera part support is added for AM572x - GP evm (older Aptina MT9T11 camera is never supported). * Starting from Processor SDK 3.2 release, osd101t2587 lcd panel is supported (new part) along with osd101t2045 lcd panel (old part) on idkAM572x and idkAM571x boards for all display subsystem examples. * The bare metal examples are added starting from Processor SDK 4.0 release * Some of the clocks such as 32KHz Sync clock are directly tied to A15 core and need that core to be running. Hence while testing the code on other cores such as DSP/IPU, please make sure to disconnect the ARM core after connecting the ARM core & running the GEL files to enable the other cores and before loading the executable on that core.jjq¬jj&j}rw¬(j2j3j]j]j]j]j]ujM¹!j]rx¬j%XW* Starting from Processor SDK 4.2 release, idkAM574x support is added for VPS. * Starting from Processor SDK 4.2 release, oV1063x camera part support is added for AM572x - GP evm (older Aptina MT9T11 camera is never supported). * Starting from Processor SDK 3.2 release, osd101t2587 lcd panel is supported (new part) along with osd101t2045 lcd panel (old part) on idkAM572x and idkAM571x boards for all display subsystem examples. * The bare metal examples are added starting from Processor SDK 4.0 release * Some of the clocks such as 32KHz Sync clock are directly tied to A15 core and need that core to be running. Hence while testing the code on other cores such as DSP/IPU, please make sure to disconnect the ARM core after connecting the ARM core & running the GEL files to enable the other cores and before loading the executable on that core.ry¬…�rz¬}r{¬(jUjju¬ubaubaubeubeubj)�r|¬}r}¬(jUjKjjµ©j jÇ©jjj}r~¬(j]r¬Xadditional referencesr€¬aj]j]j]r�¬Uid264r‚¬aj]ujKœjhj]rƒ¬(j)�r„¬}r…¬(jXAdditional Referencesr†¬jj|¬j jÇ©jj"j}r‡¬(j]j]j]j]j]ujKœjhj]rˆ¬j%XAdditional Referencesr‰¬…�rЬ}r‹¬(jj†¬jj„¬ubaubj¶)�rŒ¬}r�¬(jUjj|¬j jÇ©jj¹j}rެ(j]j]j]j]j]ujNjhj]r�¬j¼)�r�¬}r‘¬(jUj}r’¬(j]j]j]j]j]UcolsKujjŒ¬j]r“¬(jÁ)�r”¬}r•¬(jUj}r–¬(j]j]j]j]j]UcolwidthK#ujj�¬j]jjÅubjÁ)�r—¬}r˜¬(jUj}r™¬(j]j]j]j]j]UcolwidthK(ujj�¬j]jjÅubj)�rš¬}r›¬(jUj}rœ¬(j]j]j]j]j]ujj�¬j]r�¬(j×)�rž¬}rŸ¬(jUj}r ¬(j]j]j]j]j]ujjš¬j]r¡¬(jÜ)�r¢¬}r£¬(jUj}r¤¬(j]j]j]j]j]ujjž¬j]r¥¬jX)�r¦¬}r§¬(jX **Document**r¨¬jj¢¬j jÇ©jj\j}r©¬(j]j]j]j]j]ujKŸj]rª¬j|)�r«¬}r¬¬(jj¨¬j}r­¬(j]j]j]j]j]ujj¦¬j]r®¬j%XDocumentr¯¬…�r°¬}r±¬(jUjj«¬ubajj„ubaubajjéubjÜ)�r²¬}r³¬(jUj}r´¬(j]j]j]j]j]ujjž¬j]rµ¬jX)�r¶¬}r·¬(jX **Location**r¸¬jj²¬j jÇ©jj\j}r¹¬(j]j]j]j]j]ujKŸj]rº¬j|)�r»¬}r¼¬(jj¸¬j}r½¬(j]j]j]j]j]ujj¶¬j]r¾¬j%XLocationr¿¬…�rÀ¬}rÁ¬(jUjj»¬ubajj„ubaubajjéubejjubj×)�r¬}rì(jUj}rĬ(j]j]j]j]j]ujjš¬j]rŬ(jÜ)�rƬ}rǬ(jUj}rȬ(j]j]j]j]j]ujj¬j]rɬjX)�rʬ}rˬ(jXAPI Reference Manualr̬jjƬj jÇ©jj\j}rͬ(j]j]j]j]j]ujK¡j]rάj%XAPI Reference ManualrϬ…�rЬ}rѬ(jj̬jjʬubaubajjéubjÜ)�rÒ¬}rÓ¬(jUj}rÔ¬(j]j]j]j]j]ujj¬j]rÕ¬jX)�rÖ¬}r׬(jXP$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\vps\\docs\\doxygen\\html\\index. htmljjÒ¬j jÇ©jj\j}rج(j]j]j]j]j]ujK¡j]rÙ¬j%XH$(TI_PDK_INSTALL_DIR)\packages\ti \drv\vps\docs\doxygen\html\index. htmlrÚ¬…�rÛ¬}rܬ(jXP$(TI_PDK_INSTALL_DIR)\\packages\\ti \\drv\\vps\\docs\\doxygen\\html\\index. htmljjÖ¬ubaubajjéubejjubejjðubejjñubaubeubj)�rݬ}rÞ¬(jUjjµ©j jÇ©jjj}r߬(j]j]j]j]rà¬Ubuilding-vps-examplesrá¬aj]râ¬hÅaujK§jhj]rã¬(j)�rä¬}rå¬(jXBuilding VPS examplesræ¬jjݬj jÇ©jj"j}rç¬(j]j]j]j]j]ujK§jhj]rè¬j%XBuilding VPS examplesr鬅�rê¬}rë¬(jjæ¬jjä¬ubaubj)�rì¬}rí¬(jUjjݬj jÇ©jjj}rî¬(jX-j]j]j]j]j]ujK©jhj]rï¬(j)�rð¬}rñ¬(jX–VPS examples and dependent libraries are built from the top level pdk makefile after the environment setup is done using the pdksetupenv.sh(bat) file.jjì¬j jÇ©jj j}rò¬(j]j]j]j]j]ujNjhj]ró¬jX)�rô¬}rõ¬(jX–VPS examples and dependent libraries are built from the top level pdk makefile after the environment setup is done using the pdksetupenv.sh(bat) file.rö¬jjð¬j jÇ©jj\j}r÷¬(j]j]j]j]j]ujK©j]rø¬j%X–VPS examples and dependent libraries are built from the top level pdk makefile after the environment setup is done using the pdksetupenv.sh(bat) file.rù¬…�rú¬}rû¬(jjö¬jjô¬ubaubaubj)�rü¬}rý¬(jXcd /packagesrþ¬jjì¬j jÇ©jj j}rÿ¬(j]j]j]j]j]ujNjhj]r­jX)�r­}r­(jjþ¬jjü¬j jÇ©jj\j}r­(j]j]j]j]j]ujK¬j]r­j%Xcd /packagesr­…�r­}r­(jjþ¬jj­ubaubaubj)�r­}r ­(jXpdksetupenv.bat (sh)r ­jjì¬j jÇ©jj j}r ­(j]j]j]j]j]ujNjhj]r ­jX)�r ­}r­(jj ­jj­j jÇ©jj\j}r­(j]j]j]j]j]ujK­j]r­j%Xpdksetupenv.bat (sh)r­…�r­}r­(jj ­jj ­ubaubaubj)�r­}r­(jXLmake vps  : to build vps examples under **/ti/packages/binary** folderjjì¬j jÇ©jj j}r­(j]j]j]j]j]ujNjhj]r­jX)�r­}r­(jXLmake vps  : to build vps examples under **/ti/packages/binary** folderjj­j jÇ©jj\j}r­(j]j]j]j]j]ujK®j]r­(j%X)make vps  : to build vps examples under r­…�r­}r­(jX)make vps  : to build vps examples under jj­ubj|)�r­}r ­(jX**/ti/packages/binary**j}r!­(j]j]j]j]j]ujj­j]r"­j%X/ti/packages/binaryr#­…�r$­}r%­(jUjj­ubajj„ubj%X folderr&­…�r'­}r(­(jX folderjj­ubeubaubj)�r)­}r*­(jX5make vps_clean : to clean the vps and vps examples. jjì¬j jÇ©jj j}r+­(j]j]j]j]j]ujNjhj]r,­jX)�r-­}r.­(jX4make vps_clean : to clean the vps and vps examples.r/­jj)­j jÇ©jj\j}r0­(j]j]j]j]j]ujK°j]r1­j%X4make vps_clean : to clean the vps and vps examples.r2­…�r3­}r4­(jj/­jj-­ubaubaubeubeubj)�r5­}r6­(jUjjµ©j jÇ©jjj}r7­(j]j]j]j]r8­U vps-examplesr9­aj]r:­h>aujK³jhj]r;­(j)�r<­}r=­(jX VPS examplesr>­jj5­j jÇ©jj"j}r?­(j]j]j]j]j]ujK³jhj]r@­j%X VPS examplesrA­…�rB­}rC­(jj>­jj<­ubaubj)�rD­}rE­(jUjj5­j jÇ©jjj}rF­(j]j]j]j]rG­Udisplay-dss-examplerH­aj]rI­hSaujK¶jhj]rJ­(j)�rK­}rL­(jXDisplay DSS ExamplerM­jjD­j jÇ©jj"j}rN­(j]j]j]j]j]ujK¶jhj]rO­j%XDisplay DSS ExamplerP­…�rQ­}rR­(jjM­jjK­ubaubjb)�rS­}rT­(jX *Description*rU­jKjjD­j jÇ©jjfj}rV­(j]rW­Uid265rX­aj]j]rY­X descriptionrZ­aj]j]ujNjhj]r[­j<)�r\­}r]­(jjU­j}r^­(j]j]j]j]j]ujjS­j]r_­j%X Descriptionr`­…�ra­}rb­(jUjj\­ubajjDubaubjX)�rc­}rd­(jXThe example exploits the DISPC (Display Controller) and LCD/HDMI outputs available in the SoC. When run, the test outputs multiple options to select between to demonstrate the various capacity of the display subsystem. There is also option to select "Auto Run", when selected runs all the tests in sequential manner. The example works on outputing a pre-loaded video frames of YUV422I and BGR888 formats to DP1, DP2 and DP3 parallel interfaces and also to HDMI output observed on TV set, from VID1, VID2, VID3 and GFX pipelines. The example also demonstrates displaying videos combined from GFX and other VID pipelines to DPI1 LCD output. The example is also enhanced to show the display controler scaling features. Test that exploits the scalar unit to show all possible allowed scaling. Maximum scaling ratio supported is the ratio of the dss functional clock / pixel clk. Please refer to section "11.2.4.10.4.2 DISPC Scaling limitations" of AM57x Technical Reference manual for minimum ratio allowed when using the scalar unit.re­jjD­j jÇ©jj\j}rf­(j]j]j]j]j]ujK»jhj]rg­j%XThe example exploits the DISPC (Display Controller) and LCD/HDMI outputs available in the SoC. When run, the test outputs multiple options to select between to demonstrate the various capacity of the display subsystem. There is also option to select "Auto Run", when selected runs all the tests in sequential manner. The example works on outputing a pre-loaded video frames of YUV422I and BGR888 formats to DP1, DP2 and DP3 parallel interfaces and also to HDMI output observed on TV set, from VID1, VID2, VID3 and GFX pipelines. The example also demonstrates displaying videos combined from GFX and other VID pipelines to DPI1 LCD output. The example is also enhanced to show the display controler scaling features. Test that exploits the scalar unit to show all possible allowed scaling. Maximum scaling ratio supported is the ratio of the dss functional clock / pixel clk. Please refer to section "11.2.4.10.4.2 DISPC Scaling limitations" of AM57x Technical Reference manual for minimum ratio allowed when using the scalar unit.rh­…�ri­}rj­(jje­jjc­ubaubjÁ)�rk­}rl­(jUjjD­j jÇ©jjÄj}rm­(j]j]j]j]j]ujKËjhj]rn­jÇ)�ro­}rp­(jUjÊKjjk­j jÇ©jjj}rq­(j]j]j]j]j]ujKjhj]ubaubjb)�rr­}rs­(jX#**Running the Display DSS example**rt­jjD­j jÇ©jjfj}ru­(j]rv­Urunning-the-display-dss-examplerw­aj]j]j]j]rx­h6aujNjhj]ry­j|)�rz­}r{­(jjt­j}r|­(j]j]j]j]j]ujjr­j]r}­j%XRunning the Display DSS exampler~­…�r­}r€­(jUjjz­ubajj„ubaubjX)�r�­}r‚­(jX**Configuring Display**:rƒ­jjD­j jÇ©jj\j}r„­(j]j]j]j]j]ujKÐjhj]r…­(j|)�r†­}r‡­(jX**Configuring Display**j}rˆ­(j]j]j]j]j]ujj�­j]r‰­j%XConfiguring DisplayrŠ­…�r‹­}rŒ­(jUjj†­ubajj„ubj%X:…�r�­}rŽ­(jX:jj�­ubeubj)�r�­}r�­(jUjjD­j jÇ©jjj}r‘­(jX-j]j]j]j]j]ujKÒjhj]r’­(j)�r“­}r”­(jXWMake sure the LCD panel is connected to the base EVM before running the example binary.jj�­j jÇ©jj j}r•­(j]j]j]j]j]ujNjhj]r–­jX)�r—­}r˜­(jXWMake sure the LCD panel is connected to the base EVM before running the example binary.r™­jj“­j jÇ©jj\j}rš­(j]j]j]j]j]ujKÒj]r›­j%XWMake sure the LCD panel is connected to the base EVM before running the example binary.rœ­…�r�­}rž­(jj™­jj—­ubaubaubj)�rŸ­}r ­(jXLMake sure the HDMI is connected to TV from the EVM for HDMI display options.jj�­j jÇ©jj j}r¡­(j]j]j]j]j]ujNjhj]r¢­jX)�r£­}r¤­(jXLMake sure the HDMI is connected to TV from the EVM for HDMI display options.r¥­jjŸ­j jÇ©jj\j}r¦­(j]j]j]j]j]ujKÔj]r§­j%XLMake sure the HDMI is connected to TV from the EVM for HDMI display options.r¨­…�r©­}rª­(jj¥­jj£­ubaubaubj)�r«­}r¬­(jXIFor AM571x IDK EVM, installing a shunt on header J51 to short those pins jj�­j jÇ©jj j}r­­(j]j]j]j]j]ujNjhj]r®­jX)�r¯­}r°­(jXHFor AM571x IDK EVM, installing a shunt on header J51 to short those pinsr±­jj«­j jÇ©jj\j}r²­(j]j]j]j]j]ujKÖj]r³­j%XHFor AM571x IDK EVM, installing a shunt on header J51 to short those pinsr´­…�rµ­}r¶­(jj±­jj¯­ubaubaubeubjX)�r·­}r¸­(jX**CCS connection**:r¹­jjD­j jÇ©jj\j}rº­(j]j]j]j]j]ujKÙjhj]r»­(j|)�r¼­}r½­(jX**CCS connection**j}r¾­(j]j]j]j]j]ujj·­j]r¿­j%XCCS connectionrÀ­…�rÁ­}r­(jUjj¼­ubajj„ubj%X:…�rí}rÄ­(jX:jj·­ubeubj)�rÅ­}rÆ­(jUjjD­j jÇ©jjj}rÇ­(jX-j]j]j]j]j]ujKÛjhj]rÈ­(j)�rÉ­}rÊ­(jX)Load the generated executable file in CCSrË­jjÅ­j jÇ©jj j}rÌ­(j]j]j]j]j]ujNjhj]rÍ­jX)�rέ}rÏ­(jjË­jjÉ­j jÇ©jj\j}rЭ(j]j]j]j]j]ujKÛj]rÑ­j%X)Load the generated executable file in CCSrÒ­…�rÓ­}rÔ­(jjË­jjέubaubaubj)�rÕ­}rÖ­(jXORun the application, Select any of the option and load the buffer as suggested.jjÅ­j jÇ©jj j}r×­(j]j]j]j]j]ujNjhj]rØ­jX)�rÙ­}rÚ­(jXORun the application, Select any of the option and load the buffer as suggested.rÛ­jjÕ­j jÇ©jj\j}rÜ­(j]j]j]j]j]ujKÜj]rÝ­j%XORun the application, Select any of the option and load the buffer as suggested.rÞ­…�rß­}rà­(jjÛ­jjÙ­ubaubaubj)�rá­}râ­(jXXContent will be displayed on the LCD panel or HDMI TV connected to EVM for test options jjÅ­j jÇ©jj j}rã­(j]j]j]j]j]ujNjhj]rä­jX)�rå­}ræ­(jXWContent will be displayed on the LCD panel or HDMI TV connected to EVM for test optionsrç­jjá­j jÇ©jj\j}rè­(j]j]j]j]j]ujKÞj]ré­j%XWContent will be displayed on the LCD panel or HDMI TV connected to EVM for test optionsrê­…�rë­}rì­(jjç­jjå­ubaubaubeubj\)�rí­}rî­(jXu- Test Input files for Display Sample application will be in "\drv\vps\docs\test_inputs\dss_input_files.rar"jjD­j Njj_j}rï­(j]j]j]j]j]ujNjhj]rð­j)�rñ­}rò­(jUj}ró­(jX-j]j]j]j]j]ujjí­j]rô­j)�rõ­}rö­(jXoTest Input files for Display Sample application will be in "\drv\vps\docs\test_inputs\dss_input_files.rar"j}r÷­(j]j]j]j]j]ujjñ­j]rø­jX)�rù­}rú­(jXoTest Input files for Display Sample application will be in "\drv\vps\docs\test_inputs\dss_input_files.rar"jjõ­j jÇ©jj\j}rû­(j]j]j]j]j]ujKãj]rü­j%XjTest Input files for Display Sample application will be in "drvvpsdocstest_inputsdss_input_files.rar"rý­…�rþ­}rÿ­(jXoTest Input files for Display Sample application will be in "\drv\vps\docs\test_inputs\dss_input_files.rar"jjù­ubaubajj ubajjubaubjX)�r®}r®(jXÌThe rar file can be unrar-ed to get the test files using utilities such as http://www.7-zip.org Please download the latest version of 7-zip from this website. The command to unrar is: 7z x {file_to_unrar}jjD­j jÇ©jj\j}r®(j]j]j]j]j]ujKæjhj]r®(j%XKThe rar file can be unrar-ed to get the test files using utilities such as r®…�r®}r®(jXKThe rar file can be unrar-ed to get the test files using utilities such as jj®ubj)�r®}r®(jXhttp://www.7-zip.orgr ®j}r ®(Urefurij ®j]j]j]j]j]ujj®j]r ®j%Xhttp://www.7-zip.orgr ®…�r ®}r®(jUjj®ubajjubj%Xm Please download the latest version of 7-zip from this website. The command to unrar is: 7z x {file_to_unrar}r®…�r®}r®(jXm Please download the latest version of 7-zip from this website. The command to unrar is: 7z x {file_to_unrar}jj®ubeubjX)�r®}r®(jXWhen the test program expects the yuyv422 file, please load **display_yuyv422_prog_packed_1920_1080.tigf** file and when the test program expects the bgr888 file, please load **display_gbr888_prog_packed_1920_1080.tigf** file. Each video has 4 frames. Below shows the first frame. If GP EVM is used, only the left upper corner of the video is displayed as it only has an 800x480 LCD.jjD­j jÇ©jj\j}r®(j]j]j]j]j]ujKêjhj]r®(j%X<When the test program expects the yuyv422 file, please load r®…�r®}r®(jX<When the test program expects the yuyv422 file, please load jj®ubj|)�r®}r®(jX.**display_yuyv422_prog_packed_1920_1080.tigf**j}r®(j]j]j]j]j]ujj®j]r®j%X*display_yuyv422_prog_packed_1920_1080.tigfr®…�r®}r®(jUjj®ubajj„ubj%XE file and when the test program expects the bgr888 file, please load r ®…�r!®}r"®(jXE file and when the test program expects the bgr888 file, please load jj®ubj|)�r#®}r$®(jX-**display_gbr888_prog_packed_1920_1080.tigf**j}r%®(j]j]j]j]j]ujj®j]r&®j%X)display_gbr888_prog_packed_1920_1080.tigfr'®…�r(®}r)®(jUjj#®ubajj„ubj%X£ file. Each video has 4 frames. Below shows the first frame. If GP EVM is used, only the left upper corner of the video is displayed as it only has an 800x480 LCD.r*®…�r+®}r,®(jX£ file. Each video has 4 frames. Below shows the first frame. If GP EVM is used, only the left upper corner of the video is displayed as it only has an 800x480 LCD.jj®ubeubj^)�r-®}r.®(jX&.. Image:: ../images/488px-Yuyv422.pngr/®jjD­j jÇ©jjaj}r0®(UuriX rtos/../images/488px-Yuyv422.pngr1®j]j]j]j]jd}r2®U*j1®sj]ujKñjhj]ubj^)�r3®}r4®(jX&.. Image:: ../images/488px-Gbr888.png jjD­j jÇ©jjaj}r5®(UuriXrtos/../images/488px-Gbr888.pngr6®j]j]j]j]jd}r7®U*j6®sj]ujKójhj]ubjX)�r8®}r9®(jXDThe test runs bunch of test cases as shown in the test example menu.r:®jjD­j jÇ©jj\j}r;®(j]j]j]j]j]ujKôjhj]r<®j%XDThe test runs bunch of test cases as shown in the test example menu.r=®…�r>®}r?®(jj:®jj8®ubaubjX)�r@®}rA®(jXž**Warning** : Due to A15 MMU protection, memory load while CPU is running is not possible. Hence below workaround needs to be done for loading the test files.jjD­j jÇ©jj\j}rB®(j]j]j]j]j]ujKöjhj]rC®(j|)�rD®}rE®(jX **Warning**j}rF®(j]j]j]j]j]ujj@®j]rG®j%XWarningrH®…�rI®}rJ®(jUjjD®ubajj„ubj%X“ : Due to A15 MMU protection, memory load while CPU is running is not possible. Hence below workaround needs to be done for loading the test files.rK®…�rL®}rM®(jX“ : Due to A15 MMU protection, memory load while CPU is running is not possible. Hence below workaround needs to be done for loading the test files.jj@®ubeubj`)�rN®}rO®(jUjjD­j jÇ©jjcj}rP®(jeU.j]j]j]jfUj]j]jgjhujKújhj]rQ®(j)�rR®}rS®(jXPower up the boardrT®jjN®j jÇ©jj j}rU®(j]j]j]j]j]ujNjhj]rV®jX)�rW®}rX®(jjT®jjR®j jÇ©jj\j}rY®(j]j]j]j]j]ujKúj]rZ®j%XPower up the boardr[®…�r\®}r]®(jjT®jjW®ubaubaubj)�r^®}r_®(jXConnect to A15 Corer`®jjN®j jÇ©jj j}ra®(j]j]j]j]j]ujNjhj]rb®jX)�rc®}rd®(jj`®jj^®j jÇ©jj\j}re®(j]j]j]j]j]ujKûj]rf®j%XConnect to A15 Corerg®…�rh®}ri®(jj`®jjc®ubaubaubj)�rj®}rk®(jX Load both tigf files into memoryrl®jjN®j jÇ©jj j}rm®(j]j]j]j]j]ujNjhj]rn®jX)�ro®}rp®(jjl®jjj®j jÇ©jj\j}rq®(j]j]j]j]j]ujKüj]rr®j%X Load both tigf files into memoryrs®…�rt®}ru®(jjl®jjo®ubaubaubj)�rv®}rw®(jXDo a CPU reset on A15rx®jjN®j jÇ©jj j}ry®(j]j]j]j]j]ujNjhj]rz®jX)�r{®}r|®(jjx®jjv®j jÇ©jj\j}r}®(j]j]j]j]j]ujKýj]r~®j%XDo a CPU reset on A15r®…�r€®}r�®(jjx®jj{®ubaubaubj)�r‚®}rƒ®(jXLoad example code for core typer„®jjN®j jÇ©jj j}r…®(j]j]j]j]j]ujNjhj]r†®jX)�r‡®}rˆ®(jj„®jj‚®j jÇ©jj\j}r‰®(j]j]j]j]j]ujKþj]rŠ®j%XLoad example code for core typer‹®…�rŒ®}r�®(jj„®jj‡®ubaubaubj)�rŽ®}r�®(jXRun example code jjN®j jÇ©jj j}r�®(j]j]j]j]j]ujNjhj]r‘®jX)�r’®}r“®(jXRun example coder”®jjŽ®j jÇ©jj\j}r•®(j]j]j]j]j]ujKÿj]r–®j%XRun example coder—®…�r˜®}r™®(jj”®jj’®ubaubaubeubeubj)�rš®}r›®(jUjj5­j jÇ©jjj}rœ®(j]j]j]j]r�®Udisplay-dss-wb-examplerž®aj]rŸ®hØaujMjhj]r ®(j)�r¡®}r¢®(jXDisplay DSS WB exampler£®jjš®j jÇ©jj"j}r¤®(j]j]j]j]j]ujMjhj]r¥®j%XDisplay DSS WB exampler¦®…�r§®}r¨®(jj£®jj¡®ubaubjb)�r©®}rª®(jX *Description*r«®jjš®j jÇ©jjfj}r¬®(j]r­®U description-1r®®aj]j]j]j]r¯®hxaujNjhj]r°®j<)�r±®}r²®(jj«®j}r³®(j]j]j]j]j]ujj©®j]r´®j%X Descriptionrµ®…�r¶®}r·®(jUjj±®ubajjDubaubjX)�r¸®}r¹®(jXêThe WB pipeline allows the use of the hardware processing available inside the DISPC, such as color space conversion, rescaling, and compositing to perform memory-to-memory transfer with data processing or capturing a displayed frame.rº®jjš®j jÇ©jj\j}r»®(j]j]j]j]j]ujMjhj]r¼®j%XêThe WB pipeline allows the use of the hardware processing available inside the DISPC, such as color space conversion, rescaling, and compositing to perform memory-to-memory transfer with data processing or capturing a displayed frame.r½®…�r¾®}r¿®(jjº®jj¸®ubaubjb)�rÀ®}rÁ®(jX *Running Display DSS WB example*r®jjš®j jÇ©jjfj}rî(j]rÄ®Urunning-display-dss-wb-examplerÅ®aj]j]j]j]rÆ®haujNjhj]rÇ®j<)�rÈ®}rÉ®(jj®j}rÊ®(j]j]j]j]j]ujjÀ®j]rË®j%XRunning Display DSS WB examplerÌ®…�rÍ®}rή(jUjjÈ®ubajjDubaubjX)�rÏ®}rЮ(jXÛThe test connection and procedure for this example is very much same as the running the Display DSS example. In this example, the display output that is sent to the output is captured and sent to the WriteBack pipeline.rÑ®jjš®j jÇ©jj\j}rÒ®(j]j]j]j]j]ujMjhj]rÓ®j%XÛThe test connection and procedure for this example is very much same as the running the Display DSS example. In this example, the display output that is sent to the output is captured and sent to the WriteBack pipeline.rÔ®…�rÕ®}rÖ®(jjÑ®jjÏ®ubaubjb)�r×®}rØ®(jX***Loopback (Capture and Display) example**rÙ®jjš®j jÇ©jjfj}rÚ®(j]rÛ®U$loopback-capture-and-display-examplerÜ®aj]j]j]j]rÝ®haujNjhj]rÞ®j|)�rß®}rà®(jjÙ®j}rá®(j]j]j]j]j]ujj×®j]râ®j%X&Loopback (Capture and Display) examplerã®…�rä®}rå®(jUjjß®ubajj„ubaubjb)�ræ®}rç®(jX *Description*rè®jjš®j jÇ©jjfj}ré®(j]rê®U description-2rë®aj]j]j]j]rì®hhaujNjhj]rí®j<)�rî®}rï®(jjè®j}rð®(j]j]j]j]j]ujjæ®j]rñ®j%X Descriptionrò®…�ró®}rô®(jUjjî®ubajjDubaubjX)�rõ®}rö®(jXÀThis is the capture and display example that demonstrates the VIP captures functions for the devices. VIP incorporates a multi-channel raw video parser, various video processing blocks, and a flexible Video Port Direct Memory Access (VPDMA)engine to store incoming video in various formats. This example demonstrates the video capture of 720P, YUY422 format from the camera sensor (OV2659 for idkAM57x and OV1063x for evmAM572x) to DPI1 LCD output.r÷®jjš®j jÇ©jj\j}rø®(j]j]j]j]j]ujMjhj]rù®j%XÀThis is the capture and display example that demonstrates the VIP captures functions for the devices. VIP incorporates a multi-channel raw video parser, various video processing blocks, and a flexible Video Port Direct Memory Access (VPDMA)engine to store incoming video in various formats. This example demonstrates the video capture of 720P, YUY422 format from the camera sensor (OV2659 for idkAM57x and OV1063x for evmAM572x) to DPI1 LCD output.rú®…�rû®}rü®(jj÷®jjõ®ubaubjb)�rý®}rþ®(jX*Running Loopback example*rÿ®jjš®j jÇ©jjfj}r¯(j]r¯Urunning-loopback-exampler¯aj]j]j]j]r¯hiaujNjhj]r¯j<)�r¯}r¯(jjÿ®j}r¯(j]j]j]j]j]ujjý®j]r¯j%XRunning Loopback exampler ¯…�r ¯}r ¯(jUjj¯ubajjDubaubj)�r ¯}r ¯(jUjjš®j jÇ©jjj}r¯(jX-j]j]j]j]j]ujM%jhj]r¯j)�r¯}r¯(jXZMake sure OV sensor and LCD Panel is connected to to the board before running the binary. jj ¯j jÇ©jj j}r¯(j]j]j]j]j]ujNjhj]r¯jX)�r¯}r¯(jXYMake sure OV sensor and LCD Panel is connected to to the board before running the binary.r¯jj¯j jÇ©jj\j}r¯(j]j]j]j]j]ujM%j]r¯j%XYMake sure OV sensor and LCD Panel is connected to to the board before running the binary.r¯…�r¯}r¯(jj¯jj¯ubaubaubaubjX)�r¯}r¯(jX**CCS connection**:r¯jjš®j jÇ©jj\j}r¯(j]j]j]j]j]ujM(jhj]r ¯(j|)�r!¯}r"¯(jX**CCS connection**j}r#¯(j]j]j]j]j]ujj¯j]r$¯j%XCCS connectionr%¯…�r&¯}r'¯(jUjj!¯ubajj„ubj%X:…�r(¯}r)¯(jX:jj¯ubeubj`)�r*¯}r+¯(jUjjš®j jÇ©jjcj}r,¯(jeU.j]j]j]jfUj]j]jgjhujM*jhj]r-¯(j)�r.¯}r/¯(jXPower up the boardr0¯jj*¯j jÇ©jj j}r1¯(j]j]j]j]j]ujNjhj]r2¯jX)�r3¯}r4¯(jj0¯jj.¯j jÇ©jj\j}r5¯(j]j]j]j]j]ujM*j]r6¯j%XPower up the boardr7¯…�r8¯}r9¯(jj0¯jj3¯ubaubaubj)�r:¯}r;¯(jXConnect to the Corer<¯jj*¯j jÇ©jj j}r=¯(j]j]j]j]j]ujNjhj]r>¯jX)�r?¯}r@¯(jj<¯jj:¯j jÇ©jj\j}rA¯(j]j]j]j]j]ujM+j]rB¯j%XConnect to the CorerC¯…�rD¯}rE¯(jj<¯jj?¯ubaubaubj)�rF¯}rG¯(jX.Run the application, Select any of the option.rH¯jj*¯j jÇ©jj j}rI¯(j]j]j]j]j]ujNjhj]rJ¯jX)�rK¯}rL¯(jjH¯jjF¯j jÇ©jj\j}rM¯(j]j]j]j]j]ujM,j]rN¯j%X.Run the application, Select any of the option.rO¯…�rP¯}rQ¯(jjH¯jjK¯ubaubaubj)�rR¯}rS¯(jXECaptured Content will be displayed on the LCD panel connected to EVM jj*¯j jÇ©jj j}rT¯(j]j]j]j]j]ujNjhj]rU¯jX)�rV¯}rW¯(jXDCaptured Content will be displayed on the LCD panel connected to EVMrX¯jjR¯j jÇ©jj\j}rY¯(j]j]j]j]j]ujM-j]rZ¯j%XDCaptured Content will be displayed on the LCD panel connected to EVMr[¯…�r\¯}r]¯(jjX¯jjV¯ubaubaubeubjÁ)�r^¯}r_¯(jUjjš®j jÇ©jjÄj}r`¯(j]j]j]j]j]ujM/jhj]ra¯jÇ)�rb¯}rc¯(jUjÊKjj^¯j jÇ©jjj}rd¯(j]j]j]j]j]ujKjhj]ubaubeubeubj)�re¯}rf¯(jUjKjjµ©j jÇ©jjj}rg¯(j]rh¯Xfaqri¯aj]j]j]rj¯Uid266rk¯aj]ujM2jhj]rl¯(j)�rm¯}rn¯(jXFAQro¯jje¯j jÇ©jj"j}rp¯(j]j]j]j]j]ujM2jhj]rq¯j%XFAQrr¯…�rs¯}rt¯(jjo¯jjm¯ubaubjb)�ru¯}rv¯(jX>How to reduce the VPS test examples build time using makefile?rw¯jje¯j jÇ©jjfj}rx¯(j]ry¯U=how-to-reduce-the-vps-test-examples-build-time-using-makefilerz¯aj]j]j]j]r{¯hâaujNjhj]r|¯j%X>How to reduce the VPS test examples build time using makefile?r}¯…�r~¯}r¯(jjw¯jju¯ubaubjX)�r€¯}r�¯(jXÀPlease refer to `Rebuilding The PDK `__ on how to invoke the build for specific core and specific platform, to save the build time.jje¯j jÇ©jj\j}r‚¯(j]j]j]j]j]ujM8jhj]rƒ¯(j%XPlease refer to r„¯…�r…¯}r†¯(jXPlease refer to jj€¯ubj)�r‡¯}rˆ¯(jXT`Rebuilding The PDK `__j}r‰¯(UnameXRebuilding The PDKjX;index_how_to_guides.html#rebuild-drivers-from-pdk-directoryj]j]j]j]j]ujj€¯j]rНj%XRebuilding The PDKr‹¯…�rŒ¯}r�¯(jUjj‡¯ubajjubj%X\ on how to invoke the build for specific core and specific platform, to save the build time.rޝ…�r�¯}r�¯(jX\ on how to invoke the build for specific core and specific platform, to save the build time.jj€¯ubeubjb)�r‘¯}r’¯(jX<How to create a CCS project other than VPS loopback example?r“¯jje¯j jÇ©jjfj}r”¯(j]r•¯U;how-to-create-a-ccs-project-other-than-vps-loopback-exampler–¯aj]j]j]j]r—¯h×aujNjhj]r˜¯j%X<How to create a CCS project other than VPS loopback example?r™¯…�rš¯}r›¯(jj“¯jj‘¯ubaubjX)�rœ¯}r�¯(jX¬To create a CCS project for other VPS examples, please use the existing text file under PDK_INSTALL_PATH\packages\ti\drv\vps\examples\ccsprojects\am57xx\bios as a template:jje¯j jÇ©jj\j}rž¯(j]j]j]j]j]ujM@jhj]rŸ¯j%X¤To create a CCS project for other VPS examples, please use the existing text file under PDK_INSTALL_PATHpackagestidrvvpsexamplesccsprojectsam57xxbios as a template:r ¯…�r¡¯}r¢¯(jX¬To create a CCS project for other VPS examples, please use the existing text file under PDK_INSTALL_PATH\packages\ti\drv\vps\examples\ccsprojects\am57xx\bios as a template:jjœ¯ubaubj)�r£¯}r¤¯(jUjje¯j jÇ©jjj}r¥¯(jX-j]j]j]j]j]ujMEjhj]r¦¯(j)�r§¯}r¨¯(jXæCopy the .txt with desired processor then rename it to a new test project name accord to CCS project create convention, see `PDK Example and Test Project Creation `__jj£¯j jÇ©jj j}r©¯(j]j]j]j]j]ujNjhj]rª¯jX)�r«¯}r¬¯(jXæCopy the .txt with desired processor then rename it to a new test project name accord to CCS project create convention, see `PDK Example and Test Project Creation `__jj§¯j jÇ©jj\j}r­¯(j]j]j]j]j]ujMEj]r®¯(j%X|Copy the .txt with desired processor then rename it to a new test project name accord to CCS project create convention, see r¯¯…�r°¯}r±¯(jX|Copy the .txt with desired processor then rename it to a new test project name accord to CCS project create convention, see jj«¯ubj)�r²¯}r³¯(jXj`PDK Example and Test Project Creation `__j}r´¯(UnameX%PDK Example and Test Project CreationjX>index_how_to_guides.html#pdk-example-and-test-project-creationj]j]j]j]j]ujj«¯j]rµ¯j%X%PDK Example and Test Project Creationr¶¯…�r·¯}r¸¯(jUjj²¯ubajjubeubaubj)�r¹¯}rº¯(jX0Update the linked source files and include pathsr»¯jj£¯j jÇ©jj j}r¼¯(j]j]j]j]j]ujNjhj]r½¯jX)�r¾¯}r¿¯(jj»¯jj¹¯j jÇ©jj\j}rÀ¯(j]j]j]j]j]ujMHj]rÁ¯j%X0Update the linked source files and include pathsr¯…�rï}rį(jj»¯jj¾¯ubaubaubj)�rů}rƯ(jX;The common configuration file and build options can be keptrǯjj£¯j jÇ©jj j}rȯ(j]j]j]j]j]ujNjhj]rɯjX)�rʯ}r˯(jjǯjjůj jÇ©jj\j}r̯(j]j]j]j]j]ujMIj]rͯj%X;The common configuration file and build options can be keptrί…�rϯ}rЯ(jjǯjjʯubaubaubj)�rѯ}rÒ¯(jXiUpdate pre-defined symbol -D to match your SOC, like -DSOC_AM571x, -DSOC_AM572x or -DSOC_AM574xjj£¯j jÇ©jj j}rÓ¯(j]j]j]j]j]ujNjhj]rÔ¯jX)�rÕ¯}rÖ¯(jXiUpdate pre-defined symbol -D to match your SOC, like -DSOC_AM571x, -DSOC_AM572x or -DSOC_AM574xrׯjjѯj jÇ©jj\j}rد(j]j]j]j]j]ujMJj]rÙ¯j%XiUpdate pre-defined symbol -D to match your SOC, like -DSOC_AM571x, -DSOC_AM572x or -DSOC_AM574xrÚ¯…�rÛ¯}rܯ(jjׯjjÕ¯ubaubaubj)�rݯ}rÞ¯(jXtUpdate the configuration .bld file "-b ${PDK_INSTALL_PATH}/ti/build//config__.bld" to match your socjj£¯j jÇ©jj j}r߯(j]j]j]j]j]ujNjhj]rà¯jX)�rá¯}râ¯(jXtUpdate the configuration .bld file "-b ${PDK_INSTALL_PATH}/ti/build//config__.bld" to match your socrã¯jjݯj jÇ©jj\j}rä¯(j]j]j]j]j]ujMLj]rå¯j%XtUpdate the configuration .bld file "-b ${PDK_INSTALL_PATH}/ti/build//config__.bld" to match your socr毅�rç¯}rè¯(jjã¯jjá¯ubaubaubj)�ré¯}rê¯(jXpIn rtsc.setConfiguroOptions, add -DBOARD=, which can be idkAM571x, idkAM572x, evmAM572x or idkAM574xjj£¯j jÇ©jj j}rë¯(j]j]j]j]j]ujNjhj]rì¯jX)�rí¯}rî¯(jXpIn rtsc.setConfiguroOptions, add -DBOARD=, which can be idkAM571x, idkAM572x, evmAM572x or idkAM574xrï¯jjé¯j jÇ©jj\j}rð¯(j]j]j]j]j]ujMOj]rñ¯j%XpIn rtsc.setConfiguroOptions, add -DBOARD=, which can be idkAM571x, idkAM572x, evmAM572x or idkAM574xrò¯…�ró¯}rô¯(jjï¯jjí¯ubaubaubj)�rõ¯}rö¯(jXNSave the file and re-run pdkProjectCreate to create the new added CCS project jj£¯j jÇ©jj j}r÷¯(j]j]j]j]j]ujNjhj]rø¯jX)�rù¯}rú¯(jXMSave the file and re-run pdkProjectCreate to create the new added CCS projectrû¯jjõ¯j jÇ©jj\j}rü¯(j]j]j]j]j]ujMQj]rý¯j%XMSave the file and re-run pdkProjectCreate to create the new added CCS projectrþ¯…�rÿ¯}r°(jjû¯jjù¯ubaubaubeubjX)�r°}r°(jXDBelow is example for vps_dssExample_evmAM572x_armExampleProject.txt:r°jje¯j jÇ©jj\j}r°(j]j]j]j]j]ujMTjhj]r°j%XDBelow is example for vps_dssExample_evmAM572x_armExampleProject.txt:r°…�r°}r°(jj°jj°ubaubjX)�r °}r °(jX]``-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/vps/examples/dss/displayDss/src/DisplayDss_main.c"``r °jje¯j jÇ©jj\j}r °(j]j]j]j]j]ujMVjhj]r °j)�r°}r°(jj °j}r°(j]j]j]j]j]ujj °j]r°j%XY-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/vps/examples/dss/displayDss/src/DisplayDss_main.c"r°…�r°}r°(jUjj°ubajj ubaubjX)�r°}r°(jXh-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/vps/examples/ccsprojects/common/bios/utils/bspCommonBIOS_a15.cfg"r°jje¯j jÇ©jj\j}r°(j]j]j]j]j]ujMXjhj]r°j%Xh-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/vps/examples/ccsprojects/common/bios/utils/bspCommonBIOS_a15.cfg"r°…�r°}r°(jj°jj°ubaubjX)�r°}r°(jX~-ccs.setCompilerOptions "-c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -DMAKEFILE_BUILD -DNDEBUG -DTRACE_ENABLE -DASSERT_ENABLE -DVPS_VIP_BUILD -DVPS_VPE_BUILD -DVPS_DSS_BUILD -UVPS_ISS_BUILD -UVPS_SIMCOP_BUILD -UVPS_ISS_ISP_DEF -DVPS_VIP1_BUILD -DVPS_VIP2_BUILD -DVPS_VIP3_BUILD -DVPS_CAPT_BUILD -DVPS_DISP_BUILD -DSOC_AM572x -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A15F -g -gstrict-dwarf -gdwarf-3 -Wimplicit -Wall -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/vps -I${PDK_INSTALL_PATH}/ti/drv/vps/examples/dss/displayDss/src" -rtsc.enableRtscr°jje¯j jÇ©jj\j}r °(j]j]j]j]j]ujM[jhj]r!°j%X~-ccs.setCompilerOptions "-c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -DMAKEFILE_BUILD -DNDEBUG -DTRACE_ENABLE -DASSERT_ENABLE -DVPS_VIP_BUILD -DVPS_VPE_BUILD -DVPS_DSS_BUILD -UVPS_ISS_BUILD -UVPS_SIMCOP_BUILD -UVPS_ISS_ISP_DEF -DVPS_VIP1_BUILD -DVPS_VIP2_BUILD -DVPS_VIP3_BUILD -DVPS_CAPT_BUILD -DVPS_DISP_BUILD -DSOC_AM572x -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A15F -g -gstrict-dwarf -gdwarf-3 -Wimplicit -Wall -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/vps -I${PDK_INSTALL_PATH}/ti/drv/vps/examples/dss/displayDss/src" -rtsc.enableRtscr"°…�r#°}r$°(jj°jj°ubaubjX)�r%°}r&°(jX!-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu " -rtsc.setConfiguroOptions "-b ${PDK_INSTALL_PATH}/ti/build/am572x/config_am572x_a15.bld -DBOARD=evmAM572x"r'°jje¯j jÇ©jj\j}r(°(j]j]j]j]j]ujMgjhj]r)°j%X!-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu " -rtsc.setConfiguroOptions "-b ${PDK_INSTALL_PATH}/ti/build/am572x/config_am572x_a15.bld -DBOARD=evmAM572x"r*°…�r+°}r,°(jj'°jj%°ubaubjb)�r-°}r.°(jX@Can I load any jpeg file into the memory to display through DSS?r/°jje¯j jÇ©jjfj}r0°(j]r1°U?can-i-load-any-jpeg-file-into-the-memory-to-display-through-dssr2°aj]j]j]j]r3°h=aujNjhj]r4°j%X@Can I load any jpeg file into the memory to display through DSS?r5°…�r6°}r7°(jj/°jj-°ubaubjX)�r8°}r9°(jX`The display uses video, not static image as input. There is no JPEG decoder so it will not work.r:°jje¯j jÇ©jj\j}r;°(j]j]j]j]j]ujMrjhj]r<°j%X`The display uses video, not static image as input. There is no JPEG decoder so it will not work.r=°…�r>°}r?°(jj:°jj8°ubaubjb)�r@°}rA°(jXhIn DSS example, two input video files are loaded for testing, what is their format and how to play them?rB°jje¯j jÇ©jjfj}rC°(j]rD°Uein-dss-example-two-input-video-files-are-loaded-for-testing-what-is-their-format-and-how-to-play-themrE°aj]j]j]j]rF°h9aujNjhj]rG°j%XhIn DSS example, two input video files are loaded for testing, what is their format and how to play them?rH°…�rI°}rJ°(jjB°jj@°ubaubjX)�rK°}rL°(jXThe two files are with .tigf extension. Tigf is a local convention that TI development team followed. The file name (before the extension) shows what you are attempting to decode: e.g., 24 bit RGB or yuyv422 video file with 1920x1080 resolutions. To play them:rM°jje¯j jÇ©jj\j}rN°(j]j]j]j]j]ujMyjhj]rO°j%XThe two files are with .tigf extension. Tigf is a local convention that TI development team followed. The file name (before the extension) shows what you are attempting to decode: e.g., 24 bit RGB or yuyv422 video file with 1920x1080 resolutions. To play them:rP°…�rQ°}rR°(jjM°jjK°ubaubj)�rS°}rT°(jUjje¯j jÇ©jjj}rU°(jX-j]j]j]j]j]ujM~jhj]rV°(j)�rW°}rX°(jX¨In Linux, use avplay with syntax: avplay -video_size -pixel_format -f rawvideo