On Sun, Feb 9, 2020 at 3:34 AM Hadar Gat <Hadar.Gat@xxxxxxx> wrote: > > Hi Rob, > Thanks for remarks. > Please see my answers. > Hadar > > > On Sun, Feb 02, 2020 at 03:26:59PM +0200, Hadar Gat wrote: > > > The Arm CryptoCell is a hardware security engine. This patch adds DT > > > bindings for its TRNG (True Random Number Generator) engine. > > > > > > Signed-off-by: Hadar Gat <hadar.gat@xxxxxxx> > > > --- > > > .../devicetree/bindings/rng/arm-cctrng.yaml | 51 > > ++++++++++++++++++++++ > > > 1 file changed, 51 insertions(+) > > > create mode 100644 > > > Documentation/devicetree/bindings/rng/arm-cctrng.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/rng/arm-cctrng.yaml > > > b/Documentation/devicetree/bindings/rng/arm-cctrng.yaml > > > new file mode 100644 > > > index 0000000..fe9422e > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/rng/arm-cctrng.yaml > > > @@ -0,0 +1,51 @@ > > > +# SPDX-License-Identifier: GPL-2.0 > > > > Dual license new bindings: > > > > (GPL-2.0-only OR BSD-2-Clause) > > > Okay. > > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/rng/arm-cctrng.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Arm ZrustZone CryptoCell TRNG engine > > > + > > > +maintainers: > > > + - Hadar Gat <hadar.gat@xxxxxxx> > > > + > > > +description: |+ > > > + Arm ZrustZone CryptoCell TRNG (True Random Number Generator) > > engine. > > > + > > > +properties: > > > + compatible: > > > + description: Should be "arm,cryptocell-7x3-trng" > > > > Drop. That's what the schema says. > > > Okay. > > > > + const: arm,cryptocell-7x3-trng > > > > Is 'x' a wildcard? We don't do wildcards unless you have other ways to get the > > specific version. > > > Kind of a wildcard. It stands for either 703 or 713. > Should I fix this to the specific versions? > OR, > Since the specific version doesn't matter to the driver, should it changed? Maybe not now, but both will always have the same errata and features? 2 is not a large number, so just do 2. Of course, errata can vary by revision. Most Arm IP has version registers, so I assume that's true here. If not, we'd need per SoC implementation compatible strings here. > (checking out other rng drivers, I see this example in Samsung,exynos4.yaml: > - samsung,exynos4-rng # for Exynos4210 and Exynos4412 ) Well, there's lots of bad examples, and also, some Samsung bindings are declared to not be stable. > > > > + > > > + interrupts: > > > + description: Interrupt number for the device. > > > > Drop. That's all 'interrupts'. > > > Okay. > > > > + maxItems: 1 > > > + > > > + reg: > > > + description: Base physical address of the engine and length of memory > > > + mapped region. > > > > Drop. > > > Okay. > > > > + maxItems: 1 > > > + > > > + rosc-ratio: > > > + description: Sampling ratio values from calibration for 4 ring oscillators. > > > + maxItems: 1 > > > > Is this an array? > > > Yes, array of 4. (I'll mention in the description) Don't need a description as that's constraints the schema should express. > > Needs a vendor prefix, a type ref and any constraints you can come up with. > > > Do you mean in the name? instead of "rosc-ratio"? arm,rosc-ratio: allOf: - $ref: /schemas/types.yaml#/definitions/uint32-array maxItems: 4 > I didn't find anything about it in the documentation or examples in other rng drivers.. > > > > + > > > + clocks: > > > + description: Reference to the crypto engine clock. > > > > How many clocks? > > > One clock. (I will change clocks --> clock) No, the property name is always 'clocks'. You need just 'maxItems: 1' if there's a single clock. Rob