@@ -11,8 +11,16 @@ maintainers:
properties:
compatible:
- items:
- - const: amlogic,gxl-crypto
+ oneOf:
+ - items:
+ - enum:
+ - amlogic,s4-crypto
+ - const: amlogic,a1-crypto
+ - enum:
+ - amlogic,gxl-crypto
+ - amlogic,axg-crypto
+ - amlogic,g12a-crypto
+ - amlogic,a1-crypto
reg:
maxItems: 1
@@ -24,12 +32,24 @@ properties:
clocks:
maxItems: 1
+ power-domains:
+ maxItems: 1
+
required:
- compatible
- reg
- interrupts
- clocks
+allOf:
+ - if:
+ properties:
+ compatible:
+ const: amlogic,a1-crypto
+ then:
+ required:
+ - power-domains
+
additionalProperties: false
examples:
Now crypto module available at G12A/G12B/S4/A1/SM1/AXG. 1. Add new compatibles: - amlogic,g12a-crypto - amlogic,axg-crypto - amlogic,a1-crypto - amlogic,s4-crypto (uses a1-crypto as fallback) Difference between this compatibles: * Different registers offset and the number of setup descriptors. * GXL doesn't support hashing like the others. * G12A/B and A1/S4 crypto HW don't support 192 AES key. * GXL, G12A/B and AXG require a reverse IV key before processing. 2. Add power-domains in schema, which is required only for A1. This is specific vendor design: in old SoC's power domain for crypto HW was not configurable, but in A1-series it is configurable. Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> --- .../bindings/crypto/amlogic,gxl-crypto.yaml | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-)