[PATCH 1/5] ARM: imx: Do not define do_reset() if sysreset is enabled
hws at denx.de
Wed Apr 29 10:57:15 CEST 2020
On Wed, 2020-04-29 at 00:26 +0200, Marek Vasut wrote:
> On 4/28/20 11:23 PM, Harald Seiler wrote:
> > Hello Marek,
> > On Tue, 2020-04-28 at 16:22 +0200, Marek Vasut wrote:
> > > The SPL can also be compiled with sysreset drivers just fine, so
> > > update the condition to cater for that option.
> > Me and Claudius solved the same problem in a different way a while back
> > (see  and ).
> > The two approaches overlap but both contain some unique code that is
> > useful. I'll merge the two patchsets and send them anew if that is ok
> > with you.
> Can you be more specific about what is your plan ?
> Since the MX8M already has DM enabled in SPL for quite a few things and
> has enough SRAM space left, I would be inclined to just go with DM-based
> implementation of the reset over a non-DM one.
For me personally, the patch I care most about is the first of Claudius
and my series ("ARM: reset: use do_reset in SPL/TPL if SYSRESET was not
enabled for them") . It is necessary to make SPL_USB_SDP_SUPPORT work
on the DH imx6 board (which does not use SYSRESET in SPL at the moment).
As this patch breaks the imx8m* boards in their present form, we tried
fixing them in their current non-DM state in "imx: imx8m*: Remove do_reset
from board files"  and "imx: imx8m: Don't use the addr parameter of
reset_cpu" . These patches are theoretically superseeded by your
series which solves the problem much better and more future-proof.
But I think it would not hurt to pull in Claudius and my changes as well
so the non-DM version isn't lying around, silently broken.
Additionally, "imx: imx8m: Don't use the addr parameter of reset_cpu" 
is groundwork for removing this addr parameter altogether from the whole
tree which I want to do after this imx8 story is over.
So to summarize, the final state I'd want is this:
- "ARM: reset: use do_reset in SPL/TPL if SYSRESET was not enabled for
them" is applied for my own needs.
- No board defines do_reset().
- The imx8m boards use DM_SYSRESET in SPL (from your patches).
- The non-DM reset code for imx8 is also fixed, even though it is not
used in any mainline board anymore.
More information about the U-Boot