Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.15.
  1/*
  2 * Copyright (C) 2015 STMicroelectronics R&D Limited
  3 *
  4 * This program is free software; you can redistribute it and/or modify
  5 * it under the terms of the GNU General Public License version 2 as
  6 * published by the Free Software Foundation.
  7 */
  8#include <dt-bindings/clock/stih418-clks.h>
  9/ {
 10	/*
 11	 * Fixed 30MHz oscillator inputs to SoC
 12	 */
 13	clk_sysin: clk-sysin {
 14		#clock-cells = <0>;
 15		compatible = "fixed-clock";
 16		clock-frequency = <30000000>;
 17		clock-output-names = "CLK_SYSIN";
 18	};
 19
 20	clk_tmdsout_hdmi: clk-tmdsout-hdmi {
 21		#clock-cells = <0>;
 22		compatible = "fixed-clock";
 23		clock-frequency = <0>;
 24	};
 25
 26	clocks {
 27		#address-cells = <1>;
 28		#size-cells = <1>;
 29		ranges;
 30
 31		compatible = "st,stih418-clk", "simple-bus";
 32
 33		/*
 34		 * A9 PLL.
 35		 */
 36		clockgen-a9@92b0000 {
 37			compatible = "st,clkgen-c32";
 38			reg = <0x92b0000 0xffff>;
 39
 40			clockgen_a9_pll: clockgen-a9-pll {
 41				#clock-cells = <1>;
 42				compatible = "st,stih418-clkgen-plla9";
 43
 44				clocks = <&clk_sysin>;
 45
 46				clock-output-names = "clockgen-a9-pll-odf";
 47			};
 48		};
 49
 50		/*
 51		 * ARM CPU related clocks.
 52		 */
 53		clk_m_a9: clk-m-a9@92b0000 {
 54			#clock-cells = <0>;
 55			compatible = "st,stih407-clkgen-a9-mux", "st,clkgen-mux";
 56			reg = <0x92b0000 0x10000>;
 57
 58			clocks = <&clockgen_a9_pll 0>,
 59				 <&clockgen_a9_pll 0>,
 60				 <&clk_s_c0_flexgen 13>,
 61				 <&clk_m_a9_ext2f_div2>;
 62
 63			/*
 64			 * ARM Peripheral clock for timers
 65			 */
 66			arm_periph_clk: clk-m-a9-periphs {
 67				#clock-cells = <0>;
 68				compatible = "fixed-factor-clock";
 69				clocks = <&clk_m_a9>;
 70				clock-div = <2>;
 71				clock-mult = <1>;
 72			};
 73		};
 74
 75		clockgen-a@90ff000 {
 76			compatible = "st,clkgen-c32";
 77			reg = <0x90ff000 0x1000>;
 78
 79			clk_s_a0_pll: clk-s-a0-pll {
 80				#clock-cells = <1>;
 81				compatible = "st,clkgen-pll0";
 82
 83				clocks = <&clk_sysin>;
 84
 85				clock-output-names = "clk-s-a0-pll-ofd-0";
 86			};
 87
 88			clk_s_a0_flexgen: clk-s-a0-flexgen {
 89				compatible = "st,flexgen";
 90
 91				#clock-cells = <1>;
 92
 93				clocks = <&clk_s_a0_pll 0>,
 94					 <&clk_sysin>;
 95
 96				clock-output-names = "clk-ic-lmi0",
 97						     "clk-ic-lmi1";
 98			};
 99		};
100
101		clk_s_c0_quadfs: clk-s-c0-quadfs@9103000 {
102			#clock-cells = <1>;
103			compatible = "st,quadfs-pll";
104			reg = <0x9103000 0x1000>;
105
106			clocks = <&clk_sysin>;
107
108			clock-output-names = "clk-s-c0-fs0-ch0",
109					     "clk-s-c0-fs0-ch1",
110					     "clk-s-c0-fs0-ch2",
111					     "clk-s-c0-fs0-ch3";
112		};
113
114		clk_s_c0: clockgen-c@9103000 {
115			compatible = "st,clkgen-c32";
116			reg = <0x9103000 0x1000>;
117
118			clk_s_c0_pll0: clk-s-c0-pll0 {
119				#clock-cells = <1>;
120				compatible = "st,clkgen-pll0";
121
122				clocks = <&clk_sysin>;
123
124				clock-output-names = "clk-s-c0-pll0-odf-0";
125			};
126
127			clk_s_c0_pll1: clk-s-c0-pll1 {
128				#clock-cells = <1>;
129				compatible = "st,clkgen-pll1";
130
131				clocks = <&clk_sysin>;
132
133				clock-output-names = "clk-s-c0-pll1-odf-0";
134			};
135
136			clk_s_c0_flexgen: clk-s-c0-flexgen {
137				#clock-cells = <1>;
138				compatible = "st,flexgen";
139
140				clocks = <&clk_s_c0_pll0 0>,
141					 <&clk_s_c0_pll1 0>,
142					 <&clk_s_c0_quadfs 0>,
143					 <&clk_s_c0_quadfs 1>,
144					 <&clk_s_c0_quadfs 2>,
145					 <&clk_s_c0_quadfs 3>,
146					 <&clk_sysin>;
147
148				clock-output-names = "clk-icn-gpu",
149						     "clk-fdma",
150						     "clk-nand",
151						     "clk-hva",
152						     "clk-proc-stfe",
153						     "clk-tp",
154						     "clk-rx-icn-dmu",
155						     "clk-rx-icn-hva",
156						     "clk-icn-cpu",
157						     "clk-tx-icn-dmu",
158						     "clk-mmc-0",
159						     "clk-mmc-1",
160						     "clk-jpegdec",
161						     "clk-icn-reg",
162						     "clk-proc-bdisp-0",
163						     "clk-proc-bdisp-1",
164						     "clk-pp-dmu",
165						     "clk-vid-dmu",
166						     "clk-dss-lpc",
167						     "clk-st231-aud-0",
168						     "clk-st231-gp-1",
169						     "clk-st231-dmu",
170						     "clk-icn-lmi",
171						     "clk-tx-icn-1",
172						     "clk-icn-sbc",
173						     "clk-stfe-frc2",
174						     "clk-eth-phyref",
175						     "clk-eth-ref-phyclk",
176						     "clk-flash-promip",
177						     "clk-main-disp",
178						     "clk-aux-disp",
179						     "clk-compo-dvp",
180						     "clk-tx-icn-hades",
181						     "clk-rx-icn-hades",
182						     "clk-icn-reg-16",
183						     "clk-pp-hevc",
184						     "clk-clust-hevc",
185						     "clk-hwpe-hevc",
186						     "clk-fc-hevc",
187						     "clk-proc-mixer",
188						     "clk-proc-sc",
189						     "clk-avsp-hevc";
190
191				/*
192				 * ARM Peripheral clock for timers
193				 */
194				clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
195					#clock-cells = <0>;
196					compatible = "fixed-factor-clock";
197
198					clocks = <&clk_s_c0_flexgen 13>;
199
200					clock-output-names = "clk-m-a9-ext2f-div2";
201
202					clock-div = <2>;
203					clock-mult = <1>;
204				};
205			};
206		};
207
208		clk_s_d0_quadfs: clk-s-d0-quadfs@9104000 {
209			#clock-cells = <1>;
210			compatible = "st,quadfs";
211			reg = <0x9104000 0x1000>;
212
213			clocks = <&clk_sysin>;
214
215			clock-output-names = "clk-s-d0-fs0-ch0",
216					     "clk-s-d0-fs0-ch1",
217					     "clk-s-d0-fs0-ch2",
218					     "clk-s-d0-fs0-ch3";
219		};
220
221		clockgen-d0@9104000 {
222			compatible = "st,clkgen-c32";
223			reg = <0x9104000 0x1000>;
224
225			clk_s_d0_flexgen: clk-s-d0-flexgen {
226				#clock-cells = <1>;
227				compatible = "st,flexgen-audio", "st,flexgen";
228
229				clocks = <&clk_s_d0_quadfs 0>,
230					 <&clk_s_d0_quadfs 1>,
231					 <&clk_s_d0_quadfs 2>,
232					 <&clk_s_d0_quadfs 3>,
233					 <&clk_sysin>;
234
235				clock-output-names = "clk-pcm-0",
236						     "clk-pcm-1",
237						     "clk-pcm-2",
238						     "clk-spdiff",
239						     "clk-pcmr10-master",
240						     "clk-usb2-phy";
241			};
242		};
243
244		clk_s_d2_quadfs: clk-s-d2-quadfs@9106000 {
245			#clock-cells = <1>;
246			compatible = "st,quadfs";
247			reg = <0x9106000 0x1000>;
248
249			clocks = <&clk_sysin>;
250
251			clock-output-names = "clk-s-d2-fs0-ch0",
252					     "clk-s-d2-fs0-ch1",
253					     "clk-s-d2-fs0-ch2",
254					     "clk-s-d2-fs0-ch3";
255		};
256
257		clockgen-d2@9106000 {
258			compatible = "st,clkgen-c32";
259			reg = <0x9106000 0x1000>;
260
261			clk_s_d2_flexgen: clk-s-d2-flexgen {
262				#clock-cells = <1>;
263				compatible = "st,flexgen-video", "st,flexgen";
264
265				clocks = <&clk_s_d2_quadfs 0>,
266					 <&clk_s_d2_quadfs 1>,
267					 <&clk_s_d2_quadfs 2>,
268					 <&clk_s_d2_quadfs 3>,
269					 <&clk_sysin>,
270					 <&clk_sysin>,
271					 <&clk_tmdsout_hdmi>;
272
273				clock-output-names = "clk-pix-main-disp",
274						     "",
275						     "",
276						     "",
277						     "",
278						     "clk-tmds-hdmi-div2",
279						     "clk-pix-aux-disp",
280						     "clk-denc",
281						     "clk-pix-hddac",
282						     "clk-hddac",
283						     "clk-sddac",
284						     "clk-pix-dvo",
285						     "clk-dvo",
286						     "clk-pix-hdmi",
287						     "clk-tmds-hdmi",
288						     "clk-ref-hdmiphy",
289						     "", "", "", "", "",
290						     "", "", "", "", "",
291						     "", "", "", "", "",
292						     "", "", "", "", "",
293						     "", "", "", "", "",
294						     "", "", "", "", "",
295						     "", "clk-vp9";
296			};
297		};
298
299		clk_s_d3_quadfs: clk-s-d3-quadfs@9107000 {
300			#clock-cells = <1>;
301			compatible = "st,quadfs";
302			reg = <0x9107000 0x1000>;
303
304			clocks = <&clk_sysin>;
305
306			clock-output-names = "clk-s-d3-fs0-ch0",
307					     "clk-s-d3-fs0-ch1",
308					     "clk-s-d3-fs0-ch2",
309					     "clk-s-d3-fs0-ch3";
310		};
311
312		clockgen-d3@9107000 {
313			compatible = "st,clkgen-c32";
314			reg = <0x9107000 0x1000>;
315
316			clk_s_d3_flexgen: clk-s-d3-flexgen {
317				#clock-cells = <1>;
318				compatible = "st,flexgen";
319
320				clocks = <&clk_s_d3_quadfs 0>,
321					 <&clk_s_d3_quadfs 1>,
322					 <&clk_s_d3_quadfs 2>,
323					 <&clk_s_d3_quadfs 3>,
324					 <&clk_sysin>;
325
326				clock-output-names = "clk-stfe-frc1",
327						     "clk-tsout-0",
328						     "clk-tsout-1",
329						     "clk-mchi",
330						     "clk-vsens-compo",
331						     "clk-frc1-remote",
332						     "clk-lpc-0",
333						     "clk-lpc-1";
334			};
335		};
336	};
337};