The FU540-C000 support in U-Boot is missing DM based reset driver,
and is handling reset's to sub-system within the prci driver itself.
The series here adds a generic DM reset driver for SiFive SoC's so as
to leverage the U-Boot's reset framework and binds the reset driver with
prci driver.
The PRCI driver takes care of triggering the consumers reset signals
appropriately.
Patch 1: Add necessary dt indexes for device reset register.
Patch 2: Update macro's to use common dt indexes from binding header.
Patch 3: Add reset producer and consumer entries within the device tree.
Patch 4: Add reset dm driver and bind it within prci module.
Patch 5: Add Kconfig, Makefile entries and enable the driver
This series is based on mainline U-Boot commit 2f5fbb5b39f7 ("Prepare
v2020.07")
History:
==========================
V3:
-Add reset indexes in separate dt binding header instead of
updating the clock dt binding header which is synced from Linux
V2:
-Removed extra character in commit log of 2nd patch
V1:
-Base version.
Sagar Shrikant Kadam (5):
dt-bindings: prci: add indexes for reset signals available in prci
fu540: prci: use common reset indexes defined in binding header
fu540: dtsi: add reset producer and consumer entries
sifive: reset: add DM based reset driver for SiFive SoC's
configs: reset: fu540: enable dm reset framework for SiFive SoC
arch/riscv/dts/fu540-c000-u-boot.dtsi | 12 +++
arch/riscv/include/asm/arch-fu540/reset.h | 13 +++
configs/sifive_fu540_defconfig | 2 +
drivers/clk/sifive/fu540-prci.c | 90 ++++++++++++++------
drivers/reset/Kconfig | 9 ++
drivers/reset/Makefile | 1 +
drivers/reset/reset-sifive.c | 118 ++++++++++++++++++++++++++
include/dt-bindings/reset/sifive-fu540-prci.h | 19 +++++
8 files changed, 239 insertions(+), 25 deletions(-)
create mode 100644 arch/riscv/include/asm/arch-fu540/reset.h
create mode 100644 drivers/reset/reset-sifive.c
create mode 100644 include/dt-bindings/reset/sifive-fu540-prci.h