<?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>T-Series中的主题 Re: T1040: Problem with PCIe4 during secure boot</title>
    <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1259815#M4036</link>
    <description>&lt;P&gt;One more question on the NSB_log.txt.&lt;BR /&gt;LAWBARH05: 0x00000000 LAWBARL05: 0x00000000 LAWAR05: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH06: 0x00000000 LAWBARL06: 0x00000000 LAWAR06: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH07: 0x00000000 LAWBARL07: 0x00000000 LAWAR07: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH08: 0x00000000 LAWBARL08: 0x00000000 LAWAR08: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH09: 0x00000000 LAWBARL09: 0x00000000 LAWAR09: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH10: 0x00000000 LAWBARL10: 0x00000000 LAWAR10: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH11: 0x00000000 LAWBARL11: 0x00000000 LAWAR11: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH12: 0x00000000 LAWBARL12: 0x00000000 LAWAR12: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;&lt;BR /&gt;The LAWBAR for PCI are disabled (EN:0), and it is for "00h PCI Express 1". Since customer has the PCI4 working:&lt;BR /&gt;PCIe4: Root Complex, x1 gen2, regs @ 0xfe270000&lt;BR /&gt;0a:00.0 - 1b4b:9170 - Mass storage controller&lt;BR /&gt;PCIe4: Bus 09 - 0a&lt;BR /&gt;&lt;BR /&gt;Can you provide the LAWBAR register dump after the "PCIe4" message?&lt;BR /&gt;&lt;BR /&gt;It is also noteworthy that the LAWBAR for the SB_log.txt is different. LAWBARH01 to LAWBARH04 is repeated in LAWBARH05 to LAWBARH08. It is setting up DPAA (QMAN, BMAN, etc), not PCIe windows.&lt;BR /&gt;i.e.&lt;BR /&gt;LAWBARH01: 0x0000000f LAWBARL01: 0xf4000000 LAWAR01: 0x81800018&lt;BR /&gt;(EN: 1 TGT: 0x18 SIZE: 32 MiB)&lt;BR /&gt;LAWBARH02: 0x0000000f LAWBARL02: 0xf6000000 LAWAR02: 0x83c00018&lt;BR /&gt;(EN: 1 TGT: 0x3c SIZE: 32 MiB)&lt;BR /&gt;LAWBARH03: 0x0000000f LAWBARL03: 0x00000000 LAWAR03: 0x81d00015&lt;BR /&gt;(EN: 1 TGT: 0x1d SIZE: 4 MiB)&lt;BR /&gt;LAWBARH04: 0x0000000f LAWBARL04: 0xff800000 LAWAR04: 0x81f0000f&lt;BR /&gt;(EN: 1 TGT: 0x1f SIZE: 64 KiB)&lt;BR /&gt;LAWBARH05: 0x0000000f LAWBARL05: 0xf4000000 LAWAR05: 0x81800018&lt;BR /&gt;(EN: 1 TGT: 0x18 SIZE: 32 MiB)&lt;BR /&gt;LAWBARH06: 0x0000000f LAWBARL06: 0xf6000000 LAWAR06: 0x83c00018&lt;BR /&gt;(EN: 1 TGT: 0x3c SIZE: 32 MiB)&lt;BR /&gt;LAWBARH07: 0x0000000f LAWBARL07: 0x00000000 LAWAR07: 0x81d00015&lt;BR /&gt;(EN: 1 TGT: 0x1d SIZE: 4 MiB)&lt;BR /&gt;LAWBARH08: 0x0000000f LAWBARL08: 0xff800000 LAWAR08: 0x81f0000f&lt;BR /&gt;(EN: 1 TGT: 0x1f SIZE: 64 KiB)&lt;BR /&gt;&lt;BR /&gt;So the uboot image is definitely different between the SB and normal boot. What version of SDK or upstream code you are based on? Is it compile from the same source code?&lt;/P&gt;</description>
    <pubDate>Fri, 09 Apr 2021 17:13:45 GMT</pubDate>
    <dc:creator>ufedor</dc:creator>
    <dc:date>2021-04-09T17:13:45Z</dc:date>
    <item>
      <title>T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1254271#M4022</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;There is an SSD disc connected over PCIe 4 on our T1040 board. I think, all the PCIe busses are configured correctly, because if we build the u-boot for non-secure mode, everything&amp;nbsp;works correctly.&lt;/P&gt;&lt;P&gt;But if we try to build and run the u-boot in secure boot mode, the initialization ends with a memory trap. During debug, we have found that the memory trap is caused by reading from address 0xB0000000 (readl function) in ahci_host_init function in ahci.c module.&lt;/P&gt;&lt;P&gt;I try also to check the LAW and TLBCAM configurations but I did not found any significant difference which can have an impact on the PCIe.&lt;/P&gt;&lt;P&gt;Can you help me?&lt;/P&gt;&lt;P&gt;Both the u-boot (non-secure also secure) logs are attached and both the logs are containing the lists of&amp;nbsp;law_table and&amp;nbsp;tlb_table.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karel Sin&lt;/P&gt;</description>
      <pubDate>Tue, 30 Mar 2021 12:38:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1254271#M4022</guid>
      <dc:creator>KSin</dc:creator>
      <dc:date>2021-03-30T12:38:40Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1254379#M4023</link>
      <description>&lt;P&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;When secure boot is enabled, it will reinforce PAMU setting and it cannot be running in bypass mode.&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;From the Trust Architecture User Guide 2.0, section 3.1.2.1 PAMUs&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;#####&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;The core's MMU settings determine which memory ranges are accessible by each&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;domain, and the hypervisor prevents these settings from being altered by operating&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;system or application software.&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;In order to prevent system masters other than the cores from reading or writing sensitive&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;memory regions, the chip implements a number of I/O MMUs, known as peripheral&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;access management units or PAMUs. The PAMUs prevent internal and external DMAs&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;(non-CPU masters) from accessing memory for which they have not been granted explicit&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;access permission.&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;The hypervisor assigns each non-CPU master in the chip one or more logical I/O device&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;numbers (LIODNs). A non-CPU master asserts an LIODN (based on the ID of the&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;domain which requested the non-CPU master to perform an operation) on each bus&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;access. The PAMU grants or denies access to particular memory ranges based upon the&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;LIODN value. Non-CPU masters cannot alter the LIODN values they use for their&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;transactions, so this value serves to identify and authenticate the bus transaction as having&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;originated at one of a set of masters that share that particular LIODN value.&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;When secure boot is enabled, PAMUs block all external masters by default.&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Authenticated software can change the PAMU access permissions to authorize external&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;masters later. This means that the chip cannot be booted as an agent when secure boot is&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;enabled.&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;#####&lt;/SPAN&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;BR style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" /&gt;&lt;SPAN style="color: #04090e; font-family: helvetica, Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Please verify whether PAMU/LIODN setting is not in bypass mode.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Mar 2021 16:21:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1254379#M4023</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2021-03-30T16:21:46Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1255643#M4024</link>
      <description>&lt;P&gt;Hello, thank you for reply.&lt;/P&gt;&lt;P&gt;Unfortunately, I am not familiar with PAMU, so I don’t know, how to check if PAMU/LIODN is in bypass mode. But what I tried is to enable the access to PCIe. The easiest way I fount is to extend the construct_pamu_addr_table function as follow:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE1_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE1_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE1_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE2_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE2_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE2_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE3_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE3_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE3_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE4_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE4_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE4_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, it does not help. Is this enough to enable the PCIes in PAMU?&lt;/P&gt;&lt;P&gt;Never less, I don’t think, the u-boot crash is caused by PAMU. PAMU is supposed to protect the DMA, but the u-boot crashes on the &lt;STRONG&gt;readl&lt;/STRONG&gt;&amp;nbsp;function which is defined as:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#define readl(addr) (*(volatile u32 *) (addr))&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;(The address is 0xB0000000, i.e., the virtual address for PCIe4 defined in CONFIG_SYS_PCIE4_MEM_VIRT)&lt;/P&gt;&lt;P&gt;So, the DMA is not involved here and therefore also PAMU should not have any impact. Is this my idea correct?&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karel&lt;/P&gt;</description>
      <pubDate>Thu, 01 Apr 2021 08:16:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1255643#M4024</guid>
      <dc:creator>KSin</dc:creator>
      <dc:date>2021-04-01T08:16:26Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1255816#M4025</link>
      <description>&lt;DIV class="lia-message-body lia-component-message-view-widget-body lia-component-body-signature-highlight-escalation lia-component-message-view-widget-body-signature-highlight-escalation"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;Hello, thank you for reply.&lt;/P&gt;&lt;P&gt;Unfortunately, I am not familiar with PAMU, so I don’t know, how to check if PAMU/LIODN is in bypass mode. But what I tried is to enable the access to PCIe. The easiest way I fount is to extend the construct_pamu_addr_table function as follow:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE1_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE1_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE1_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE2_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE2_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE2_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE3_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE3_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE3_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE4_MEM_PHYS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE4_MEM_PHYS;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE4_MEM_SIZE;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, it does not help. Is this enough to enable the PCIes in PAMU?&lt;/P&gt;&lt;P&gt;Never less, I don’t think, the u-boot crash is caused by PAMU. PAMU is supposed to protect the DMA, but the u-boot crashes on the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;readl&lt;/STRONG&gt;&amp;nbsp;function which is defined as:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#define readl(addr) (*(volatile u32 *) (addr))&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;(The address is 0xB0000000, i.e., the virtual address for PCIe4 defined in CONFIG_SYS_PCIE4_MEM_VIRT)&lt;/P&gt;&lt;P&gt;So, the DMA is not involved here and therefore also PAMU should not have any impact. Is this my idea correct?&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karel&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 01 Apr 2021 12:25:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1255816#M4025</guid>
      <dc:creator>KSin</dc:creator>
      <dc:date>2021-04-01T12:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1255924#M4027</link>
      <description>&lt;P&gt;In my previous reply,&amp;nbsp; T1040RM.pdf for PAMU setting. e.g.7.3.31 PAMU Bypass Enable Register (DCFG_CCSR_PAMUBYPENR). Secure boot reenforce PAMU setting and blocking DMA, which will affect PCI operation as well. More info is in the T1040RM, section 28.3.4 LIODN&lt;/P&gt;
&lt;P&gt;#####&lt;/P&gt;
&lt;P&gt;Logical I/O Device Number (LIODN) is a mechanism where the memory subsystem identifies the LIODN that is assigned to an inbound PCI Express memory transaction based on its transaction ID (that is, RID), looks up its memory access permissions in a table, and performs the appropriate actions based on the outcome of the table look-up.&lt;/P&gt;
&lt;P&gt;#####&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To check/confirm the PAMU setting in uboot:&lt;/P&gt;
&lt;P&gt;step 1: makeing sure you can read the Device Configuration/Pin Control memory map.&amp;nbsp; Assume CCSRAB is at xfe000000, 0xfe0e00a0 is "Processor Version Register (DCFG_CCSR_PVR)" has a fix value of "8024_1021"&lt;/P&gt;
&lt;P&gt;=&amp;gt; md 0xfe0e00a0&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;fe0e00a0: 80241021 85280011 00000040 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; .$.!.(.....@....&lt;/P&gt;
&lt;P&gt;fe0e00b0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/P&gt;
&lt;P&gt;fe0e00c0: 00004000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ..@.............&lt;/P&gt;
&lt;P&gt;fe0e00d0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/P&gt;
&lt;P&gt;If you are not getting "80241021" at 0xfe0e00a0, customer need to check their CCSRBAR address and swap the xFE000000 with whatever they are using.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Step 2: once you confirm they can read DCFG_CCSR_PVR, customer can read the PAMU setting by reading DCFG_CCSR_PAMUBYPENR @ xfe0e0604&lt;/P&gt;
&lt;P&gt;=&amp;gt; md 0xfe0e0600&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;fe0e0600: 04000000 ff000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/P&gt;
&lt;P&gt;fe0e0610: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/P&gt;
&lt;P&gt;fe0e0620: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/P&gt;
&lt;P&gt;fe0e0630: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this case, it has the default SDK setting and in bypass mode. After customer change that, they will need assign LIODN. More info is available in the T1040RM, section&lt;/P&gt;
&lt;P&gt;7.3.24 USB n Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;(DCFG_CCSR_USBnLIODNR).......................................... 288&lt;/P&gt;
&lt;P&gt;7.3.25 SD/MMC Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;(DCFG_CCSR_SDMMCLIODNR)................................ 289&lt;/P&gt;
&lt;P&gt;7.3.26 SATA n Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;(DCFG_CCSR_SATAnLIODNR)..................................... 289&lt;/P&gt;
&lt;P&gt;7.3.27 DIU Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;(DCFG_CCSR_DIULIODNR).................................................290&lt;/P&gt;
&lt;P&gt;7.3.28 TDM DMA Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;(DCFG_CCSR_TDMDMALIODNR)..........................290&lt;/P&gt;
&lt;P&gt;7.3.29 QUICC Engine Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;(DCFG_CCSR_QELIODNR).................................291&lt;/P&gt;
&lt;P&gt;7.3.30 DMA n Logical I/O Device Number register&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;(DCFG_CCSR_DMAnLIODNR)....................................... 291&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Apr 2021 16:58:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1255924#M4027</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2021-04-01T16:58:18Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1257823#M4029</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I checked the DCFG_CCSR_PAMUBYPENR register, here is the result:&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;=&amp;gt; md 0xfe0e00a0&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e00a0: 80241021 85280011 00000040 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; .$.!.(.....@....&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e00b0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e00c0: 00004000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ..@.............&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e00d0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e00e0: 00000000 0000000f 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e00f0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0100: 0c0d000c 0c000000 00000000 00440000&amp;nbsp;&amp;nbsp;&amp;nbsp; .............D..&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0110: 66000002 00000012 e8306000 21000000&amp;nbsp;&amp;nbsp;&amp;nbsp; f........0`.!...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0120: 00000000 00000000 00000000 0003a160&amp;nbsp;&amp;nbsp;&amp;nbsp; ...............`&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0130: 00000200 c03e5a85 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; .....&amp;gt;Z.........&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0140: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0150: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0160: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0170: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0180: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0190: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;=&amp;gt; md 0xfe0e0600&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0600: 04000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0610: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0620: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0630: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0640: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0650: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0660: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0670: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0680: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e0690: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e06a0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e06b0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e06c0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e06d0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e06e0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;fe0e06f0: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;As you can see, the address 0xfe0e0600 contain zeroes, so the PAMU is not bypassed (this is logical, because in the chapter 7.3.31 is written: “On exiting RCW the register will be loaded with the inverse of secure_boot_en”).&lt;/P&gt;&lt;P&gt;According your reply, the LIODN needs to be assigned in this case, so I check the uboot code and found, that it is already done in the function set_liodns(). Here is an output of debug messages I added into the code (PCI is red merked):&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;KSI&amp;gt;&amp;gt; (liodn.c) set_liodns called&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;KSI&amp;gt;&amp;gt; (liodn.c) set_liodns calls set_liodn(liodn_tbl, liodn_tbl_sz: 16);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;KSI&amp;gt;&amp;gt; (liodn.c) set_liodn:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,qman, id[0x3e, 0x0], num_ids: 1, compat_offset: 0xFFE318000 reg_offset: 0xFE318D08 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,bman, id[0x3f, 0x0], num_ids: 1, compat_offset: 0xFFE31A000 reg_offset: 0xFE31AD08 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,esdhc, id[0x228, 0x0], num_ids: 1, compat_offset: 0xFFE114000 reg_offset: 0xFE0E0530 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,pme, id[0x75, 0x0], num_ids: 1, compat_offset: 0xFFE316000 reg_offset: 0xFE316A0C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl-usb2-mph, id[0x229, 0x0], num_ids: 1, compat_offset: 0xFFE210000 reg_offset: 0xFE0E0520 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl-usb2-dr, id[0x22a, 0x0], num_ids: 1, compat_offset: 0xFFE211000 reg_offset: 0xFE0E0524 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,pq-sata-v2, id[0x22b, 0x0], num_ids: 1, compat_offset: 0xFFE220000 reg_offset: 0xFE0E0550 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,pq-sata-v2, id[0x22c, 0x0], num_ids: 1, compat_offset: 0xFFE221000 reg_offset: 0xFE0E0554 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="#FF0000"&gt;compat: fsl,qoriq-pcie-v2.4, id[0x94, 0x0], num_ids: 1, compat_offset: 0xFFE240000 reg_offset: 0xFE240040 configured&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2" color="#FF0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,qoriq-pcie-v2.4, id[0xe4, 0x0], num_ids: 1, compat_offset: 0xFFE250000 reg_offset: 0xFE250040 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2" color="#FF0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,qoriq-pcie-v2.4, id[0x134, 0x0], num_ids: 1, compat_offset: 0xFFE260000 reg_offset: 0xFE260040 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2" color="#FF0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,qoriq-pcie-v2.4, id[0x184, 0x0], num_ids: 1, compat_offset: 0xFFE270000 reg_offset: 0xFE270040 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,elo3-dma, id[0x93, 0x0], num_ids: 1, compat_offset: 0xFFE100300 reg_offset: 0xFE0E0580 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,elo3-dma, id[0xe3, 0x0], num_ids: 1, compat_offset: 0xFFE101300 reg_offset: 0xFE0E0584 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,qe, id[0x22f, 0x0], num_ids: 1, compat_offset: 0xFFE140000 reg_offset: 0xFE0E0578 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,tdm1.0, id[0x230, 0x0], num_ids: 1, compat_offset: 0xFFE185000 reg_offset: 0xFE0E0574 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;KSI&amp;gt;&amp;gt; (liodn.c) set_liodns calls set_liodn(sec_liodn_tbl, sec_liodn_tbl_sz: 24);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;KSI&amp;gt;&amp;gt; (liodn.c) set_liodn:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-job-ring, id[0x1c6, 0x1CA], num_ids: 2, compat_offset: 0xFFE301000 reg_offset: 0xFE300014 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-job-ring, id[0x1c6, 0x1CA], num_ids: 2, compat_offset: 0xFFE301000 reg_offset: 0xFE300014 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-job-ring, id[0x1c7, 0x1CB], num_ids: 2, compat_offset: 0xFFE302000 reg_offset: 0xFE30001C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-job-ring, id[0x1c7, 0x1CB], num_ids: 2, compat_offset: 0xFFE302000 reg_offset: 0xFE30001C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-job-ring, id[0x1c8, 0x1CC], num_ids: 2, compat_offset: 0xFFE303000 reg_offset: 0xFE300024 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-job-ring, id[0x1c8, 0x1CC], num_ids: 2, compat_offset: 0xFFE303000 reg_offset: 0xFE300024 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-job-ring, id[0x1c9, 0x1CD], num_ids: 2, compat_offset: 0xFFE304000 reg_offset: 0xFE30002C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-job-ring, id[0x1c9, 0x1CD], num_ids: 2, compat_offset: 0xFFE304000 reg_offset: 0xFE30002C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-rtic-memory, id[0x1c5, 0x0], num_ids: 1, compat_offset: 0xFFE306100 reg_offset: 0xFE300064 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-rtic-memory, id[0x1c5, 0x0], num_ids: 1, compat_offset: 0xFFE306100 reg_offset: 0xFE300064 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-rtic-memory, id[0x225, 0x0], num_ids: 1, compat_offset: 0xFFE306120 reg_offset: 0xFE30006C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-rtic-memory, id[0x225, 0x0], num_ids: 1, compat_offset: 0xFFE306120 reg_offset: 0xFE30006C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-rtic-memory, id[0x226, 0x0], num_ids: 1, compat_offset: 0xFFE306140 reg_offset: 0xFE300074 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec-v4.0-rtic-memory, id[0x226, 0x0], num_ids: 1, compat_offset: 0xFFE306140 reg_offset: 0xFE300074 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: fsl,sec4.0-rtic-memory, id[0x227, 0x0], num_ids: 1, compat_offset: 0xFFE306160 reg_offset: 0xFE30007C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;compat: fsl,sec-v4.0-rtic-memory, id[0x227, 0x0], num_ids: 1, compat_offset: 0xFFE306160 reg_offset: 0xFE30007C configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x21d, 0x262], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000A4 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x21e, 0x263], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000AC configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x21f, 0x264], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000B4 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x220, 0x265], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000BC configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x221, 0x266], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000C4 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x222, 0x267], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000CC configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x223, 0x268], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000D4 configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compat: &amp;lt;NULL&amp;gt;, id[0x224, 0x269], num_ids: 2, compat_offset: 0xFFE000000 reg_offset: 0xFE3000DC configured&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;So the problem cant be here. Do you have any other idea?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Karel&lt;/P&gt;</description>
      <pubDate>Wed, 07 Apr 2021 08:56:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1257823#M4029</guid>
      <dc:creator>KSin</dc:creator>
      <dc:date>2021-04-07T08:56:40Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1259815#M4036</link>
      <description>&lt;P&gt;One more question on the NSB_log.txt.&lt;BR /&gt;LAWBARH05: 0x00000000 LAWBARL05: 0x00000000 LAWAR05: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH06: 0x00000000 LAWBARL06: 0x00000000 LAWAR06: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH07: 0x00000000 LAWBARL07: 0x00000000 LAWAR07: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH08: 0x00000000 LAWBARL08: 0x00000000 LAWAR08: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH09: 0x00000000 LAWBARL09: 0x00000000 LAWAR09: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH10: 0x00000000 LAWBARL10: 0x00000000 LAWAR10: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH11: 0x00000000 LAWBARL11: 0x00000000 LAWAR11: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;LAWBARH12: 0x00000000 LAWBARL12: 0x00000000 LAWAR12: 0x00000000&lt;BR /&gt;(EN: 0 TGT: 0x00 SIZE: 2 Bytes)&lt;BR /&gt;&lt;BR /&gt;The LAWBAR for PCI are disabled (EN:0), and it is for "00h PCI Express 1". Since customer has the PCI4 working:&lt;BR /&gt;PCIe4: Root Complex, x1 gen2, regs @ 0xfe270000&lt;BR /&gt;0a:00.0 - 1b4b:9170 - Mass storage controller&lt;BR /&gt;PCIe4: Bus 09 - 0a&lt;BR /&gt;&lt;BR /&gt;Can you provide the LAWBAR register dump after the "PCIe4" message?&lt;BR /&gt;&lt;BR /&gt;It is also noteworthy that the LAWBAR for the SB_log.txt is different. LAWBARH01 to LAWBARH04 is repeated in LAWBARH05 to LAWBARH08. It is setting up DPAA (QMAN, BMAN, etc), not PCIe windows.&lt;BR /&gt;i.e.&lt;BR /&gt;LAWBARH01: 0x0000000f LAWBARL01: 0xf4000000 LAWAR01: 0x81800018&lt;BR /&gt;(EN: 1 TGT: 0x18 SIZE: 32 MiB)&lt;BR /&gt;LAWBARH02: 0x0000000f LAWBARL02: 0xf6000000 LAWAR02: 0x83c00018&lt;BR /&gt;(EN: 1 TGT: 0x3c SIZE: 32 MiB)&lt;BR /&gt;LAWBARH03: 0x0000000f LAWBARL03: 0x00000000 LAWAR03: 0x81d00015&lt;BR /&gt;(EN: 1 TGT: 0x1d SIZE: 4 MiB)&lt;BR /&gt;LAWBARH04: 0x0000000f LAWBARL04: 0xff800000 LAWAR04: 0x81f0000f&lt;BR /&gt;(EN: 1 TGT: 0x1f SIZE: 64 KiB)&lt;BR /&gt;LAWBARH05: 0x0000000f LAWBARL05: 0xf4000000 LAWAR05: 0x81800018&lt;BR /&gt;(EN: 1 TGT: 0x18 SIZE: 32 MiB)&lt;BR /&gt;LAWBARH06: 0x0000000f LAWBARL06: 0xf6000000 LAWAR06: 0x83c00018&lt;BR /&gt;(EN: 1 TGT: 0x3c SIZE: 32 MiB)&lt;BR /&gt;LAWBARH07: 0x0000000f LAWBARL07: 0x00000000 LAWAR07: 0x81d00015&lt;BR /&gt;(EN: 1 TGT: 0x1d SIZE: 4 MiB)&lt;BR /&gt;LAWBARH08: 0x0000000f LAWBARL08: 0xff800000 LAWAR08: 0x81f0000f&lt;BR /&gt;(EN: 1 TGT: 0x1f SIZE: 64 KiB)&lt;BR /&gt;&lt;BR /&gt;So the uboot image is definitely different between the SB and normal boot. What version of SDK or upstream code you are based on? Is it compile from the same source code?&lt;/P&gt;</description>
      <pubDate>Fri, 09 Apr 2021 17:13:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1259815#M4036</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2021-04-09T17:13:45Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1261077#M4037</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;The only difference between the secure and non-secure version is in defconfig files (I added both in attachment). We are also not using any NXP SDK, this is just u-boot source code (downloaded from &lt;A href="https://github.com/qoriq-open-source" target="_blank"&gt;https://github.com/qoriq-open-source&lt;/A&gt;) builded by “make” commands.&lt;/P&gt;&lt;P&gt;But based on your point, I try to add the rows:&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE1_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_1),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE2_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_2),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE3_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_3),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE4_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_4),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;In the &lt;STRONG&gt;law_table[]&lt;/STRONG&gt; and the memory trap problem is gone. I am interesting why it is necessary for the secure version only, but it is not important just now. Thank you for the help.&lt;/P&gt;&lt;P&gt;The second problem is, the SSD is still not found (because of timeout in &lt;STRONG&gt;ahci_device_data_io&lt;/STRONG&gt; function). Now I am sure that this is caused by PAMU, because if I set the DCFG_CCSR_PAMUBYPENR bit to bypass the PAMU everything works.&lt;/P&gt;&lt;P&gt;I try to add the rows:&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE1_MEM_PHYS&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE1_MEM_PHYS;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE1_MEM_SIZE;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE2_MEM_PHYS&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE2_MEM_PHYS;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE2_MEM_SIZE;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE3_MEM_PHYS&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE3_MEM_PHYS;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE3_MEM_SIZE;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#ifdef CONFIG_SYS_PCIE4_MEM_PHYS&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;start_addr[i] = CONFIG_SYS_PCIE4_MEM_PHYS;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;size[i] = CONFIG_SYS_PCIE4_MEM_SIZE;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl-&amp;gt;end_addr[i] = tbl-&amp;gt;start_addr[i] +&amp;nbsp; tbl-&amp;gt;size[i] - 1;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;#endif&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;into the &lt;STRONG&gt;construct_pamu_addr_table&lt;/STRONG&gt; function and:&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;ret = config_pamu(&amp;amp;tbl, num_entries, PCIe1liodn);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;ret = config_pamu(&amp;amp;tbl, num_entries, PCIe2liodn);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;ret = config_pamu(&amp;amp;tbl, num_entries, PCIe3liodn);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;ret = config_pamu(&amp;amp;tbl, num_entries, PCIe4liodn);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;into the &lt;STRONG&gt;sec_config_pamu_table&lt;/STRONG&gt; function (the LIONDN are defined as 148, 228, 308, 388 and configured in t1040_ids.c), but unfortunately it does not help.&lt;/P&gt;&lt;P&gt;What exactly are the correct steps to configure PAMU in the u-boot?&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Apr 2021 07:47:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1261077#M4037</guid>
      <dc:creator>KSin</dc:creator>
      <dc:date>2021-04-13T07:47:36Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1261439#M4038</link>
      <description>&lt;P&gt;&lt;SPAN&gt;In our SDK, the PAMU/LIODN is setup in linux. It is taking the input from &lt;/SPAN&gt;&lt;SPAN&gt;dtsi file.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;e.g.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;...\linux-4.1/drivers/iommu/fsl_pamu.c&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;...\linux-4.1/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Here is an example for PEX bus:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/linux-4.1/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi:&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;&amp;nbsp; fsl,liodn-reg = &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;amp;guts 0x500&amp;gt;; /* PEX1LIODNR */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/linux-4.1/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi:&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;&amp;nbsp; fsl,liodn-reg = &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;amp;guts 0x504&amp;gt;; /* PEX2LIODNR */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/linux-4.1/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi:&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;&amp;nbsp; fsl,liodn-reg = &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;amp;guts 0x508&amp;gt;; /* PEX3LIODNR */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/linux-4.1/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi:&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;&amp;nbsp; fsl,liodn-reg = &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;amp;guts 0x50c&amp;gt;; /* PEX4LIODNR */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Depends on your use case, as long as you enable PAMU, the LIODN is for &lt;/SPAN&gt;&lt;SPAN&gt;resources isolation. The example in the SDK is just a convention, you &lt;/SPAN&gt;&lt;SPAN&gt;can choose different scheme as they see fit.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Apr 2021 17:02:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1261439#M4038</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2021-04-13T17:02:30Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1262116#M4039</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I just found the uboot code you can reference.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot/tree/ar" target="_blank"&gt;https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot/tree/ar&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;ch/powerpc/cpu/mpc85xx/cpu_init.c&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;#include &amp;lt;asm/fsl_liodn.h&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;#ifdef CONFIG_FSL_CORENET&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;set_liodns();&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Apr 2021 15:39:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1262116#M4039</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2021-04-14T15:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: T1040: Problem with PCIe4 during secure boot</title>
      <link>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1264380#M4043</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I just solved my problem, so let me make some summary of solution for somebody who probably has a similar one.&lt;/P&gt;&lt;P&gt;&lt;FONT size="5"&gt;&lt;STRONG&gt;Problem:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I tried to configure the SATA SSD connected over PCIe – SATA bridge to the PCIe 4 in the u-boot. Everything worked fine if I build the u-boot for non-secure boot mode, but if I tried to build the u-boot for secure boot mode, the disk was not found, and the u-boot ends with memory trap caused by reading from address 0xB0000000 (0xB0000000 is configured address of PCIe 4) in &lt;EM&gt;&lt;STRONG&gt;ahci_host_init&lt;/STRONG&gt;&lt;/EM&gt; function.&lt;/P&gt;&lt;P&gt;&lt;FONT size="5"&gt;&lt;STRONG&gt;Solution:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;The memory tap was solved adding the LAW configuration for the PCIes:&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE1_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_1),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE2_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_2),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE3_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_3),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;SET_LAW(CONFIG_SYS_PCIE4_MEM_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_PCIE_4),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;into the &lt;STRONG&gt;law_table[]&lt;/STRONG&gt; defined in &lt;STRONG&gt;law.c&lt;/STRONG&gt; file. (I am not sure, why it is necessary to do especially for secure boot configuration only.)&lt;/P&gt;&lt;P&gt;After this, the memory trap gone, but the disk was still not found even I added the PCIe LIODNs into the &lt;EM&gt;&lt;STRONG&gt;sec_config_pamu_table&lt;/STRONG&gt;&lt;/EM&gt; function (defined in &lt;STRONG&gt;pamu_table.c&lt;/STRONG&gt; file).&lt;/P&gt;&lt;P&gt;Now I was known, that the communication was blocked by the PAMU (because if I bypass the PAMU by setting the bit &lt;STRONG&gt;BYP1&lt;/STRONG&gt; in &lt;STRONG&gt;DCFG_CCSR_PAMUBYPENR&lt;/STRONG&gt; register), the disk was found.&lt;/P&gt;&lt;P&gt;So, I configured the PAMU interrupt to list out the PAMU status registers in case of access violation and found followed:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;UDAD_UDAD = 0: NO Unauthorized Device Access Detected&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;AVS1_AV = 1: Access violation detected for LIODN (AVS1_LIODN): 388 (0x184)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS1_PDV = 0; No access violation while the PAMU enable (PE) bit is not set&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS1_GCV = 0; No access violation during PAMU gate closed&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS1_LAV = 010: LIODN access violation-Secondary PAACE index not within SPAACT&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS1_WAV = 000: No window access violation&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS1_APV = 0000: No access permission violation&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS1_OTV = 00: No operation type violation&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AVS2_OIV = 0: NO Operation Index Violation&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Access Violation Address: address, in I/O address space, of the operation that encountered the error condition (AVAH, AVAL) [Hex]. 00000000 7FB03000&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;It means, the LIODN of PCIe4 was not added in the secondary PAACE table even it was added in the primary one.&lt;/P&gt;&lt;P&gt;Checking the code of the PAMU driver, I was found, that both, primary and secondary tables are defined with static size which is defined in &lt;STRONG&gt;fsl_pamu.h&lt;/STRONG&gt; file as:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;#define NUM_PPAACT_ENTRIES&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; 512&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;#define NUM_SPAACT_ENTRIES&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 256&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;The size of 256 entries for secondary PAACE table was too small, and increasing this number solves the problem.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karel&lt;/P&gt;</description>
      <pubDate>Mon, 19 Apr 2021 13:37:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T1040-Problem-with-PCIe4-during-secure-boot/m-p/1264380#M4043</guid>
      <dc:creator>KSin</dc:creator>
      <dc:date>2021-04-19T13:37:51Z</dc:date>
    </item>
  </channel>
</rss>

