[U-Boot] [PATCH] arm: socfpga: fix SPL booting from fpga OnChip RAM
Simon Goldschmidt
simon.k.r.goldschmidt at gmail.com
Mon Oct 8 13:17:24 UTC 2018
On Mon, Oct 8, 2018 at 1:42 PM Marek Vasut <marex at denx.de> wrote:
>
> On 10/08/2018 06:04 AM, Simon Goldschmidt wrote:
> >
> >
> > Marek Vasut <marex at denx.de <mailto:marex at denx.de>> schrieb am Mo., 8.
> > Okt. 2018, 02:20:
> >
> > On 10/07/2018 01:08 PM, Simon Goldschmidt wrote:
> > > On 06.10.2018 22:38, Tom Rini wrote:
> > >> On Sat, Oct 06, 2018 at 10:33:42PM +0200, Simon Goldschmidt wrote:
> > >>
> > >>> This patch prevents disabling the FPGA bridges when
> > >>> SPL or U-Boot is executed from FPGA onchip RAM.
> > >>>
> > >>> Signed-off-by: Simon Goldschmidt
> > <simon.k.r.goldschmidt at gmail.com
> > <mailto:simon.k.r.goldschmidt at gmail.com>>
> > >>> ---
> > >>>
> > >>>
> > >>> There are other patches required to make boot from
> > >>> FPGA work correctly:
> > >>> - CONFIG_SPL_TEXT_BASE needs to be set to 0xC0000000
> > >>> ideally this is done by moving SPL_TEXT_BASE to Kconfig:
> > >>> https://patchwork.ozlabs.org/patch/976918/
> > >>> - spl_ram.c needs this patch by Michal Simek:
> > >>> https://patchwork.ozlabs.org/patch/978694/
> > >>> - For U-Boot to be run from FPGA onchip RAM, either
> > >>> CONFIG_SYS_EXTRA_ENV_RELOC needs to be used or this patch
> > >>> is required to relocate gd->env_addr:
> > >>> https://patchwork.ozlabs.org/patch/975702/
> > >> For the record, I'm currently reviewing the last two parts here. The
> > >> first one will come soon (I do Kconfig migrations separate so I
> > can see
> > >> a lack of size change).
> > >
> > >
> > > OK, after Tom merged the last to parts, I can confirm I can
> > successfully
> > > boot from FPGA by adapting CONFIG_SYS_TEXT_BASE via config and hacking
> > > CONFIG_SPL_TEXT_BASE to 0xC0000000 (as moving this to Kconfig is still
> > > missing).
> >
> > So is this patch still needed ?
> >
> >
> > Yes, sorry for being unclear there.
>
> Can we do what this patch does with less ifdeffery ? Maybe with simple
> if (address > FOO && < bar) remap() ?
Hmm, I can try, but the change in misc_gen5.c depends on whether we build SPL or
U-Boot, I'm not sure how to do that without ifdef...
Does 'if (CONFIG_IS_ENABLED(SPL_BUILD))' work? Does it look nice? It's not
used anywhere else like that.
Simon
More information about the U-Boot
mailing list