Thanks Rob for your clarifications. I surly learned more about .yaml schema. All fixes will be applied in the next patch version (v4). Hadar > 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