hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/Documentation/devicetree/bindings/clock/clock-bindings.txt
....@@ -9,7 +9,7 @@
99 output on a device. The length of a clock specifier is defined by the
1010 value of a #clock-cells property in the clock provider node.
1111
12
-[1] http://patchwork.ozlabs.org/patch/31551/
12
+[1] https://patchwork.ozlabs.org/patch/31551/
1313
1414 ==Clock providers==
1515
....@@ -94,7 +94,7 @@
9494 /* external oscillator */
9595 osc: oscillator {
9696 compatible = "fixed-clock";
97
- #clock-cells = <1>;
97
+ #clock-cells = <0>;
9898 clock-frequency = <32678>;
9999 clock-output-names = "osc";
100100 };
....@@ -168,3 +168,19 @@
168168
169169 Configuration of common clocks, which affect multiple consumer devices can
170170 be similarly specified in the clock provider node.
171
+
172
+==Protected clocks==
173
+
174
+Some platforms or firmwares may not fully expose all the clocks to the OS, such
175
+as in situations where those clks are used by drivers running in ARM secure
176
+execution levels. Such a configuration can be specified in device tree with the
177
+protected-clocks property in the form of a clock specifier list. This property should
178
+only be specified in the node that is providing the clocks being protected:
179
+
180
+ clock-controller@a000f000 {
181
+ compatible = "vendor,clk95;
182
+ reg = <0xa000f000 0x1000>
183
+ #clocks-cells = <1>;
184
+ ...
185
+ protected-clocks = <UART3_CLK>, <SPI5_CLK>;
186
+ };