2 * Copyright (C) 2014 STMicroelectronics R&D Limited
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.
8 #include <dt-bindings/clock/stih407-clks.h>
16 * Fixed 30MHz oscillator inputs to SoC
18 clk_sysin: clk-sysin {
20 compatible = "fixed-clock";
21 clock-frequency = <30000000>;
25 * ARM Peripheral clock for timers
27 arm_periph_clk: clk-m-a9-periphs {
29 compatible = "fixed-factor-clock";
40 compatible = "st,clkgen-c32";
41 reg = <0x92b0000 0xffff>;
43 clockgen_a9_pll: clockgen-a9-pll {
45 compatible = "st,stih407-plls-c32-a9", "st,clkgen-plls-c32";
47 clocks = <&clk_sysin>;
49 clock-output-names = "clockgen-a9-pll-odf";
54 * ARM CPU related clocks.
56 clk_m_a9: clk-m-a9@92b0000 {
58 compatible = "st,stih407-clkgen-a9-mux", "st,clkgen-mux";
59 reg = <0x92b0000 0x10000>;
61 clocks = <&clockgen_a9_pll 0>,
63 <&clk_s_c0_flexgen 13>,
64 <&clk_m_a9_ext2f_div2>;
68 * ARM Peripheral clock for timers
70 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
72 compatible = "fixed-factor-clock";
74 clocks = <&clk_s_c0_flexgen 13>;
76 clock-output-names = "clk-m-a9-ext2f-div2";
83 * Bootloader initialized system infrastructure clock for
86 clk_ext2f_a9: clockgen-c0@13 {
88 compatible = "fixed-clock";
89 clock-frequency = <200000000>;
90 clock-output-names = "clk-s-icn-reg-0";
94 compatible = "st,clkgen-c32";
95 reg = <0x90ff000 0x1000>;
97 clk_s_a0_pll: clk-s-a0-pll {
99 compatible = "st,stih407-plls-c32-a0", "st,clkgen-plls-c32";
101 clocks = <&clk_sysin>;
103 clock-output-names = "clk-s-a0-pll-ofd-0";
106 clk_s_a0_flexgen: clk-s-a0-flexgen {
107 compatible = "st,flexgen";
111 clocks = <&clk_s_a0_pll 0>,
114 clock-output-names = "clk-ic-lmi0";
118 clk_s_c0_quadfs: clk-s-c0-quadfs@9103000 {
120 compatible = "st,stih407-quadfs660-C", "st,quadfs";
121 reg = <0x9103000 0x1000>;
123 clocks = <&clk_sysin>;
125 clock-output-names = "clk-s-c0-fs0-ch0",
131 clk_s_c0: clockgen-c@09103000 {
132 compatible = "st,clkgen-c32";
133 reg = <0x9103000 0x1000>;
135 clk_s_c0_pll0: clk-s-c0-pll0 {
137 compatible = "st,plls-c32-cx_0", "st,clkgen-plls-c32";
139 clocks = <&clk_sysin>;
141 clock-output-names = "clk-s-c0-pll0-odf-0";
144 clk_s_c0_pll1: clk-s-c0-pll1 {
146 compatible = "st,plls-c32-cx_1", "st,clkgen-plls-c32";
148 clocks = <&clk_sysin>;
150 clock-output-names = "clk-s-c0-pll1-odf-0";
153 clk_s_c0_flexgen: clk-s-c0-flexgen {
155 compatible = "st,flexgen";
157 clocks = <&clk_s_c0_pll0 0>,
159 <&clk_s_c0_quadfs 0>,
160 <&clk_s_c0_quadfs 1>,
161 <&clk_s_c0_quadfs 2>,
162 <&clk_s_c0_quadfs 3>,
165 clock-output-names = "clk-icn-gpu",
192 "clk-eth-ref-phyclk",
200 clk_s_d0_quadfs: clk-s-d0-quadfs@9104000 {
202 compatible = "st,stih407-quadfs660-D", "st,quadfs";
203 reg = <0x9104000 0x1000>;
205 clocks = <&clk_sysin>;
207 clock-output-names = "clk-s-d0-fs0-ch0",
213 clockgen-d0@09104000 {
214 compatible = "st,clkgen-c32";
215 reg = <0x9104000 0x1000>;
217 clk_s_d0_flexgen: clk-s-d0-flexgen {
219 compatible = "st,flexgen";
221 clocks = <&clk_s_d0_quadfs 0>,
222 <&clk_s_d0_quadfs 1>,
223 <&clk_s_d0_quadfs 2>,
224 <&clk_s_d0_quadfs 3>,
227 clock-output-names = "clk-pcm-0",
234 clk_s_d2_quadfs: clk-s-d2-quadfs@9106000 {
236 compatible = "st,stih407-quadfs660-D", "st,quadfs";
237 reg = <0x9106000 0x1000>;
239 clocks = <&clk_sysin>;
241 clock-output-names = "clk-s-d2-fs0-ch0",
247 clk_tmdsout_hdmi: clk-tmdsout-hdmi {
249 compatible = "fixed-clock";
250 clock-frequency = <0>;
253 clockgen-d2@x9106000 {
254 compatible = "st,clkgen-c32";
255 reg = <0x9106000 0x1000>;
257 clk_s_d2_flexgen: clk-s-d2-flexgen {
259 compatible = "st,flexgen";
261 clocks = <&clk_s_d2_quadfs 0>,
262 <&clk_s_d2_quadfs 1>,
263 <&clk_s_d2_quadfs 2>,
264 <&clk_s_d2_quadfs 3>,
269 clock-output-names = "clk-pix-main-disp",
288 clk_s_d3_quadfs: clk-s-d3-quadfs@9107000 {
290 compatible = "st,stih407-quadfs660-D", "st,quadfs";
291 reg = <0x9107000 0x1000>;
293 clocks = <&clk_sysin>;
295 clock-output-names = "clk-s-d3-fs0-ch0",
301 clockgen-d3@9107000 {
302 compatible = "st,clkgen-c32";
303 reg = <0x9107000 0x1000>;
305 clk_s_d3_flexgen: clk-s-d3-flexgen {
307 compatible = "st,flexgen";
309 clocks = <&clk_s_d3_quadfs 0>,
310 <&clk_s_d3_quadfs 1>,
311 <&clk_s_d3_quadfs 2>,
312 <&clk_s_d3_quadfs 3>,
315 clock-output-names = "clk-stfe-frc1",