reset: mchp: sparx5: add switch reset driver
authorSteen Hegelund <steen.hegelund@microchip.com>
Fri, 16 Apr 2021 08:40:53 +0000 (10:40 +0200)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 10 May 2021 07:40:05 +0000 (09:40 +0200)
commit453ed4283bebd0776682c5a3227619d92caa9c8c
treef7bb28f490492a6a4490798c4404364b01599fa3
parent9a531e4d5a49925554f99024d164572cbd6a8d9b
reset: mchp: sparx5: add switch reset driver

The Sparx5 Switch SoC has a number of components that can be reset
indiviually, but at least the Switch Core needs to be in a well defined
state at power on, when any of the Sparx5 drivers starts to access the
Switch Core, this reset driver is available.

The reset driver is loaded early via the postcore_initcall interface, and
will then be available for the other Sparx5 drivers (SGPIO, SwitchDev etc)
that are loaded next, and the first of them to be loaded can perform the
one-time Switch Core reset that is needed.

The driver has protection so that the system busses, DDR controller, PCI-E
and ARM A53 CPU and a few other subsystems are not touched by the reset.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/reset/Kconfig
drivers/reset/Makefile
drivers/reset/reset-microchip-sparx5.c [new file with mode: 0644]