Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/6] Enhance TI-SCI FFI with ABI5.0 support
@ 2026-09-30 19:41 Beleswar Padhi
  2026-09-30 19:41 ` [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern Beleswar Padhi
  2026-09-30 19:41 ` [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible Beleswar Padhi
  0 siblings, 2 replies; 10+ messages in thread
From: Beleswar Padhi @ 2026-09-30 19:41 UTC (permalink / raw)
  To: nm, kristo, ssantosh
  Cc: linux-arm-kernel, linux-kernel, afd, u-kumar1, vigneshr, b-padhi,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree

The previous TI K2G and K3 architectures were tightly coupled systems in
terms of Safety and Security. All the TI-SCI messages from HLOS (Linux)
were sent to a single sec proxy thread terminating at the core running
Safety service (DM). In K2G systems, DM handled both Safety & Security
requests by itself. Whereas in K3 systems, DM serviced the Safety
requests itself, and forwarded the Security requests to core running
Security service (TIFS) on the HLOS's behalf. This posed various
limitations:
   a. Increased latency: An extra forwarding hop through DM adds latency
      in requests and responses.
   b. Freedom From Interference (FFI) concerns: Having Safety service
      proxy Security's requests (& vice versa) undermines the isolation
      and FFI of the system.
   c. Potential Dealock Scenario: Forwarding messages between Safety and
      Security cores can result in a deadlock if there are circular
      dependencies.

To eliminate all the above limitations, the TI TDA54 class of SoCs
introduce an architectural change: Isolation of Security and Safety
services. To realize this enhanced isolation in hardware, two
independent sec proxy threads are now provided for HLOS to communicate
separately with the Security and Safety cores respectively. And the
TI-SCI message forwarding has been eliminated in Software. The System
Firmware ABI5.0 version necessitates this improved isolation and FFI
change.

This series adds the support for TI TDA54 PDM System Controller across
Devicetree bindings and TI-SCI Driver to support the ABI 5.0 change.

Note:
a. The first half of the series i.e, patches
   [PATCH 01/06] - [PATCH 02/06] are independent and can be applied
   directly.

b. The second half of the series i.e, patches
   [PATCH 03/06] - [PATCH 06/06] is dependent on the following 2 series
   1. https://lore.kernel.org/all/20260930172948.2901336-1-b-padhi@ti.com/
   2. https://lore.kernel.org/all/20260930160607.2674980-1-b-padhi@ti.com/

Testing done:
 - Build and Boot tested on all Keystone and K3 platforms.
 - Verified ABI5.0 core and device operations on TI TDA54 platform.
   (after applying an out-of-tree patch to add DTS support)
 - Verified that none of the patches in the series generate any warnings
   or errors.

Logs:
https://gist.github.com/3V3RYONE/d821cea46f5dc1e70a759c97878fa487

Cc: Nishanth Menon <nm@ti.com>
Cc: Tero Kristo <kristo@kernel.org>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Beleswar Padhi (6):
  dt-bindings: arm: keystone: ti,sci: Update nodename pattern
  dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible
  firmware: ti: ti_sci_core: Add ABI5.0 Enhancements and TDA54 PDM SCI
    support
  firmware: ti: ti_sci_device: Add ABI5.0 compliant Device and Reset
    APIs
  firmware: ti: ti_sci_clock: Add ABI5.0 compliant Clock APIs
  firmware: ti: ti_sci_rm: Add ABI5.0 compliant basic RM APIs

 .../bindings/arm/keystone/ti,sci.yaml         |  48 ++-
 drivers/firmware/ti/ti_sci.h                  | 233 +++++++++++
 drivers/firmware/ti/ti_sci_clock.c            | 380 ++++++++++++++++++
 drivers/firmware/ti/ti_sci_core.c             | 204 ++++++++--
 drivers/firmware/ti/ti_sci_device.c           |  62 +++
 drivers/firmware/ti/ti_sci_rm.c               | 148 +++++++
 6 files changed, 1039 insertions(+), 36 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern
  2026-09-30 19:41 [PATCH 0/6] Enhance TI-SCI FFI with ABI5.0 support Beleswar Padhi
@ 2026-09-30 19:41 ` Beleswar Padhi
  2026-10-02  6:27   ` Krzysztof Kozlowski
  2026-09-30 19:41 ` [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible Beleswar Padhi
  1 sibling, 1 reply; 10+ messages in thread
From: Beleswar Padhi @ 2026-09-30 19:41 UTC (permalink / raw)
  To: nm, kristo, ssantosh
  Cc: linux-arm-kernel, linux-kernel, afd, u-kumar1, vigneshr, b-padhi,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree

The $nodename pattern for TI-SCI controllers mandates specifying a unit
address, which in turn requires a 'reg' property. This 'reg' is only
used to describe an optional memory-mapped debug-messages region.

Some controllers may not implement this debug region, so it has no 'reg'
and unit address. Therefore, relax the $nodename pattern to allow the
unit address to be omitted for such controllers. Keep the unit address
mandatory for the existing ti,k2g-sci and ti,am654-sci controllers.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
---
Note: This patch is independent can be applied directly.

Cc: Nishanth Menon <nm@ti.com>
Cc: Tero Kristo <kristo@kernel.org>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

 .../devicetree/bindings/arm/keystone/ti,sci.yaml  | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
index 25a2b42105e54..67acce8a559a1 100644
--- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
+++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
@@ -30,7 +30,7 @@ description: |
 
 properties:
   $nodename:
-    pattern: "^system-controller@[0-9a-f]+$"
+    pattern: "^system-controller(@[0-9a-f]+)?$"
 
   compatible:
     oneOf:
@@ -84,6 +84,19 @@ required:
   - mbox-names
   - mboxes
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - ti,k2g-sci
+              - ti,am654-sci
+    then:
+      properties:
+        $nodename:
+          pattern: "^system-controller@[0-9a-f]+$"
+
 additionalProperties: false
 
 examples:
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible
  2026-09-30 19:41 [PATCH 0/6] Enhance TI-SCI FFI with ABI5.0 support Beleswar Padhi
  2026-09-30 19:41 ` [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern Beleswar Padhi
@ 2026-09-30 19:41 ` Beleswar Padhi
  2026-10-02  6:31   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 10+ messages in thread
From: Beleswar Padhi @ 2026-09-30 19:41 UTC (permalink / raw)
  To: nm, kristo, ssantosh
  Cc: linux-arm-kernel, linux-kernel, afd, u-kumar1, vigneshr, b-padhi,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree

The previous TI K2G and K3 architectures were tightly coupled systems in
terms of Safety and Security. All the TI-SCI messages from HLOS (Linux)
were sent to a single sec proxy thread terminating at the core running
Safety service (DM). In K2G systems, DM handled both Safety & Security
requests by itself. Whereas in K3 systems, DM serviced the Safety
requests itself, and forwarded the Security requests to core running
Security service (TIFS) on the HLOS's behalf. This posed various
limitations:
   a. Increased latency: An extra forwarding hop through DM adds latency
      in requests and responses.
   b. Freedom From Interference (FFI) concerns: Having Safety service
      proxy Security's requests (& vice versa) undermines the isolation
      and FFI of the system.
   c. Potential Deadlock Scenario: Forwarding messages between Safety
      and Security cores can result in a deadlock if there are circular
      dependencies.

To eliminate all the above limitations, the TI TDA54 class of SoCs
introduce an architectural change: Isolation of Security and Safety
services. To realize this enhanced isolation in hardware, two
independent sec proxy threads are now provided for HLOS to communicate
separately with the Security and Safety cores respectively. And the
TI-SCI message forwarding has been eliminated in Software. The System
Firmware ABI5.0 version necessitates this improved isolation and FFI
change.

Add the compatible string for TI TDA54 SoC PDM system controller to
support ABI5.0 communication protocol.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
---
Note: This patch is independent and can be applied directly.

Cc: Nishanth Menon <nm@ti.com>
Cc: Tero Kristo <kristo@kernel.org>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

 .../bindings/arm/keystone/ti,sci.yaml         | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
index 67acce8a559a1..f0548382f7d52 100644
--- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
+++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
@@ -20,6 +20,11 @@ description: |
   initialized early into boot process and provides services to Operating Systems
   on multiple processors including ones running Linux.
 
+  The TI TDA54 SoC, however, has two independent system controller instances - a
+  PDM (Power and Device Management) system controller, which handles Power,
+  Device, Clock, and Reset Management, and a separate SMS (Security Management
+  Subsystem) system controller, which handles security services.
+
   See https://software-dl.ti.com/tisci/esd/latest/index.html for protocol definition.
 
   The TI-SCI node describes the Texas Instrument's System Controller entity node.
@@ -40,6 +45,10 @@ properties:
       - description: System controller on TI AM654 SoC
         items:
           - const: ti,am654-sci
+      - description: |
+          System controller for Power and Device Management on TI TDA54 SoC
+        items:
+          - const: ti,tda54-sci-pdm
 
   reg-names:
     description: |
@@ -135,3 +144,27 @@ examples:
         #reset-cells = <2>;
       };
     };
+
+  - |
+    pdm: system-controller {
+      compatible = "ti,tda54-sci-pdm";
+      mbox-names = "rx", "tx";
+      mboxes = <&main_secure_proxy1 4>,
+               <&main_secure_proxy1 435>;
+      ti,host-id = <66>;
+
+      k3_pdm_pds: power-controller {
+        compatible = "ti,sci-pm-domain";
+        #power-domain-cells = <2>;
+      };
+
+      k3_pdm_clks: clock-controller {
+        compatible = "ti,k2g-sci-clk";
+        #clock-cells = <2>;
+      };
+
+      k3_pdm_reset: reset-controller {
+        compatible = "ti,sci-reset";
+        #reset-cells = <2>;
+      };
+    };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern
  2026-09-30 19:41 ` [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern Beleswar Padhi
@ 2026-10-02  6:27   ` Krzysztof Kozlowski
  2026-10-02  9:56     ` Padhi, Beleswar
  0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-02  6:27 UTC (permalink / raw)
  To: Beleswar Padhi
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree

On Thu, Oct 01, 2026 at 01:11:26AM +0530, Beleswar Padhi wrote:
> The $nodename pattern for TI-SCI controllers mandates specifying a unit
> address, which in turn requires a 'reg' property. This 'reg' is only
> used to describe an optional memory-mapped debug-messages region.
> 
> Some controllers may not implement this debug region, so it has no 'reg'

Which ones?

> and unit address. Therefore, relax the $nodename pattern to allow the
> unit address to be omitted for such controllers. Keep the unit address
> mandatory for the existing ti,k2g-sci and ti,am654-sci controllers.
> 
> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
> ---
> Note: This patch is independent can be applied directly.
> 
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Tero Kristo <kristo@kernel.org>
> Cc: Santosh Shilimkar <ssantosh@kernel.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> 
>  .../devicetree/bindings/arm/keystone/ti,sci.yaml  | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> index 25a2b42105e54..67acce8a559a1 100644
> --- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> +++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> @@ -30,7 +30,7 @@ description: |
>  
>  properties:
>    $nodename:
> -    pattern: "^system-controller@[0-9a-f]+$"
> +    pattern: "^system-controller(@[0-9a-f]+)?$"
>  
>    compatible:
>      oneOf:
> @@ -84,6 +84,19 @@ required:
>    - mbox-names
>    - mboxes
>  
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,k2g-sci
> +              - ti,am654-sci
> +    then:
> +      properties:
> +        $nodename:
> +          pattern: "^system-controller@[0-9a-f]+$"

Drop, not worth complexity.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible
  2026-09-30 19:41 ` [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible Beleswar Padhi
@ 2026-10-02  6:31   ` Krzysztof Kozlowski
  2026-10-02  9:30     ` Padhi, Beleswar
  0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-02  6:31 UTC (permalink / raw)
  To: Beleswar Padhi
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree

On Thu, Oct 01, 2026 at 01:11:27AM +0530, Beleswar Padhi wrote:
> The previous TI K2G and K3 architectures were tightly coupled systems in
> terms of Safety and Security. All the TI-SCI messages from HLOS (Linux)
> were sent to a single sec proxy thread terminating at the core running
> Safety service (DM). In K2G systems, DM handled both Safety & Security
> requests by itself. Whereas in K3 systems, DM serviced the Safety
> requests itself, and forwarded the Security requests to core running
> Security service (TIFS) on the HLOS's behalf. This posed various
> limitations:
>    a. Increased latency: An extra forwarding hop through DM adds latency
>       in requests and responses.
>    b. Freedom From Interference (FFI) concerns: Having Safety service
>       proxy Security's requests (& vice versa) undermines the isolation
>       and FFI of the system.
>    c. Potential Deadlock Scenario: Forwarding messages between Safety
>       and Security cores can result in a deadlock if there are circular
>       dependencies.
> 
> To eliminate all the above limitations, the TI TDA54 class of SoCs
> introduce an architectural change: Isolation of Security and Safety
> services. To realize this enhanced isolation in hardware, two
> independent sec proxy threads are now provided for HLOS to communicate
> separately with the Security and Safety cores respectively. And the
> TI-SCI message forwarding has been eliminated in Software. The System
> Firmware ABI5.0 version necessitates this improved isolation and FFI
> change.

I don't get at all how above description helps to understand this patch
and this new compatible, except that this is not compatible with old
variants. So 30 lines of text instead of 3?

> 
> Add the compatible string for TI TDA54 SoC PDM system controller to
> support ABI5.0 communication protocol.
> 
> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
> ---
> Note: This patch is independent and can be applied directly.
> 
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Tero Kristo <kristo@kernel.org>
> Cc: Santosh Shilimkar <ssantosh@kernel.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> 
>  .../bindings/arm/keystone/ti,sci.yaml         | 33 +++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> index 67acce8a559a1..f0548382f7d52 100644
> --- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> +++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> @@ -20,6 +20,11 @@ description: |
>    initialized early into boot process and provides services to Operating Systems
>    on multiple processors including ones running Linux.
>  
> +  The TI TDA54 SoC, however, has two independent system controller instances - a
> +  PDM (Power and Device Management) system controller, which handles Power,
> +  Device, Clock, and Reset Management, and a separate SMS (Security Management
> +  Subsystem) system controller, which handles security services.
> +
>    See https://software-dl.ti.com/tisci/esd/latest/index.html for protocol definition.
>  
>    The TI-SCI node describes the Texas Instrument's System Controller entity node.
> @@ -40,6 +45,10 @@ properties:
>        - description: System controller on TI AM654 SoC
>          items:
>            - const: ti,am654-sci
> +      - description: |
> +          System controller for Power and Device Management on TI TDA54 SoC

That's redundant, you just repeated the compatible.

> +        items:
> +          - const: ti,tda54-sci-pdm

Why it cannot be enum with existing entry(ies)?

>  
>    reg-names:
>      description: |
> @@ -135,3 +144,27 @@ examples:
>          #reset-cells = <2>;
>        };
>      };
> +
> +  - |
> +    pdm: system-controller {

No need for new example which is the same.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible
  2026-10-02  6:31   ` Krzysztof Kozlowski
@ 2026-10-02  9:30     ` Padhi, Beleswar
  2026-10-02  9:39       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 10+ messages in thread
From: Padhi, Beleswar @ 2026-10-02  9:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree


On 10/2/2026 12:01 PM, Krzysztof Kozlowski wrote:
> On Thu, Oct 01, 2026 at 01:11:27AM +0530, Beleswar Padhi wrote:
>> The previous TI K2G and K3 architectures were tightly coupled systems in
>> terms of Safety and Security. All the TI-SCI messages from HLOS (Linux)
>> were sent to a single sec proxy thread terminating at the core running
>> Safety service (DM). In K2G systems, DM handled both Safety & Security
>> requests by itself. Whereas in K3 systems, DM serviced the Safety
>> requests itself, and forwarded the Security requests to core running
>> Security service (TIFS) on the HLOS's behalf. This posed various
>> limitations:
>>     a. Increased latency: An extra forwarding hop through DM adds latency
>>        in requests and responses.
>>     b. Freedom From Interference (FFI) concerns: Having Safety service
>>        proxy Security's requests (& vice versa) undermines the isolation
>>        and FFI of the system.
>>     c. Potential Deadlock Scenario: Forwarding messages between Safety
>>        and Security cores can result in a deadlock if there are circular
>>        dependencies.
>>
>> To eliminate all the above limitations, the TI TDA54 class of SoCs
>> introduce an architectural change: Isolation of Security and Safety
>> services. To realize this enhanced isolation in hardware, two
>> independent sec proxy threads are now provided for HLOS to communicate
>> separately with the Security and Safety cores respectively. And the
>> TI-SCI message forwarding has been eliminated in Software. The System
>> Firmware ABI5.0 version necessitates this improved isolation and FFI
>> change.
> I don't get at all how above description helps to understand this patch
> and this new compatible, except that this is not compatible with old
> variants.


You just answered your own question.

>   So 30 lines of text instead of 3?


The existing system controllers have been compatible in all TI SoCs
for over 10+ years since Keystone generations. Using 30 lines of
text to explain "why" the new system controller is not compatible
with old variants is worth it.

>
>> Add the compatible string for TI TDA54 SoC PDM system controller to
>> support ABI5.0 communication protocol.
>>
>> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
>> ---
>> Note: This patch is independent and can be applied directly.
>>
>> Cc: Nishanth Menon <nm@ti.com>
>> Cc: Tero Kristo <kristo@kernel.org>
>> Cc: Santosh Shilimkar <ssantosh@kernel.org>
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
>> Cc: Conor Dooley <conor+dt@kernel.org>
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: devicetree@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>>
>>   .../bindings/arm/keystone/ti,sci.yaml         | 33 +++++++++++++++++++
>>   1 file changed, 33 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>> index 67acce8a559a1..f0548382f7d52 100644
>> --- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>> +++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>> @@ -20,6 +20,11 @@ description: |
>>     initialized early into boot process and provides services to Operating Systems
>>     on multiple processors including ones running Linux.
>>   
>> +  The TI TDA54 SoC, however, has two independent system controller instances - a
>> +  PDM (Power and Device Management) system controller, which handles Power,
>> +  Device, Clock, and Reset Management, and a separate SMS (Security Management
>> +  Subsystem) system controller, which handles security services.
>> +
>>     See https://software-dl.ti.com/tisci/esd/latest/index.html for protocol definition.
>>   
>>     The TI-SCI node describes the Texas Instrument's System Controller entity node.
>> @@ -40,6 +45,10 @@ properties:
>>         - description: System controller on TI AM654 SoC
>>           items:
>>             - const: ti,am654-sci
>> +      - description: |
>> +          System controller for Power and Device Management on TI TDA54 SoC
> That's redundant, you just repeated the compatible.


I did not. The compatible says "pdm". Not everyone understands the
acronym.

>
>> +        items:
>> +          - const: ti,tda54-sci-pdm
> Why it cannot be enum with existing entry(ies)?


It should be. Will address this in revision.

>
>>   
>>     reg-names:
>>       description: |
>> @@ -135,3 +144,27 @@ examples:
>>           #reset-cells = <2>;
>>         };
>>       };
>> +
>> +  - |
>> +    pdm: system-controller {
> No need for new example which is the same.


Okay, will drop in revision.

Thanks,
Beleswar

>
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible
  2026-10-02  9:30     ` Padhi, Beleswar
@ 2026-10-02  9:39       ` Krzysztof Kozlowski
  2026-10-02 10:30         ` Padhi, Beleswar
  0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-02  9:39 UTC (permalink / raw)
  To: Padhi, Beleswar
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree

On 02/10/2026 11:30, Padhi, Beleswar wrote:
> 
> On 10/2/2026 12:01 PM, Krzysztof Kozlowski wrote:
>> On Thu, Oct 01, 2026 at 01:11:27AM +0530, Beleswar Padhi wrote:
>>> The previous TI K2G and K3 architectures were tightly coupled systems in
>>> terms of Safety and Security. All the TI-SCI messages from HLOS (Linux)
>>> were sent to a single sec proxy thread terminating at the core running
>>> Safety service (DM). In K2G systems, DM handled both Safety & Security
>>> requests by itself. Whereas in K3 systems, DM serviced the Safety
>>> requests itself, and forwarded the Security requests to core running
>>> Security service (TIFS) on the HLOS's behalf. This posed various
>>> limitations:
>>>     a. Increased latency: An extra forwarding hop through DM adds latency
>>>        in requests and responses.
>>>     b. Freedom From Interference (FFI) concerns: Having Safety service
>>>        proxy Security's requests (& vice versa) undermines the isolation
>>>        and FFI of the system.
>>>     c. Potential Deadlock Scenario: Forwarding messages between Safety
>>>        and Security cores can result in a deadlock if there are circular
>>>        dependencies.
>>>
>>> To eliminate all the above limitations, the TI TDA54 class of SoCs
>>> introduce an architectural change: Isolation of Security and Safety
>>> services. To realize this enhanced isolation in hardware, two
>>> independent sec proxy threads are now provided for HLOS to communicate
>>> separately with the Security and Safety cores respectively. And the
>>> TI-SCI message forwarding has been eliminated in Software. The System
>>> Firmware ABI5.0 version necessitates this improved isolation and FFI
>>> change.
>> I don't get at all how above description helps to understand this patch
>> and this new compatible, except that this is not compatible with old
>> variants.
> 
> 
> You just answered your own question.
> 
>>   So 30 lines of text instead of 3?
> 
> 
> The existing system controllers have been compatible in all TI SoCs
> for over 10+ years since Keystone generations. Using 30 lines of
> text to explain "why" the new system controller is not compatible
> with old variants is worth it.

If you decide to spam us with a lot of description, including marketing
crap ("To realize this enhanced isolation in hardware", "this improved
isolation") instead of writing concise and precise messages, accept the
outcome of maintainers choosing to allocate their time in "improved way".

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern
  2026-10-02  6:27   ` Krzysztof Kozlowski
@ 2026-10-02  9:56     ` Padhi, Beleswar
  2026-10-02 10:00       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 10+ messages in thread
From: Padhi, Beleswar @ 2026-10-02  9:56 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree


On 10/2/2026 11:57 AM, Krzysztof Kozlowski wrote:
> On Thu, Oct 01, 2026 at 01:11:26AM +0530, Beleswar Padhi wrote:
>> The $nodename pattern for TI-SCI controllers mandates specifying a unit
>> address, which in turn requires a 'reg' property. This 'reg' is only
>> used to describe an optional memory-mapped debug-messages region.
>>
>> Some controllers may not implement this debug region, so it has no 'reg'
> Which ones?


TDA54 PDM System Controller. I will add this in the commit message
in patch revision.

>
>> and unit address. Therefore, relax the $nodename pattern to allow the
>> unit address to be omitted for such controllers. Keep the unit address
>> mandatory for the existing ti,k2g-sci and ti,am654-sci controllers.
>>
>> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
>> ---
>> Note: This patch is independent can be applied directly.
>>
>> Cc: Nishanth Menon <nm@ti.com>
>> Cc: Tero Kristo <kristo@kernel.org>
>> Cc: Santosh Shilimkar <ssantosh@kernel.org>
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
>> Cc: Conor Dooley <conor+dt@kernel.org>
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: devicetree@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>>
>>   .../devicetree/bindings/arm/keystone/ti,sci.yaml  | 15 ++++++++++++++-
>>   1 file changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>> index 25a2b42105e54..67acce8a559a1 100644
>> --- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>> +++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>> @@ -30,7 +30,7 @@ description: |
>>   
>>   properties:
>>     $nodename:
>> -    pattern: "^system-controller@[0-9a-f]+$"
>> +    pattern: "^system-controller(@[0-9a-f]+)?$"
>>   
>>     compatible:
>>       oneOf:
>> @@ -84,6 +84,19 @@ required:
>>     - mbox-names
>>     - mboxes
>>   
>> +allOf:
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - ti,k2g-sci
>> +              - ti,am654-sci
>> +    then:
>> +      properties:
>> +        $nodename:
>> +          pattern: "^system-controller@[0-9a-f]+$"
> Drop, not worth complexity.


Why? We want to make sure dt_binding_check catches system controller
nodes which have a debug region but omit the unit address.

Thanks,
Beleswar

>
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern
  2026-10-02  9:56     ` Padhi, Beleswar
@ 2026-10-02 10:00       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-02 10:00 UTC (permalink / raw)
  To: Padhi, Beleswar
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree

On 02/10/2026 11:56, Padhi, Beleswar wrote:
> 
> On 10/2/2026 11:57 AM, Krzysztof Kozlowski wrote:
>> On Thu, Oct 01, 2026 at 01:11:26AM +0530, Beleswar Padhi wrote:
>>> The $nodename pattern for TI-SCI controllers mandates specifying a unit
>>> address, which in turn requires a 'reg' property. This 'reg' is only
>>> used to describe an optional memory-mapped debug-messages region.
>>>
>>> Some controllers may not implement this debug region, so it has no 'reg'
>> Which ones?
> 
> 
> TDA54 PDM System Controller. I will add this in the commit message
> in patch revision.

There is no such:
git grep -i TDA54

Please organize your patches correctly. This change makes no sense alone.

> 
>>
>>> and unit address. Therefore, relax the $nodename pattern to allow the
>>> unit address to be omitted for such controllers. Keep the unit address
>>> mandatory for the existing ti,k2g-sci and ti,am654-sci controllers.
>>>
>>> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
>>> ---
>>> Note: This patch is independent can be applied directly.
>>>
>>> Cc: Nishanth Menon <nm@ti.com>
>>> Cc: Tero Kristo <kristo@kernel.org>
>>> Cc: Santosh Shilimkar <ssantosh@kernel.org>
>>> Cc: Rob Herring <robh@kernel.org>
>>> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
>>> Cc: Conor Dooley <conor+dt@kernel.org>
>>> Cc: linux-arm-kernel@lists.infradead.org
>>> Cc: devicetree@vger.kernel.org
>>> Cc: linux-kernel@vger.kernel.org
>>>
>>>   .../devicetree/bindings/arm/keystone/ti,sci.yaml  | 15 ++++++++++++++-
>>>   1 file changed, 14 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>>> index 25a2b42105e54..67acce8a559a1 100644
>>> --- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
>>> @@ -30,7 +30,7 @@ description: |
>>>   
>>>   properties:
>>>     $nodename:
>>> -    pattern: "^system-controller@[0-9a-f]+$"
>>> +    pattern: "^system-controller(@[0-9a-f]+)?$"
>>>   
>>>     compatible:
>>>       oneOf:
>>> @@ -84,6 +84,19 @@ required:
>>>     - mbox-names
>>>     - mboxes
>>>   
>>> +allOf:
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            enum:
>>> +              - ti,k2g-sci
>>> +              - ti,am654-sci
>>> +    then:
>>> +      properties:
>>> +        $nodename:
>>> +          pattern: "^system-controller@[0-9a-f]+$"
>> Drop, not worth complexity.
> 
> 
> Why? We want to make sure dt_binding_check catches system controller
> nodes which have a debug region but omit the unit address.

As explained many times, individual device schemas are not supposed to
enforce names.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible
  2026-10-02  9:39       ` Krzysztof Kozlowski
@ 2026-10-02 10:30         ` Padhi, Beleswar
  0 siblings, 0 replies; 10+ messages in thread
From: Padhi, Beleswar @ 2026-10-02 10:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: nm, kristo, ssantosh, linux-arm-kernel, linux-kernel, afd,
	u-kumar1, vigneshr, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree


On 10/2/2026 3:09 PM, Krzysztof Kozlowski wrote:
> On 02/10/2026 11:30, Padhi, Beleswar wrote:
>> On 10/2/2026 12:01 PM, Krzysztof Kozlowski wrote:
>>> On Thu, Oct 01, 2026 at 01:11:27AM +0530, Beleswar Padhi wrote:
>>>> The previous TI K2G and K3 architectures were tightly coupled systems in
>>>> terms of Safety and Security. All the TI-SCI messages from HLOS (Linux)
>>>> were sent to a single sec proxy thread terminating at the core running
>>>> Safety service (DM). In K2G systems, DM handled both Safety & Security
>>>> requests by itself. Whereas in K3 systems, DM serviced the Safety
>>>> requests itself, and forwarded the Security requests to core running
>>>> Security service (TIFS) on the HLOS's behalf. This posed various
>>>> limitations:
>>>>      a. Increased latency: An extra forwarding hop through DM adds latency
>>>>         in requests and responses.
>>>>      b. Freedom From Interference (FFI) concerns: Having Safety service
>>>>         proxy Security's requests (& vice versa) undermines the isolation
>>>>         and FFI of the system.
>>>>      c. Potential Deadlock Scenario: Forwarding messages between Safety
>>>>         and Security cores can result in a deadlock if there are circular
>>>>         dependencies.
>>>>
>>>> To eliminate all the above limitations, the TI TDA54 class of SoCs
>>>> introduce an architectural change: Isolation of Security and Safety
>>>> services. To realize this enhanced isolation in hardware, two
>>>> independent sec proxy threads are now provided for HLOS to communicate
>>>> separately with the Security and Safety cores respectively. And the
>>>> TI-SCI message forwarding has been eliminated in Software. The System
>>>> Firmware ABI5.0 version necessitates this improved isolation and FFI
>>>> change.
>>> I don't get at all how above description helps to understand this patch
>>> and this new compatible, except that this is not compatible with old
>>> variants.
>>
>> You just answered your own question.
>>
>>>    So 30 lines of text instead of 3?
>>
>> The existing system controllers have been compatible in all TI SoCs
>> for over 10+ years since Keystone generations. Using 30 lines of
>> text to explain "why" the new system controller is not compatible
>> with old variants is worth it.
> If you decide to spam us with a lot of description, including marketing
> crap ("To realize this enhanced isolation in hardware", "this improved
> isolation")


I am a Open Source Developer at TI. Marketing about TI Product/Hardware
is of no interest to me, neither is my intent. I was just describing why
& how the hardware has changed. If it gives the impression of
marketing, then sure, I will drop the "crap" to not waste your time.

Thanks,
Beleswar

>   instead of writing concise and precise messages, accept the
> outcome of maintainers choosing to allocate their time in "improved way".
>
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-10-02 10:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-30 19:41 [PATCH 0/6] Enhance TI-SCI FFI with ABI5.0 support Beleswar Padhi
2026-09-30 19:41 ` [PATCH 1/6] dt-bindings: arm: keystone: ti,sci: Update nodename pattern Beleswar Padhi
2026-10-02  6:27   ` Krzysztof Kozlowski
2026-10-02  9:56     ` Padhi, Beleswar
2026-10-02 10:00       ` Krzysztof Kozlowski
2026-09-30 19:41 ` [PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible Beleswar Padhi
2026-10-02  6:31   ` Krzysztof Kozlowski
2026-10-02  9:30     ` Padhi, Beleswar
2026-10-02  9:39       ` Krzysztof Kozlowski
2026-10-02 10:30         ` Padhi, Beleswar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox