On Wed, Oct 14, 2026 at 10:38:12PM +0200, Andreas Henriksson wrote:
> On Wed, Oct 14, 2026 at 11:49:57AM -0600, Tom Rini wrote:
> > On Wed, Oct 14, 2026 at 09:46:44AM +0200, Andreas Henriksson wrote:
> > > On boards with >3GiB ram, we can end up with transfers above 4GiB
> > > which is not allowed by SDHC driver.
> > > 
> > > fsl_esdhc_imx.c: esdhc_setup_dma():
> > >   if (upper_32_bits(priv->dma_addr))
> > >           printf("Cannot use 64 bit addresses with SDMA\n");
> > > 
> > > Tested on Toradex Verdin i.MX8M Plus SoM, where bootefi would not work
> > > (with systemd-boot as efi application) and print the above message.
> > 
> > Is this a driver limitation which should be fixed, or a hardware
> > limitation that needs to be enforced by this Kconfig option?
> 
> As far as I understand it, this is a limitation in the (S)DMA design
> of the SoC.

See also commit e27bddff4b97598baaa7186196ebfb28075f702c which contains:

    /*
     * Some IPs have their accessible address space restricted by
     * the interconnect. Let's make sure U-Boot only ever uses the
     * space below the 4G address boundary (which is 3GiB big),
     * even when the effective available memory is bigger.
     */

(This is only in arch/arm/mach-imx/imx8m/soc.c and none of the
other arch/arm/mach-imx/imx*/soc.c has the board_get_usable_ram_top
function.)

Regards,
Andreas Henriksson

https://git.u-boot-project.org/u-boot/u-boot/-/commit/e27bddff4b97598baaa7186196ebfb28075f702c

Reply via email to