[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260122-atlantis-clocks-v2-0-c66371639e66@oss.tenstorrent.com>
Date: Thu, 22 Jan 2026 16:36:36 -0600
From: Anirudh Srinivasan <asrinivasan@....tenstorrent.com>
To: Drew Fustini <dfustini@....tenstorrent.com>,
Joel Stanley <jms@....tenstorrent.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Anirudh Srinivasan <asrinivasan@....tenstorrent.com>,
Philipp Zabel <p.zabel@...gutronix.de>
Cc: linux-riscv@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org, joel@....id.au,
fustini@...nel.org, mpe@...nel.org, mpe@....tenstorrent.com,
npiggin@....tenstorrent.com, agross@...nel.org, agross@....tenstorrent.com,
bmasney@...hat.com
Subject: [PATCH v2 0/3] Add Tenstorrent Atlantis Clock/Reset Controller
This series adds support for a multifunctional register block
(implemented as a syscon) in the Tenstorrent Atlantis SoC,
whose main functionality is to serve clocks and resets.
This block is instantiated multiple times in the SoC, with
each block covering clock/resets from a different subsystem. This series
adds a driver that covers clocks and resets from the RCPU subsystem,
which covers most low speed IO interfaces found in the chip. The reset
controller is implemented as an auxiliary device of the clock controller
and shares the same regmap as it.
The first commit adds bindings documenting the syscon block, along with
clock and reset indices. The second commit adds the reset controller
driver along with the auxdev definitions needed for it. The third commit
adds the clock controller driver, and the reset controller is created as
an auxdev of it.
Signed-off-by: Anirudh Srinivasan <asrinivasan@....tenstorrent.com>
---
Changes in v2:
- Improve the documentation about the syscon block in bindings
- Implemented all clks using custom ops
- Removed custom lock/lock handling functions for regmap
- Addressed comments on header file ordering, newlines and typos
- Removed code for mux parent setting
- Squashed down multiple commits that added reset/auxdev separately
- Link to v1: https://lore.kernel.org/r/20260115-atlantis-clocks-v1-0-7356e671f28b@oss.tenstorrent.com
---
Anirudh Srinivasan (3):
dt-bindings: soc: tenstorrent: Add tenstorrent,atlantis-syscon
reset: tenstorrent: Add reset controller for Atlantis
clk: tenstorrent: Add Atlantis clock controller driver
.../tenstorrent/tenstorrent,atlantis-syscon.yaml | 90 ++
MAINTAINERS | 5 +
drivers/clk/Kconfig | 1 +
drivers/clk/Makefile | 1 +
drivers/clk/tenstorrent/Kconfig | 14 +
drivers/clk/tenstorrent/Makefile | 3 +
drivers/clk/tenstorrent/atlantis-ccu.c | 939 +++++++++++++++++++++
drivers/reset/Kconfig | 11 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-tenstorrent-atlantis.c | 158 ++++
.../clock/tenstorrent,atlantis-syscon.h | 101 +++
include/soc/tenstorrent/atlantis-syscon.h | 53 ++
12 files changed, 1377 insertions(+)
---
base-commit: 9448598b22c50c8a5bb77a9103e2d49f134c9578
change-id: 20260112-atlantis-clocks-f090c190b86d
Best regards,
--
Anirudh Srinivasan <asrinivasan@....tenstorrent.com>
Powered by blists - more mailing lists