On Tue, 15 Dec 2020 at 08:48, Harald Seiler <h...@denx.de> wrote: > > The current implementation of reset_cpu() in the ns3 board code does not > archieve what it is supposed to (according to the comments), due to > a number of reasons: > > 1. The argument to reset_cpu() is _not_ actually passed from the > `reset` command, but is set to 0 in all call-sites (in this > specific case, see arch/arm/lib/reset.c). Thus, performing > different kinds of resets based on its value will not work as > expected. > > 2. Contrary to its documentation, the passed argument is not > interpreted, but a static `L3_RESET` define is used. The other > comment properly notes that this will always perform a L3 reset, > though. > > 3. The "parsing" of the static `L3_RESET` value is not even using the > upper and lower nibble as stated in the comment, but uses the last > two decimal digits of the value. > > This is currently one of the only implementations left in U-Boot, which > make "use" of the value passed to reset_cpu(). As this is done under > false assumption (the value does not have any meaning anymore), it makes > sense to bring it into line with the rest and start ignoring the > parameter. > > This is a preparation for removal of the reset_cpu() parameter across > the entire tree in a later patch. > > Fixes: b5a152e7ca0b ("board: ns3: default reset type to L3") > Cc: Bharat Gooty <bharat.go...@broadcom.com> > Cc: Rayagonda Kokatanur <rayagonda.kokata...@broadcom.com> > Signed-off-by: Harald Seiler <h...@denx.de> > --- > board/broadcom/bcmns3/ns3.c | 22 ++-------------------- > 1 file changed, 2 insertions(+), 20 deletions(-)
Reviewed-by: Simon Glass <s...@chromium.org>