On 05/02/2024 16:55, Alexey Romanov wrote: > Now crypto module available at G12A/G12B/S4/A1/SM1/AXG. > > 1. Add new compatibles: > - amlogic,g12a-crypto > - amlogic,s4-crypto (uses g12a-crypto as fallback) > - amlogic,a1-crypto (uses g12a-crypto as fallback) > - amlogic,axg-crypto > > 2. All SoC's, exclude GXL, doesn't take a clock input for > Crypto IP. Make it required only for amlogic,gxl-crypto. > > 3. All SoC's, exclude GXL, uses only one interrupt flow > for Crypto IP. > > 4. Add power-domains in schema. > > Signed-off-by: Alexey Romanov <avromanov@xxxxxxxxxxxxxxxxx> > --- > .../bindings/crypto/amlogic,gxl-crypto.yaml | 44 +++++++++++++++---- > 1 file changed, 36 insertions(+), 8 deletions(-) > > diff --git a/Documentation/devicetree/bindings/crypto/amlogic,gxl-crypto.yaml b/Documentation/devicetree/bindings/crypto/amlogic,gxl-crypto.yaml > index 948e11ebe4ee..62f772036b06 100644 > --- a/Documentation/devicetree/bindings/crypto/amlogic,gxl-crypto.yaml > +++ b/Documentation/devicetree/bindings/crypto/amlogic,gxl-crypto.yaml > @@ -11,20 +11,30 @@ maintainers: > > properties: > compatible: > - items: > - - const: amlogic,gxl-crypto > + oneOf: > + - items: > + - enum: > + - amlogic,a1-crypto > + - amlogic,s4-crypto > + - const: amlogic,g12a-crypto > + - items: > + - const: amlogic,gxl-crypto > + - items: > + - const: amlogic,axg-crypto > + - items: > + - const: amlogic,g12a-crypto You just ignored my comment, so repeat: that's just enum with three entries. > > reg: > maxItems: 1 > > - interrupts: > - items: > - - description: Interrupt for flow 0 > - - description: Interrupt for flow 1 > + interrupts: true No, you need widest constraints here. > > clocks: > maxItems: 1 > > + power-domains: > + maxItems: 1 > + > clock-names: > const: blkmv > > @@ -32,8 +42,26 @@ required: > - compatible > - reg > - interrupts > - - clocks > - - clock-names > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: amlogic,gxl-crypto > + then: > + required: > + - clocks > + - clock-names > + properties: > + interrupts: > + maxItems: 2 > + minItems: 2 Instead describe items like it was in original code. > + else: > + properties: > + interrupts: > + maxItems: 1 > + minItems: 1 and what interrupt is expected here? > > additionalProperties: false > Best regards, Krzysztof