Hi Rob, > > On Wed, Mar 25, 2020 at 07:41:09AM +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 | 55 > ++++++++++++++++++++++ > > 1 file changed, 55 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..7f70e4b > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/rng/arm-cctrng.yaml > > @@ -0,0 +1,55 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/rng/arm-cctrng.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Arm TrustZone CryptoCell TRNG engine > > + > > +maintainers: > > + - Hadar Gat <hadar.gat@xxxxxxx> > > + > > +description: |+ > > + Arm TrustZone CryptoCell TRNG (True Random Number Generator) > engine. > > + > > +properties: > > + compatible: > > + enum: > > + - arm,cryptocell-713-trng > > + - arm,cryptocell-703-trng > > + > > + interrupts: > > + maxItems: 1 > > + > > + reg: > > + maxItems: 1 > > + > > + arm,rosc-ratio: > > + description: > > + Arm TrustZone CryptoCell TRNG engine has 4 ring oscillators. > > + Sampling ratio values for these 4 ring oscillators. (from calibration) > > + allOf: > > + - $ref: /schemas/types.yaml#/definitions/uint32-array > > + - items: > > + minItems: 4 > > + maxItems: 4 > > Aren't there some constraints on the values? > > If not, then just this is enough: > > - maxItems: 4 > The constraint is just on the array size and not on the values. The array is of 4 elements for the CryptoCell 4 ring oscillators. Isn't 'minitems:' is about the array min size? Isn't it the way to block less than 4 items? This is what I want to do. I'm a bit confused if it is required or not.. > > + > > + clocks: > > + maxItems: 1 > > + > > +required: > > + - compatible > > + - interrupts > > + - reg > > + - arm,rosc-ratio > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + arm_cctrng: rng@60000000 { > > + compatible = "arm,cryptocell-713-trng"; > > + interrupts = <0 29 4>; > > + reg = <0x60000000 0x10000>; > > + arm,rosc-ratio = <5000 1000 500 0>; > > + }; > > -- > > 2.7.4 > > Thanks, Hadar