xref: /freebsd/sys/contrib/device-tree/Bindings/arm/keystone/ti,sci.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/keystone/ti,sci.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: TI-SCI controller
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Nishanth Menon <nm@ti.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotdescription: |
135956d97fSEmmanuel Vadot  Texas Instrument's processors including those belonging to Keystone generation
145956d97fSEmmanuel Vadot  of processors have separate hardware entity which is now responsible for the
155956d97fSEmmanuel Vadot  management of the System on Chip (SoC) system. These include various system
165956d97fSEmmanuel Vadot  level functions as well.
175956d97fSEmmanuel Vadot
185956d97fSEmmanuel Vadot  An example of such an SoC is K2G, which contains the system control hardware
195956d97fSEmmanuel Vadot  block called Power Management Micro Controller (PMMC). This hardware block is
205956d97fSEmmanuel Vadot  initialized early into boot process and provides services to Operating Systems
215956d97fSEmmanuel Vadot  on multiple processors including ones running Linux.
225956d97fSEmmanuel Vadot
23*0e8011faSEmmanuel Vadot  See https://software-dl.ti.com/tisci/esd/latest/index.html for protocol definition.
245956d97fSEmmanuel Vadot
255956d97fSEmmanuel Vadot  The TI-SCI node describes the Texas Instrument's System Controller entity node.
265956d97fSEmmanuel Vadot  This parent node may optionally have additional children nodes which describe
275956d97fSEmmanuel Vadot  specific functionality such as clocks, power domain, reset or additional
285956d97fSEmmanuel Vadot  functionality as may be required for the SoC. This hierarchy also describes the
295956d97fSEmmanuel Vadot  relationship between the TI-SCI parent node to the child node.
305956d97fSEmmanuel Vadot
315956d97fSEmmanuel Vadotproperties:
325956d97fSEmmanuel Vadot  $nodename:
335956d97fSEmmanuel Vadot    pattern: "^system-controller@[0-9a-f]+$"
345956d97fSEmmanuel Vadot
355956d97fSEmmanuel Vadot  compatible:
365956d97fSEmmanuel Vadot    oneOf:
375956d97fSEmmanuel Vadot      - description: System controller on TI 66AK2G SoC and other K3 SoCs
385956d97fSEmmanuel Vadot        items:
395956d97fSEmmanuel Vadot          - const: ti,k2g-sci
405956d97fSEmmanuel Vadot      - description: System controller on TI AM654 SoC
415956d97fSEmmanuel Vadot        items:
425956d97fSEmmanuel Vadot          - const: ti,am654-sci
435956d97fSEmmanuel Vadot
445956d97fSEmmanuel Vadot  reg-names:
455956d97fSEmmanuel Vadot    description: |
465956d97fSEmmanuel Vadot      Specifies the debug messages memory mapped region that is optionally
475956d97fSEmmanuel Vadot      made available from TI-SCI controller.
485956d97fSEmmanuel Vadot    const: debug_messages
495956d97fSEmmanuel Vadot
505956d97fSEmmanuel Vadot  reg:
515956d97fSEmmanuel Vadot    minItems: 1
525956d97fSEmmanuel Vadot
535956d97fSEmmanuel Vadot  mbox-names:
545956d97fSEmmanuel Vadot    description: |
555956d97fSEmmanuel Vadot      Specifies the mailboxes used to communicate with TI-SCI Controller
565956d97fSEmmanuel Vadot      made available from TI-SCI controller.
575956d97fSEmmanuel Vadot    items:
585956d97fSEmmanuel Vadot      - const: rx
595956d97fSEmmanuel Vadot      - const: tx
605956d97fSEmmanuel Vadot
615956d97fSEmmanuel Vadot  mboxes:
625956d97fSEmmanuel Vadot    minItems: 2
635956d97fSEmmanuel Vadot
645956d97fSEmmanuel Vadot  ti,host-id:
655956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
665956d97fSEmmanuel Vadot    description: |
675956d97fSEmmanuel Vadot      Value corresponding to the host ID assigned by Firmware
685956d97fSEmmanuel Vadot      for identification of host processing entities such as virtual machines.
695956d97fSEmmanuel Vadot
705956d97fSEmmanuel Vadot  power-controller:
715956d97fSEmmanuel Vadot    type: object
725956d97fSEmmanuel Vadot    $ref: /schemas/soc/ti/sci-pm-domain.yaml#
735956d97fSEmmanuel Vadot
745956d97fSEmmanuel Vadot  clock-controller:
755956d97fSEmmanuel Vadot    type: object
765956d97fSEmmanuel Vadot    $ref: /schemas/clock/ti,sci-clk.yaml#
775956d97fSEmmanuel Vadot
785956d97fSEmmanuel Vadot  reset-controller:
795956d97fSEmmanuel Vadot    type: object
805956d97fSEmmanuel Vadot    $ref: /schemas/reset/ti,sci-reset.yaml#
815956d97fSEmmanuel Vadot
825956d97fSEmmanuel Vadotrequired:
835956d97fSEmmanuel Vadot  - compatible
845956d97fSEmmanuel Vadot  - mbox-names
855956d97fSEmmanuel Vadot  - mboxes
865956d97fSEmmanuel Vadot
875956d97fSEmmanuel VadotadditionalProperties: false
885956d97fSEmmanuel Vadot
895956d97fSEmmanuel Vadotexamples:
905956d97fSEmmanuel Vadot  - |
915956d97fSEmmanuel Vadot    pmmc: system-controller@2921800 {
925956d97fSEmmanuel Vadot      compatible = "ti,k2g-sci";
935956d97fSEmmanuel Vadot      mbox-names = "rx", "tx";
945956d97fSEmmanuel Vadot      mboxes = <&msgmgr 5 2>,
955956d97fSEmmanuel Vadot               <&msgmgr 0 0>;
965956d97fSEmmanuel Vadot      reg-names = "debug_messages";
975956d97fSEmmanuel Vadot      reg = <0x02921800 0x800>;
985956d97fSEmmanuel Vadot    };
995956d97fSEmmanuel Vadot
1005956d97fSEmmanuel Vadot  - |
1015956d97fSEmmanuel Vadot    dmsc: system-controller@44083000 {
1025956d97fSEmmanuel Vadot      compatible = "ti,k2g-sci";
1035956d97fSEmmanuel Vadot      ti,host-id = <12>;
1045956d97fSEmmanuel Vadot      mbox-names = "rx", "tx";
1055956d97fSEmmanuel Vadot      mboxes = <&secure_proxy_main 11>,
1065956d97fSEmmanuel Vadot               <&secure_proxy_main 13>;
1075956d97fSEmmanuel Vadot      reg-names = "debug_messages";
1085956d97fSEmmanuel Vadot      reg = <0x44083000 0x1000>;
1095956d97fSEmmanuel Vadot
1105956d97fSEmmanuel Vadot      k3_pds: power-controller {
1115956d97fSEmmanuel Vadot        compatible = "ti,sci-pm-domain";
1125956d97fSEmmanuel Vadot        #power-domain-cells = <2>;
1135956d97fSEmmanuel Vadot      };
1145956d97fSEmmanuel Vadot
1155956d97fSEmmanuel Vadot      k3_clks: clock-controller {
1165956d97fSEmmanuel Vadot        compatible = "ti,k2g-sci-clk";
1175956d97fSEmmanuel Vadot        #clock-cells = <2>;
1185956d97fSEmmanuel Vadot      };
1195956d97fSEmmanuel Vadot
1205956d97fSEmmanuel Vadot      k3_reset: reset-controller {
1215956d97fSEmmanuel Vadot        compatible = "ti,sci-reset";
1225956d97fSEmmanuel Vadot        #reset-cells = <2>;
1235956d97fSEmmanuel Vadot      };
1245956d97fSEmmanuel Vadot    };
125