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>

Reply via email to