IMX8MM 4GiB boundary issue

Marek Vasut marex at denx.de
Thu Feb 24 21:26:19 CET 2022


On 2/24/22 21:19, Tim Harvey wrote:
> On Thu, Feb 24, 2022 at 12:03 PM Marek Vasut <marex at denx.de> wrote:
>>
>> On 2/24/22 20:50, Fabio Estevam wrote:
>>> Hi Tim,
>>>
>>> Sorry for resurrecting such an old thread.
>>>
>>> On Fri, Sep 25, 2020 at 11:52 AM Tim Harvey <tharvey at gateworks.com> wrote:
>>>>
>>>> Greetings,
>>>>
>>>> I'm working with an IMX8MM board that has 4GiB of DRAM. I've found
>>>> that in this configuration the MMC driver and FEC network driver
>>>> appear to have some issues with crossing the 4GiB address space. If I
>>>> tell U-Boot I have 3GiB everything is ok, but when I set it to 4GiB I
>>>> see the following:
>>>>
>>>> MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
>>>> Loading Environment from MMC... Error found for upper 32 bits
>>>> Error found for upper 32 bits
>>>> Error found for upper 32 bits
>>>> *** Warning - No block device, using default environment
>>>>
>>>> In:    serial
>>>> Out:   serial
>>>> Err:   serial
>>>> Net:   DP83867
>>>> Warning: ethernet at 30be0000 (eth0) using random MAC address - ea:22:3a:4d:8f:d5
>>>> eth0: ethernet at 30be0000 [PRIME]
>>>> Hit any key to stop autoboot:  0
>>>>
>>>> On the FEC ethernet side I don't see any errors reported but ping's
>>>> fail with 4GiB DRAM.
>>>
>>> Yes, just noticed the "Error found for upper 32 bits" and FEC breakage
>>> on an imx8mm iotgate board.
>>>
>>> Is there any progress with regards to the support of 4GB of RAM on imx8mm?
>>
>> If the IP doesn't support access above 32bit bus addresses, but
>> mmc_data->src/dst is above 4 GiB, use 'struct bounce_buffer' on that
>> buffer and let U-Boot "bounce" into 32bit space which the IP can handle
>> . Same thing for ethernet and other IPs with such limitations.
> 
> Fabio,
> 
> As Marek points out the individual peripheral drivers have not been
> updated properly but this should be worked around with commit
> e27bddff4b97 ("imx8m: Restrict usable memory to space below 4G
> boundary").

Ah, ok ... so drivers were left broken, a workaround was added instead 
to paper over the bug. Pity.


More information about the U-Boot mailing list