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