From: Heiko Stuebner <heiko@sntech.de>
To: Chukun Pan <amadeus@jmu.edu.cn>, Jonas Karlman <jonas@kwiboo.se>
Cc: Yao Zi <ziyao@disroot.org>, Rob Herring <robh@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v2 1/2] arm64: dts: rockchip: Add pwm nodes for RK3528
Date: Thu, 20 Mar 2025 00:47:52 +0100 [thread overview]
Message-ID: <2499436.jE0xQCEvom@phil> (raw)
In-Reply-To: <0d638134-0c0d-4918-af47-e23d2ead3bf3@kwiboo.se>
Am Donnerstag, 20. März 2025, 00:26:14 MEZ schrieb Jonas Karlman:
> Hi Chukun,
>
> On 2025-03-18 13:00, Chukun Pan wrote:
> > Add pwm nodes for RK3528. The PWM core on RK3528 is the same as
> > RK3328, but the driver does not support interrupts yet.
>
> The device tree should describe the hardware, not what the driver
> support, so interrupts should probably be included.
>
> However, looking closer at TRM for i.e. RK3328, RK3568 and RK3588 it
> look like the following description is not a true description of the
> hardware.
>
> Each PWM controller seem to support 4 channels, here (and for older RK
> SoCs) we instead describe each channel and not the controller.
Yep, that is something that did go wrong in the very early days.
And all other Rockchip socs also have the same issue - even back
to the rk3066.
So yes, at some point we should overhaul the thing.
But I think this is more involved, as right now everything is aimed
at the current single-channel status quo.
Heiko
> Maybe something like following would better represent the hardware:
>
> pwm0: pwm@ffa90000 {
> compatible = "rockchip,rk3528-pwm";
> reg = <0x0 0xffa90000 0x0 0x10000>;
> clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
> clock-names = "pwm", "pclk";
> interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
> };
>
> pwm1: pwm@ffa98000 {
> compatible = "rockchip,rk3528-pwm";
> reg = <0x0 0xffa98000 0x0 0x10000>;
> clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
> clock-names = "pwm", "pclk";
> interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
> };
>
> Regards,
> Jonas
>
> >
> > Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
> > ---
> > arch/arm64/boot/dts/rockchip/rk3528.dtsi | 80 ++++++++++++++++++++++++
> > 1 file changed, 80 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > index 1af0d036cf32..621fc19ac0b3 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > @@ -465,6 +465,86 @@ uart7: serial@ffa28000 {
> > status = "disabled";
> > };
> >
> > + pwm0: pwm@ffa90000 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa90000 0x0 0x10>;
> > + clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm1: pwm@ffa90010 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa90010 0x0 0x10>;
> > + clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm2: pwm@ffa90020 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa90020 0x0 0x10>;
> > + clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm3: pwm@ffa90030 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa90030 0x0 0x10>;
> > + clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm4: pwm@ffa98000 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa98000 0x0 0x10>;
> > + clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm5: pwm@ffa98010 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa98010 0x0 0x10>;
> > + clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm6: pwm@ffa98020 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa98020 0x0 0x10>;
> > + clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > + pwm7: pwm@ffa98030 {
> > + compatible = "rockchip,rk3528-pwm",
> > + "rockchip,rk3328-pwm";
> > + reg = <0x0 0xffa98030 0x0 0x10>;
> > + clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
> > + clock-names = "pwm", "pclk";
> > + #pwm-cells = <3>;
> > + status = "disabled";
> > + };
> > +
> > saradc: adc@ffae0000 {
> > compatible = "rockchip,rk3528-saradc";
> > reg = <0x0 0xffae0000 0x0 0x10000>;
>
>
next prev parent reply other threads:[~2025-03-19 23:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-18 12:00 [PATCH v2 0/2] arm64: dts: rockchip: Add pwm nodes for RK3528 Chukun Pan
2025-03-18 12:00 ` [PATCH v2 1/2] " Chukun Pan
2025-03-19 23:26 ` Jonas Karlman
2025-03-19 23:47 ` Heiko Stuebner [this message]
2025-03-20 7:02 ` Jonas Karlman
2025-03-23 22:03 ` Jonas Karlman
2025-03-20 3:00 ` Chukun Pan
2025-03-18 12:00 ` [PATCH v2 2/2] arm64: dts: rockchip: Enable regulators for Radxa E20C Chukun Pan
2025-03-23 21:17 ` Jonas Karlman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2499436.jE0xQCEvom@phil \
--to=heiko@sntech.de \
--cc=amadeus@jmu.edu.cn \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jonas@kwiboo.se \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh@kernel.org \
--cc=ziyao@disroot.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).