[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAEev2e-WqFJR5QpT6ObQCrQFaAnCGt7HyNM4Q7CaqQCtRJAcSQ@mail.gmail.com>
Date: Fri, 23 Jan 2026 19:34:16 -0600
From: Anirudh Srinivasan <asrinivasan@....tenstorrent.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: 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>,
Philipp Zabel <p.zabel@...gutronix.de>, 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: Re: [PATCH v2 1/3] dt-bindings: soc: tenstorrent: Add tenstorrent,atlantis-syscon
Hi Krzysztof,
On Fri, Jan 23, 2026 at 1:10 AM Krzysztof Kozlowski <krzk@...nel.org> wrote:
>
> On 22/01/2026 23:36, Anirudh Srinivasan wrote:
> > Document bindings for Tenstorrent Atlantis syscon that manages clocks
> > and resets. This syscon block is instantiated 4 times in the SoC.
> > This commit documents the clocks from the RCPU syscon block.
> > diff --git a/Documentation/devicetree/bindings/soc/tenstorrent/tenstorrent,atlantis-syscon.yaml b/Documentation/devicetree/bindings/soc/tenstorrent/tenstorrent,atlantis-syscon.yaml
> > new file mode 100644
> > index 000000000000..49fbe2423be0
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/soc/tenstorrent/tenstorrent,atlantis-syscon.yaml
> > +description:
> > + Multifunctional register block found in Tenstorrent Atlantis SoC whose main function
> > + is to control clocks and resets. This Block is instantiated multiple times in the SoC,
>
> Please wrap code according to the preferred limit expressed in Kernel
> coding style (checkpatch is not a coding style description, but only a
> tool). However don't wrap blindly (see Kernel coding style).
Ack.
>
> > + each block controls clock and resets for a different subsystem.
> > +
> > + RCPU syscon serves low speed IO interfaces on chip
> > + PCIe syscon serves all PCIe related functions
> > + HSIO syscon serves high speed IO interfaces (Ethernet, USB)
> > + MM syscon serves GPU, display and video processing functions
>
> Same feedback - clock controllers go to clock, not soc.
>
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - tenstorrent,atlantis-syscon-rcpu
> > + - tenstorrent,atlantis-syscon-pcie
> > + - tenstorrent,atlantis-syscon-mm
> > + - tenstorrent,atlantis-syscon-hsio
>
> Why do you call everything syscon? syscon is not a hardware name. How is
> this exactly called in your datasheet?
I picked the syscon name since the block is a bunch of registers that
control different functions in the SoC. The block's name in the
datasheet is PRCM, so I will stick to that name and treat this node as
a clock controller as its main functionality is that.
> > +
> > +allOf:
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - tenstorrent,atlantis-syscon-pcie
> > + - tenstorrent,atlantis-syscon-mm
> > + - tenstorrent,atlantis-syscon-hsio
> > + then:
> > + required:
> > + - tenstorrent,syscon-rcpu
>
> else - properties false, see other examples how to do it.
>
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + syscon_rcpu: system-controller@...00000 {
>
> Drop entire example, one is enough.
>
> > + compatible = "tenstorrent,atlantis-syscon-rcpu";
> > + reg = <0xa8000000 0x10000>;
> > + clocks = <&osc_24m>;
> > + #clock-cells = <1>;
> > + #reset-cells = <1>;
> > + };
> > + - |
> > + syscon_hsio: system-controller@...c0000 {
>
> Drop unused label.
Ack.
> > diff --git a/include/dt-bindings/clock/tenstorrent,atlantis-syscon.h b/include/dt-bindings/clock/tenstorrent,atlantis-syscon.h
> > new file mode 100644
> > index 000000000000..053cef2b43c8
> > --- /dev/null
> > +++ b/include/dt-bindings/clock/tenstorrent,atlantis-syscon.h
>
> Name will follow bindings.
Ack
Powered by blists - more mailing lists