[U-Boot] [PATCH] arm: socfpga: control reboot from SRAM via env callback

Marek Vasut marex at denx.de
Sun May 5 01:42:54 UTC 2019


On 5/4/19 9:10 PM, Simon Goldschmidt wrote:
> Am 04.05.2019 um 20:43 schrieb Marek Vasut:
>> On 5/3/19 10:53 PM, Simon Goldschmidt wrote:
>>>
>>>
>>> Marek Vasut <marex at denx.de <mailto:marex at denx.de>> schrieb am Fr., 3.
>>> Mai 2019, 22:42:
>>>
>>>      On 5/3/19 10:39 PM, Simon Goldschmidt wrote:
>>>      >
>>>      >
>>>      > On 03.05.19 22:35, Marek Vasut wrote:
>>>      >> On 5/3/19 10:30 PM, Simon Goldschmidt wrote:
>>>      >>>
>>>      >>>
>>>      >>> On 03.05.19 22:28, Marek Vasut wrote:
>>>      >>>> On 5/3/19 10:08 PM, Simon Goldschmidt wrote:
>>>      >>>>> This moves the code that enables the Boot ROM to just jump
>>> to SRAM
>>>      >>>>> instead
>>>      >>>>> of loading SPL from the original boot source on warm reboot.
>>>      >>>>>
>>>      >>>>> Instead of always enabling this, an environment callback
>>> for the
>>>      >>>>> env var
>>>      >>>>> "socfpga_reboot_from_sram" is used. This way, the
>>> behaviour can be
>>>      >>>>> enabled
>>>      >>>>> at runtime and via saved environment.
>>>      >>>>>
>>>      >>>>> Signed-off-by: Simon Goldschmidt
>>>      <simon.k.r.goldschmidt at gmail.com
>>>      <mailto:simon.k.r.goldschmidt at gmail.com>>
>>>      >>>>
>>>      >>>> Would that be like a default "reset" command action ?
>>>      >>>> This probably shouldn't be socfpga specific then.
>>>      >>>
>>>      >>> No, it's a thing that lives on and influences even the soft
>>>      reset issued
>>>      >>> by linux "reboot" command. This is something *very* socfpga
>>>      specific.
>>>      >>
>>>      >> Hmmm, so isn't this a policy to be configured on the Linux end ?
>>>      >
>>>      > Might be, but it affects U-Boot's 'reset' command as well. And
>>> I guess
>>>      > it's set up in U-Boot this early to ensure it always works.
>>>
>>>      Drat, that's right. So there has to be some way to agree on how the
>>>      reset works between the kernel and U-Boot ?
>>>
>>>      > If it were for me, we could drop writing this magic
>>> altogether. I just
>>>      > figured some boards might require it to be written somewhere,
>>> and came
>>>      > up with a patch that might save those boards with the way it was
>>>      before.
>>>
>>>      Isn't this magic actually used by bootrom ?
>>>
>>>
>>> Right. It tells the boot rom to jump to ocram on next reboot instead of
>>> loading spl from qspi or mmc. But if that's required or not a good idea
>>> at all depends on many factors. Some of them board related, some U-Boot
>>> related and some Linux related (depending on the hardware and drivers
>>> used).
>>
>> Should that be runtime configurable then ?
> 
> Since it might depend on Linux putting the qspi chip into a state where
> it's not accessible by the boot ROM. That might change without
> rebuilding U-Boot.

If Linux switches the chip into some weird mode the bootrom cannot cope
with, it's a reset routing problem. This cannot be fixed in software.

> On the other hand, this is probably more of a U-Boot build time config.
> I could make it a Kconfig option as well...
> 
> Regards,
> Simon


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list