| .. | .. |
|---|
| 9 | 9 | output on a device. The length of a clock specifier is defined by the |
|---|
| 10 | 10 | value of a #clock-cells property in the clock provider node. |
|---|
| 11 | 11 | |
|---|
| 12 | | -[1] http://patchwork.ozlabs.org/patch/31551/ |
|---|
| 12 | +[1] https://patchwork.ozlabs.org/patch/31551/ |
|---|
| 13 | 13 | |
|---|
| 14 | 14 | ==Clock providers== |
|---|
| 15 | 15 | |
|---|
| .. | .. |
|---|
| 94 | 94 | /* external oscillator */ |
|---|
| 95 | 95 | osc: oscillator { |
|---|
| 96 | 96 | compatible = "fixed-clock"; |
|---|
| 97 | | - #clock-cells = <1>; |
|---|
| 97 | + #clock-cells = <0>; |
|---|
| 98 | 98 | clock-frequency = <32678>; |
|---|
| 99 | 99 | clock-output-names = "osc"; |
|---|
| 100 | 100 | }; |
|---|
| .. | .. |
|---|
| 168 | 168 | |
|---|
| 169 | 169 | Configuration of common clocks, which affect multiple consumer devices can |
|---|
| 170 | 170 | 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 | + }; |
|---|