From: Peng Fan <peng.fan@nxp.com>
i.MX95 has a System Manager(SM) core runs the System Control Management
Interface(SCMI) firmware. Vendor extenions are implemented in the
firmware, Logical Machine Management(LMM) protocol to manage
Logical Machines and CPU protocol to manage cores. The documentation
could be found in file drivers/firmware/arm_scmi/vendors/imx/imx95.rst.
Add below to support i.MX95
- compatible string for i.MX95 M7
- fsl,lmm-id to indicate the LMM ID of M7 LM
- fsl,cpu-id to indicate the CPU ID of M7
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
.../bindings/remoteproc/fsl,imx-rproc.yaml | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
index 57d75acb0b5e52ca49d1361176fdebc18a0bf7a2..a3ffab60df52be6f1d7cf4846ca5ba1c40f03bde 100644
--- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
@@ -28,6 +28,7 @@ properties:
- fsl,imx8qxp-cm4
- fsl,imx8ulp-cm33
- fsl,imx93-cm33
+ - fsl,imx95-cm7
clocks:
maxItems: 1
@@ -68,6 +69,12 @@ properties:
Indicate whether need to load the default firmware and start the remote
processor automatically.
+ fsl,cpu-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ This property is to specify the CPU ID of the remote processor
+ in SoC which supports System Manager
+
fsl,entry-address:
$ref: /schemas/types.yaml#/definitions/uint32
description:
@@ -78,6 +85,12 @@ properties:
description:
Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit.
+ fsl,lmm-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ This property is to specify the Logical Machine ID of the remote processor
+ in SoC which supports System Manager
+
fsl,resource-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
@@ -114,6 +127,20 @@ allOf:
properties:
power-domains: false
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: fsl,imx95-cm7
+ then:
+ required:
+ - fsl,lmm-id
+ - fsl,cpu-id
+ else:
+ properties:
+ fsl,lmm-id: false
+ fsl,cpu-id: false
+
additionalProperties: false
examples:
--
2.37.1
On 06/06/2025 03:55, Peng Fan (OSS) wrote: > fsl,entry-address: > $ref: /schemas/types.yaml#/definitions/uint32 > description: > @@ -78,6 +85,12 @@ properties: > description: > Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit. > > + fsl,lmm-id: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + This property is to specify the Logical Machine ID of the remote processor > + in SoC which supports System Manager As explained on IRC, none of above are suitable for DT, because these are soc specific. Also, post upstream your DTS, so we will see complete picture instead of guessing such things. Best regards, Krzysztof
On Fri, Jun 6, 2025 at 4:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote: > > From: Peng Fan <peng.fan@nxp.com> > > i.MX95 has a System Manager(SM) core runs the System Control Management > Interface(SCMI) firmware. Vendor extenions are implemented in the > firmware, Logical Machine Management(LMM) protocol to manage > Logical Machines and CPU protocol to manage cores. The documentation > could be found in file drivers/firmware/arm_scmi/vendors/imx/imx95.rst. > > Add below to support i.MX95 > - compatible string for i.MX95 M7 > - fsl,lmm-id to indicate the LMM ID of M7 LM > - fsl,cpu-id to indicate the CPU ID of M7 > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > .../bindings/remoteproc/fsl,imx-rproc.yaml | 27 ++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > index 57d75acb0b5e52ca49d1361176fdebc18a0bf7a2..a3ffab60df52be6f1d7cf4846ca5ba1c40f03bde 100644 > --- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > @@ -28,6 +28,7 @@ properties: > - fsl,imx8qxp-cm4 > - fsl,imx8ulp-cm33 > - fsl,imx93-cm33 > + - fsl,imx95-cm7 > > clocks: > maxItems: 1 > @@ -68,6 +69,12 @@ properties: > Indicate whether need to load the default firmware and start the remote > processor automatically. > > + fsl,cpu-id: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + This property is to specify the CPU ID of the remote processor > + in SoC which supports System Manager > + > fsl,entry-address: > $ref: /schemas/types.yaml#/definitions/uint32 > description: > @@ -78,6 +85,12 @@ properties: > description: > Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit. > > + fsl,lmm-id: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + This property is to specify the Logical Machine ID of the remote processor > + in SoC which supports System Manager > + > fsl,resource-id: > $ref: /schemas/types.yaml#/definitions/uint32 > description: > @@ -114,6 +127,20 @@ allOf: > properties: > power-domains: false > > + - if: > + properties: > + compatible: > + contains: > + const: fsl,imx95-cm7 > + then: > + required: > + - fsl,lmm-id > + - fsl,cpu-id > + else: > + properties: > + fsl,lmm-id: false > + fsl,cpu-id: false Hi Peng, Can you remind me why do we need the else branch here? I mean if the compatible is not fsl,imx95-cm7 then the properties fsl,lmm-id and fsl,cpu-id are not required and I think that's fine.
Hi Daniel, On Mon, Jun 16, 2025 at 04:07:02PM +0300, Daniel Baluta wrote: >On Fri, Jun 6, 2025 at 4:57???AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote: >> >> From: Peng Fan <peng.fan@nxp.com> >> >> i.MX95 has a System Manager(SM) core runs the System Control Management >> Interface(SCMI) firmware. Vendor extenions are implemented in the >> firmware, Logical Machine Management(LMM) protocol to manage >> Logical Machines and CPU protocol to manage cores. The documentation >> could be found in file drivers/firmware/arm_scmi/vendors/imx/imx95.rst. >> >> Add below to support i.MX95 >> - compatible string for i.MX95 M7 >> - fsl,lmm-id to indicate the LMM ID of M7 LM >> - fsl,cpu-id to indicate the CPU ID of M7 >> >> Signed-off-by: Peng Fan <peng.fan@nxp.com> >> --- >> .../bindings/remoteproc/fsl,imx-rproc.yaml | 27 ++++++++++++++++++++++ >> 1 file changed, 27 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml >> index 57d75acb0b5e52ca49d1361176fdebc18a0bf7a2..a3ffab60df52be6f1d7cf4846ca5ba1c40f03bde 100644 >> --- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml >> +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml >> @@ -28,6 +28,7 @@ properties: >> - fsl,imx8qxp-cm4 >> - fsl,imx8ulp-cm33 >> - fsl,imx93-cm33 >> + - fsl,imx95-cm7 >> >> clocks: >> maxItems: 1 >> @@ -68,6 +69,12 @@ properties: >> Indicate whether need to load the default firmware and start the remote >> processor automatically. >> >> + fsl,cpu-id: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + This property is to specify the CPU ID of the remote processor >> + in SoC which supports System Manager >> + >> fsl,entry-address: >> $ref: /schemas/types.yaml#/definitions/uint32 >> description: >> @@ -78,6 +85,12 @@ properties: >> description: >> Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit. >> >> + fsl,lmm-id: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + This property is to specify the Logical Machine ID of the remote processor >> + in SoC which supports System Manager >> + >> fsl,resource-id: >> $ref: /schemas/types.yaml#/definitions/uint32 >> description: >> @@ -114,6 +127,20 @@ allOf: >> properties: >> power-domains: false >> >> + - if: >> + properties: >> + compatible: >> + contains: >> + const: fsl,imx95-cm7 >> + then: >> + required: >> + - fsl,lmm-id >> + - fsl,cpu-id >> + else: >> + properties: >> + fsl,lmm-id: false >> + fsl,cpu-id: false > >Hi Peng, > >Can you remind me why do we need the else branch here? > >I mean if the compatible is not fsl,imx95-cm7 then the properties >fsl,lmm-id and fsl,cpu-id are not required and I think that's fine. It is not required, but we should also block others wrongly add the properties. Such as dt-schema should report error if user wrongly add these properties in DTS. DT maintainers may help comment more. Thanks, Peng
© 2016 - 2025 Red Hat, Inc.