[1/2] Documentation: dt-bindings: k3-r5f-rproc: Add new compatible for AM62 SoC family
Commit Message
AM62 family of devices don't have a R5F cluster, instead
they have single core DM R5F.
Add new compatible string ti,am62-r5fss to support this scenario.
When this new compatible is used don't allow cluster-mode
property usage in device-tree as this implies that there
is no R5F cluster available and only single R5F core
is present.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
---
.../bindings/remoteproc/ti,k3-r5f-rproc.yaml | 48 +++++++++++++------
1 file changed, 34 insertions(+), 14 deletions(-)
Comments
The DT people need to ack this patch, and for that to happen they need to be
CC'ed on the patch, as checkpatch is explicitly instructing to do.
On Tue, Nov 15, 2022 at 11:39:33AM +0530, Devarsh Thakkar wrote:
> AM62 family of devices don't have a R5F cluster, instead
> they have single core DM R5F.
> Add new compatible string ti,am62-r5fss to support this scenario.
>
> When this new compatible is used don't allow cluster-mode
> property usage in device-tree as this implies that there
> is no R5F cluster available and only single R5F core
> is present.
>
> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
> ---
> .../bindings/remoteproc/ti,k3-r5f-rproc.yaml | 48 +++++++++++++------
> 1 file changed, 34 insertions(+), 14 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml
> index fb9605f0655b..1f5eae806c2f 100644
> --- a/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml
> @@ -21,6 +21,9 @@ description: |
> called "Single-CPU" mode, where only Core0 is used, but with ability to use
> Core1's TCMs as well.
>
> + AM62 SoC family support a single R5F core only which is used for DM firmware
> + and can also be used as a remote processor with IPC communication.
> +
> Each Dual-Core R5F sub-system is represented as a single DTS node
> representing the cluster, with a pair of child DT nodes representing
> the individual R5F cores. Each node has a number of required or optional
> @@ -28,6 +31,9 @@ description: |
> the device management of the remote processor and to communicate with the
> remote processor.
>
> + Since AM62 SoC family only support a single core, there is no cluster-mode
> + property setting required for it.
> +
> properties:
> $nodename:
> pattern: "^r5fss(@.*)?"
> @@ -38,6 +44,7 @@ properties:
> - ti,j721e-r5fss
> - ti,j7200-r5fss
> - ti,am64-r5fss
> + - ti,am62-r5fss
> - ti,j721s2-r5fss
>
> power-domains:
> @@ -80,7 +87,8 @@ patternProperties:
> node representing a TI instantiation of the Arm Cortex R5F core. There
> are some specific integration differences for the IP like the usage of
> a Region Address Translator (RAT) for translating the larger SoC bus
> - addresses into a 32-bit address space for the processor.
> + addresses into a 32-bit address space for the processor. For AM62x,
> + should only define one R5F child node as it has only one core available.
>
> Each R5F core has an associated 64 KB of Tightly-Coupled Memory (TCM)
> internal memories split between two banks - TCMA and TCMB (further
> @@ -104,6 +112,7 @@ patternProperties:
> - ti,j721e-r5f
> - ti,j7200-r5f
> - ti,am64-r5f
> + - ti,am62-r5f
> - ti,j721s2-r5f
>
> reg:
> @@ -207,20 +216,31 @@ patternProperties:
> - firmware-name
>
> unevaluatedProperties: false
> +allOf:
> + - if:
> + properties:
> + compatible:
> + enum:
> + - ti,am64-r5fss
> + then:
> + properties:
> + ti,cluster-mode:
> + enum: [0, 2]
> +
> + else:
> + properties:
> + ti,cluster-mode:
> + enum: [0, 1]
> +
> + - if:
> + properties:
> + compatible:
> + enum:
> + - ti,am62-r5fss
> + then:
> + properties:
> + ti,cluster-mode: false
>
> -if:
> - properties:
> - compatible:
> - enum:
> - - ti,am64-r5fss
> -then:
> - properties:
> - ti,cluster-mode:
> - enum: [0, 2]
> -else:
> - properties:
> - ti,cluster-mode:
> - enum: [0, 1]
>
> required:
> - compatible
> --
> 2.17.1
>
@@ -21,6 +21,9 @@ description: |
called "Single-CPU" mode, where only Core0 is used, but with ability to use
Core1's TCMs as well.
+ AM62 SoC family support a single R5F core only which is used for DM firmware
+ and can also be used as a remote processor with IPC communication.
+
Each Dual-Core R5F sub-system is represented as a single DTS node
representing the cluster, with a pair of child DT nodes representing
the individual R5F cores. Each node has a number of required or optional
@@ -28,6 +31,9 @@ description: |
the device management of the remote processor and to communicate with the
remote processor.
+ Since AM62 SoC family only support a single core, there is no cluster-mode
+ property setting required for it.
+
properties:
$nodename:
pattern: "^r5fss(@.*)?"
@@ -38,6 +44,7 @@ properties:
- ti,j721e-r5fss
- ti,j7200-r5fss
- ti,am64-r5fss
+ - ti,am62-r5fss
- ti,j721s2-r5fss
power-domains:
@@ -80,7 +87,8 @@ patternProperties:
node representing a TI instantiation of the Arm Cortex R5F core. There
are some specific integration differences for the IP like the usage of
a Region Address Translator (RAT) for translating the larger SoC bus
- addresses into a 32-bit address space for the processor.
+ addresses into a 32-bit address space for the processor. For AM62x,
+ should only define one R5F child node as it has only one core available.
Each R5F core has an associated 64 KB of Tightly-Coupled Memory (TCM)
internal memories split between two banks - TCMA and TCMB (further
@@ -104,6 +112,7 @@ patternProperties:
- ti,j721e-r5f
- ti,j7200-r5f
- ti,am64-r5f
+ - ti,am62-r5f
- ti,j721s2-r5f
reg:
@@ -207,20 +216,31 @@ patternProperties:
- firmware-name
unevaluatedProperties: false
+allOf:
+ - if:
+ properties:
+ compatible:
+ enum:
+ - ti,am64-r5fss
+ then:
+ properties:
+ ti,cluster-mode:
+ enum: [0, 2]
+
+ else:
+ properties:
+ ti,cluster-mode:
+ enum: [0, 1]
+
+ - if:
+ properties:
+ compatible:
+ enum:
+ - ti,am62-r5fss
+ then:
+ properties:
+ ti,cluster-mode: false
-if:
- properties:
- compatible:
- enum:
- - ti,am64-r5fss
-then:
- properties:
- ti,cluster-mode:
- enum: [0, 2]
-else:
- properties:
- ti,cluster-mode:
- enum: [0, 1]
required:
- compatible