<?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 LS1021a: SMMU/MMC configuration issue in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511188#M1190</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm currently using NXP SDK 1.9 on a LS1021a board. U-boot from the SDK is built using CONFIG_SPL, and both SPL and u-boot are run in secure mode. The switch to normal world is triggered just priori to jumping to Linux.&lt;/P&gt;&lt;P&gt;My current goal is to run u-boot in normal mode (SPL is still secure). I already patched a couple of locations (e.g. access to CNTFREQ secure registers) so that u-boot can run, but I get an issue while reading the SD card:&lt;/P&gt;&lt;P&gt;- In the SPL, everything is normal, I can issue MMC_CMD_READ_SINGLE_BLOCK and actually read the information from the SD card&lt;/P&gt;&lt;P&gt;- In u-boot, the same action does not read anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I inspected a couple of locations, and the following pattern applies all the time:&lt;/P&gt;&lt;P&gt;1) allocate a buffer to read data from SD card&lt;/P&gt;&lt;P&gt;2) write a dummy info inside the buffer&lt;/P&gt;&lt;P&gt;3) issue a block read to the SD card in the buffer&lt;/P&gt;&lt;P&gt;4) read back the buffer: nothing as changed, dummy info hasn't been overwritten by the SD access.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked the cpu MMU: no issue here, I can access the buffer and memory mapped registers without any trouble (mapping is 1:1 for the RAM).&lt;/P&gt;&lt;P&gt;TZASC is bypassed (CSU_SA0 and CSU_SA1 are all zeroes). So I guess the SMMU is denying me access to the SD card in the normal world ? I think the 4 SMMU are bypassed by default (CLIENTPD is 1 in CR0/SCR0) but I might miss something.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) How do I make sure that the SMMU is not enabled ?&lt;/P&gt;&lt;P&gt;2) Is there any other component I might have overlooked that might explain this behavior ?&lt;/P&gt;&lt;P&gt;3) Could it be an alignment issue ? 1 bis) What is the correct alignment requirement for DMA ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDIT: I did a few tests by moving the buffer where data are written to different location. It seems that moving the buffer from stack to heap helps and I can read the correct data from SD card. Here is an example of output I get from u-boot. Both stack and heap addresses are aligned to 64.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14592551226034624 jive_text_macro" data-renderedposition="810_50_798_448" jivemacro_uid="_14592551226034624" modifiedtitle="true"&gt;&lt;P&gt;Reading from stack: dev 0 start 0 count 1 to beee35c0...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_bread] dev 0 start 0 count 1 dst beee35c0&lt;/P&gt;&lt;P&gt;CMD_SEND:16&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000200&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_read_blocks] mmc bef04008 dst beee35c0 start 0 count 1&lt;/P&gt;&lt;P&gt;CMD_SEND:17&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Incorrect Data:&lt;/P&gt;&lt;P&gt;34 32 7d 01 00 00 00 00 &lt;/P&gt;&lt;P&gt;fa 00 00 00 00 00 00 00 &lt;/P&gt;&lt;P&gt;ff ff ff ff eb 36 ee be &lt;/P&gt;&lt;P&gt;04 36 ee be 02 00 00 00 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reading from heap: dev 0 start 0 count 1 to bffb8e00...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_bread] dev 0 start 0 count 1 dst bffb8e00&lt;/P&gt;&lt;P&gt;CMD_SEND:16&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000200&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_read_blocks] mmc bef04008 dst bffb8e00 start 0 count 1&lt;/P&gt;&lt;P&gt;CMD_SEND:17&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Correct Data&lt;/P&gt;&lt;P&gt;fa b8 00 10 8e d0 bc 00 &lt;/P&gt;&lt;P&gt;b0 b8 00 00 8e d8 8e c0 &lt;/P&gt;&lt;P&gt;fb be 00 7c bf 00 06 b9 &lt;/P&gt;&lt;P&gt;00 02 f3 a4 ea 21 06 00 &lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Vincent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 29 Mar 2016 12:20:39 GMT</pubDate>
    <dc:creator>vsiles</dc:creator>
    <dc:date>2016-03-29T12:20:39Z</dc:date>
    <item>
      <title>LS1021a: SMMU/MMC configuration issue</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511188#M1190</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm currently using NXP SDK 1.9 on a LS1021a board. U-boot from the SDK is built using CONFIG_SPL, and both SPL and u-boot are run in secure mode. The switch to normal world is triggered just priori to jumping to Linux.&lt;/P&gt;&lt;P&gt;My current goal is to run u-boot in normal mode (SPL is still secure). I already patched a couple of locations (e.g. access to CNTFREQ secure registers) so that u-boot can run, but I get an issue while reading the SD card:&lt;/P&gt;&lt;P&gt;- In the SPL, everything is normal, I can issue MMC_CMD_READ_SINGLE_BLOCK and actually read the information from the SD card&lt;/P&gt;&lt;P&gt;- In u-boot, the same action does not read anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I inspected a couple of locations, and the following pattern applies all the time:&lt;/P&gt;&lt;P&gt;1) allocate a buffer to read data from SD card&lt;/P&gt;&lt;P&gt;2) write a dummy info inside the buffer&lt;/P&gt;&lt;P&gt;3) issue a block read to the SD card in the buffer&lt;/P&gt;&lt;P&gt;4) read back the buffer: nothing as changed, dummy info hasn't been overwritten by the SD access.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked the cpu MMU: no issue here, I can access the buffer and memory mapped registers without any trouble (mapping is 1:1 for the RAM).&lt;/P&gt;&lt;P&gt;TZASC is bypassed (CSU_SA0 and CSU_SA1 are all zeroes). So I guess the SMMU is denying me access to the SD card in the normal world ? I think the 4 SMMU are bypassed by default (CLIENTPD is 1 in CR0/SCR0) but I might miss something.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) How do I make sure that the SMMU is not enabled ?&lt;/P&gt;&lt;P&gt;2) Is there any other component I might have overlooked that might explain this behavior ?&lt;/P&gt;&lt;P&gt;3) Could it be an alignment issue ? 1 bis) What is the correct alignment requirement for DMA ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDIT: I did a few tests by moving the buffer where data are written to different location. It seems that moving the buffer from stack to heap helps and I can read the correct data from SD card. Here is an example of output I get from u-boot. Both stack and heap addresses are aligned to 64.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14592551226034624 jive_text_macro" data-renderedposition="810_50_798_448" jivemacro_uid="_14592551226034624" modifiedtitle="true"&gt;&lt;P&gt;Reading from stack: dev 0 start 0 count 1 to beee35c0...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_bread] dev 0 start 0 count 1 dst beee35c0&lt;/P&gt;&lt;P&gt;CMD_SEND:16&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000200&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_read_blocks] mmc bef04008 dst beee35c0 start 0 count 1&lt;/P&gt;&lt;P&gt;CMD_SEND:17&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Incorrect Data:&lt;/P&gt;&lt;P&gt;34 32 7d 01 00 00 00 00 &lt;/P&gt;&lt;P&gt;fa 00 00 00 00 00 00 00 &lt;/P&gt;&lt;P&gt;ff ff ff ff eb 36 ee be &lt;/P&gt;&lt;P&gt;04 36 ee be 02 00 00 00 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reading from heap: dev 0 start 0 count 1 to bffb8e00...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_bread] dev 0 start 0 count 1 dst bffb8e00&lt;/P&gt;&lt;P&gt;CMD_SEND:16&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000200&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[mmc_read_blocks] mmc bef04008 dst bffb8e00 start 0 count 1&lt;/P&gt;&lt;P&gt;CMD_SEND:17&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; ARG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; MMC_RSP_R1,5,6,7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000900 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Correct Data&lt;/P&gt;&lt;P&gt;fa b8 00 10 8e d0 bc 00 &lt;/P&gt;&lt;P&gt;b0 b8 00 00 8e d8 8e c0 &lt;/P&gt;&lt;P&gt;fb be 00 7c bf 00 06 b9 &lt;/P&gt;&lt;P&gt;00 02 f3 a4 ea 21 06 00 &lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Vincent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Mar 2016 12:20:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511188#M1190</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-03-29T12:20:39Z</dc:date>
    </item>
    <item>
      <title>Re: LS1021a: SMMU/MMC configuration issue</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511189#M1191</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Further work on the issue makes me think that this is not SMMU related, but only MMU related. Here is another failure scenario:&lt;/P&gt;&lt;P&gt;1) SPL (in secure mode) copies u-boot and my secure blob in RAM&lt;/P&gt;&lt;P&gt;2) jump to my secure blob&lt;/P&gt;&lt;P&gt;3) first thing I do is enabling MMU (short descriptors with AFE/TRE bit set) 1:1 mapping&lt;/P&gt;&lt;P&gt;4) jump back to u-boot (*still* in secure mode) with a patch to disable mmu in start.S&lt;/P&gt;&lt;P&gt;5) u-boot activates its mmu correctly, but MMC read fails&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm only modifying SCTLR (which I completely restore), TTBCR, TTBR0/1, PRRR and NMRR, all are overwritten by the mmu_setup function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I'm still lost&amp;nbsp; :smileyhappy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Mar 2016 08:53:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511189#M1191</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-03-30T08:53:15Z</dc:date>
    </item>
    <item>
      <title>Re: LS1021a: SMMU/MMC configuration issue</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511190#M1192</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ! In the end the issue was not at all a SMMU/MMC issue: my kernel (which is running in between SPL and u-boot, as secure), was setting the ACTLR.SMP bit, to enable caching. With ACTLR.SMP bit set to 1, u-boot doesn't seem to work properly.&lt;/P&gt;&lt;P&gt;For now, I just leave it that way, I'll investigate why later.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Mar 2016 12:28:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1021a-SMMU-MMC-configuration-issue/m-p/511190#M1192</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-03-30T12:28:48Z</dc:date>
    </item>
  </channel>
</rss>

