xref: /linux/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml (revision 46e6acfe3501fa938af9c5bd730f0020235b08a2)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/keystone/ti,sci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI-SCI controller
8
9maintainers:
10  - Nishanth Menon <nm@ti.com>
11
12description: |
13  Texas Instrument's processors including those belonging to Keystone generation
14  of processors have separate hardware entity which is now responsible for the
15  management of the System on Chip (SoC) system. These include various system
16  level functions as well.
17
18  An example of such an SoC is K2G, which contains the system control hardware
19  block called Power Management Micro Controller (PMMC). This hardware block is
20  initialized early into boot process and provides services to Operating Systems
21  on multiple processors including ones running Linux.
22
23  See https://software-dl.ti.com/tisci/esd/latest/index.html for protocol definition.
24
25  The TI-SCI node describes the Texas Instrument's System Controller entity node.
26  This parent node may optionally have additional children nodes which describe
27  specific functionality such as clocks, power domain, reset or additional
28  functionality as may be required for the SoC. This hierarchy also describes the
29  relationship between the TI-SCI parent node to the child node.
30
31properties:
32  $nodename:
33    pattern: "^system-controller@[0-9a-f]+$"
34
35  compatible:
36    oneOf:
37      - description: System controller on TI 66AK2G SoC and other K3 SoCs
38        items:
39          - const: ti,k2g-sci
40      - description: System controller on TI AM654 SoC
41        items:
42          - const: ti,am654-sci
43
44  reg-names:
45    description: |
46      Specifies the debug messages memory mapped region that is optionally
47      made available from TI-SCI controller.
48    const: debug_messages
49
50  reg:
51    minItems: 1
52
53  mbox-names:
54    description: |
55      Specifies the mailboxes used to communicate with TI-SCI Controller
56      made available from TI-SCI controller.
57    items:
58      - const: rx
59      - const: tx
60
61  mboxes:
62    minItems: 2
63
64  ti,host-id:
65    $ref: /schemas/types.yaml#/definitions/uint32
66    description: |
67      Value corresponding to the host ID assigned by Firmware
68      for identification of host processing entities such as virtual machines.
69
70  power-controller:
71    type: object
72    $ref: /schemas/soc/ti/sci-pm-domain.yaml#
73
74  clock-controller:
75    type: object
76    $ref: /schemas/clock/ti,sci-clk.yaml#
77
78  reset-controller:
79    type: object
80    $ref: /schemas/reset/ti,sci-reset.yaml#
81
82required:
83  - compatible
84  - mbox-names
85  - mboxes
86
87additionalProperties: false
88
89examples:
90  - |
91    pmmc: system-controller@2921800 {
92      compatible = "ti,k2g-sci";
93      mbox-names = "rx", "tx";
94      mboxes = <&msgmgr 5 2>,
95               <&msgmgr 0 0>;
96      reg-names = "debug_messages";
97      reg = <0x02921800 0x800>;
98    };
99
100  - |
101    dmsc: system-controller@44083000 {
102      compatible = "ti,k2g-sci";
103      ti,host-id = <12>;
104      mbox-names = "rx", "tx";
105      mboxes = <&secure_proxy_main 11>,
106               <&secure_proxy_main 13>;
107      reg-names = "debug_messages";
108      reg = <0x44083000 0x1000>;
109
110      k3_pds: power-controller {
111        compatible = "ti,sci-pm-domain";
112        #power-domain-cells = <2>;
113      };
114
115      k3_clks: clock-controller {
116        compatible = "ti,k2g-sci-clk";
117        #clock-cells = <2>;
118      };
119
120      k3_reset: reset-controller {
121        compatible = "ti,sci-reset";
122        #reset-cells = <2>;
123      };
124    };
125