]> git.dujemihanovic.xyz Git - u-boot.git/commit
board: ns3: Remove superfluous reset logic
authorHarald Seiler <hws@denx.de>
Tue, 15 Dec 2020 15:47:50 +0000 (16:47 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 2 Mar 2021 16:24:29 +0000 (11:24 -0500)
commit10b86ef9b347c72ad8e73e739a9a00efd0f259f6
treeea78509440d05341a262b7229a0b2f8127706d76
parent5075bf28d65c70cc777620ac7974adaac5d20095
board: ns3: Remove superfluous reset logic

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.gooty@broadcom.com>
Cc: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Signed-off-by: Harald Seiler <hws@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
board/broadcom/bcmns3/ns3.c