[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c37e1f3a40c404acd81c2c9d5b28b340.sboyd@kernel.org>
Date: Tue, 28 Mar 2023 19:19:10 -0700
From: Stephen Boyd <sboyd@...nel.org>
To: Jacky Huang <ychuang570808@...il.com>, gregkh@...uxfoundation.org,
jirislaby@...nel.org, krzysztof.kozlowski+dt@...aro.org,
lee@...nel.org, mturquette@...libre.com, p.zabel@...gutronix.de,
robh+dt@...nel.org
Cc: devicetree@...r.kernel.org, linux-clk@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org,
arnd@...db.de, schung@...oton.com, mjchen@...oton.com,
Jacky Huang <ychuang3@...oton.com>
Subject: Re: [PATCH v6 08/12] arm64: dts: nuvoton: Add initial ma35d1 device tree
Quoting Jacky Huang (2023-03-28 19:03:24)
> On 2023/3/29 上午 01:57, Stephen Boyd wrote:
> > Quoting Jacky Huang (2023-03-27 19:19:08)
> >> diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
> >> new file mode 100644
> >> index 000000000000..0740b0b218a7
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
> >> @@ -0,0 +1,231 @@
[...]
> >> +
> >> + L2_0: l2-cache0 {
> > Just l2-cache for the node name. Doesn't it go under the cpu0 node as
> > well?
>
> This describes the level-2 cache which is external to and shared by cpu0
> & cpu1.
> And only level-1 cache is inside of CPU core.
> L2_0 is must, because both cpu0 and cpu1 has a next-level-cache =
> <&L2_0> property.
Ok. The name should just be l2-cache then, not l2-cache0.
>
> Many identical example of l2-cache node can be found in arm64 dts, such
> as k3-arm642.dtsi,
> rk3328.dtsi, mt8195.dtsi, etc. Here is just a copy of similar arm64
> multi-core SoCs.
>
> So we would like to keep this unchanged. Is it OK for you? Thanks.
>
Mostly ok, yes.
>
> >> +
> >> + sys: system-management@...60000 {
> >> + compatible = "nuvoton,ma35d1-sys", "syscon", "simple-mfd";
> >> + reg = <0x0 0x40460000 0x0 0x200>;
> >> +
> >> + reset: reset-controller {
> >> + compatible = "nuvoton,ma35d1-reset";
> >> + #reset-cells = <1>;
> >> + };
> >> + };
> >> +
> >> + clk: clock-controller@...60200 {
> >> + compatible = "nuvoton,ma35d1-clk", "syscon";
> >> + reg = <0x00000000 0x40460200 0x0 0x100>;
> >> + #clock-cells = <1>;
> >> + clocks = <&clk_hxt>;
> >> + nuvoton,sys = <&sys>;
> >> + };
> > It looks like the device at 40460000 is a reset and clock controller.
> > Just make it one node and register the clk or reset device as an
> > auxiliary device.
>
> 40460000 is for system control registers, including power contrl,
> multifunction pin control,
> usb phy control, IP reset control, power-on setting information, and
> many other miscellaneous controls.
> The registers of reset controller is only a subset of system control
> registers.
>
> 40460200 is for clock controller which is independent of the system
> control integration
> The register base of clock controller is very close to system
> controller, but in fact the two are independent.
What do you use the syscon for then? The clock driver must want to use
the syscon for something, implying that they are the same device.
Powered by blists - more mailing lists