forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/Documentation/devicetree/bindings/arm/arm,scmi.txt
....@@ -6,7 +6,7 @@
66 and performance functions.
77
88 This binding is intended to define the interface the firmware implementing
9
-the SCMI as described in ARM document number ARM DUI 0922B ("ARM System Control
9
+the SCMI as described in ARM document number ARM DEN 0056A ("ARM System Control
1010 and Management Interface Platform Design Document")[0] provide for OSPM in
1111 the device tree.
1212
....@@ -14,7 +14,7 @@
1414
1515 The scmi node with the following properties shall be under the /firmware/ node.
1616
17
-- compatible : shall be "arm,scmi"
17
+- compatible : shall be "arm,scmi" or "arm,scmi-smc" for smc/hvc transports
1818 - mboxes: List of phandle and mailbox channel specifiers. It should contain
1919 exactly one or two mailboxes, one for transmitting messages("tx")
2020 and another optional for receiving the notifications("rx") if
....@@ -25,10 +25,19 @@
2525 protocol identifier for a given sub-node.
2626 - #size-cells : should be '0' as 'reg' property doesn't have any size
2727 associated with it.
28
+- arm,smc-id : SMC id required when using smc or hvc transports
2829
2930 Optional properties:
3031
3132 - mbox-names: shall be "tx" or "rx" depending on mboxes entries.
33
+
34
+- interrupts : when using smc or hvc transports, this optional
35
+ property indicates that msg completion by the platform is indicated
36
+ by an interrupt rather than by the return of the smc call. This
37
+ should not be used except when the platform requires such behavior.
38
+
39
+- interrupt-names : if "interrupts" is present, interrupt-names must also
40
+ be present and have the value "a2p".
3241
3342 See Documentation/devicetree/bindings/mailbox/mailbox.txt for more details
3443 about the generic mailbox controller and client driver bindings.
....@@ -61,6 +70,20 @@
6170 - #power-domain-cells : Should be 1. Contains the device or the power
6271 domain ID value used by SCMI commands.
6372
73
+Regulator bindings for the SCMI Regulator based on SCMI Message Protocol
74
+------------------------------------------------------------
75
+An SCMI Regulator is permanently bound to a well defined SCMI Voltage Domain,
76
+and should be always positioned as a root regulator.
77
+It does not support any current operation.
78
+
79
+SCMI Regulators are grouped under a 'regulators' node which in turn is a child
80
+of the SCMI Voltage protocol node inside the desired SCMI instance node.
81
+
82
+This binding uses the common regulator binding[6].
83
+
84
+Required properties:
85
+ - reg : shall identify an existent SCMI Voltage Domain.
86
+
6487 Sensor bindings for the sensors based on SCMI Message Protocol
6588 --------------------------------------------------------------
6689 SCMI provides an API to access the various sensors on the SoC.
....@@ -72,6 +95,16 @@
7295 Valid cell values are raw identifiers (Sensor ID)
7396 as used by the firmware. Refer to platform details
7497 for your implementation for the IDs to use.
98
+
99
+Reset signal bindings for the reset domains based on SCMI Message Protocol
100
+------------------------------------------------------------
101
+
102
+This binding for the SCMI reset domain providers uses the generic reset
103
+signal binding[5].
104
+
105
+Required properties:
106
+ - #reset-cells : Should be 1. Contains the reset domain ID value used
107
+ by SCMI commands.
75108
76109 SRAM and Shared Memory for SCMI
77110 -------------------------------
....@@ -90,9 +123,11 @@
90123
91124 [0] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/index.html
92125 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
93
-[2] Documentation/devicetree/bindings/power/power_domain.txt
94
-[3] Documentation/devicetree/bindings/thermal/thermal.txt
95
-[4] Documentation/devicetree/bindings/sram/sram.txt
126
+[2] Documentation/devicetree/bindings/power/power-domain.yaml
127
+[3] Documentation/devicetree/bindings/thermal/thermal*.yaml
128
+[4] Documentation/devicetree/bindings/sram/sram.yaml
129
+[5] Documentation/devicetree/bindings/reset/reset.txt
130
+[6] Documentation/devicetree/bindings/regulator/regulator.yaml
96131
97132 Example:
98133
....@@ -152,6 +187,30 @@
152187 reg = <0x15>;
153188 #thermal-sensor-cells = <1>;
154189 };
190
+
191
+ scmi_reset: protocol@16 {
192
+ reg = <0x16>;
193
+ #reset-cells = <1>;
194
+ };
195
+
196
+ scmi_voltage: protocol@17 {
197
+ reg = <0x17>;
198
+
199
+ regulators {
200
+ regulator_devX: regulator@0 {
201
+ reg = <0x0>;
202
+ regulator-max-microvolt = <3300000>;
203
+ };
204
+
205
+ regulator_devY: regulator@9 {
206
+ reg = <0x9>;
207
+ regulator-min-microvolt = <500000>;
208
+ regulator-max-microvolt = <4200000>;
209
+ };
210
+
211
+ ...
212
+ };
213
+ };
155214 };
156215 };
157216
....@@ -166,6 +225,7 @@
166225 reg = <0 0x7ff60000 0 0x1000>;
167226 clocks = <&scmi_clk 4>;
168227 power-domains = <&scmi_devpd 1>;
228
+ resets = <&scmi_reset 10>;
169229 };
170230
171231 thermal-zones {