<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://e2e.ti.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>API solutions Forum - Recent Threads</title><link>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 01 Oct 2026 06:17:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum" /><item><title>TPSM33625FEVM: TI-API: Inventory Subscription Push callback blocked by TI Web Filter (403)</title><link>https://e2e.ti.com/thread/1686420?ContentTypeID=0</link><pubDate>Thu, 01 Oct 2026 06:17:35 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:1dab70a6-447b-4294-867f-169a6adeef10</guid><dc:creator>redtea tang</dc:creator><slash:comments>2</slash:comments><comments>https://e2e.ti.com/thread/1686420?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1686420/tpsm33625fevm-ti-api-inventory-subscription-push-callback-blocked-by-ti-web-filter-403/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/TPSM33625FEVM" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;TPSM33625FEVM&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/TI-API" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;TI-API&lt;/a&gt;,&lt;/p&gt;&lt;p&gt;Hello TI API Support,&lt;/p&gt;
&lt;p&gt;I am opening this new TI-API topic as advised in my previous E2E exchange.&lt;/p&gt;
&lt;p&gt;My TI Store API suite shows &amp;ldquo;Access approved&amp;rdquo; (29 September 2026). In the myTI Inventory Subscription API settings, the callback is configured as:&lt;br&gt;API URL: &lt;a href="https://mpnradar.com/api/ti/inventory/callback"&gt;https://mpnradar.com/api/ti/inventory/callback&lt;/a&gt;&lt;br&gt;Data format: JSON&lt;br&gt;Authentication: Basic (credentials are configured but are not included in this public post).&lt;/p&gt;
&lt;p&gt;When testing with POST transact.ti.com/.../test, webhook delivery fails. The test result includes an HTML &amp;ldquo;Restricted Site&amp;rdquo; page titled &amp;ldquo;Texas Instruments - Web Filter&amp;rdquo;, with /mwg-internal/ references, and reports a callback 403. Our application has not recorded an accepted test callback.&lt;/p&gt;
&lt;p&gt;From an external network, mpnradar.com resolves publicly, its HTTPS certificate validates, and TLS 1.2 connects successfully.&lt;/p&gt;
&lt;p&gt;Could you please confirm:&lt;br&gt;1. Is mpnradar.com blocked by TI&amp;rsquo;s outbound Web Filter or by a callback endpoint review policy?&lt;br&gt;2. Does this callback URL require explicit review, approval, or allowlisting? If so, what steps and expected review time apply?&lt;br&gt;3. If the callback hostname differs from the registered myTI customer domain, is that acceptable?&lt;br&gt;4. Can TI determine whether the test request reached our endpoint and which source IP or policy returned the 403?&lt;/p&gt;
&lt;p&gt;The support instructions requested &amp;ldquo;TI-API&amp;rdquo; as the part number, but the required part selector does not offer a TI-API entry. I selected TPSM33625FEVM (referenced in the related E2E discussion) only to satisfy the required selector. This is a general TI-API callback-delivery issue, not a device inventory question.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM263P2: Clarification on eFuse Register Access in HS-SE Mode (AM263Px)</title><link>https://e2e.ti.com/thread/1684007?ContentTypeID=0</link><pubDate>Mon, 21 Sep 2026 12:16:17 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:9ca79b7d-a96a-406c-a705-2406e52e4680</guid><dc:creator>Jayanthi Guruswamy</dc:creator><slash:comments>3</slash:comments><comments>https://e2e.ti.com/thread/1684007?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1684007/am263p2-clarification-on-efuse-register-access-in-hs-se-mode-am263px/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM263P2" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM263P2&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hello TI Team,&lt;/p&gt;
&lt;p&gt;We are reviewing the security architecture for the AM263Px device and would like clarification regarding host-core access to eFuse/OTP registers after the device transitions to High Security - Security Enforced (HS-SE) mode.&lt;/p&gt;
&lt;p&gt;We are assuming that TI&amp;#39;s foundational security architecture revokes host-core access to certian eFuse registers once the device transitions to HS-SE mode.&lt;/p&gt;
&lt;p&gt;Is our understanding correct on Jtag eFuses? or the above statement in general is wrong?&lt;/p&gt;
&lt;p&gt;Thanks in advance!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TPSM33625FEVM: TI Inventory Subscription Push API – Callback Blocked by TI Web Filter (403)</title><link>https://e2e.ti.com/thread/1683787?ContentTypeID=0</link><pubDate>Sun, 20 Sep 2026 18:26:42 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:43775240-8822-4914-876c-f774fbd04ebe</guid><dc:creator>Hui He</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1683787?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1683787/tpsm33625fevm-ti-inventory-subscription-push-api-callback-blocked-by-ti-web-filter-403/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/TPSM33625FEVM" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;TPSM33625FEVM&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/TI-API" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;TI-API&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hello TI API Team,&lt;/p&gt;
&lt;p&gt;This is a TI API support request, not a device-specific technical question.&lt;br&gt;The part number field was populated only because the support form requires a valid TI product.&lt;/p&gt;
&lt;p&gt;Previous Customer Support case: CS3591219.&lt;/p&gt;
&lt;p&gt;We are integrating the TI Inventory Subscription Push API.&lt;/p&gt;
&lt;p&gt;Our callback endpoint is:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://push.chipharbo.com/api/ti/inventory-webhook"&gt;https://push.chipharbo.com/api/ti/inventory-webhook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The callback endpoint has already been verified from the public Internet:&lt;/p&gt;
&lt;p&gt;- DNS resolves correctly&lt;br&gt;- HTTPS/TLS certificate is valid&lt;br&gt;- Port 443 is publicly reachable&lt;br&gt;- GET /health returns HTTP 200&lt;br&gt;- POST requests to the callback return HTTP 200&lt;br&gt;- Basic Authentication has been verified&lt;br&gt;- The callback returns:&lt;br&gt;&amp;nbsp; {&amp;quot;status&amp;quot;:&amp;quot;accepted&amp;quot;}&lt;/p&gt;
&lt;p&gt;Our TI Store API access is also working normally:&lt;/p&gt;
&lt;p&gt;- OAuth authentication succeeds&lt;br&gt;- GET /v2/store/subscriptions/inventory succeeds with HTTP 200&lt;br&gt;- Active Inventory Subscriptions can be retrieved successfully&lt;/p&gt;
&lt;p&gt;However, when calling:&lt;/p&gt;
&lt;p&gt;POST transact.ti.com/.../test&lt;/p&gt;
&lt;p&gt;the API request itself returns HTTP 200, but the webhook delivery result is:&lt;/p&gt;
&lt;p&gt;status: failed&lt;br&gt;responseCode: 403&lt;/p&gt;
&lt;p&gt;The returned response contains:&lt;/p&gt;
&lt;p&gt;Restricted Site&lt;br&gt;Texas Instruments - Web Filter&lt;br&gt;/mwg-internal/&lt;/p&gt;
&lt;p&gt;No webhook request reaches our server when this 403 occurs.&lt;/p&gt;
&lt;p&gt;We have also tested with different valid API credentials, and the same callback endpoint is still blocked by the TI Web Filter.&lt;/p&gt;
&lt;p&gt;Could the TI API Team please help confirm:&lt;/p&gt;
&lt;p&gt;1. Whether push.chipharbo.com is currently blocked by the TI outbound Web Filter.&lt;/p&gt;
&lt;p&gt;2. Whether the following callback endpoint requires TI-side review, approval, or allowlisting:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://push.chipharbo.com/api/ti/inventory-webhook"&gt;https://push.chipharbo.com/api/ti/inventory-webhook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. If the endpoint is blocked because of URL reputation, URL category, domain policy, or another TI security policy, what action is required for approval?&lt;/p&gt;
&lt;p&gt;4. Whether callback endpoint approval is associated with:&lt;br&gt;&amp;nbsp; &amp;nbsp;- the callback URL/domain,&lt;br&gt;&amp;nbsp; &amp;nbsp;- the myTI company account,&lt;br&gt;&amp;nbsp; &amp;nbsp;- or the API application / Client ID.&lt;/p&gt;
&lt;p&gt;5. If the API Client ID / Client Secret is replaced or rotated in the future, whether the same approved callback endpoint can continue to be used without another review.&lt;/p&gt;
&lt;p&gt;Our main request is to have this callback endpoint approved for TI Inventory Subscription Push traffic.&lt;/p&gt;
&lt;p&gt;We can provide sanitized /inventory/test logs and exact test timestamps privately if required.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LP-EM-CC35X1: CC35XX PSA Crypto: Is a combined ECDSA + ECDH key policy supported?</title><link>https://e2e.ti.com/thread/1681428?ContentTypeID=0</link><pubDate>Fri, 11 Sep 2026 07:33:13 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:e2246132-868a-4048-8ab9-4d6b982326ba</guid><dc:creator>Vishnu Babu</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/1681428?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1681428/lp-em-cc35x1-cc35xx-psa-crypto-is-a-combined-ecdsa-ecdh-key-policy-supported/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/LP-EM-CC35X1" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;LP-EM-CC35X1&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/SHA-256" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SHA-256&lt;/a&gt;, &lt;a href="https://www.ti.com/tool/SYSCONFIG" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SYSCONFIG&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hi TI Team,&lt;/p&gt;
&lt;p&gt;I am working with a &lt;strong&gt;CC35XX&lt;/strong&gt; device using &lt;strong&gt;SimpleLink Wi-Fi SDK 10.10.01.08&lt;/strong&gt; and the PSA Crypto API.&lt;/p&gt;
&lt;p&gt;I need to use a single persistent P-256 ECC key pair for two operations:&lt;/p&gt;
&lt;ol start="1" data-spread="false"&gt;
&lt;li&gt;&lt;strong&gt;ECDSA P-256 + SHA-256 signing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ECDH P-256 key agreement&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is based on an existing implementation on another platform where the same PSA key is configured with a primary ECDSA algorithm and ECDH as the enrollment/secondary algorithm.&lt;/p&gt;
&lt;p&gt;The key attributes I am using are:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_set_key_type(&amp;amp;attributes, PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1));
psa_set_key_bits(&amp;amp;attributes, 256);
psa_set_key_usage_flags(&amp;amp;attributes, PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_DERIVE);
psa_set_key_algorithm(&amp;amp;attributes, PSA_ALG_ECDSA(PSA_ALG_SHA_256));
psa_set_key_enrollment_algorithm(&amp;amp;attributes, PSA_ALG_ECDH);
psa_set_key_lifetime(&amp;amp;attributes, PSA_KEY_LIFETIME_PERSISTENT);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I have tested both &lt;code dir="ltr"&gt;psa_generate_key()&lt;/code&gt; and &lt;code dir="ltr"&gt;psa_import_key()&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;1. &lt;code dir="ltr"&gt;psa_import_key()&lt;/code&gt; result&lt;/h3&gt;
&lt;p&gt;Before importing the key, the attributes are:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;Algorithm  = 0x06000609   // PSA_ALG_ECDSA(PSA_ALG_SHA_256)
Algorithm2 = 0x09020000   // PSA_ALG_ECDH
Usage      = 0x00005400   // SIGN_HASH | DERIVE
Lifetime   = 0x00000001   // PSA_KEY_LIFETIME_PERSISTENT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The import succeeds.&lt;/p&gt;
&lt;p&gt;However, after retrieving the key attributes using:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;psa_get_key_attributes()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I get:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;Type       = 0x00007112
Bits       = 256
Usage      = 0x00005400
Algorithm  = 0x06000609
Algorithm2 = 0x06000609
Lifetime   = 0x00000001&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So the ECDH enrollment algorithm appears to be changed from:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;PSA_ALG_ECDH &lt;/code&gt;to:&lt;code dir="ltr"&gt;PSA_ALG_ECDSA(PSA_ALG_SHA_256)&lt;/code&gt;&lt;/pre&gt;
&lt;pre dir="ltr"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;during key import/storage.&lt;/p&gt;
&lt;h3&gt;2. ECDSA operation&lt;/h3&gt;
&lt;p&gt;Using the imported persistent key:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;psa_sign_hash(key_id,
    PSA_ALG_ECDSA(PSA_ALG_SHA_256),
    ...
);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;works successfully.&lt;/p&gt;
&lt;h3&gt;3. ECDH operation using the same key&lt;/h3&gt;
&lt;p&gt;When I try:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;psa_raw_key_agreement(PSA_ALG_ECDH, device_key_id, peer_public_key,
    peer_public_key_length, shared_secret, shared_secret_size, &amp;amp;shared_secret_length);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;the operation fails with:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;PSA_ERROR_NOT_PERMITTED (-133)&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4. Standalone ECDH test&lt;/h3&gt;
&lt;p&gt;To verify that ECDH itself is supported and working, I created two separate temporary P-256 key pairs with:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;psa_set_key_usage_flags(&amp;amp;attributes, PSA_KEY_USAGE_DERIVE);
psa_set_key_algorithm(&amp;amp;attributes, PSA_ALG_ECDH);
psa_set_key_lifetime(&amp;amp;attributes, PSA_KEY_LIFETIME_VOLATILE);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ECDH works successfully in both directions, and both sides produce the same 32-byte shared secret.&lt;/p&gt;
&lt;p&gt;Therefore, standalone P-256 ECDH through the CC35XX HSM is working.&lt;/p&gt;
&lt;h3&gt;My question&lt;/h3&gt;
&lt;p&gt;Is a &lt;strong&gt;single ECC P-256 key with combined ECDSA + ECDH usage&lt;/strong&gt; supported by the CC35XX PSA Crypto implementation?&lt;/p&gt;
&lt;p&gt;Specifically, is the following policy supported?&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;Key type: ECC P-256 key pair
Usage: PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_DERIVE
Primary algorithm: PSA_ALG_ECDSA(PSA_ALG_SHA_256)
Enrollment/secondary algorithm: PSA_ALG_ECDH&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If it is supported, could you please advise:&lt;/p&gt;
&lt;ol start="1" data-spread="false"&gt;
&lt;li&gt;Is there a specific key attribute configuration required for combined ECDSA + ECDH?&lt;/li&gt;
&lt;li&gt;Is &lt;code dir="ltr"&gt;psa_set_key_enrollment_algorithm()&lt;/code&gt; supported for persistent CC35XX keys?&lt;/li&gt;
&lt;li&gt;Is there a limitation in the CC35XX HSM/key store that causes &lt;code dir="ltr"&gt;alg2&lt;/code&gt; to be replaced by the primary algorithm during &lt;code dir="ltr"&gt;psa_generate_key()&lt;/code&gt; or &lt;code dir="ltr"&gt;psa_import_key()&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Is there a recommended way to configure a single persistent key for both ECDSA signing and ECDH key agreement?&lt;/li&gt;
&lt;li&gt;If combined policy is &lt;strong&gt;not supported&lt;/strong&gt;, is the recommended approach to use two separate persistent ECC key pairs&amp;mdash;one for ECDSA and one for ECDH?&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;SysConfig configuration&lt;/h3&gt;
&lt;p&gt;One additional observation: in my &lt;code dir="ltr"&gt;.syscfg&lt;/code&gt; project configuration, under:&lt;/p&gt;
&lt;pre dir="ltr"&gt;&lt;code dir="ltr"&gt;Crypto Drivers  &amp;rarr; TI Security Drivers&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I currently have &lt;strong&gt;PSA Crypto + KeyStore and RNG&lt;/strong&gt; added.&lt;/p&gt;
&lt;p&gt;I have not explicitly added separate SHA2, ECDSA, ECDH, or AES-GCM driver instances.&lt;/p&gt;
&lt;p&gt;My application will require:&lt;/p&gt;
&lt;ul data-spread="false"&gt;
&lt;li&gt;SHA-256&lt;/li&gt;
&lt;li&gt;TRNG&lt;/li&gt;
&lt;li&gt;ECDSA&lt;/li&gt;
&lt;li&gt;ECDH&lt;/li&gt;
&lt;li&gt;AES-256-GCM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Could the absence of these individual Crypto Driver instances affect PSA Crypto functionality on CC35XX, or are these operations automatically provided through the PSA Crypto/HSM implementation after &lt;code dir="ltr"&gt;psa_crypto_init()&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;I would appreciate any guidance on the supported combined-key policy and the required SysConfig configuration.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM62A7-Q1: DLInferer::run() call blocks.</title><link>https://e2e.ti.com/thread/1680966?ContentTypeID=0</link><pubDate>Thu, 10 Sep 2026 02:50:15 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:95dbc017-a27d-47d3-bcdd-af70a25751db</guid><dc:creator>junliang xia</dc:creator><slash:comments>9</slash:comments><comments>https://e2e.ti.com/thread/1680966?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1680966/am62a7-q1-dlinferer-run-call-blocks/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM62A7-Q1" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM62A7-Q1&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;ol start="1"&gt;
&lt;li&gt;
&lt;p&gt;Calling DLInferer::run() requires setting the export TIDL_RT_DDR_STATS=0 variable; otherwise, after normal calls for a period of time, it will block in DLInferer::run().&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After setting the export TIDL_RT_DDR_STATS=0 variable and calling DLInferer::run(), if the systemctl restart command is used to restart the service program that calls the DLInferer::run() interface, it will block in DLInferer::run() after 20 to 40 restarts. The resource release issues within the service program have already been investigated, and no abnormal resource release issues have been found.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TMS320F2800156-Q1: Flashdriver</title><link>https://e2e.ti.com/thread/1680688?ContentTypeID=0</link><pubDate>Wed, 09 Sep 2026 08:43:21 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:cd5ca6ba-501f-45da-99a9-8293ade71204</guid><dc:creator>youjun zhang</dc:creator><slash:comments>2</slash:comments><comments>https://e2e.ti.com/thread/1680688?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1680688/tms320f2800156-q1-flashdriver/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/TMS320F2800156-Q1" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;TMS320F2800156-Q1&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/SIMMA-3P-UDS" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SIMMA-3P-UDS&lt;/a&gt;, &lt;a href="https://www.ti.com/tool/SIMMA-3P-FLASHBOOTLOADER" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SIMMA-3P-FLASHBOOTLOADER&lt;/a&gt;, &lt;a href="https://www.ti.com/tool/C2000WARE" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;C2000WARE&lt;/a&gt;&lt;/p&gt;&lt;p&gt;hi expert:&lt;/p&gt;
&lt;p&gt;In the UDS requirements, flashdriver.hex (a separate file stored in RAM) is needed to perform flash erase and write operations. Firstly, in BootLoader, can commutation is used to receive flashdriver.hex. After successful reception, the erase and write operation functions are called to update the app.hex. Is there any relevant routine or solution introduction? How to use the flashAPI library file to create a flashdriver&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>DLPC964: How to check the internal temperature</title><link>https://e2e.ti.com/thread/1679485?ContentTypeID=0</link><pubDate>Fri, 04 Sep 2026 09:06:32 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:2d882c72-bb03-46ad-a07f-cbb2ef9e37a3</guid><dc:creator>Shinkichi Kuroiwa</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1679485?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1679485/dlpc964-how-to-check-the-internal-temperature/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/DLPC964" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;DLPC964&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com/tool/DLPLCRC964EVM" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;DLPLCRC964EVM&lt;/a&gt;, &lt;a href="https://www.ti.com/product/TMP411" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;TMP411&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Please explain how to check the internal temperature of the DLPC964.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>DLPC964: How to check the internal temperature</title><link>https://e2e.ti.com/thread/1679484?ContentTypeID=0</link><pubDate>Fri, 04 Sep 2026 09:06:32 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:43403bfc-dbfe-4330-a3e3-23b623adeec8</guid><dc:creator>Shinkichi Kuroiwa</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1679484?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1679484/dlpc964-how-to-check-the-internal-temperature/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/DLPC964" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;DLPC964&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please explain how to check the internal temperature of the DLPC964.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM62P: For inquiries regarding DSS sending issues</title><link>https://e2e.ti.com/thread/1678719?ContentTypeID=0</link><pubDate>Wed, 02 Sep 2026 10:52:21 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:12e910ee-f633-4d7c-abec-6ed68846d686</guid><dc:creator>Q W</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1678719?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1678719/am62p-for-inquiries-regarding-dss-sending-issues/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM62P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM62P&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span data-group="0-0" data-sentence="0" data-section="0"&gt;Hello&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-group="0-0" data-sentence="0" data-section="0"&gt;As shown in the following figure, a CRC check value needs to be added at the end of each frame of the sent video stream, and this value needs to be sent in the HFP. May I ask if our DSS supports this method?&lt;/span&gt;&lt;span data-group="0-1" data-sentence="1" data-section="0"&gt;If supported, what configurations and operations need to be done&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1062/_5563B783_.JPG" alt=" "&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM2434: Regarding the EtherCAT SubDevice, the processing time for each process is longer than expected.</title><link>https://e2e.ti.com/thread/1678274?ContentTypeID=0</link><pubDate>Tue, 01 Sep 2026 08:39:42 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:8091018d-949c-48ad-b071-4fbf8e0f050e</guid><dc:creator>?? ??</dc:creator><slash:comments>4</slash:comments><comments>https://e2e.ti.com/thread/1678274?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1678274/am2434-regarding-the-ethercat-subdevice-the-processing-time-for-each-process-is-longer-than-expected/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM2434" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM2434&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/LP-AM243" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;LP-AM243&lt;/a&gt;, &lt;a href="https://www.ti.com/tool/TMDS64EVM" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;TMDS64EVM&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hello to the development team.&lt;/p&gt;
&lt;p&gt;I am developing software for an EtherCAT subdevice using your LP-AM243 board.&lt;/p&gt;
&lt;p&gt;We encountered the issue mentioned in the title during the course of development.&lt;/p&gt;
&lt;h1&gt;Environment&lt;/h1&gt;
&lt;p&gt;Board: LP-AM243&lt;/p&gt;
&lt;p&gt;SDK: ind_comms_sdk_am243x_2026_00_00_06 (Standard) and MCU+SDK mcu_plus_sdk_am243x_12_00_00_26&lt;/p&gt;
&lt;p&gt;Usage Example: 401_simple from EtehrCAT_Subdevice_demo&lt;/p&gt;
&lt;h1&gt;Problem&lt;/h1&gt;
&lt;p&gt;We are attempting EtherCAT communication using DC synchronization with a cycle time of 250 &amp;micro;s.&lt;/p&gt;
&lt;p&gt;Test Case 1:&lt;br&gt;We confirmed that communication operates normally when the process data size is 14 bytes for input and 18 bytes for output.&lt;/p&gt;
&lt;p&gt;Test Case 2:&lt;br&gt;We confirmed that communication fails (becomes abnormal) when the process data size is 798 bytes for input and 722 bytes for output.&lt;/p&gt;
&lt;p&gt;Ideally, we would like to establish communication using a single sub-device with data sizes of up to 1 KB in each direction, as in Test Case 2.&lt;/p&gt;
&lt;h1&gt;Investigation&lt;/h1&gt;
&lt;p&gt;To investigate the issue and check task load, we used FreeRTOS hook functions to monitor the task context and measure task execution times. The results were as follows:&lt;/p&gt;
&lt;p&gt;Conditions: Cycle time 250 &amp;micro;s, DC synchronization, OP state&lt;/p&gt;
&lt;p&gt;Test Case 1:&lt;br&gt;BEPDItask: Approx. 74 &amp;micro;s&lt;br&gt;BESync0Task: Approx. 115 &amp;micro;s&lt;br&gt;Appl_LoopTask: Approx. 35 &amp;micro;s&lt;/p&gt;
&lt;p&gt;Test Case 2:&lt;br&gt;No measurement results available (failed to transition to OP state).&lt;/p&gt;
&lt;h1&gt;Questions&lt;/h1&gt;
&lt;p&gt;1. Is it possible to communicate with process data sizes of up to 1 KB (as in Test Case 2) using the desired cycle time and synchronization method?&lt;br&gt;If so, please provide an estimate of the maximum configurable process data size under these conditions.&lt;br&gt;2. Regarding the BESync0Task and BEPDItask in Test Case 1, the execution times seem quite long relative to the configured process data size; are these considered reasonable execution times?&lt;/p&gt;
&lt;p&gt;Thank you for your assistance.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TMS320C6748: G722.2 (AMR-WB) Codec for C6x DSP</title><link>https://e2e.ti.com/thread/1678001?ContentTypeID=0</link><pubDate>Mon, 31 Aug 2026 13:47:52 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:4fa10855-10f9-4653-a411-4af5513daf83</guid><dc:creator>Uwe Halm</dc:creator><slash:comments>2</slash:comments><comments>https://e2e.ti.com/thread/1678001?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1678001/tms320c6748-g722-2-amr-wb-codec-for-c6x-dsp/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/TMS320C6748" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;TMS320C6748&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Does TI provide a library for G722.2 Codec for C674x DSPs?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TMS320F280049C: SCI Bootloader: .TXT file format datasheet</title><link>https://e2e.ti.com/thread/1677977?ContentTypeID=0</link><pubDate>Mon, 31 Aug 2026 12:40:06 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:8ed7f78d-0a4d-417f-8815-9ada9c13be3a</guid><dc:creator>Nibesh Khulal</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1677977?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1677977/tms320f280049c-sci-bootloader-txt-file-format-datasheet/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/TMS320F280049C" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;TMS320F280049C&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/LAUNCHXL-F2800157" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;LAUNCHXL-F2800157&lt;/a&gt;&lt;/p&gt;&lt;p&gt;SCI Bootloader:&lt;br&gt;FILE: &amp;nbsp; flashapi_ex2_sciKernel.c&lt;br&gt;FILE: &amp;nbsp; flashapi_ex3_liveFirmwareUpdate.c&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;Hello,&amp;nbsp;I am looking for help understanding the UART bootloading TXT file format.&lt;/p&gt;
&lt;p&gt;I would like to understand the structure and flow of the TXT file format. If you have any documentation, datasheets, or reference materials related to the TXT file format, it would be very helpful for my understanding.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM62P-Q1: AM62Px: A53 Core 0 Fails to Boot After Running MAIN and MPU PBIST in SBL Stage 2 (MCU+ SDK 10.00.00)</title><link>https://e2e.ti.com/thread/1677401?ContentTypeID=0</link><pubDate>Fri, 28 Aug 2026 06:07:48 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:4b682d87-e462-4b43-8e25-621109b8c5d6</guid><dc:creator>ayyappa T</dc:creator><slash:comments>5</slash:comments><comments>https://e2e.ti.com/thread/1677401?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1677401/am62p-q1-am62px-a53-core-0-fails-to-boot-after-running-main-and-mpu-pbist-in-sbl-stage-2-mcu-sdk-10-00-00/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM62P-Q1" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM62P-Q1&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;SDK Version: MCU+ SDK 10.00.00&lt;/p&gt;
&lt;p&gt;Executing Core: WKUP R5F (SBL OSPI Stage 2)&lt;/p&gt;
&lt;p&gt;Hi TI Team,&lt;/p&gt;
&lt;p&gt;We are working on implementing Memory Built-In Self-Test (PBIST) in the SBL (OSPI Stage 2) sequence on the AM62Px SoC before loading and executing remote core image binaries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Implementation Details&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We are running PBIST from the WKUP R5F core during SBL OSPI Stage 2.&lt;/p&gt;
&lt;p&gt;MCU PBIST instances are handled separately using their respective dedicated APIs (SDL_SBL_PBIST_selfTest).&lt;/p&gt;
&lt;p&gt;We ported and integrated the pbist_mpu&amp;nbsp; example logic into SBL Stage 2 to test the MAIN and MPU instances prior to loading the A53 images (bare metal).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Issue Description&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When executing PBIST on the MAIN and MPU instances during Stage 2:&lt;/p&gt;
&lt;p&gt;PBIST completes (or passes), but A53 Core 0 fails to boot / execute afterwards.&lt;/p&gt;
&lt;p&gt;Even after attempting the recommended hardware power-down and restoration sequences (via Sciclient / PSC force updates) to restore default device states, the A53 core remains stuck or deadlocked.&lt;/p&gt;
&lt;p&gt;If we disable the MAIN and MPU PBIST steps in SBL Stage 2, the A53 core boots up normally without issues.&lt;br&gt;Questions:&lt;/p&gt;
&lt;p&gt;Are there specific isolated power-domain reset, clock-gating, or TISCI sequence steps required to completely restore the MPU (Compute Cluster) and MAIN interconnects to a clean operational state after PBIST completes?&lt;/p&gt;
&lt;p&gt;Is running MPU PBIST directly from SBL Stage 2 (WKUP R5) supported without requiring a full SoC warm reset afterwards?&lt;/p&gt;
&lt;p&gt;Does TI provide a specific reference sequence or example for running destructive MPU/MAIN PBIST within SBL prior to handing off execution to A53?&lt;br&gt;&lt;br&gt;Provide us details regarding the POST test how can we trigger it from the HS_FS devices and How can we check the result from the SBL itself.&lt;/p&gt;
&lt;p&gt;Any guidance on missing clean-up or power restoration steps would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;Thanks and regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>MSP430FR6045: Countermeasures for Ultrasonic Sensor Degradation in Ultrasonic Water Meters</title><link>https://e2e.ti.com/thread/1675291?ContentTypeID=0</link><pubDate>Fri, 21 Aug 2026 05:19:24 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:513ce5cf-44a7-47a4-b6e1-3799ae1098ef</guid><dc:creator>Kenichi Maruyama</dc:creator><slash:comments>3</slash:comments><comments>https://e2e.ti.com/thread/1675291?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1675291/msp430fr6045-countermeasures-for-ultrasonic-sensor-degradation-in-ultrasonic-water-meters/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/MSP430FR6045" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;MSP430FR6045&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I hope this email finds you well. I would like to consult you regarding an accelerated test we conducted on the ultrasonic sensor.&lt;/p&gt;
&lt;p&gt;Under normal operating conditions, the sensor is expected to be pulsed approximately 300 million times over the 10-year guaranteed service life. In our accelerated test, we shortened the pulse interval (period) to 1/100 of the actual operating interval, completing all 300 million pulses within a few months. As a result, we detected a non-negligible change in calibration accuracy (measurement offset/drift).&lt;/p&gt;
&lt;p&gt;Regarding this, we would appreciate your guidance on the following two points:&lt;/p&gt;
&lt;p&gt;1. Is it technically plausible that drastically shortening the pulse interval in an accelerated test could produce a different mechanism of calibration drift than what would occur under actual field conditions (i.e., pulsing naturally over 10 years)?&lt;/p&gt;
&lt;p&gt;2. If such an effect (specific to the accelerated test conditions) can indeed occur, what countermeasures should be implemented on the microcontroller side (signal processing / correction logic)?&lt;/p&gt;
&lt;p&gt;For reference, we understand the possible causes of sensor degradation as follows:&lt;/p&gt;
&lt;p&gt;[Degradation that could inherently occur under actual field use (dependent on pulse count)]&lt;br&gt;- Fatigue of the piezoelectric element (transducer), causing changes in resonant frequency, sensitivity, and sound pressure level&lt;br&gt;- Creep or delamination of the diaphragm or adhesive layer&lt;br&gt;- Metal fatigue at electrodes or lead wires, leading to degraded connections&lt;/p&gt;
&lt;p&gt;[Possible artifacts specific to the accelerated test (due to the shortened cycle time)]&lt;br&gt;- Because the shortened pulse interval does not allow sufficient time for heat dissipation, the element may operate under a continuously elevated temperature state. This could cause reversible or irreversible changes in piezoelectric properties (e.g., dielectric constant, mechanical Q factor).&lt;/p&gt;
&lt;p&gt;Given the above distinction, we would greatly appreciate your opinion on whether the calibration drift detected in the accelerated test represents an intrinsic degradation that would also occur under actual field use, or whether it is a phenomenon specific to the test conditions.&lt;/p&gt;
&lt;p&gt;Thank you very much for your time, and we look forward to your response.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LMK04832-SP: Technical Inquiry: Comparison between SEP and EP variants for LMK04832 and LMX2694</title><link>https://e2e.ti.com/thread/1675076?ContentTypeID=0</link><pubDate>Thu, 20 Aug 2026 13:57:18 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:31551505-f11e-4402-a1b8-f3005143102a</guid><dc:creator>Lars Jackson</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1675076?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1675076/lmk04832-sp-technical-inquiry-comparison-between-sep-and-ep-variants-for-lmk04832-and-lmx2694/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/LMK04832-SP" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMK04832-SP&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/product/LMK04832-SEP" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMK04832-SEP&lt;/a&gt;, &lt;a href="https://www.ti.com/product/LMX2694-SEP" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMX2694-SEP&lt;/a&gt;, &lt;a href="https://www.ti.com/product/LMX2694-EP" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMX2694-EP&lt;/a&gt;&lt;/p&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&lt;span style="color:#424242;font-family:Arial, sans-serif;"&gt;Dear Texas Instruments Support Team,&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&lt;span style="color:#424242;font-family:Arial, sans-serif;"&gt;I am writing to request technical clarification regarding the similarities and differences between the Space Enhanced Plastic (SEP) and Enhanced Plastic (EP) product variants for two specific components we are currently evaluating.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&lt;span style="color:#424242;font-family:Arial, sans-serif;"&gt;Specifically, we are looking at the following parts:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border:solid #E3E3E3 1.0pt;margin-left:.25in;margin-right:0in;padding:0in 0in 0in 5.0pt;"&gt;
&lt;ol style="list-style-position:outside;margin-bottom:0in;margin-top:0in;" start="1"&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;LMK04832-SEP&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;vs.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;LMK04832-EP&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;LMX2694-SEP&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;vs.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;LMX2694-EP&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&lt;span style="color:#424242;font-family:Arial, sans-serif;"&gt;To help us determine the appropriate component for our application requirements, could you please provide detailed information on the following:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border:solid #E3E3E3 1.0pt;margin-left:.25in;margin-right:0in;padding:0in 0in 0in 5.0pt;"&gt;
&lt;ul style="margin-bottom:0in;margin-top:0in;"&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;Manufacturing Location (Foundry and Assembly):&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;Are the SEP and EP variants fabricated in the exact same foundry? Additionally, are they assembled and tested at the same facilities, or are there different supply chains/locations used for the SEP line versus the EP line? We know that there are two potential fabrication location that TI uses for these devices, but it is important to us to know if the components are fabricated at the same foundry or not.&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;Die and Silicon:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;Do the SEP and EP versions of these parts share the exact same silicon die and revision?&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;Packaging and Materials:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;Are there any physical differences in the packaging, such as the mold compound, bond wires, or lead-frame finish?&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;Screening and Qualification:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;What are the specific differences in manufacturing flows, lot acceptance testing, and baseline qualifications&amp;nbsp; between the SEP and EP variants?&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;Radiation Tolerance:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;We understand SEP generally includes radiation lot acceptance or characterization. Could you provide the Single Event Effects (SEE) and Total Ionizing Dose (TID) data for the SEP parts? Furthermore, since they may share the same die, do the EP parts share the same baseline radiation performance, or are they entirely uncharacterized and lacking lot-to-lot traceability for radiation?&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-color:currentcolor;border-width:medium;color:#424242;font-family:Aptos, sans-serif;font-size:12pt;margin-bottom:0in;margin-right:0in;margin-top:0in;padding:0in;"&gt;&lt;strong&gt;&lt;span style="border:solid #E3E3E3 1.0pt;color:#111827;font-family:Arial, sans-serif;padding:0in;"&gt;Documentation:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&amp;nbsp;Are there any TI application notes, reliability reports, or side-by-side comparison matrices available for these specific part numbers?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&lt;span style="color:#424242;font-family:Arial, sans-serif;"&gt;Thank you in advance for your time and support.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Aptos, sans-serif;font-size:12pt;margin:0in;"&gt;&lt;span style="color:#424242;font-family:Arial, sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM62P: [AM62P-TISDK-Baremetal ]  SDL tests covers PBIST , and TI provided an example, does it need to be called when all cores are in reset mode?</title><link>https://e2e.ti.com/thread/1675052?ContentTypeID=0</link><pubDate>Thu, 20 Aug 2026 13:08:25 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:7987a835-44e7-4c63-b3b0-883a4cf2986f</guid><dc:creator>shriya kulkarni</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1675052?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1675052/am62p-am62p-tisdk-baremetal-sdl-tests-covers-pbist-and-ti-provided-an-example-does-it-need-to-be-called-when-all-cores-are-in-reset-mode/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM62P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM62P&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hi Team,&lt;/p&gt;
&lt;p&gt;I need clarity on SDL tests to be called during which boot up sequence. SDL tests consists of PBIST , can be it called later once all cores are up and running ? Do we need to follow the reset sequence here. Please provide me expected steps to trigger SDL tests .&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If there is flowchart/document please share it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Shriya&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM62P: the EMC init position</title><link>https://e2e.ti.com/thread/1674843?ContentTypeID=0</link><pubDate>Thu, 20 Aug 2026 05:30:14 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:fb6b1cfd-7d99-4267-bd14-afac961522a1</guid><dc:creator>Q W</dc:creator><slash:comments>9</slash:comments><comments>https://e2e.ti.com/thread/1674843?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1674843/am62p-the-emc-init-position/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM62P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM62P&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;hello,&lt;/p&gt;
&lt;p&gt;Currently, emmc is initialized within the task in the wkup R5 core. Can we move it to complete the initialization before the task starts?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TPS628301: What is the Country of Diffusion(COD) for TPS628301ADRLR?</title><link>https://e2e.ti.com/thread/1674059?ContentTypeID=0</link><pubDate>Tue, 18 Aug 2026 06:44:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:8debd9c2-665a-4ab2-a216-b161d60dc4d2</guid><dc:creator>語庭 劉</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1674059?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1674059/tps628301-what-is-the-country-of-diffusion-cod-for-tps628301adrlr/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/TPS628301" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;TPS628301&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is the Country of Diffusion(COD) for TPS628301ADRLR?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM6422: AM6422: Configuring Firewall in Board Configuration</title><link>https://e2e.ti.com/thread/1673794?ContentTypeID=0</link><pubDate>Mon, 17 Aug 2026 12:20:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:3657c430-b417-4958-b73f-a583406e2944</guid><dc:creator>William Durocher</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1673794?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1673794/am6422-am6422-configuring-firewall-in-board-configuration/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM6422" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM6422&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/SYSCONFIG" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SYSCONFIG&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Is it possible to configure the firewall through the board configuration.&lt;/p&gt;
&lt;p&gt;I have looked at the possible outputs of SysConfig both in K3 respart and SDK and neither generate the expected&amp;nbsp; &lt;em&gt;&amp;quot;sciclient_defaultBoardcfg_rm&amp;quot;&lt;/em&gt; file.&lt;/p&gt;
&lt;p&gt;From K3 respart I get the file &lt;em&gt;&amp;quot;Am64x_firewall_data.c&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From SDK the firewall regions are in te file &lt;em&gt;&amp;quot;ti_drivers_config.c&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Must firewalls be configured exclusively through TISCI messages or is there a path to configure them thoug a board config blob.&lt;/p&gt;
&lt;p&gt;Note that I have tried with SDK 12.0.0.27 and both Sysconfig 1.26.0 and 1.28.0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LMR60440: LMR60440 SW Pin Transient Voltage Allowance</title><link>https://e2e.ti.com/thread/1673645?ContentTypeID=0</link><pubDate>Mon, 17 Aug 2026 06:37:10 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:c9d54d2c-b682-4df3-8e8d-90e1533521b4</guid><dc:creator>RAITA HIGASHITANI</dc:creator><slash:comments>8</slash:comments><comments>https://e2e.ti.com/thread/1673645?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1673645/lmr60440-lmr60440-sw-pin-transient-voltage-allowance/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/LMR60440" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMR60440&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com/product/LMR60410-Q1" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMR60410-Q1&lt;/a&gt;,&lt;/p&gt;&lt;div&gt;
&lt;p&gt;Hello TI Team,&lt;/p&gt;
&lt;p&gt;We have a question regarding the SW pin absolute maximum rating of LMR60440.&lt;/p&gt;
&lt;p&gt;In the LMR60410-Q1 datasheet, the following note is described:&lt;/p&gt;
&lt;div&gt;&amp;quot;Do not externally drive the SW pin. A voltage of 5V below PGND and peak voltage not exceeding 42V for less than 20ns is allowed during switching transitions.&amp;quot;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;For LMR60440, the Absolute Maximum Ratings specify the SW pin rating as:
&lt;div&gt;&amp;quot;SW to PGND: -0.3V to VIN + 0.3V&amp;quot;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p&gt;Our customer observed a short-duration undershoot and overshoot on the SW pin during normal switching operation.&lt;/p&gt;
&lt;p&gt;Measured conditions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VIN = 24.2V&lt;/li&gt;
&lt;li&gt;SW peak = 26.7V&lt;/li&gt;
&lt;li&gt;SW minimum = -3.0V&lt;/li&gt;
&lt;li&gt;Duration of overshoot/undershoot &amp;asymp; 5ns&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We would like to confirm the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Does the same transient allowance described for LMR60410-Q1 apply to LMR60440?&lt;/li&gt;
&lt;li&gt;Is a transient condition of approximately -3V to 26.7V for about 5ns considered acceptable during switching transitions for LMR60440?&lt;/li&gt;
&lt;li&gt;Are there any reliability concerns associated with this level of SW-node ringing?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We appreciate your guidance.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Raita Higashitani&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>MSP430FR6045: Inquiries Regarding the Terms of Use for Driver Libraries and APIs Related to Development and Publication on GitHub</title><link>https://e2e.ti.com/thread/1670429?ContentTypeID=0</link><pubDate>Wed, 05 Aug 2026 01:30:54 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:5afecf92-6056-429f-9d70-e9c7c9f2a639</guid><dc:creator>Kenichi Maruyama</dc:creator><slash:comments>6</slash:comments><comments>https://e2e.ti.com/thread/1670429?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1670429/msp430fr6045-inquiries-regarding-the-terms-of-use-for-driver-libraries-and-apis-related-to-development-and-publication-on-github/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/MSP430FR6045" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;MSP430FR6045&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;We are considering developing an embedded system using the MSP430FR6045 on GitHub.&lt;br&gt;In this regard, we would appreciate it if you could advise us on any points we should be aware of when using the driver libraries and various APIs provided by your company, such as whether they can be published on GitHub and any licensing restrictions.&lt;br&gt;Additionally, we would be grateful if you could let us know of any other considerations we should keep in mind as we proceed with development and operation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM263P4-Q1: CPTS: `ENET_TIMESYNC_IOCTL_ADJUST_TIMESTAMP` applies only 1/(tsAddVal+1) of the requested frequency correction</title><link>https://e2e.ti.com/thread/1670392?ContentTypeID=0</link><pubDate>Tue, 04 Aug 2026 19:06:59 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:69463599-3f3a-4f15-b272-5ad5397cf49d</guid><dc:creator>Kevin DeVries</dc:creator><slash:comments>2</slash:comments><comments>https://e2e.ti.com/thread/1670392?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1670392/am263p4-q1-cpts-enet_timesync_ioctl_adjust_timestamp-applies-only-1-tsaddval-1-of-the-requested-frequency-correction/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM263P4-Q1" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM263P4-Q1&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;**Product:** MCU_PLUS_SDK_AM263Px&lt;br&gt;**SDK version:** 26.00.00.06&lt;br&gt;**Device:** AM263P4-Q1 (ZCZ-C package), Cortex-R5F, FreeRTOS&lt;br&gt;**Component:** `networking/enet` &amp;mdash; CPSW CPTS (`cpsw_cpts_ioctl.c`)&lt;br&gt;**Category:** Functional defect &amp;mdash; incorrect scaling&lt;br&gt;**Severity:** High &amp;mdash; silently breaks any PTP clock servo built on this ioctl; the&lt;br&gt;loop diverges rather than converging&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`ENET_TIMESYNC_IOCTL_ADJUST_TIMESTAMP` under-applies the requested frequency&lt;br&gt;adjustment by a factor of **(`tsAddVal` + 1)**, which is the CPTS reference-clock&lt;br&gt;tick in nanoseconds. On AM263Px with the standard 200 MHz CPTS reference the tick&lt;br&gt;is 5 ns, so **only 1/5 of the requested correction is realised**.&lt;/p&gt;
&lt;p&gt;The driver already knows about this scaling and applies it correctly to the&lt;br&gt;GENF/ESTF outputs a few lines earlier &amp;mdash; complete with an explanatory comment &amp;mdash;&lt;br&gt;but omits it for the main `TS_PPM` timestamp adjustment. The two branches&lt;br&gt;disagree with each other within the same function.&lt;/p&gt;
&lt;p&gt;Consequence: a PI clock servo that requests the correct rate correction observes&lt;br&gt;only 20% of it, concludes the correction was insufficient, and demands more. The&lt;br&gt;control loop winds up and **diverges**. Because the direction of correction is&lt;br&gt;right and only the magnitude is wrong, the failure closely mimics a sign error,&lt;br&gt;which sends debugging in the wrong direction.&lt;/p&gt;
&lt;p&gt;## Root cause&lt;/p&gt;
&lt;p&gt;In `CpswCpts_ioctl_handler_ENET_TIMESYNC_IOCTL_ADJUST_TIMESTAMP()`,&lt;br&gt;`source/networking/enet/core/src/mod/cpsw_cpts_ioctl.c:286-319`:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;adjVal = (uint64_t)tsAdj-&amp;gt;intervalInNsecs / adjOffset; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* line 286 */&lt;br&gt;if (adjVal &amp;lt;= (uint64_t)CPSW_CPTS_PPM_MIN_VAL) { ... }&lt;/p&gt;
&lt;p&gt;tsPpmValHi = (uint32_t)(adjVal &amp;gt;&amp;gt; 32U); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* line 294 */&lt;br&gt;tsPpmValLo = (uint32_t)(adjVal &amp;amp; 0xFFFFFFFFU); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* line 295 */&lt;/p&gt;
&lt;p&gt;if (estfIdxMask != 0U)&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; /* GenF/ESTFn PPM will do correction using cpts refclk tick which is&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* (cpts-&amp;gt;ts_add_val + 1) ns, so GenF/ESTFn length PPM adj period&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* need to be corrected.&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;br&gt;&amp;nbsp; &amp;nbsp; estfAdjVal = adjVal * (hCpts-&amp;gt;tsAddVal + 1U); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* line 303 &amp;nbsp;&amp;lt;-- scaled */&lt;br&gt;&amp;nbsp; &amp;nbsp; ...&lt;br&gt;}&lt;/p&gt;
&lt;p&gt;if (genfIdxMask != 0U)&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; /* ...same comment... */&lt;br&gt;&amp;nbsp; &amp;nbsp; genfAdjVal = adjVal * (hCpts-&amp;gt;tsAddVal + 1); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* line 314 &amp;nbsp;&amp;lt;-- scaled */&lt;br&gt;&amp;nbsp; &amp;nbsp; ...&lt;br&gt;}&lt;/p&gt;
&lt;p&gt;CSL_CPTS_setTSPpm(regs, tsPpmValLo, tsPpmValHi, ppmDir); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* line 319 &amp;nbsp;&amp;lt;-- NOT scaled */&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;The comment at lines 299-302 states the reason correctly: PPM correction operates&lt;br&gt;on CPTS reference-clock ticks of `(ts_add_val + 1)` ns. That reasoning applies&lt;br&gt;equally to `TS_PPM`, which is driven by the same reference clock, but the scaling&lt;br&gt;is never applied to `tsPpmValLo`/`tsPpmValHi`.&lt;/p&gt;
&lt;p&gt;`CSL_CPTS_setTSPpm()` (`hw_include/cpts/csl_cpts.c:301-318`) is a thin register&lt;br&gt;write and performs no compensation of its own, so the unscaled value reaches the&lt;br&gt;hardware directly.&lt;/p&gt;
&lt;p&gt;`tsAddVal` is assigned from the syscfg reference-clock selection in&lt;br&gt;`core/src/mod/cpsw_cpts.c:359`:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;hCpts-&amp;gt;tsAddVal = cptsCfg-&amp;gt;cptsRftClkFreq;&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;and the enum values in `core/include/mod/cpsw_cpts.h:238-263` are the add values&lt;br&gt;themselves (`CPSW_CPTS_RFTCLK_FREQ_200MHZ = 4U`), giving a 5 ns tick at 200 MHz.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;### Derivation&lt;/p&gt;
&lt;p&gt;`TS_PPM` adds one nanosecond every `adjVal` reference-clock cycles. Each cycle&lt;br&gt;advances the timestamp by `(tsAddVal + 1)` ns. So the realised fractional rate is&lt;/p&gt;
&lt;p&gt;```&lt;br&gt;rate = 1 ns / (adjVal * (tsAddVal + 1) ns) = 1 / (adjVal * 5) &amp;nbsp; &amp;nbsp; &amp;nbsp;[200 MHz]&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;With `adjVal = intervalInNsecs / |adjValInNsecs|` = `1e9 / X`, the realised&lt;br&gt;correction in ppb is&lt;/p&gt;
&lt;p&gt;```&lt;br&gt;R = 1e9 / (5 * 1e9 / X) = X / 5&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;Hence passing `X = adjValInNsecs` yields `X/5` ppb rather than `X` ppb. To realise&lt;br&gt;`R` ppb the caller must pass `X = 5R`.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;## Why this likely went unnoticed&lt;/p&gt;
&lt;p&gt;The error factor is `(tsAddVal + 1)`. For&lt;br&gt;`CPSW_CPTS_RFTCLK_FREQ_1000MHZ = 0U`, `tsAddVal` is 0 and the factor is **1** &amp;mdash;&lt;br&gt;the bug is completely invisible at a 1 GHz CPTS reference clock. It only appears&lt;br&gt;on devices or configurations using a slower reference:&lt;/p&gt;
&lt;p&gt;| `cptsRftClkFreq` | `tsAddVal` | tick | error factor |&lt;br&gt;|---|---|---|---|&lt;br&gt;| 1000 MHz | 0 | 1 ns | 1.0 (no error) |&lt;br&gt;| 500 MHz | 1 | 2 ns | 2.0 |&lt;br&gt;| 250 MHz | 3 | 4 ns | 4.0 |&lt;br&gt;| 200 MHz | 4 | 5 ns | 5.0 |&lt;br&gt;| 125 MHz | 7 | 8 ns | 8.0 |&lt;/p&gt;
&lt;p&gt;AM263Px syscfg generates `CPSW_CPTS_RFTCLK_FREQ_200MHZ` by default, so every AM263Px&lt;br&gt;application built from the default configuration hits the 5&amp;times; error.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;## Steps to reproduce&lt;/p&gt;
&lt;p&gt;1. Configure CPSW with CPTS at the syscfg default&lt;br&gt;&amp;nbsp; &amp;nbsp;(`cptsCfg.cptsRftClkFreq = CPSW_CPTS_RFTCLK_FREQ_200MHZ`).&lt;br&gt;2. Request a known frequency correction &amp;mdash; e.g. 28642 ppb:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;Enet_IoctlPrms prms;&lt;br&gt;EnetTimeSync_TimestampAdj tsAdj = {&lt;br&gt;&amp;nbsp; &amp;nbsp; .adjValInNsecs &amp;nbsp; = 28642, &amp;nbsp; &amp;nbsp; &amp;nbsp; /* intent: +28642 ppb */&lt;br&gt;&amp;nbsp; &amp;nbsp; .intervalInNsecs = 1000000000U &amp;nbsp;/* over 1 s */&lt;br&gt;};&lt;br&gt;int32_t status;&lt;br&gt;ENET_IOCTL_SET_IN_ARGS(&amp;amp;prms, &amp;amp;tsAdj);&lt;br&gt;ENET_IOCTL(hEnet, coreId, ENET_TIMESYNC_IOCTL_ADJUST_TIMESTAMP, &amp;amp;prms, status);&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;3. Measure the actual rate change of the CPTS timebase against an external&lt;br&gt;&amp;nbsp; &amp;nbsp;reference (we used PTP Sync/Follow_Up timestamps from a `ptp4l` master at a&lt;br&gt;&amp;nbsp; &amp;nbsp;1 s interval, differencing the offset error across successive cycles).&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;### Observed&lt;/p&gt;
&lt;p&gt;Requesting 28642 ppb moved the clock by **5728 ppb** &amp;mdash; a ratio of 0.1999, i.e.&lt;br&gt;exactly 1/5.&lt;/p&gt;
&lt;p&gt;Fitting our measured data across four successive servo cycles to&lt;br&gt;`delta = drift + G &amp;middot; ppb` gave **G = 0.20** and a free-running oscillator drift of&lt;br&gt;&amp;minus;34798 ppb.&lt;/p&gt;
&lt;p&gt;### Expected&lt;/p&gt;
&lt;p&gt;Requesting 28642 ppb should move the clock by approximately 28642 ppb&lt;br&gt;(G = 1.0), subject to the `TS_PPM` register&amp;#39;s quantization.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;### Confirmation of the diagnosis&lt;/p&gt;
&lt;p&gt;After applying the &amp;times;5 workaround below, the servo converged and settled at a&lt;br&gt;steady-state trim of **34605&amp;ndash;35016 ppb** &amp;mdash; matching the &amp;minus;34798 ppb drift&lt;br&gt;independently derived from the *pre-fix* diverging data to within 0.6%. This&lt;br&gt;cross-check confirms both the factor and that no other scaling error is present.&lt;/p&gt;
&lt;p&gt;## Workaround&lt;/p&gt;
&lt;p&gt;Pre-scale the requested ppb by the CPTS tick in the application:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;#define CPTS_TICK_NS &amp;nbsp;5 &amp;nbsp; /* (tsAddVal + 1) for CPSW_CPTS_RFTCLK_FREQ_200MHZ */&lt;/p&gt;
&lt;p&gt;static int32_t cpts_adjust_freq(int32_t ppb)&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; Enet_IoctlPrms prms;&lt;br&gt;&amp;nbsp; &amp;nbsp; EnetTimeSync_TimestampAdj tsAdj = {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .adjValInNsecs &amp;nbsp; = ppb * CPTS_TICK_NS,&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .intervalInNsecs = 1000000000U&lt;br&gt;&amp;nbsp; &amp;nbsp; };&lt;br&gt;&amp;nbsp; &amp;nbsp; int32_t status;&lt;br&gt;&amp;nbsp; &amp;nbsp; ENET_IOCTL_SET_IN_ARGS(&amp;amp;prms, &amp;amp;tsAdj);&lt;br&gt;&amp;nbsp; &amp;nbsp; ENET_IOCTL(hEnet, coreId,&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENET_TIMESYNC_IOCTL_ADJUST_TIMESTAMP, &amp;amp;prms, status);&lt;br&gt;&amp;nbsp; &amp;nbsp; return status;&lt;br&gt;}&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;This is unattractive because it hard-codes an SoC- and syscfg-dependent constant&lt;br&gt;into application code, and it will over-correct by 5&amp;times; if the driver is ever&lt;br&gt;fixed. A fix in the driver is strongly preferred.&lt;/p&gt;
&lt;p&gt;Result with the workaround in place, on a PTP E2E slave at a 1 s Sync interval:&lt;br&gt;locks within 3 Sync intervals and holds offset inside &amp;plusmn;150 ns.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;## Related issues in the same ioctl&lt;/p&gt;
&lt;p&gt;**1. `adjValInNsecs == 0` clears all accumulated correction.**&lt;br&gt;At line 251, a zero adjustment value is treated as &amp;quot;disable frequency correction&lt;br&gt;entirely&amp;quot; &amp;mdash; `CSL_CPTS_setTSPpm(regs, 0U, 0U, ...)` plus clearing every active&lt;br&gt;GENF/ESTF:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;if (tsAdj-&amp;gt;adjValInNsecs == 0)&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; CSL_CPTS_setTSPpm(regs, 0U, 0U, CSL_CPTS_TS_PPM_DIR_INCREASE);&lt;br&gt;&amp;nbsp; &amp;nbsp; ...&lt;br&gt;}&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;This is a hazard for the ioctl&amp;#39;s primary use case. A converged clock servo&lt;br&gt;naturally computes a zero correction once its error reaches zero, and the&lt;br&gt;intuitive reading of &amp;quot;adjust by 0&amp;quot; is &amp;quot;make no change&amp;quot; &amp;mdash; not &amp;quot;discard the trim&lt;br&gt;that is currently holding lock.&amp;quot; Doing so drops the ~34900 ppb of trim and sends&lt;br&gt;the clock back into free-run drift. We had to add an explicit guard forcing &amp;plusmn;1&lt;br&gt;to avoid it.&lt;/p&gt;
&lt;p&gt;Suggestion: document this clearly, or better, move the &amp;quot;disable correction&amp;quot;&lt;br&gt;semantics to an explicit mode (`ENET_TIMESYNC_ADJMODE_DISABLE` already exists in&lt;br&gt;this API for GENF/ESTF) and treat 0 as a no-op.&lt;/p&gt;
&lt;p&gt;**2. `adjValInNsecs` has no documented units or semantics.**&lt;br&gt;`EnetTimeSync_TimestampAdj` in `core/include/core/enet_mod_timesync.h:261-268`&lt;br&gt;documents the field only as *&amp;quot;Adjustment value for timestamp&amp;quot;*:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;typedef struct EnetTimeSync_TimestampAdj_s&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; /*! Adjustment value for timestamp */&lt;br&gt;&amp;nbsp; &amp;nbsp; int32_t adjValInNsecs;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; /*! Interval to apply the adjustment */&lt;br&gt;&amp;nbsp; &amp;nbsp; uint32_t intervalInNsecs;&lt;br&gt;} EnetTimeSync_TimestampAdj;&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;Nothing states that the pair expresses a *rate* (add `adjValInNsecs` ns per&lt;br&gt;`intervalInNsecs` ns), that the resulting ratio is what is programmed, or what&lt;br&gt;the valid range is. We inferred the intended contract from the implementation.&lt;br&gt;Given the scaling defect above, clear documentation of the intended units would&lt;br&gt;also make the discrepancy self-evident.&lt;/p&gt;
&lt;p&gt;**3. Maximum correction is silently capped at ~195 ppm.**&lt;br&gt;`adjVal` is floored at `CPSW_CPTS_PPM_MIN_VAL` (0x400 = 1024) at lines 287-292.&lt;br&gt;Since `adjVal = 1e9 / X`, that floor implies `X &amp;lt;= 976562`, i.e. a maximum&lt;br&gt;realisable correction of about **195 ppm** (with the &amp;times;5 workaround applied).&lt;br&gt;Requests beyond that are clamped with only an `ENETTRACE_WARN`, which is compiled&lt;br&gt;out in release builds &amp;mdash; so an application asking for more correction than the&lt;br&gt;hardware can deliver receives `ENET_SOK` and no indication of the clamp. Worth&lt;br&gt;documenting the limit in the header.&lt;/p&gt;
&lt;p&gt;**4. `SET_GENF` / `SET_ESTF` disagree with `ADJUST_TIMESTAMP` on the same scaling.**&lt;br&gt;`CpswCpts_calcPpmVal()` (line 1074) computes `adjVal` for the&lt;br&gt;`CPSW_CPTS_IOCTL_SET_GENF` and `CPSW_CPTS_IOCTL_SET_ESTF` handlers (lines 620 and&lt;br&gt;694) and passes it to `CSL_CPTS_setupGENFn`/`setupESTFn` **without** the&lt;br&gt;`(tsAddVal + 1)` scaling that `ADJUST_TIMESTAMP` applies to those same outputs at&lt;br&gt;lines 303 and 314.&lt;/p&gt;
&lt;p&gt;By the driver&amp;#39;s own reasoning in the comment at lines 299-302, one of these two&lt;br&gt;paths must be wrong. We have not exercised GENF/ESTF and are not asserting which&lt;br&gt;&amp;mdash; but the inconsistency is worth auditing alongside the primary fix, since a&lt;br&gt;correction to `TS_PPM` should probably be accompanied by a consistent convention&lt;br&gt;across all three PPM consumers.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;## Suggested fix&lt;/p&gt;
&lt;p&gt;Apply the same tick scaling to `TS_PPM` that the function already applies to&lt;br&gt;GENF/ESTF:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;&amp;nbsp; &amp;nbsp; adjVal = (uint64_t)tsAdj-&amp;gt;intervalInNsecs / adjOffset;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; /* TS_PPM adds 1 ns every adjVal reference-clock cycles, and each cycle&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* advances the timestamp by (tsAddVal + 1) ns, so the adjustment period&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* needs the same refclk-tick correction as GENFn/ESTFn below. */&lt;br&gt;&amp;nbsp; &amp;nbsp; adjVal = adjVal / (hCpts-&amp;gt;tsAddVal + 1U);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if (adjVal &amp;lt;= (uint64_t)CPSW_CPTS_PPM_MIN_VAL) { ... }&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;Note this divides where GENF/ESTF multiply: `adjVal` is a *period* in cycles, so&lt;br&gt;a longer tick means proportionally fewer cycles between 1 ns nudges. The GENF/ESTF&lt;br&gt;values are derived from `adjVal` for a different register whose units differ,&lt;br&gt;hence the opposite direction. Please treat the direction here as a suggestion to&lt;br&gt;verify rather than a validated patch &amp;mdash; we corrected this in application code, not&lt;br&gt;in the driver, so we have not tested a driver-side change.&lt;/p&gt;
&lt;p&gt;**Compatibility caveat:** this is a behavioural change. Applications that already&lt;br&gt;compensate for the defect (as ours does) would over-correct by `(tsAddVal + 1)`&lt;br&gt;once fixed. Worth a prominent release-note entry, and possibly worth confirming&lt;br&gt;whether any TI-supplied PTP stack for other devices carries a matching&lt;br&gt;compensation that would also need removing.&lt;/p&gt;
&lt;p&gt;## Environment&lt;/p&gt;
&lt;p&gt;| | |&lt;br&gt;|---|---|&lt;br&gt;| SDK | MCU_PLUS_SDK_AM263Px 26.00.00.06 |&lt;br&gt;| Device | AM263P4-Q1, ZCZ-C |&lt;br&gt;| Core | R5FSS0-0, FreeRTOS |&lt;br&gt;| Compiler | ti_cgt_arm_llvm 4.0.4.LTS |&lt;br&gt;| CPTS reference clock | `CPSW_CPTS_RFTCLK_FREQ_200MHZ` (syscfg default) |&lt;br&gt;| Interface | RGMII1, CPSW MAC port 1 |&lt;br&gt;| Stack | lwIP (SDK-provided lwipif) |&lt;br&gt;| PTP profile | IEEE 1588 default, E2E delay mechanism, UDP/IPv4 (Annex D), slave only |&lt;br&gt;| Master | `ptp4l` on Linux, 1 s Sync interval |&lt;br&gt;| Switch | Microchip LAN9645 |&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AM263P4-Q1: CPSW/CPTS: Annex D (PTP over UDP/IPv4) timestamping silently captures nothing when `commonPortIpCfg` is left zeroed</title><link>https://e2e.ti.com/thread/1670391?ContentTypeID=0</link><pubDate>Tue, 04 Aug 2026 18:50:13 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:3fe34731-acc0-4c78-b6b4-6e68aa9940a8</guid><dc:creator>Kevin DeVries</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1670391?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1670391/am263p4-q1-cpsw-cpts-annex-d-ptp-over-udp-ipv4-timestamping-silently-captures-nothing-when-commonportipcfg-is-left-zeroed/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/AM263P4-Q1" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;AM263P4-Q1&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Note: This was developed with the use of AI, and with myself having only basic knowledge of the SDK code and MCU. It may be the AI did not have all of the information, although there are indications that there are gaps in the documentation - both in code and in supporting HTML pages.&lt;br&gt;&lt;br&gt;&lt;br&gt;**Product:** MCU_PLUS_SDK_AM263Px&lt;br&gt;**SDK version:** 26.00.00.06&lt;br&gt;**Device:** AM263P4-Q1 (ZCZ-C package), Cortex-R5F, FreeRTOS&lt;br&gt;**Component:** `networking/enet` &amp;mdash; CPSW MAC port / CPTS&lt;br&gt;**Category:** Usability / missing parameter validation / documentation gap&lt;br&gt;**Severity:** Medium &amp;mdash; no data corruption, but the failure is silent and costs significant debug time&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Enabling Annex D (PTP over UDP/IPv4) hardware timestamping via&lt;br&gt;`CPSW_MACPORT_IOCTL_ENABLE_CPTS_EVENT` appears to succeed (`ENET_SOK`) but produces&lt;br&gt;**zero CPTS events** unless the caller also populates the nested&lt;br&gt;`tsEventCfg.commonPortIpCfg` sub-structure.&lt;/p&gt;
&lt;p&gt;Because the natural idiom is to `memset()` the input args to zero and then set only&lt;br&gt;the fields of interest, `commonPortIpCfg` is all-zero in the common case. That&lt;br&gt;combination programs the hardware frame matcher to reject every PTP frame. The&lt;br&gt;ioctl still returns success, so the only symptom is that every subsequent&lt;br&gt;`ENET_TIMESYNC_IOCTL_GET_ETH_RX_TIMESTAMP` /&lt;br&gt;`ENET_TIMESYNC_IOCTL_GET_ETH_TX_TIMESTAMP` call returns `ENET_ENOTFOUND` (-14).&lt;/p&gt;
&lt;p&gt;There is nothing in the API to indicate that `rxAnnexDEn`/`txAnnexDEn` have a&lt;br&gt;mandatory dependency on `commonPortIpCfg`.&lt;/p&gt;
&lt;p&gt;## Why the zeroed case rejects everything&lt;/p&gt;
&lt;p&gt;In `CpswMacPort_enableCptsPortEvents()`&lt;br&gt;(`source/networking/enet/core/src/mod/cpsw_macport_ioctl.c:1740-1761`):&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;if (tsEventCfg-&amp;gt;rxAnnexDEn || tsEventCfg-&amp;gt;rxAnnexEEn ||&lt;br&gt;&amp;nbsp; &amp;nbsp; tsEventCfg-&amp;gt;txAnnexDEn || tsEventCfg-&amp;gt;txAnnexEEn)&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; ...&lt;br&gt;&amp;nbsp; &amp;nbsp; timeSyncCfg.tsTTLNonzeroEnable = commonPortIpCfg-&amp;gt;ttlNonzeroEn;&lt;br&gt;&amp;nbsp; &amp;nbsp; timeSyncCfg.tsUniEnable &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= commonPortIpCfg-&amp;gt;unicastEn;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if (timeSyncCfg.tsUniEnable == FALSE)&lt;br&gt;&amp;nbsp; &amp;nbsp; {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeSyncCfg.ts107Enable = commonPortIpCfg-&amp;gt;tsIp107En;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeSyncCfg.ts129Enable = commonPortIpCfg-&amp;gt;tsIp129En;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeSyncCfg.ts319Enable = commonPortIpCfg-&amp;gt;tsPort319En;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeSyncCfg.ts320Enable = commonPortIpCfg-&amp;gt;tsPort320En;&lt;br&gt;&amp;nbsp; &amp;nbsp; }&lt;br&gt;}&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;Enabling Annex D therefore hands the entire IP/UDP filter configuration to&lt;br&gt;`commonPortIpCfg`. With that struct zeroed, the resulting `CSL_CPSW_TSCONFIG` has&lt;br&gt;`tsUniEnable = 0` together with every `ts1xxEnable` and both `ts319Enable` /&lt;br&gt;`ts320Enable` cleared.&lt;/p&gt;
&lt;p&gt;Per the field documentation in&lt;br&gt;`source/networking/enet/hw_include/cpsw/V5/csl_cpsw.h:986-990`:&lt;/p&gt;
&lt;p&gt;```&lt;br&gt;/** &amp;nbsp;Port Time Sync Unicast IP message enable&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1: all IP address valid&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;0: perform multicast address check, only multicast addresses which are enabled are valid&lt;br&gt;&amp;nbsp; */&lt;br&gt;Uint32 &amp;nbsp; &amp;nbsp; &amp;nbsp;tsUniEnable;&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;So `tsUniEnable = 0` selects multicast address checking, and no multicast address&lt;br&gt;is enabled &amp;mdash; the matcher cannot match anything. Unicast is disabled and every&lt;br&gt;permitted multicast destination is disabled simultaneously, which is an&lt;br&gt;unsatisfiable filter. The port&amp;#39;s TSCONFIG register is written unconditionally at&lt;br&gt;line 1804 and the function returns `ENET_SOK`.&lt;/p&gt;
&lt;p&gt;## Steps to reproduce&lt;/p&gt;
&lt;p&gt;1. Configure CPSW with CPTS enabled (`cptsCfg.hostRxTsEn = true`,&lt;br&gt;&amp;nbsp; &amp;nbsp;`cptsRftClkFreq = CPSW_CPTS_RFTCLK_FREQ_200MHZ`).&lt;br&gt;2. Enable timestamping on a MAC port using the zero-then-set idiom:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;CpswMacPort_EnableTsEventInArgs tsEventInArgs;&lt;br&gt;Enet_IoctlPrms prms;&lt;br&gt;int32_t status;&lt;/p&gt;
&lt;p&gt;memset(&amp;amp;tsEventInArgs, 0, sizeof(tsEventInArgs));&lt;br&gt;tsEventInArgs.macPort &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ENET_MAC_PORT_1;&lt;br&gt;tsEventInArgs.tsEventCfg.rxAnnexDEn &amp;nbsp;= true; &amp;nbsp; /* PTP over UDP/IPv4 */&lt;br&gt;tsEventInArgs.tsEventCfg.txAnnexDEn &amp;nbsp;= true;&lt;br&gt;tsEventInArgs.tsEventCfg.txHostTsEn &amp;nbsp;= true;&lt;br&gt;tsEventInArgs.tsEventCfg.messageType = 0xFFFFU;&lt;br&gt;tsEventInArgs.tsEventCfg.seqIdOffset = 30;&lt;br&gt;tsEventInArgs.tsEventCfg.domainOffset = 4;&lt;br&gt;/* commonPortIpCfg deliberately left as memset zeros */&lt;/p&gt;
&lt;p&gt;ENET_IOCTL_SET_IN_ARGS(&amp;amp;prms, &amp;amp;tsEventInArgs);&lt;br&gt;ENET_IOCTL(hEnet, coreId, CPSW_MACPORT_IOCTL_ENABLE_CPTS_EVENT, &amp;amp;prms, status);&lt;br&gt;/* status == ENET_SOK */&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;3. Add the PTP multicast MAC `01:00:5E:00:01:81` to the ALE so frames reach the&lt;br&gt;&amp;nbsp; &amp;nbsp;host, join `224.0.1.129`, and run a PTP master (`ptp4l`) on the link.&lt;br&gt;4. On receipt of each Sync, query the Rx timestamp:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;EnetTimeSync_GetEthTimestampInArgs inArgs = {&lt;br&gt;&amp;nbsp; &amp;nbsp; .msgType = ENET_TIMESYNC_MESSAGE_SYNC,&lt;br&gt;&amp;nbsp; &amp;nbsp; .seqId &amp;nbsp; = sync_seq,&lt;br&gt;&amp;nbsp; &amp;nbsp; .portNum = 1U,&lt;br&gt;&amp;nbsp; &amp;nbsp; .domain &amp;nbsp;= 0&lt;br&gt;};&lt;br&gt;uint64_t ts;&lt;br&gt;ENET_IOCTL_SET_INOUT_ARGS(&amp;amp;prms, &amp;amp;inArgs, &amp;amp;ts);&lt;br&gt;ENET_IOCTL(hEnet, coreId, ENET_TIMESYNC_IOCTL_GET_ETH_RX_TIMESTAMP, &amp;amp;prms, status);&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;### Observed&lt;/p&gt;
&lt;p&gt;- `CPSW_MACPORT_IOCTL_ENABLE_CPTS_EVENT` returns `ENET_SOK`.&lt;br&gt;- PTP frames arrive correctly at the host (confirmed by the application parsing&lt;br&gt;&amp;nbsp; Sync/Follow_Up/Delay_Resp contents), so this is not an ALE or DMA problem.&lt;br&gt;- **Every** Rx and Tx timestamp lookup returns `ENET_ENOTFOUND` (-14). The CPTS&lt;br&gt;&amp;nbsp; event pool remains empty; the CPSW misc interrupt fires and `Cpsw_cptsIsr`&lt;br&gt;&amp;nbsp; runs, but no Ethernet Rx/Tx events are ever queued.&lt;/p&gt;
&lt;p&gt;### Expected&lt;/p&gt;
&lt;p&gt;Either the ioctl rejects the unsatisfiable filter configuration with&lt;br&gt;`ENET_EINVALIDPARAMS`, or the documentation states that `commonPortIpCfg` must be&lt;br&gt;populated whenever Annex D or Annex E is enabled.&lt;/p&gt;
&lt;p&gt;## Workaround&lt;/p&gt;
&lt;p&gt;Populate `commonPortIpCfg` explicitly. With the following, hardware timestamping&lt;br&gt;works immediately and correctly:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;tsEventInArgs.tsEventCfg.commonPortIpCfg.ttlNonzeroEn = true;&lt;br&gt;tsEventInArgs.tsEventCfg.commonPortIpCfg.unicastEn &amp;nbsp; &amp;nbsp;= false;&lt;br&gt;tsEventInArgs.tsEventCfg.commonPortIpCfg.tsPort319En &amp;nbsp;= true;&lt;br&gt;tsEventInArgs.tsEventCfg.commonPortIpCfg.tsPort320En &amp;nbsp;= true;&lt;br&gt;tsEventInArgs.tsEventCfg.commonPortIpCfg.tsIp129En &amp;nbsp; &amp;nbsp;= true;&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;Measured result after this change, on a PTP end-to-end slave using CPTS&lt;br&gt;timestamps for t2/t3: path delay steady at 3180-3390 ns and offset held inside&lt;br&gt;&amp;plusmn;150 ns, versus no usable timestamps at all beforehand.&lt;/p&gt;
&lt;p&gt;## Additional observations&lt;/p&gt;
&lt;p&gt;**1. `messageType` semantics are easy to get wrong.**&lt;br&gt;The field is documented in `cpsw_macport.h:404` as *&amp;quot;Message type value mask is&lt;br&gt;only for Annex F (PTP)&amp;quot;*. Two problems:&lt;/p&gt;
&lt;p&gt;- The &amp;quot;only for Annex F&amp;quot; qualifier is misleading &amp;mdash; line 1736 assigns&lt;br&gt;&amp;nbsp; `tsMsgTypeEnable` unconditionally, outside both the Annex D/E block and the&lt;br&gt;&amp;nbsp; Annex F block, so it applies to Annex D as well.&lt;br&gt;- It is a **bitmask over the 16 PTP message types**, not an enum or a maximum. A&lt;br&gt;&amp;nbsp; plausible-looking `0x000F` silently covers only message types 0-3, which&lt;br&gt;&amp;nbsp; includes Sync (0x0) and Delay_Req (0x1) but excludes Follow_Up (0x8) and&lt;br&gt;&amp;nbsp; Delay_Resp (0x9). `0xFFFFU` is needed for full E2E operation. Naming the field&lt;br&gt;&amp;nbsp; a mask in the doc comment, or defining a `CPSW_MACPORT_TS_MSGTYPE_ALL` macro,&lt;br&gt;&amp;nbsp; would help.&lt;/p&gt;
&lt;p&gt;**2. Which filter bit is actually decisive is unclear.**&lt;br&gt;The reference example `EnetApp_setPortTsEventPrms()`&lt;br&gt;(`core/examples/enet_layer2_multi_channel/V1/multi_channel_dataflow.c:682-711`)&lt;br&gt;sets `ttlNonzeroEn = true`, `tsPort319En = true`, `tsPort320En = true`,&lt;br&gt;`unicastEn = false`, but leaves **all** `tsIp1xxEn` fields `false`. Our working&lt;br&gt;configuration additionally sets `tsIp129En = true`.&lt;/p&gt;
&lt;p&gt;We have not isolated whether the UDP port match alone is sufficient (implying the&lt;br&gt;address and port checks are OR-ed) or whether `tsIp129En` is required (implying&lt;br&gt;AND). Clarifying the matcher&amp;#39;s logic in the header documentation would remove the&lt;br&gt;guesswork.&lt;/p&gt;
&lt;p&gt;Relatedly, `csl_cpsw.h:998-1002` documents `ts129Enable` as IPv4 **224.0.0.129**.&lt;br&gt;The IEEE 1588 Annex D default multicast group is **224.0.1.129**, and 224.0.0.107&lt;br&gt;/ 224.0.1.129 are the addresses actually used by PTP. If the register really&lt;br&gt;matches 224.0.0.129 then the field is not usable for standard PTP; if the&lt;br&gt;documentation has a typo, it is worth correcting since it directly affects how a&lt;br&gt;reader configures this filter.&lt;/p&gt;
&lt;p&gt;**3. No validation of a self-contradictory filter.**&lt;br&gt;`CpswMacPort_enableCptsPortEvents()` validates only `seqIdOffset`&lt;br&gt;(against `CPSW_MACPORT_PTP_SEQID_OFFSET_MIN_VAL`, line 1723). A cheap guard would&lt;br&gt;catch this class of misconfiguration outright:&lt;/p&gt;
&lt;p&gt;```c&lt;br&gt;/* With unicast disabled, at least one multicast address or UDP port must be&lt;br&gt;&amp;nbsp;* enabled or the frame matcher can never match. */&lt;br&gt;if ((tsEventCfg-&amp;gt;rxAnnexDEn || tsEventCfg-&amp;gt;rxAnnexEEn ||&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;tsEventCfg-&amp;gt;txAnnexDEn || tsEventCfg-&amp;gt;txAnnexEEn) &amp;amp;&amp;amp;&lt;br&gt;&amp;nbsp; &amp;nbsp; !commonPortIpCfg-&amp;gt;unicastEn &amp;amp;&amp;amp;&lt;br&gt;&amp;nbsp; &amp;nbsp; !(commonPortIpCfg-&amp;gt;tsIp107En &amp;nbsp;|| commonPortIpCfg-&amp;gt;tsIp129En &amp;nbsp;||&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; commonPortIpCfg-&amp;gt;tsIp130En &amp;nbsp;|| commonPortIpCfg-&amp;gt;tsIp131En &amp;nbsp;||&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; commonPortIpCfg-&amp;gt;tsIp132En &amp;nbsp;|| commonPortIpCfg-&amp;gt;tsPort319En ||&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; commonPortIpCfg-&amp;gt;tsPort320En))&lt;br&gt;{&lt;br&gt;&amp;nbsp; &amp;nbsp; status = ENET_EINVALIDPARAMS;&lt;br&gt;}&lt;br&gt;```&lt;/p&gt;
&lt;p&gt;## Suggested resolution&lt;/p&gt;
&lt;p&gt;Any one of these would have prevented the debug effort; ideally the first two:&lt;/p&gt;
&lt;p&gt;1. **Validate** the unsatisfiable filter combination and return&lt;br&gt;&amp;nbsp; &amp;nbsp;`ENET_EINVALIDPARAMS` instead of silently programming a matcher that cannot&lt;br&gt;&amp;nbsp; &amp;nbsp;match.&lt;br&gt;2. **Document** in `CpswMacPort_TsEventCfg` that `commonPortIpCfg` is mandatory&lt;br&gt;&amp;nbsp; &amp;nbsp;when any Annex D or Annex E flag is set, and document the matcher&amp;#39;s&lt;br&gt;&amp;nbsp; &amp;nbsp;address-versus-port logic.&lt;br&gt;3. Clarify that `messageType` is a bitmask and that it applies to Annex D, not&lt;br&gt;&amp;nbsp; &amp;nbsp;only Annex F. Consider providing an all-types macro.&lt;br&gt;4. Confirm or correct the `224.0.0.129` vs `224.0.1.129` address in&lt;br&gt;&amp;nbsp; &amp;nbsp;`csl_cpsw.h`.&lt;br&gt;5. Consider shipping a PTP-over-UDP (Annex D) example. The only in-tree&lt;br&gt;&amp;nbsp; &amp;nbsp;references to `rxAnnexDEn` are the two `enet_layer2_multi_channel` examples,&lt;br&gt;&amp;nbsp; &amp;nbsp;which are L2-oriented; a slave using UDP transport has no reference to follow.&lt;/p&gt;
&lt;p&gt;## Environment&lt;/p&gt;
&lt;p&gt;| | |&lt;br&gt;|---|---|&lt;br&gt;| SDK | MCU_PLUS_SDK_AM263Px 26.00.00.06 |&lt;br&gt;| Device | AM263P4-Q1, ZCZ-C |&lt;br&gt;| Core | R5FSS0-0, FreeRTOS |&lt;br&gt;| Compiler | ti_cgt_arm_llvm 4.0.4.LTS |&lt;br&gt;| Interface | RGMII1, CPSW MAC port 1 |&lt;br&gt;| Stack | lwIP (SDK-provided lwipif) |&lt;br&gt;| PTP profile | IEEE 1588 default, end-to-end delay mechanism, UDP/IPv4 (Annex D), slave only |&lt;br&gt;| Master | `ptp4l` on Linux, 1 s Sync interval |&lt;br&gt;| Switch | Microchip LAN9645 |&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LMR33640: I entered a request for LMR33640DDDAR for a quantity of 222 units, the system rounded the quantity to a standard pack (SPQ)</title><link>https://e2e.ti.com/thread/1669779?ContentTypeID=0</link><pubDate>Mon, 03 Aug 2026 08:41:39 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:05b9c4d0-47da-45ec-8c61-3d58df1c797b</guid><dc:creator>Eran Hass</dc:creator><slash:comments>6</slash:comments><comments>https://e2e.ti.com/thread/1669779?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1669779/lmr33640-i-entered-a-request-for-lmr33640dddar-for-a-quantity-of-222-units-the-system-rounded-the-quantity-to-a-standard-pack-spq/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/product/LMR33640" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;LMR33640&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hello Support,&lt;br&gt;How are you?&lt;br&gt;I placed a request for LMR33640DDDAR for a quantity of 222 units, the system rounded the quantity to a standard package (SPQ)&lt;br&gt;This is intentional behavior by TI, TI does not sell partial quantities &amp;mdash; it only sells whole packages.&lt;/p&gt;
&lt;p&gt;I requested 222&lt;br&gt;The standardPackQuantity (SPQ) of this product is 2500 (this is a very common value &amp;mdash; appears 1,823 times in my blogs)&lt;br&gt;222 &amp;lt; 2500, so TI rounds up to the first standard package = 2500&lt;br&gt;The &amp;quot;minimum 50 units&amp;quot; written on the TI website is the MOQ (Minimum Order Quantity) &amp;mdash; the lower threshold. But the SPQ (Standard Pack Quantity) controls the package size. When SPQ is greater than MOQ, SPQ determines the actual quantity.&lt;/p&gt;
&lt;p&gt;Important: My code already stores the two quantities separately &amp;mdash; that&amp;#39;s why we see both 222 (Requested Qty) and 2500 (Quantity) in the table. The system works correctly; TI simply forces whole packages.&lt;/p&gt;
&lt;p&gt;Is it possible to order less than 2500? Not through this API. This is TI policy. If you want a smaller quantity &amp;mdash; only through the TI website directly or through a distributor (TI allows small orders only through certain channels).&lt;/p&gt;
&lt;p&gt;&lt;br&gt;1. Can I order a small quantity through the website and not through the API?&lt;br&gt;2. Do you think this is correct behavior of the system? Because these are the answers I get from TI&lt;br&gt;3. Is it true that TI recommends contacting their distributors to purchase in small quantities? (Mouser, DigiKey) Which distributors I saw online&lt;br&gt;4. How would you recommend I explain this to the customer?&lt;/p&gt;
&lt;p&gt;Thank you very much&lt;/p&gt;
&lt;p&gt;Best regards&lt;br&gt;Elisha&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>DLP4710EVM-LC: Recommended initialization sequence for splash pattern projection</title><link>https://e2e.ti.com/thread/1669697?ContentTypeID=0</link><pubDate>Mon, 03 Aug 2026 06:14:57 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:01528e4f-dfc9-4d02-9c71-fbd22e66b7f7</guid><dc:creator>Yi Tian Kok</dc:creator><slash:comments>3</slash:comments><comments>https://e2e.ti.com/thread/1669697?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/enterprise-automation-integration-group/enterprise-automation-integration/f/api-solutions-forum/1669697/dlp4710evm-lc-recommended-initialization-sequence-for-splash-pattern-projection/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com/tool/DLP4710EVM-LC" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;DLP4710EVM-LC&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com/product/DLPC3479" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;DLPC3479&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hi TI Team,&lt;/p&gt;
&lt;p&gt;I am a member of the Software Development Team and we are currently developing software for the &lt;strong&gt;DLP4710EVM-LC&lt;/strong&gt; using the &lt;strong&gt;DLPC34xx API&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We are implementing splash pattern projection and would like to confirm the recommended initialization sequence for the following API calls.&lt;/p&gt;
&lt;p&gt;Our current initialization performs:&lt;/p&gt;
&lt;ol start="1" data-spread="false"&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WriteRgbLedCurrent()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WriteRgbLedEnable()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WriteTriggerOutConfiguration()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WritePatternConfiguration()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WriteOperatingModeSelect(DLPC34XX_OM_SENS_SPLASH_PATTERN)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WriteSplashScreenSelect()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir="ltr"&gt;DLPC34XX_WriteSplashScreenExecute()&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Could you please confirm whether this is the correct order for displaying a preloaded splash image?&lt;/p&gt;
&lt;p&gt;In particular, we would like to know:&lt;/p&gt;
&lt;ul data-spread="false"&gt;
&lt;li&gt;Should &lt;code dir="ltr"&gt;WriteRgbLedCurrent()&lt;/code&gt; be called before or after &lt;code dir="ltr"&gt;WriteRgbLedEnable()&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Is &lt;code dir="ltr"&gt;WriteTriggerOutConfiguration()&lt;/code&gt; required before entering Splash Pattern mode?&lt;/li&gt;
&lt;li&gt;Should &lt;code dir="ltr"&gt;WritePatternConfiguration()&lt;/code&gt; be called before &lt;code dir="ltr"&gt;WriteOperatingModeSelect()&lt;/code&gt;, or after?&lt;/li&gt;
&lt;li&gt;Are there any required delays or additional commands between these API calls?&lt;/li&gt;
&lt;li&gt;Is there a recommended initialization sequence from TI for displaying splash images on the DLP4710EVM-LC?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The reason we ask is that &lt;code dir="ltr"&gt;DLPC34XX_WritePatternConfiguration()&lt;/code&gt; returns success, but &lt;code dir="ltr"&gt;DLPC34XX_WriteOperatingModeSelect(DLPC34XX_OM_SENS_SPLASH_PATTERN)&lt;/code&gt; returns an error, and the projector appears to stop projecting immediately afterwards.&lt;/p&gt;
&lt;p&gt;Any guidance on the correct initialization sequence or common causes of this behavior would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>