On Wed, Sep 09, 2026 at 14:56:02 +0100, David Lechner wrote: > On 9/6/26 10:30 AM, Carlo Caione wrote: > > Document the common Genio 510 and Genio 700 eMMC boot chain, > > board-specific external firmware prerequisites, binman build invocation > > and generated images. > > > > ... > > > +DDR-loader handoff contract > > +--------------------------- > > + > > +The DDR loader and U-Boot SPL have no parameter-block or firmware-call > > +interface. Their contract consists of a fixed image layout, initialized > > DRAM > > +and the execution state at the SPL entry point. Different DDR-loader > > +implementations may be used as long as they satisfy this contract for the > > +selected board. The BootROM loads the eMMC boot0 payload to > > +``CONFIG_MTK_GENIO_BROM_LOAD_ADDR``:: > > + > > + offset 0 +----------------------+ > > + | DDR loader | > > + | | > > + offset CONFIG_MTK_GENIO_DDR_LOADER_SIZE +----------------------+ > > + | U-Boot SPL | > > + | CONFIG_SPL_MAX_SIZE | > > + image end +----------------------+ > > + > > +The DDR loader then performs the following handoff:: > > + > > + initialize and train DRAM > > + > > + copy: > > + source = CONFIG_MTK_GENIO_BROM_LOAD_ADDR > > + + CONFIG_MTK_GENIO_DDR_LOADER_SIZE > > + destination = CONFIG_SPL_TEXT_BASE > > + size = CONFIG_SPL_MAX_SIZE > > Do CONFIG_MTK_GENIO_DDR_LOADER_SIZE and CONFIG_SPL_MAX_SIZE need to be the > same or just CONFIG_SPL_MAX_SIZE >= CONFIG_MTK_GENIO_DDR_LOADER_SIZE?
They refer to two different things: CONFIG_MTK_GENIO_DDR_LOADER_SIZE reserves space for the DDR loader while CONFIG_MTK_GENIO_DDR_LOADER_SIZE is the size of the following SPL region which the loader copies to DRAM. -- Carlo Caione
