diff options
Diffstat (limited to 'Documentation/devicetree/bindings/clock/at91-clock.txt')
-rw-r--r-- | Documentation/devicetree/bindings/clock/at91-clock.txt | 128 |
1 files changed, 119 insertions, 9 deletions
diff --git a/Documentation/devicetree/bindings/clock/at91-clock.txt b/Documentation/devicetree/bindings/clock/at91-clock.txt index 6794cdc96d8f..b3d544ca522a 100644 --- a/Documentation/devicetree/bindings/clock/at91-clock.txt +++ b/Documentation/devicetree/bindings/clock/at91-clock.txt | |||
@@ -6,6 +6,16 @@ This binding uses the common clock binding[1]. | |||
6 | 6 | ||
7 | Required properties: | 7 | Required properties: |
8 | - compatible : shall be one of the following: | 8 | - compatible : shall be one of the following: |
9 | "atmel,at91sam9x5-sckc": | ||
10 | at91 SCKC (Slow Clock Controller) | ||
11 | This node contains the slow clock definitions. | ||
12 | |||
13 | "atmel,at91sam9x5-clk-slow-osc": | ||
14 | at91 slow oscillator | ||
15 | |||
16 | "atmel,at91sam9x5-clk-slow-rc-osc": | ||
17 | at91 internal slow RC oscillator | ||
18 | |||
9 | "atmel,at91rm9200-pmc" or | 19 | "atmel,at91rm9200-pmc" or |
10 | "atmel,at91sam9g45-pmc" or | 20 | "atmel,at91sam9g45-pmc" or |
11 | "atmel,at91sam9n12-pmc" or | 21 | "atmel,at91sam9n12-pmc" or |
@@ -15,8 +25,18 @@ Required properties: | |||
15 | All at91 specific clocks (clocks defined below) must be child | 25 | All at91 specific clocks (clocks defined below) must be child |
16 | node of the PMC node. | 26 | node of the PMC node. |
17 | 27 | ||
28 | "atmel,at91sam9x5-clk-slow" (under sckc node) | ||
29 | or | ||
30 | "atmel,at91sam9260-clk-slow" (under pmc node): | ||
31 | at91 slow clk | ||
32 | |||
33 | "atmel,at91rm9200-clk-main-osc" | ||
34 | "atmel,at91sam9x5-clk-main-rc-osc" | ||
35 | at91 main clk sources | ||
36 | |||
37 | "atmel,at91sam9x5-clk-main" | ||
18 | "atmel,at91rm9200-clk-main": | 38 | "atmel,at91rm9200-clk-main": |
19 | at91 main oscillator | 39 | at91 main clock |
20 | 40 | ||
21 | "atmel,at91rm9200-clk-master" or | 41 | "atmel,at91rm9200-clk-master" or |
22 | "atmel,at91sam9x5-clk-master": | 42 | "atmel,at91sam9x5-clk-master": |
@@ -54,6 +74,63 @@ Required properties: | |||
54 | "atmel,at91sam9x5-clk-utmi": | 74 | "atmel,at91sam9x5-clk-utmi": |
55 | at91 utmi clock | 75 | at91 utmi clock |
56 | 76 | ||
77 | Required properties for SCKC node: | ||
78 | - reg : defines the IO memory reserved for the SCKC. | ||
79 | - #size-cells : shall be 0 (reg is used to encode clk id). | ||
80 | - #address-cells : shall be 1 (reg is used to encode clk id). | ||
81 | |||
82 | |||
83 | For example: | ||
84 | sckc: sckc@fffffe50 { | ||
85 | compatible = "atmel,sama5d3-pmc"; | ||
86 | reg = <0xfffffe50 0x4> | ||
87 | #size-cells = <0>; | ||
88 | #address-cells = <1>; | ||
89 | |||
90 | /* put at91 slow clocks here */ | ||
91 | }; | ||
92 | |||
93 | |||
94 | Required properties for internal slow RC oscillator: | ||
95 | - #clock-cells : from common clock binding; shall be set to 0. | ||
96 | - clock-frequency : define the internal RC oscillator frequency. | ||
97 | |||
98 | Optional properties: | ||
99 | - clock-accuracy : define the internal RC oscillator accuracy. | ||
100 | |||
101 | For example: | ||
102 | slow_rc_osc: slow_rc_osc { | ||
103 | compatible = "atmel,at91sam9x5-clk-slow-rc-osc"; | ||
104 | clock-frequency = <32768>; | ||
105 | clock-accuracy = <50000000>; | ||
106 | }; | ||
107 | |||
108 | Required properties for slow oscillator: | ||
109 | - #clock-cells : from common clock binding; shall be set to 0. | ||
110 | - clocks : shall encode the main osc source clk sources (see atmel datasheet). | ||
111 | |||
112 | Optional properties: | ||
113 | - atmel,osc-bypass : boolean property. Set this when a clock signal is directly | ||
114 | provided on XIN. | ||
115 | |||
116 | For example: | ||
117 | slow_osc: slow_osc { | ||
118 | compatible = "atmel,at91rm9200-clk-slow-osc"; | ||
119 | #clock-cells = <0>; | ||
120 | clocks = <&slow_xtal>; | ||
121 | }; | ||
122 | |||
123 | Required properties for slow clock: | ||
124 | - #clock-cells : from common clock binding; shall be set to 0. | ||
125 | - clocks : shall encode the slow clk sources (see atmel datasheet). | ||
126 | |||
127 | For example: | ||
128 | clk32k: slck { | ||
129 | compatible = "atmel,at91sam9x5-clk-slow"; | ||
130 | #clock-cells = <0>; | ||
131 | clocks = <&slow_rc_osc &slow_osc>; | ||
132 | }; | ||
133 | |||
57 | Required properties for PMC node: | 134 | Required properties for PMC node: |
58 | - reg : defines the IO memory reserved for the PMC. | 135 | - reg : defines the IO memory reserved for the PMC. |
59 | - #size-cells : shall be 0 (reg is used to encode clk id). | 136 | - #size-cells : shall be 0 (reg is used to encode clk id). |
@@ -85,24 +162,57 @@ For example: | |||
85 | /* put at91 clocks here */ | 162 | /* put at91 clocks here */ |
86 | }; | 163 | }; |
87 | 164 | ||
165 | Required properties for main clock internal RC oscillator: | ||
166 | - interrupt-parent : must reference the PMC node. | ||
167 | - interrupts : shall be set to "<0>". | ||
168 | - clock-frequency : define the internal RC oscillator frequency. | ||
169 | |||
170 | Optional properties: | ||
171 | - clock-accuracy : define the internal RC oscillator accuracy. | ||
172 | |||
173 | For example: | ||
174 | main_rc_osc: main_rc_osc { | ||
175 | compatible = "atmel,at91sam9x5-clk-main-rc-osc"; | ||
176 | interrupt-parent = <&pmc>; | ||
177 | interrupts = <0>; | ||
178 | clock-frequency = <12000000>; | ||
179 | clock-accuracy = <50000000>; | ||
180 | }; | ||
181 | |||
182 | Required properties for main clock oscillator: | ||
183 | - interrupt-parent : must reference the PMC node. | ||
184 | - interrupts : shall be set to "<0>". | ||
185 | - #clock-cells : from common clock binding; shall be set to 0. | ||
186 | - clocks : shall encode the main osc source clk sources (see atmel datasheet). | ||
187 | |||
188 | Optional properties: | ||
189 | - atmel,osc-bypass : boolean property. Specified if a clock signal is provided | ||
190 | on XIN. | ||
191 | |||
192 | clock signal is directly provided on XIN pin. | ||
193 | |||
194 | For example: | ||
195 | main_osc: main_osc { | ||
196 | compatible = "atmel,at91rm9200-clk-main-osc"; | ||
197 | interrupt-parent = <&pmc>; | ||
198 | interrupts = <0>; | ||
199 | #clock-cells = <0>; | ||
200 | clocks = <&main_xtal>; | ||
201 | }; | ||
202 | |||
88 | Required properties for main clock: | 203 | Required properties for main clock: |
89 | - interrupt-parent : must reference the PMC node. | 204 | - interrupt-parent : must reference the PMC node. |
90 | - interrupts : shall be set to "<0>". | 205 | - interrupts : shall be set to "<0>". |
91 | - #clock-cells : from common clock binding; shall be set to 0. | 206 | - #clock-cells : from common clock binding; shall be set to 0. |
92 | - clocks (optional if clock-frequency is provided) : shall be the slow clock | 207 | - clocks : shall encode the main clk sources (see atmel datasheet). |
93 | phandle. This clock is used to calculate the main clock rate if | ||
94 | "clock-frequency" is not provided. | ||
95 | - clock-frequency : the main oscillator frequency.Prefer the use of | ||
96 | "clock-frequency" over automatic clock rate calculation. | ||
97 | 208 | ||
98 | For example: | 209 | For example: |
99 | main: mainck { | 210 | main: mainck { |
100 | compatible = "atmel,at91rm9200-clk-main"; | 211 | compatible = "atmel,at91sam9x5-clk-main"; |
101 | interrupt-parent = <&pmc>; | 212 | interrupt-parent = <&pmc>; |
102 | interrupts = <0>; | 213 | interrupts = <0>; |
103 | #clock-cells = <0>; | 214 | #clock-cells = <0>; |
104 | clocks = <&ck32k>; | 215 | clocks = <&main_rc_osc &main_osc>; |
105 | clock-frequency = <18432000>; | ||
106 | }; | 216 | }; |
107 | 217 | ||
108 | Required properties for master clock: | 218 | Required properties for master clock: |