Rework compatibility description according to the support of the authenticated firmware relying on OP-TEE authentication. The expected behavior is: - with legacy compatible "st,stm32mp1-m4" the Linux kernel loads a non-signed (ELF) firmware image, - with compatible "st,stm32mp1-m4-tee" the Linux kernel load a signed firmware image. In this case it calls TEE services to manage the firmware loading and the remoteproc life-cycle. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx> --- .../bindings/remoteproc/st,stm32-rproc.yaml | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml index 959a56f1b6c7..1671a90d5974 100644 --- a/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml @@ -16,7 +16,12 @@ maintainers: properties: compatible: - const: st,stm32mp1-m4 + enum: + - st,stm32mp1-m4 + - st,stm32mp1-m4-tee + description: + Use "st,stm32mp1-m4" for the Cortex-M4 coprocessor management by Linux + Use "st,stm32mp1-m4-tee" for the Cortex-M4 coprocessor management by OPTEE reg: description: @@ -135,8 +140,28 @@ required: - compatible - reg - resets - - st,syscfg-holdboot - - st,syscfg-tz + +allOf: + - if: + properties: + compatible: + enum: + - st,stm32mp1-m4 + then: + required: + - memory-region + - st,syscfg-holdboot + - st,syscfg-tz + - resets + - if: + properties: + compatible: + enum: + - st,stm32mp1-m4-tee + then: + required: + - memory-region + additionalProperties: false @@ -148,6 +173,8 @@ examples: reg = <0x10000000 0x40000>, <0x30000000 0x40000>, <0x38000000 0x10000>; + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, + <&m_ipc_shm>, <&vdev0vring1>, <&vdev0buffer>; resets = <&rcc MCU_R>; st,syscfg-holdboot = <&rcc 0x10C 0x1>; st,syscfg-tz = <&rcc 0x000 0x1>; -- 2.25.1