[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ya6L4khOROWo9t8E@lunn.ch>
Date: Mon, 6 Dec 2021 23:17:06 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Vladimir Oltean <olteanv@...il.com>
Cc: "Russell King (Oracle)" <linux@...linux.org.uk>,
Martyn Welch <martyn.welch@...labora.com>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
netdev@...r.kernel.org, kernel@...labora.com
Subject: Re: mv88e6240 configuration broken for B850v3
> static int mv88e6xxx_switch_reset(struct mv88e6xxx_chip *chip)
> {
> int err;
>
> err = mv88e6xxx_disable_ports(chip);
> if (err)
> return err;
>
> mv88e6xxx_hardware_reset(chip);
>
> return mv88e6xxx_software_reset(chip);
> }
>
> So unless I'm fooled by mentally putting an equality sign between
> mv88e6xxx_switch_reset() and getting rid of whatever a previous kernel
> may have done
A software reset resets the queue controllers and a few other
things. It does not touch the contents of most registers.
A hardware reset, using a GPIO to the reset pin, will reset all
registers. The switch will then read the optional PROM, and that could
set some registers. But hardware reset is not supported by most
boards.
Andrew
Powered by blists - more mailing lists