[PATCH 2/6] dt-bindings: arm: keystone: ti,sci: Add ti,tda54-sci-pdm compatible

Beleswar Padhi b-padhi at ti.com
Wed Sep 30 12:41:27 PDT 2026


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 at ti.com>
---
Note: This patch is independent and can be applied directly.

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




More information about the linux-arm-kernel mailing list