linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Philipp Zabel <p.zabel@pengutronix.de>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Olivia Mackall <olivia@selenic.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Daniel Golle <daniel@makrotopia.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	linux-crypto@vger.kernel.org
Subject: Re: [PATCH 2/7] dt-bindings: rng: add binding for Rockchip RK3588 RNG
Date: Fri, 31 Jan 2025 10:43:41 +0100	[thread overview]
Message-ID: <4955605.GXAFRqVoOG@workhorse> (raw)
In-Reply-To: <979564a4-c8e9-4427-8019-349d0794d9af@kernel.org>

On Friday 31 January 2025 09:30:51 Central European Standard Time Krzysztof 
Kozlowski wrote:
> On 30/01/2025 17:31, Nicolas Frattaroli wrote:
> > +title: Rockchip RK3588 TRNG
> > +
> > +description: True Random Number Generator on Rockchip RK3588 SoC
> > +
> > +maintainers:
> > +  - Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - rockchip,rk3588-rng
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    items:
> > +      - description: TRNG AHB clock
> > +
> > +  # Optional, not used by some driver implementations
> 
> What driver implementations? Downstream? They do not matter, because
> they are full of all sort of crap.

Downstream and this very driver in the series. The patch includes a lengthy 
explanation of why all known implementations have foregone using the 
interrupt.

> Can this block have interrupt really disconnected? This is the question
> you should answer.

I do not have the gift of prescience. If you want me to make the interrupt 
required even though it is pointless just because all hardware that implements 
this that I'm currently aware of does have the interrupt then I will add it as 
a required property.
 
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  # Optional, hardware works without explicit reset
> 
> Just because bootloader did something? With that reasoning nothing is
> ever required because firmware can abstract it. Either you have there a
> reset or not. In this particular case your driver is irrelevant.

No, it's not the bootloader that does it, it's the hardware itself. It's 
power-on reset. Hardware can reset itself without software, I don't know where 
the assumption of it being done by the bootloader comes from.

> > +  resets:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - clocks
> > +
> 
> BTW, there is a binding for Rockchip TRNG, with a bit different clocks
> so I have feeling yours is incomplete here.

I know and they're not. As the cover letter states, this is different hardware 
from the other Rockchip TRNG. This hardware only has one clock. It is a 
separate binding with different clocks because it is different hardware.

The patch's message also states this:

> [...] and a standalone RNG that is new to this SoC.
> 
> Add a binding for this new standalone RNG.

It's a standalone RNG that is new to this SoC. It has different registers, and 
different clock requirements.

> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/clock/rockchip,rk3588-cru.h>
> > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +    #include <dt-bindings/interrupt-controller/irq.h>
> > +    #include <dt-bindings/reset/rockchip,rk3588-cru.h>
> > +    bus {
> > +      #address-cells = <2>;
> > +      #size-cells = <2>;
> > +
> > +      rng@fe378000 {
> > +        compatible = "rockchip,rk3588-rng";
> > +        reg = <0x0 0xfe378000 0x0 0x200>;
> > +        interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH 0>;
> > +        clocks = <&scmi_clk SCMI_HCLK_SECURE_NS>;
> > +        resets = <&scmi_reset SCMI_SRST_H_TRNG_NS>;
> > +        status = "disabled";
> 
> Examples cannot be disabled.

Okay, I will fix this.

> > +      };
> > +    };
> > +
> > +...
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index
> > bc8ce7af3303f747e0ef028e5a7b29b0bbba99f4..7daf9bfeb0cb4e9e594b809012c7aa2
> > 43b0558ae 100644 --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -20420,8 +20420,10 @@ F:	include/uapi/linux/rkisp1-config.h
> > 
> >  ROCKCHIP RK3568 RANDOM NUMBER GENERATOR SUPPORT
> >  M:	Daniel Golle <daniel@makrotopia.org>
> >  M:	Aurelien Jarno <aurelien@aurel32.net>
> > 
> > +M:	Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> 
> Like Conor said, this is not really relevant and should be a separate patch.

Should just the added M be a separate patch or also adding the file to the 
MAINTAINERS file? Because if the latter is separate then I think checkpatch 
will yell at me, and if the former is separate then the binding's statement 
that it is maintained by me is disconnected from what's in the MAINTAINERS 
file.

> 
> 
> 
> Best regards,
> Krzysztof






  reply	other threads:[~2025-01-31  9:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-30 16:31 [PATCH 0/7] RK3588 Hardware Random Number Generator Driver Nicolas Frattaroli
2025-01-30 16:31 ` [PATCH 1/7] dt-bindings: reset: Add SCMI reset IDs for RK3588 Nicolas Frattaroli
2025-01-30 18:46   ` Conor Dooley
2025-01-30 16:31 ` [PATCH 2/7] dt-bindings: rng: add binding for Rockchip RK3588 RNG Nicolas Frattaroli
2025-01-30 18:42   ` Conor Dooley
2025-01-31  8:30   ` Krzysztof Kozlowski
2025-01-31  9:43     ` Nicolas Frattaroli [this message]
2025-01-30 16:31 ` [PATCH 3/7] hwrng: rockchip: store dev pointer in driver struct Nicolas Frattaroli
2025-01-30 16:31 ` [PATCH 4/7] hwrng: rockchip: eliminate some unnecessary dereferences Nicolas Frattaroli
2025-01-30 16:31 ` [PATCH 5/7] hwrng: rockchip: add support for rk3588's standalone TRNG Nicolas Frattaroli
2025-01-31  8:34   ` Krzysztof Kozlowski
2025-01-30 16:31 ` [PATCH 6/7] arm64: dts: rockchip: Add rng node to RK3588 Nicolas Frattaroli
2025-01-31 10:16   ` Krzysztof Kozlowski
2025-01-30 16:31 ` [PATCH 7/7] mailmap: add entry for Nicolas Frattaroli Nicolas Frattaroli
2025-01-31  8:36   ` Krzysztof Kozlowski

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=4955605.GXAFRqVoOG@workhorse \
    --to=nicolas.frattaroli@collabora.com \
    --cc=aurelien@aurel32.net \
    --cc=conor+dt@kernel.org \
    --cc=daniel@makrotopia.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=olivia@selenic.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sebastian.reichel@collabora.com \
    /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).