<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LS1028A: UART1 configuration in Other NXP Products</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2089975#M28490</link>
    <description>&lt;P&gt;Discussing with the AE team.&lt;/P&gt;</description>
    <pubDate>Wed, 30 Apr 2025 07:35:00 GMT</pubDate>
    <dc:creator>yipingwang</dc:creator>
    <dc:date>2025-04-30T07:35:00Z</dc:date>
    <item>
      <title>LS1028A: UART1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2087249#M28441</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;/P&gt;&lt;P&gt;I use scripts into TRACE32 debugger to test LS1028 peripherals (hardware tests) . I am having troubles to configure the UART1. In the reference manuel, it is mentiened that the first step is that :&amp;nbsp;All DUART registers must be mapped to a cache-inhibited and guarded area. (That is, the WIMG setting in the MMU&lt;BR /&gt;needs to be 0b01X1.).&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the MMU, i found the I (caching enabled/ inhibited) attribute in HSCTLR and SCTLR registers, but i cannot find the other attributes (W , G, M). Could some one help me please to figure out the register containing these attributes ?&lt;/P&gt;&lt;P&gt;I made sure that the UART1 is enabled in RCW, and my script to configure UART1 registers and sent 1 Byte data is as below :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ENTRY &amp;amp;mode&lt;BR /&gt;LOCAL &amp;amp;base&lt;BR /&gt;&amp;amp;base=0x21C0000&lt;BR /&gt;&amp;amp;adresse=0x18030600&lt;/P&gt;&lt;P&gt;IF "&amp;amp;mode"=="INIT"&lt;BR /&gt;(&lt;/P&gt;&lt;P&gt;DATA.SET (&amp;amp;base+0x503) %BYTE 0y00000011 ; ULCR 1 UART LINE CONTROL REGISTER : no parity + 8bits word lenght + DLAB =0&lt;BR /&gt;DATA.SET (&amp;amp;base+0x501) %BYTE 0x00 ; UIER 1 UART INTERRUPT ENABLE REGISTER&lt;BR /&gt;DATA.SET (&amp;amp;base+0x502) %BYTE 0x06 ; UFCR 1 SET TO FIFO MODE : FIFO MODE DISABLED + RECEIVER AND TRANSMITTER FIFO RESET + 1 BYTE&lt;BR /&gt;DATA.SET (&amp;amp;base+0x502) %BYTE 0x01 ; UFCR 1 SET TO FIFO MODE : FIFO MODE ENABLED + RECEIVER AND TRANSMITTER FIFO NO ACTION + 1 BYTE&lt;BR /&gt;// DATA.SET (&amp;amp;base+0x502) %BYTE 0x00 ; UFCR 1 SET TO FIFO MODE : FIFO MODE DISABLED + RECEIVER AND TRANSMITTER FIFO RESET + 1 BYTE&lt;BR /&gt;DATA.SET (&amp;amp;base+0x503) %BYTE 0y1xxxxxxx ; ULCR 1 UART LINE CONTROL REGISTER : no parity + 8bits word lenght + DLAB =1&lt;BR /&gt;DATA.SET (&amp;amp;base+0x502) %BYTE 0x00 ; UAFR 1 Disable writing to each UARTn&lt;BR /&gt;DATA.SET (&amp;amp;base+0x500) %BYTE 0x05 ; UDLB 1 SET Divisor least significant byte&lt;BR /&gt;DATA.SET (&amp;amp;base+0x501) %BYTE 0x16 ; UDMB 1 SET Divisor most significant byte&lt;BR /&gt;// DATA.SET (&amp;amp;base+0x503) %BYTE 0y0xxxxxxx ; ULCR 1 UART LINE CONTROL REGISTER : no parity + 8bits word lenght + DLAB =0&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;ELSE IF "&amp;amp;mode"=="TX"&lt;BR /&gt;(&lt;/P&gt;&lt;P&gt;DATA.SET (&amp;amp;base+0x500) %BYTE 0x48 ; UART TRANSMITTER HOLDING REGISTER&lt;BR /&gt;WAIT 100.ms&lt;BR /&gt;&amp;amp;data1=DATA.BYTE(ANC:&amp;amp;base+0x500)&lt;BR /&gt;DATA.SET (&amp;amp;adresse+0x00) %BYTE &amp;amp;data1&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;DATA.SET (&amp;amp;base+0x500) %BYTE 0x45 ; UART TRANSMITTER HOLDING REGISTER&lt;BR /&gt;WAIT 100.ms&lt;BR /&gt;&amp;amp;data2=DATA.BYTE(ANC:&amp;amp;base+0x500)&lt;BR /&gt;DATA.SET (&amp;amp;adresse+0x01) %BYTE &amp;amp;data2&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;DATA.SET (&amp;amp;base+0x500) %BYTE 0x4C ; UART TRANSMITTER HOLDING REGISTER&lt;BR /&gt;WAIT 100.ms&lt;BR /&gt;&amp;amp;data3=DATA.BYTE(ANC:&amp;amp;base+0x500)&lt;BR /&gt;DATA.SET (&amp;amp;adresse+0x02) %BYTE &amp;amp;data3&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;DATA.SET (&amp;amp;base+0x500) %BYTE 0x4C ; UART TRANSMITTER HOLDING REGISTER&lt;BR /&gt;WAIT 100.ms&lt;BR /&gt;&amp;amp;data4=DATA.BYTE(ANC:&amp;amp;base+0x500)&lt;BR /&gt;DATA.SET (&amp;amp;adresse+0x03) %BYTE &amp;amp;data4&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;DATA.SET (&amp;amp;base+0x500) %BYTE 0x4F ; UART TRANSMITTER HOLDING REGISTER&lt;BR /&gt;WAIT 100.ms&lt;BR /&gt;&amp;amp;data5=DATA.BYTE(ANC:&amp;amp;base+0x500)&lt;BR /&gt;DATA.SET (&amp;amp;adresse+0x04) %BYTE &amp;amp;data5&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;PRINT %ASCII &amp;amp;data1 &amp;amp;data2 &amp;amp;data3 &amp;amp;data4 &amp;amp;data5&lt;/P&gt;&lt;P&gt;)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;ENDDO&lt;/P&gt;</description>
      <pubDate>Fri, 25 Apr 2025 10:27:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2087249#M28441</guid>
      <dc:creator>yasoua</dc:creator>
      <dc:date>2025-04-25T10:27:27Z</dc:date>
    </item>
    <item>
      <title>Re: LS1028A: UART1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2089975#M28490</link>
      <description>&lt;P&gt;Discussing with the AE team.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Apr 2025 07:35:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2089975#M28490</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2025-04-30T07:35:00Z</dc:date>
    </item>
    <item>
      <title>Re: LS1028A: UART1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2093240#M28549</link>
      <description>&lt;P&gt;&lt;SPAN&gt;All DUART registers must be mapped to a cache-inhibited and guarded area (That is, the WIMG setting in the MMU needs to be 0b01X1).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As LS1028A is based on Armv8-A architecture, memory attributes WIMG are configured using MMU's translation table.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;WIMG = 0b01X1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;W ( Write Through) = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I ( Inhibit Caching ) = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M (Memory coherence ) = X &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;G (Guarded ) = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;which is equivalent to Device-nGnRE &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;cache-inhibited (I = 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;non-gathering, non-reordering, early write ack ( G =1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;non shareable (M = x)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;which can be enabled at u-boot while setup MMU in "arch/arm/cpu/armv8/fsl-layerscape/cpu.c"&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 May 2025 02:50:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/LS1028A-UART1-configuration/m-p/2093240#M28549</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2025-05-08T02:50:44Z</dc:date>
    </item>
  </channel>
</rss>

