Skip to content

Commit

Permalink
MIPS: ralink: manage low reset lines
Browse files Browse the repository at this point in the history
Reset lines with indices smaller than 8 are currently considered invalid
by the rt2880-reset reset controller.

The MT7621 SoC uses a number of these low reset lines. The DTS defines
reset lines "hsdma", "fe", and "mcm" with respective values 5, 6, and 2.
As a result of the above restriction, these resets cannot be asserted or
de-asserted by the reset controller. In cases where the bootloader does
not de-assert these lines, this results in e.g. the MT7621's internal
switch staying in reset.

Change the reset controller to only ignore the system reset, so all
reset lines with index greater than 0 are considered valid.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
Acked-by: John Crispin <john@phrozen.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  • Loading branch information
Sander Vanheule authored and Thomas Bogendoerfer committed Feb 4, 2021
1 parent b83ba0b commit 3f9ef77
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions arch/mips/ralink/reset.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ static int ralink_assert_device(struct reset_controller_dev *rcdev,
{
u32 val;

if (id < 8)
if (id == 0)
return -1;

val = rt_sysc_r32(SYSC_REG_RESET_CTRL);
Expand All @@ -42,7 +42,7 @@ static int ralink_deassert_device(struct reset_controller_dev *rcdev,
{
u32 val;

if (id < 8)
if (id == 0)
return -1;

val = rt_sysc_r32(SYSC_REG_RESET_CTRL);
Expand Down

0 comments on commit 3f9ef77

Please sign in to comment.