15a9652f6SNishanth Menon# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
25a9652f6SNishanth Menon%YAML 1.2
35a9652f6SNishanth Menon---
45a9652f6SNishanth Menon$id: http://devicetree.org/schemas/arm/keystone/ti,sci.yaml#
55a9652f6SNishanth Menon$schema: http://devicetree.org/meta-schemas/core.yaml#
65a9652f6SNishanth Menon
7*a612130cSKrzysztof Kozlowskititle: TI-SCI controller
85a9652f6SNishanth Menon
95a9652f6SNishanth Menonmaintainers:
105a9652f6SNishanth Menon  - Nishanth Menon <nm@ti.com>
115a9652f6SNishanth Menon
125a9652f6SNishanth Menondescription: |
135a9652f6SNishanth Menon  Texas Instrument's processors including those belonging to Keystone generation
145a9652f6SNishanth Menon  of processors have separate hardware entity which is now responsible for the
155a9652f6SNishanth Menon  management of the System on Chip (SoC) system. These include various system
165a9652f6SNishanth Menon  level functions as well.
175a9652f6SNishanth Menon
185a9652f6SNishanth Menon  An example of such an SoC is K2G, which contains the system control hardware
195a9652f6SNishanth Menon  block called Power Management Micro Controller (PMMC). This hardware block is
205a9652f6SNishanth Menon  initialized early into boot process and provides services to Operating Systems
215a9652f6SNishanth Menon  on multiple processors including ones running Linux.
225a9652f6SNishanth Menon
235a9652f6SNishanth Menon  See http://processors.wiki.ti.com/index.php/TISCI for protocol definition.
245a9652f6SNishanth Menon
255a9652f6SNishanth Menon  The TI-SCI node describes the Texas Instrument's System Controller entity node.
265a9652f6SNishanth Menon  This parent node may optionally have additional children nodes which describe
275a9652f6SNishanth Menon  specific functionality such as clocks, power domain, reset or additional
285a9652f6SNishanth Menon  functionality as may be required for the SoC. This hierarchy also describes the
295a9652f6SNishanth Menon  relationship between the TI-SCI parent node to the child node.
305a9652f6SNishanth Menon
315a9652f6SNishanth Menonproperties:
325a9652f6SNishanth Menon  $nodename:
335a9652f6SNishanth Menon    pattern: "^system-controller@[0-9a-f]+$"
345a9652f6SNishanth Menon
355a9652f6SNishanth Menon  compatible:
365a9652f6SNishanth Menon    oneOf:
375a9652f6SNishanth Menon      - description: System controller on TI 66AK2G SoC and other K3 SoCs
385a9652f6SNishanth Menon        items:
395a9652f6SNishanth Menon          - const: ti,k2g-sci
405a9652f6SNishanth Menon      - description: System controller on TI AM654 SoC
415a9652f6SNishanth Menon        items:
425a9652f6SNishanth Menon          - const: ti,am654-sci
435a9652f6SNishanth Menon
445a9652f6SNishanth Menon  reg-names:
455a9652f6SNishanth Menon    description: |
465a9652f6SNishanth Menon      Specifies the debug messages memory mapped region that is optionally
475a9652f6SNishanth Menon      made available from TI-SCI controller.
485a9652f6SNishanth Menon    const: debug_messages
495a9652f6SNishanth Menon
505a9652f6SNishanth Menon  reg:
515a9652f6SNishanth Menon    minItems: 1
525a9652f6SNishanth Menon
535a9652f6SNishanth Menon  mbox-names:
545a9652f6SNishanth Menon    description: |
555a9652f6SNishanth Menon      Specifies the mailboxes used to communicate with TI-SCI Controller
565a9652f6SNishanth Menon      made available from TI-SCI controller.
575a9652f6SNishanth Menon    items:
585a9652f6SNishanth Menon      - const: rx
595a9652f6SNishanth Menon      - const: tx
605a9652f6SNishanth Menon
615a9652f6SNishanth Menon  mboxes:
625a9652f6SNishanth Menon    minItems: 2
635a9652f6SNishanth Menon
645a9652f6SNishanth Menon  ti,system-reboot-controller:
655a9652f6SNishanth Menon    description: Determines If system reboot can be triggered by SoC reboot
665a9652f6SNishanth Menon    type: boolean
675a9652f6SNishanth Menon
685a9652f6SNishanth Menon  ti,host-id:
695a9652f6SNishanth Menon    $ref: /schemas/types.yaml#/definitions/uint32
705a9652f6SNishanth Menon    description: |
715a9652f6SNishanth Menon      Value corresponding to the host ID assigned by Firmware
725a9652f6SNishanth Menon      for identification of host processing entities such as virtual machines.
735a9652f6SNishanth Menon
745a9652f6SNishanth Menon  power-controller:
755a9652f6SNishanth Menon    type: object
765a9652f6SNishanth Menon    $ref: /schemas/soc/ti/sci-pm-domain.yaml#
775a9652f6SNishanth Menon
785a9652f6SNishanth Menon  clock-controller:
795a9652f6SNishanth Menon    type: object
805a9652f6SNishanth Menon    $ref: /schemas/clock/ti,sci-clk.yaml#
815a9652f6SNishanth Menon
825a9652f6SNishanth Menon  reset-controller:
835a9652f6SNishanth Menon    type: object
845a9652f6SNishanth Menon    $ref: /schemas/reset/ti,sci-reset.yaml#
855a9652f6SNishanth Menon
865a9652f6SNishanth Menonrequired:
875a9652f6SNishanth Menon  - compatible
885a9652f6SNishanth Menon  - mbox-names
895a9652f6SNishanth Menon  - mboxes
905a9652f6SNishanth Menon
915a9652f6SNishanth MenonadditionalProperties: false
925a9652f6SNishanth Menon
935a9652f6SNishanth Menonexamples:
945a9652f6SNishanth Menon  - |
955a9652f6SNishanth Menon    pmmc: system-controller@2921800 {
965a9652f6SNishanth Menon      compatible = "ti,k2g-sci";
975a9652f6SNishanth Menon      ti,system-reboot-controller;
985a9652f6SNishanth Menon      mbox-names = "rx", "tx";
995a9652f6SNishanth Menon      mboxes= <&msgmgr 5 2>,
1005a9652f6SNishanth Menon              <&msgmgr 0 0>;
1015a9652f6SNishanth Menon      reg-names = "debug_messages";
1025a9652f6SNishanth Menon      reg = <0x02921800 0x800>;
1035a9652f6SNishanth Menon    };
1045a9652f6SNishanth Menon
1055a9652f6SNishanth Menon  - |
1065a9652f6SNishanth Menon    dmsc: system-controller@44083000 {
1075a9652f6SNishanth Menon      compatible = "ti,k2g-sci";
1085a9652f6SNishanth Menon      ti,host-id = <12>;
1095a9652f6SNishanth Menon      mbox-names = "rx", "tx";
1105a9652f6SNishanth Menon      mboxes= <&secure_proxy_main 11>,
1115a9652f6SNishanth Menon              <&secure_proxy_main 13>;
1125a9652f6SNishanth Menon      reg-names = "debug_messages";
1135a9652f6SNishanth Menon      reg = <0x44083000 0x1000>;
1145a9652f6SNishanth Menon
1155a9652f6SNishanth Menon      k3_pds: power-controller {
1165a9652f6SNishanth Menon        compatible = "ti,sci-pm-domain";
1175a9652f6SNishanth Menon        #power-domain-cells = <2>;
1185a9652f6SNishanth Menon      };
1195a9652f6SNishanth Menon
1205a9652f6SNishanth Menon      k3_clks: clock-controller {
1215a9652f6SNishanth Menon        compatible = "ti,k2g-sci-clk";
1225a9652f6SNishanth Menon        #clock-cells = <2>;
1235a9652f6SNishanth Menon      };
1245a9652f6SNishanth Menon
1255a9652f6SNishanth Menon      k3_reset: reset-controller {
1265a9652f6SNishanth Menon        compatible = "ti,sci-reset";
1275a9652f6SNishanth Menon        #reset-cells = <2>;
1285a9652f6SNishanth Menon      };
1295a9652f6SNishanth Menon    };
130