NXP SoCs like the iMX8QM, iMX8QXP or iMX8DXP use power domains for
resource management.
Allow specifying them for such SoCs.
Signed-off-by: John Ernberg <john.ernberg@actia.se>
---
v3:
- Fix warnings discovered by Rob Herring's bot
- Declare the compatibles correctly (Krzysztof Kozlowski)
v2:
- Adjust commit message (Frank Li)
- Only allow power-domains when compatible with imx8qm (Frank Li)
---
.../bindings/crypto/fsl,sec-v4.0.yaml | 45 ++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
index 75afa441e019..a4ada0e2d97c 100644
--- a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
+++ b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
@@ -46,6 +46,7 @@ properties:
- items:
- enum:
- fsl,imx6ul-caam
+ - fsl,imx8qm-caam
- fsl,sec-v5.0
- const: fsl,sec-v4.0
- const: fsl,sec-v4.0
@@ -77,6 +78,9 @@ properties:
interrupts:
maxItems: 1
+ power-domains:
+ maxItems: 1
+
fsl,sec-era:
description: Defines the 'ERA' of the SEC device.
$ref: /schemas/types.yaml#/definitions/uint32
@@ -106,7 +110,9 @@ patternProperties:
- const: fsl,sec-v5.0-job-ring
- const: fsl,sec-v4.0-job-ring
- items:
- - const: fsl,sec-v5.0-job-ring
+ - enum:
+ - fsl,imx8qm-job-ring
+ - fsl,sec-v5.0-job-ring
- const: fsl,sec-v4.0-job-ring
- const: fsl,sec-v4.0-job-ring
@@ -116,6 +122,9 @@ patternProperties:
interrupts:
maxItems: 1
+ power-domains:
+ maxItems: 1
+
fsl,liodn:
description:
Specifies the LIODN to be used in conjunction with the ppid-to-liodn
@@ -212,6 +221,40 @@ required:
- reg
- ranges
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: fsl,imx8qm-caam
+ then:
+ required:
+ - power-domains
+ else:
+ properties:
+ power-domains: false
+
+ - if:
+ patternProperties:
+ '^jr@[0-9a-f]+$':
+ type: object
+ properties:
+ compatible:
+ contains:
+ const: fsl,imx8qm-job-ring
+ then:
+ patternProperties:
+ '^jr@[0-9a-f]+$':
+ type: object
+ required:
+ - power-domains
+ else:
+ patternProperties:
+ '^jr@[0-9a-f]+$':
+ type: object
+ properties:
+ power-domains: false
+
additionalProperties: false
examples:
--
2.49.0
On Wed, May 28, 2025 at 02:43:07PM +0000, John Ernberg wrote: > NXP SoCs like the iMX8QM, iMX8QXP or iMX8DXP use power domains for > resource management. > > Allow specifying them for such SoCs. > > Signed-off-by: John Ernberg <john.ernberg@actia.se> > > --- > > v3: > - Fix warnings discovered by Rob Herring's bot > - Declare the compatibles correctly (Krzysztof Kozlowski) > > v2: > - Adjust commit message (Frank Li) > - Only allow power-domains when compatible with imx8qm (Frank Li) > --- > .../bindings/crypto/fsl,sec-v4.0.yaml | 45 ++++++++++++++++++- > 1 file changed, 44 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > index 75afa441e019..a4ada0e2d97c 100644 > --- a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > +++ b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > @@ -46,6 +46,7 @@ properties: > - items: > - enum: > - fsl,imx6ul-caam > + - fsl,imx8qm-caam > - fsl,sec-v5.0 > - const: fsl,sec-v4.0 > - const: fsl,sec-v4.0 > @@ -77,6 +78,9 @@ properties: > interrupts: > maxItems: 1 > > + power-domains: > + maxItems: 1 > + > fsl,sec-era: > description: Defines the 'ERA' of the SEC device. > $ref: /schemas/types.yaml#/definitions/uint32 > @@ -106,7 +110,9 @@ patternProperties: > - const: fsl,sec-v5.0-job-ring > - const: fsl,sec-v4.0-job-ring > - items: > - - const: fsl,sec-v5.0-job-ring > + - enum: > + - fsl,imx8qm-job-ring > + - fsl,sec-v5.0-job-ring > - const: fsl,sec-v4.0-job-ring > - const: fsl,sec-v4.0-job-ring > > @@ -116,6 +122,9 @@ patternProperties: > interrupts: > maxItems: 1 > > + power-domains: > + maxItems: 1 > + > fsl,liodn: > description: > Specifies the LIODN to be used in conjunction with the ppid-to-liodn > @@ -212,6 +221,40 @@ required: > - reg > - ranges > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: fsl,imx8qm-caam > + then: > + required: > + - power-domains > + else: > + properties: > + power-domains: false > + > + - if: This 'if' belongs under the '^jr@[0-9a-f]+$' subschema which will then remote a level here. > + patternProperties: > + '^jr@[0-9a-f]+$': > + type: object > + properties: > + compatible: > + contains: > + const: fsl,imx8qm-job-ring > + then: > + patternProperties: > + '^jr@[0-9a-f]+$': > + type: object > + required: > + - power-domains > + else: > + patternProperties: > + '^jr@[0-9a-f]+$': > + type: object > + properties: > + power-domains: false > + > additionalProperties: false > > examples: > -- > 2.49.0
Hi Rob,
On Wed, May 28, 2025 at 04:52:09PM -0500, Rob Herring wrote:
> On Wed, May 28, 2025 at 02:43:07PM +0000, John Ernberg wrote:
> > NXP SoCs like the iMX8QM, iMX8QXP or iMX8DXP use power domains for
> > resource management.
> >
> > Allow specifying them for such SoCs.
> >
> > Signed-off-by: John Ernberg <john.ernberg@actia.se>
> >
> > ---
> >
> > v3:
> > - Fix warnings discovered by Rob Herring's bot
> > - Declare the compatibles correctly (Krzysztof Kozlowski)
> >
> > v2:
> > - Adjust commit message (Frank Li)
> > - Only allow power-domains when compatible with imx8qm (Frank Li)
> > ---
> > .../bindings/crypto/fsl,sec-v4.0.yaml | 45 ++++++++++++++++++-
> > 1 file changed, 44 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
> > index 75afa441e019..a4ada0e2d97c 100644
> > --- a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
> > +++ b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
> > @@ -46,6 +46,7 @@ properties:
> > - items:
> > - enum:
> > - fsl,imx6ul-caam
> > + - fsl,imx8qm-caam
> > - fsl,sec-v5.0
> > - const: fsl,sec-v4.0
> > - const: fsl,sec-v4.0
> > @@ -77,6 +78,9 @@ properties:
> > interrupts:
> > maxItems: 1
> >
> > + power-domains:
> > + maxItems: 1
> > +
> > fsl,sec-era:
> > description: Defines the 'ERA' of the SEC device.
> > $ref: /schemas/types.yaml#/definitions/uint32
> > @@ -106,7 +110,9 @@ patternProperties:
> > - const: fsl,sec-v5.0-job-ring
> > - const: fsl,sec-v4.0-job-ring
> > - items:
> > - - const: fsl,sec-v5.0-job-ring
> > + - enum:
> > + - fsl,imx8qm-job-ring
> > + - fsl,sec-v5.0-job-ring
> > - const: fsl,sec-v4.0-job-ring
> > - const: fsl,sec-v4.0-job-ring
> >
> > @@ -116,6 +122,9 @@ patternProperties:
> > interrupts:
> > maxItems: 1
> >
> > + power-domains:
> > + maxItems: 1
> > +
> > fsl,liodn:
> > description:
> > Specifies the LIODN to be used in conjunction with the ppid-to-liodn
> > @@ -212,6 +221,40 @@ required:
> > - reg
> > - ranges
> >
> > +allOf:
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: fsl,imx8qm-caam
> > + then:
> > + required:
> > + - power-domains
> > + else:
> > + properties:
> > + power-domains: false
> > +
> > + - if:
>
> This 'if' belongs under the '^jr@[0-9a-f]+$' subschema which will then
> remote a level here.
>
This is what I had in v2 [1], which your bot pointed out is an unexpected
if-statement [2]. Or should I have wrapped it in an allOf: even though it
was a single if:?
jernberg % pip install --upgrade dtschema
Requirement already satisfied: dtschema in ./.venv/lib/python3.13/site-packages (2025.2)
[1]: https://lore.kernel.org/linux-crypto/20250527071552.1424997-4-john.ernberg@actia.se/
[2]: https://lore.kernel.org/linux-crypto/174833819381.3537254.5508047100817417003.robh@kernel.org/
Would you mind also letting me know the command line you run validation
with in the CI? I didn't see the v2 (at first, needed W=1 for that) nor
the v3 complaint in my runs before sending.
Thanks! // John Ernberg
> > + patternProperties:
> > + '^jr@[0-9a-f]+$':
> > + type: object
> > + properties:
> > + compatible:
> > + contains:
> > + const: fsl,imx8qm-job-ring
> > + then:
> > + patternProperties:
> > + '^jr@[0-9a-f]+$':
> > + type: object
> > + required:
> > + - power-domains
> > + else:
> > + patternProperties:
> > + '^jr@[0-9a-f]+$':
> > + type: object
> > + properties:
> > + power-domains: false
> > +
> > additionalProperties: false
> >
> > examples:
> > --
> > 2.49.0
On Wed, 28 May 2025 14:43:07 +0000, John Ernberg wrote: > NXP SoCs like the iMX8QM, iMX8QXP or iMX8DXP use power domains for > resource management. > > Allow specifying them for such SoCs. > > Signed-off-by: John Ernberg <john.ernberg@actia.se> > > --- > > v3: > - Fix warnings discovered by Rob Herring's bot > - Declare the compatibles correctly (Krzysztof Kozlowski) > > v2: > - Adjust commit message (Frank Li) > - Only allow power-domains when compatible with imx8qm (Frank Li) > --- > .../bindings/crypto/fsl,sec-v4.0.yaml | 45 ++++++++++++++++++- > 1 file changed, 44 insertions(+), 1 deletion(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml:114:17: [warning] wrong indentation: expected 18 but found 16 (indentation) dtschema/dtc warnings/errors: doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250528144259.2603914-4-john.ernberg@actia.se The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Wed, May 28, 2025 at 02:43:07PM +0000, John Ernberg wrote: > NXP SoCs like the iMX8QM, iMX8QXP or iMX8DXP use power domains for > resource management. > > Allow specifying them for such SoCs. suggest comment: Add compatible string fsl,imx8qm-caam, and allow power-domains for it. Keep the same restriction for others. > > Signed-off-by: John Ernberg <john.ernberg@actia.se> > > --- > > v3: > - Fix warnings discovered by Rob Herring's bot > - Declare the compatibles correctly (Krzysztof Kozlowski) > > v2: > - Adjust commit message (Frank Li) > - Only allow power-domains when compatible with imx8qm (Frank Li) > --- > .../bindings/crypto/fsl,sec-v4.0.yaml | 45 ++++++++++++++++++- > 1 file changed, 44 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > index 75afa441e019..a4ada0e2d97c 100644 > --- a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > +++ b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > @@ -46,6 +46,7 @@ properties: > - items: > - enum: > - fsl,imx6ul-caam > + - fsl,imx8qm-caam suggest add fsl,imx8qxp-caam, fsl,imx8dxl-caam also Frank > - fsl,sec-v5.0 > - const: fsl,sec-v4.0 > - const: fsl,sec-v4.0 > @@ -77,6 +78,9 @@ properties: > interrupts: > maxItems: 1 > > + power-domains: > + maxItems: 1 > + > fsl,sec-era: > description: Defines the 'ERA' of the SEC device. > $ref: /schemas/types.yaml#/definitions/uint32 > @@ -106,7 +110,9 @@ patternProperties: > - const: fsl,sec-v5.0-job-ring > - const: fsl,sec-v4.0-job-ring > - items: > - - const: fsl,sec-v5.0-job-ring > + - enum: > + - fsl,imx8qm-job-ring > + - fsl,sec-v5.0-job-ring > - const: fsl,sec-v4.0-job-ring > - const: fsl,sec-v4.0-job-ring > > @@ -116,6 +122,9 @@ patternProperties: > interrupts: > maxItems: 1 > > + power-domains: > + maxItems: 1 > + > fsl,liodn: > description: > Specifies the LIODN to be used in conjunction with the ppid-to-liodn > @@ -212,6 +221,40 @@ required: > - reg > - ranges > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: fsl,imx8qm-caam > + then: > + required: > + - power-domains > + else: > + properties: > + power-domains: false > + > + - if: > + patternProperties: > + '^jr@[0-9a-f]+$': > + type: object > + properties: > + compatible: > + contains: > + const: fsl,imx8qm-job-ring > + then: > + patternProperties: > + '^jr@[0-9a-f]+$': > + type: object > + required: > + - power-domains > + else: > + patternProperties: > + '^jr@[0-9a-f]+$': > + type: object > + properties: > + power-domains: false > + > additionalProperties: false > > examples: > -- > 2.49.0
Hi Frank, On Wed, May 28, 2025 at 10:57:46AM -0400, Frank Li wrote: > On Wed, May 28, 2025 at 02:43:07PM +0000, John Ernberg wrote: > > NXP SoCs like the iMX8QM, iMX8QXP or iMX8DXP use power domains for > > resource management. > > > > Allow specifying them for such SoCs. > > suggest comment: > > Add compatible string fsl,imx8qm-caam, and allow power-domains for it. Keep > the same restriction for others. Ack. > > > > > Signed-off-by: John Ernberg <john.ernberg@actia.se> > > > > --- > > > > v3: > > - Fix warnings discovered by Rob Herring's bot > > - Declare the compatibles correctly (Krzysztof Kozlowski) > > > > v2: > > - Adjust commit message (Frank Li) > > - Only allow power-domains when compatible with imx8qm (Frank Li) > > --- > > .../bindings/crypto/fsl,sec-v4.0.yaml | 45 ++++++++++++++++++- > > 1 file changed, 44 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > > index 75afa441e019..a4ada0e2d97c 100644 > > --- a/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > > +++ b/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml > > @@ -46,6 +46,7 @@ properties: > > - items: > > - enum: > > - fsl,imx6ul-caam > > + - fsl,imx8qm-caam > > suggest add fsl,imx8qxp-caam, fsl,imx8dxl-caam also While I know the DXL comes with the CAAM, I don't have access to any boards with a DXL on it nor the DXL security manual. So I cannot validate any changes I would make for the DXL variant. I propose to keep the DXL out of this patch set, is that ok for you? I'll add a compat for the QXP in V4. Thanks! // John Ernberg > > Frank
© 2016 - 2026 Red Hat, Inc.