Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/firmware/fsl,scu.yaml
26308 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/firmware/fsl,scu.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: NXP i.MX System Controller Firmware (SCFW)
8
9
maintainers:
10
- Dong Aisheng <aisheng.dong@nxp.com>
11
12
description:
13
The System Controller Firmware (SCFW) is a low-level system function
14
which runs on a dedicated Cortex-M core to provide power, clock, and
15
resource management. It exists on some i.MX8 processors. e.g. i.MX8QM
16
(QM, QP), and i.MX8QX (QXP, DX).
17
The AP communicates with the SC using a multi-ported MU module found
18
in the LSIO subsystem. The current definition of this MU module provides
19
5 remote AP connections to the SC to support up to 5 execution environments
20
(TZ, HV, standard Linux, etc.). The SC side of this MU module interfaces
21
with the LSIO DSC IP bus. The SC firmware will communicate with this MU
22
using the MSI bus.
23
24
properties:
25
compatible:
26
const: fsl,imx-scu
27
28
clock-controller:
29
description:
30
Clock controller node that provides the clocks controlled by the SCU
31
$ref: /schemas/clock/fsl,scu-clk.yaml
32
33
gpio:
34
description:
35
Control the GPIO PINs on SCU domain over the firmware APIs
36
$ref: /schemas/gpio/fsl,imx8qxp-sc-gpio.yaml
37
38
ocotp:
39
description:
40
OCOTP controller node provided by the SCU
41
$ref: /schemas/nvmem/fsl,scu-ocotp.yaml
42
43
keys:
44
description:
45
Keys provided by the SCU
46
$ref: /schemas/input/fsl,scu-key.yaml
47
48
reset-controller:
49
type: object
50
properties:
51
compatible:
52
const: fsl,imx-scu-reset
53
'#reset-cells':
54
const: 1
55
required:
56
- compatible
57
- '#reset-cells'
58
additionalProperties: false
59
60
mboxes:
61
description:
62
A list of phandles of TX MU channels followed by a list of phandles of
63
RX MU channels. The list may include at the end one more optional MU
64
channel for general interrupt. The number of expected tx and rx
65
channels is 1 TX and 1 RX channels if MU instance is "fsl,imx8-mu-scu"
66
compatible, 4 TX and 4 RX channels otherwise. All MU channels must be
67
within the same MU instance. Cross instances are not allowed. The MU
68
instance can only be one of LSIO MU0~M4 for imx8qxp and imx8qm. Users
69
need to ensure that one is used that does not conflict with other
70
execution environments such as ATF.
71
oneOf:
72
- items:
73
- description: TX0 MU channel
74
- description: RX0 MU channel
75
- items:
76
- description: TX0 MU channel
77
- description: RX0 MU channel
78
- description: optional MU channel for general interrupt
79
- items:
80
- description: TX0 MU channel
81
- description: TX1 MU channel
82
- description: TX2 MU channel
83
- description: TX3 MU channel
84
- description: RX0 MU channel
85
- description: RX1 MU channel
86
- description: RX2 MU channel
87
- description: RX3 MU channel
88
- items:
89
- description: TX0 MU channel
90
- description: TX1 MU channel
91
- description: TX2 MU channel
92
- description: TX3 MU channel
93
- description: RX0 MU channel
94
- description: RX1 MU channel
95
- description: RX2 MU channel
96
- description: RX3 MU channel
97
- description: optional MU channel for general interrupt
98
99
mbox-names:
100
oneOf:
101
- items:
102
- const: tx0
103
- const: rx0
104
- items:
105
- const: tx0
106
- const: rx0
107
- const: gip3
108
- items:
109
- const: tx0
110
- const: tx1
111
- const: tx2
112
- const: tx3
113
- const: rx0
114
- const: rx1
115
- const: rx2
116
- const: rx3
117
- items:
118
- const: tx0
119
- const: tx1
120
- const: tx2
121
- const: tx3
122
- const: rx0
123
- const: rx1
124
- const: rx2
125
- const: rx3
126
- const: gip3
127
128
pinctrl:
129
description:
130
Pin controller provided by the SCU
131
$ref: /schemas/pinctrl/fsl,scu-pinctrl.yaml
132
133
power-controller:
134
description:
135
Power domains controller node that provides the power domains
136
controlled by the SCU
137
$ref: /schemas/power/fsl,scu-pd.yaml
138
139
rtc:
140
description:
141
RTC controller provided by the SCU
142
$ref: /schemas/rtc/fsl,scu-rtc.yaml
143
144
thermal-sensor:
145
description:
146
Thermal sensor provided by the SCU
147
$ref: /schemas/thermal/fsl,scu-thermal.yaml
148
149
watchdog:
150
description:
151
Watchdog controller provided by the SCU
152
$ref: /schemas/watchdog/fsl,scu-wdt.yaml
153
154
required:
155
- compatible
156
- mbox-names
157
- mboxes
158
159
additionalProperties: false
160
161
examples:
162
- |
163
#include <dt-bindings/firmware/imx/rsrc.h>
164
#include <dt-bindings/input/input.h>
165
#include <dt-bindings/pinctrl/pads-imx8qxp.h>
166
167
firmware {
168
system-controller {
169
compatible = "fsl,imx-scu";
170
mbox-names = "tx0", "tx1", "tx2", "tx3",
171
"rx0", "rx1", "rx2", "rx3",
172
"gip3";
173
mboxes = <&lsio_mu1 0 0 &lsio_mu1 0 1 &lsio_mu1 0 2 &lsio_mu1 0 3
174
&lsio_mu1 1 0 &lsio_mu1 1 1 &lsio_mu1 1 2 &lsio_mu1 1 3
175
&lsio_mu1 3 3>;
176
177
clock-controller {
178
compatible = "fsl,imx8qxp-clk", "fsl,scu-clk";
179
#clock-cells = <2>;
180
};
181
182
pinctrl {
183
compatible = "fsl,imx8qxp-iomuxc";
184
185
pinctrl_lpuart0: lpuart0grp {
186
fsl,pins = <
187
IMX8QXP_UART0_RX_ADMA_UART0_RX 0x06000020
188
IMX8QXP_UART0_TX_ADMA_UART0_TX 0x06000020
189
>;
190
};
191
};
192
193
ocotp {
194
compatible = "fsl,imx8qxp-scu-ocotp";
195
#address-cells = <1>;
196
#size-cells = <1>;
197
198
fec_mac0: mac@2c4 {
199
reg = <0x2c4 6>;
200
};
201
};
202
203
power-controller {
204
compatible = "fsl,imx8qxp-scu-pd", "fsl,scu-pd";
205
#power-domain-cells = <1>;
206
};
207
208
rtc {
209
compatible = "fsl,imx8qxp-sc-rtc";
210
};
211
212
keys {
213
compatible = "fsl,imx8qxp-sc-key", "fsl,imx-sc-key";
214
linux,keycodes = <KEY_POWER>;
215
};
216
217
watchdog {
218
compatible = "fsl,imx8qxp-sc-wdt", "fsl,imx-sc-wdt";
219
timeout-sec = <60>;
220
};
221
222
thermal-sensor {
223
compatible = "fsl,imx8qxp-sc-thermal", "fsl,imx-sc-thermal";
224
#thermal-sensor-cells = <1>;
225
};
226
};
227
};
228
229