[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251216-dr1v90-cru-v3-0-52cc938d1db0@pigmoral.tech>
Date: Tue, 16 Dec 2025 11:39:40 +0800
From: Junhui Liu <junhui.liu@...moral.tech>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Philipp Zabel <p.zabel@...gutronix.de>,
Junhui Liu <junhui.liu@...moral.tech>, Paul Walmsley <pjw@...nel.org>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>
Cc: linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org, devicetree@...r.kernel.org,
Troy Mitchell <troy.mitchell@...ux.spacemit.com>,
Conor Dooley <conor.dooley@...rochip.com>
Subject: [PATCH v3 0/6] clk/reset: anlogic: add support for DR1V90 SoC
Add Clock and Reset Unit (CRU) support for the Anlogic DR1V90 SoC, as
well as corresponding dts bindings and dts integration.
The CRU driver framework is built around the clock controller as the
primary device, with the reset controller implemented as an auxiliary
device. The clock part refers to the vendor's code [1] to determine the
structure of the clock tree.
The Anlogic DR1 series includes not only the DR1V90 (based on the Nuclei
UX900 RISC-V core), but also the DR1M90 (based on the Cortex-A35 ARM64
core). Most of the clock tree and CRU design can be shared between them.
This series only adds CRU support for DR1V90. Nevertheless, the driver
is structured to make future extension to other DR1 variants like
DR1M90.
Link: https://gitee.com/anlogic/linux/blob/anlogic-6.1.54/drivers/clk/anlogic/anl_dr1x90_crp.c [1]
---
Changes in v3:
- Remove incorrect __free(kfree) usage for auxiliary_device in clock
driver
- Replace __clk_get_enable_count with __clk_is_enabled in clock driver
- Add a lock to protect register read-modify-write in reset driver
- Rebase to v6.19-rc1
- Link to v2: https://lore.kernel.org/r/20251026-dr1v90-cru-v2-0-43b67acd6ddd@pigmoral.tech
Changes in v2:
- Update copyright infomation
- Add the original vendor author's infomation to the clock driver
- Rebase on the v3 basic DT patch, which is based on v6.18-rc1
- Link to v1: https://lore.kernel.org/r/20250922-dr1v90-cru-v1-0-e393d758de4e@pigmoral.tech
---
Junhui Liu (6):
clk: correct clk_div_mask() return value for width == 32
dt-bindings: clock: add Anlogic DR1V90 CRU
clk: anlogic: add cru support for Anlogic DR1V90 SoC
reset: anlogic: add support for Anlogic DR1V90 resets
riscv: dts: anlogic: add clocks and CRU for DR1V90
MAINTAINERS: Add entry for Anlogic DR1V90 SoC drivers
.../bindings/clock/anlogic,dr1v90-cru.yaml | 60 +++++
MAINTAINERS | 7 +
arch/riscv/boot/dts/anlogic/dr1v90.dtsi | 41 +++-
drivers/clk/Kconfig | 1 +
drivers/clk/Makefile | 1 +
drivers/clk/anlogic/Kconfig | 9 +
drivers/clk/anlogic/Makefile | 5 +
drivers/clk/anlogic/cru-dr1v90.c | 191 +++++++++++++++
drivers/clk/anlogic/cru_dr1.c | 258 +++++++++++++++++++++
drivers/clk/anlogic/cru_dr1.h | 117 ++++++++++
drivers/reset/Kconfig | 9 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-dr1v90.c | 141 +++++++++++
include/dt-bindings/clock/anlogic,dr1v90-cru.h | 46 ++++
include/dt-bindings/reset/anlogic,dr1v90-cru.h | 41 ++++
include/linux/clk-provider.h | 2 +-
16 files changed, 927 insertions(+), 3 deletions(-)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20250922-dr1v90-cru-74ab40c7f273
Best regards,
--
Junhui Liu <junhui.liu@...moral.tech>
Powered by blists - more mailing lists