Merge remote-tracking branches 'regulator/topic/discharge', 'regulator/topic/fan53555...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / clock / arm-syscon-icst.txt
1 ARM System Controller ICST clocks
2
3 The ICS525 and ICS307 oscillators are produced by Integrated Devices
4 Technology (IDT). ARM integrated these oscillators deeply into their
5 reference designs by adding special control registers that manage such
6 oscillators to their system controllers.
7
8 The ARM system controller contains logic to serialize and initialize
9 an ICST clock request after a write to the 32 bit register at an offset
10 into the system controller. Furthermore, to even be able to alter one of
11 these frequencies, the system controller must first be unlocked by
12 writing a special token to another offset in the system controller.
13
14 The ICST oscillator must be provided inside a system controller node.
15
16 Required properties:
17 - lock-offset: the offset address into the system controller where the
18   unlocking register is located
19 - vco-offset: the offset address into the system controller where the
20   ICST control register is located (even 32 bit address)
21 - compatible: must be one of "arm,syscon-icst525" or "arm,syscon-icst307"
22 - #clock-cells: must be <0>
23 - clocks: parent clock, since the ICST needs a parent clock to derive its
24   frequency from, this attribute is compulsory.
25
26 Example:
27
28 syscon: syscon@10000000 {
29         compatible = "syscon";
30         reg = <0x10000000 0x1000>;
31
32         oscclk0: osc0@0c {
33                 compatible = "arm,syscon-icst307";
34                 #clock-cells = <0>;
35                 lock-offset = <0x20>;
36                 vco-offset = <0x0c>;
37                 clocks = <&xtal24mhz>;
38         };
39         (...)
40 };