1 1.1.1.3 skrll // SPDX-License-Identifier: GPL-2.0-only 2 1.1 jmcneill 3 1.1 jmcneill &pllss { 4 1.1 jmcneill /* 5 1.1 jmcneill * See TRM "2.6.10 Connected outputso DPLLS" and 6 1.1 jmcneill * "2.6.11 Connected Outputs of DPLLJ". Only clkout is 7 1.1 jmcneill * connected except for hdmi and usb. 8 1.1 jmcneill */ 9 1.1 jmcneill adpll_mpu_ck: adpll@40 { 10 1.1 jmcneill #clock-cells = <1>; 11 1.1 jmcneill compatible = "ti,dm814-adpll-s-clock"; 12 1.1 jmcneill reg = <0x40 0x40>; 13 1.1 jmcneill clocks = <&devosc_ck &devosc_ck &devosc_ck>; 14 1.1 jmcneill clock-names = "clkinp", "clkinpulow", "clkinphif"; 15 1.1 jmcneill clock-output-names = "481c5040.adpll.dcoclkldo", 16 1.1 jmcneill "481c5040.adpll.clkout", 17 1.1 jmcneill "481c5040.adpll.clkoutx2", 18 1.1 jmcneill "481c5040.adpll.clkouthif"; 19 1.1 jmcneill }; 20 1.1 jmcneill 21 1.1 jmcneill adpll_dsp_ck: adpll@80 { 22 1.1 jmcneill #clock-cells = <1>; 23 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 24 1.1 jmcneill reg = <0x80 0x30>; 25 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 26 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 27 1.1 jmcneill clock-output-names = "481c5080.adpll.dcoclkldo", 28 1.1 jmcneill "481c5080.adpll.clkout", 29 1.1 jmcneill "481c5080.adpll.clkoutldo"; 30 1.1 jmcneill }; 31 1.1 jmcneill 32 1.1 jmcneill adpll_sgx_ck: adpll@b0 { 33 1.1 jmcneill #clock-cells = <1>; 34 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 35 1.1 jmcneill reg = <0xb0 0x30>; 36 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 37 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 38 1.1 jmcneill clock-output-names = "481c50b0.adpll.dcoclkldo", 39 1.1 jmcneill "481c50b0.adpll.clkout", 40 1.1 jmcneill "481c50b0.adpll.clkoutldo"; 41 1.1 jmcneill }; 42 1.1 jmcneill 43 1.1 jmcneill adpll_hdvic_ck: adpll@e0 { 44 1.1 jmcneill #clock-cells = <1>; 45 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 46 1.1 jmcneill reg = <0xe0 0x30>; 47 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 48 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 49 1.1 jmcneill clock-output-names = "481c50e0.adpll.dcoclkldo", 50 1.1 jmcneill "481c50e0.adpll.clkout", 51 1.1 jmcneill "481c50e0.adpll.clkoutldo"; 52 1.1 jmcneill }; 53 1.1 jmcneill 54 1.1 jmcneill adpll_l3_ck: adpll@110 { 55 1.1 jmcneill #clock-cells = <1>; 56 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 57 1.1 jmcneill reg = <0x110 0x30>; 58 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 59 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 60 1.1 jmcneill clock-output-names = "481c5110.adpll.dcoclkldo", 61 1.1 jmcneill "481c5110.adpll.clkout", 62 1.1 jmcneill "481c5110.adpll.clkoutldo"; 63 1.1 jmcneill }; 64 1.1 jmcneill 65 1.1 jmcneill adpll_isp_ck: adpll@140 { 66 1.1 jmcneill #clock-cells = <1>; 67 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 68 1.1 jmcneill reg = <0x140 0x30>; 69 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 70 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 71 1.1 jmcneill clock-output-names = "481c5140.adpll.dcoclkldo", 72 1.1 jmcneill "481c5140.adpll.clkout", 73 1.1 jmcneill "481c5140.adpll.clkoutldo"; 74 1.1 jmcneill }; 75 1.1 jmcneill 76 1.1 jmcneill adpll_dss_ck: adpll@170 { 77 1.1 jmcneill #clock-cells = <1>; 78 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 79 1.1 jmcneill reg = <0x170 0x30>; 80 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 81 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 82 1.1 jmcneill clock-output-names = "481c5170.adpll.dcoclkldo", 83 1.1 jmcneill "481c5170.adpll.clkout", 84 1.1 jmcneill "481c5170.adpll.clkoutldo"; 85 1.1 jmcneill }; 86 1.1 jmcneill 87 1.1 jmcneill adpll_video0_ck: adpll@1a0 { 88 1.1 jmcneill #clock-cells = <1>; 89 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 90 1.1 jmcneill reg = <0x1a0 0x30>; 91 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 92 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 93 1.1 jmcneill clock-output-names = "481c51a0.adpll.dcoclkldo", 94 1.1 jmcneill "481c51a0.adpll.clkout", 95 1.1 jmcneill "481c51a0.adpll.clkoutldo"; 96 1.1 jmcneill }; 97 1.1 jmcneill 98 1.1 jmcneill adpll_video1_ck: adpll@1d0 { 99 1.1 jmcneill #clock-cells = <1>; 100 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 101 1.1 jmcneill reg = <0x1d0 0x30>; 102 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 103 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 104 1.1 jmcneill clock-output-names = "481c51d0.adpll.dcoclkldo", 105 1.1 jmcneill "481c51d0.adpll.clkout", 106 1.1 jmcneill "481c51d0.adpll.clkoutldo"; 107 1.1 jmcneill }; 108 1.1 jmcneill 109 1.1 jmcneill adpll_hdmi_ck: adpll@200 { 110 1.1 jmcneill #clock-cells = <1>; 111 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 112 1.1 jmcneill reg = <0x200 0x30>; 113 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 114 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 115 1.1 jmcneill clock-output-names = "481c5200.adpll.dcoclkldo", 116 1.1 jmcneill "481c5200.adpll.clkout", 117 1.1 jmcneill "481c5200.adpll.clkoutldo"; 118 1.1 jmcneill }; 119 1.1 jmcneill 120 1.1 jmcneill adpll_audio_ck: adpll@230 { 121 1.1 jmcneill #clock-cells = <1>; 122 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 123 1.1 jmcneill reg = <0x230 0x30>; 124 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 125 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 126 1.1 jmcneill clock-output-names = "481c5230.adpll.dcoclkldo", 127 1.1 jmcneill "481c5230.adpll.clkout", 128 1.1 jmcneill "481c5230.adpll.clkoutldo"; 129 1.1 jmcneill }; 130 1.1 jmcneill 131 1.1 jmcneill adpll_usb_ck: adpll@260 { 132 1.1 jmcneill #clock-cells = <1>; 133 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 134 1.1 jmcneill reg = <0x260 0x30>; 135 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 136 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 137 1.1 jmcneill clock-output-names = "481c5260.adpll.dcoclkldo", 138 1.1 jmcneill "481c5260.adpll.clkout", 139 1.1 jmcneill "481c5260.adpll.clkoutldo"; 140 1.1 jmcneill }; 141 1.1 jmcneill 142 1.1 jmcneill adpll_ddr_ck: adpll@290 { 143 1.1 jmcneill #clock-cells = <1>; 144 1.1 jmcneill compatible = "ti,dm814-adpll-lj-clock"; 145 1.1 jmcneill reg = <0x290 0x30>; 146 1.1 jmcneill clocks = <&devosc_ck &devosc_ck>; 147 1.1 jmcneill clock-names = "clkinp", "clkinpulow"; 148 1.1 jmcneill clock-output-names = "481c5290.adpll.dcoclkldo", 149 1.1 jmcneill "481c5290.adpll.clkout", 150 1.1 jmcneill "481c5290.adpll.clkoutldo"; 151 1.1 jmcneill }; 152 1.1 jmcneill }; 153 1.1 jmcneill 154 1.1 jmcneill &pllss_clocks { 155 1.1 jmcneill timer1_fck: timer1_fck@2e0 { 156 1.1 jmcneill #clock-cells = <0>; 157 1.1 jmcneill compatible = "ti,mux-clock"; 158 1.1 jmcneill clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck 159 1.1 jmcneill &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>; 160 1.1 jmcneill ti,bit-shift = <3>; 161 1.1 jmcneill reg = <0x2e0>; 162 1.1 jmcneill }; 163 1.1 jmcneill 164 1.1 jmcneill timer2_fck: timer2_fck@2e0 { 165 1.1 jmcneill #clock-cells = <0>; 166 1.1 jmcneill compatible = "ti,mux-clock"; 167 1.1 jmcneill clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck 168 1.1 jmcneill &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>; 169 1.1 jmcneill ti,bit-shift = <6>; 170 1.1 jmcneill reg = <0x2e0>; 171 1.1 jmcneill }; 172 1.1 jmcneill 173 1.1 jmcneill /* CPTS_RFT_CLK in RMII_REFCLK_SRC, usually sourced from auiod */ 174 1.1 jmcneill cpsw_cpts_rft_clk: cpsw_cpts_rft_clk { 175 1.1 jmcneill #clock-cells = <0>; 176 1.1 jmcneill compatible = "ti,mux-clock"; 177 1.1 jmcneill clocks = <&adpll_video0_ck 1 178 1.1 jmcneill &adpll_video1_ck 1 179 1.1 jmcneill &adpll_audio_ck 1>; 180 1.1 jmcneill ti,bit-shift = <1>; 181 1.1 jmcneill reg = <0x2e8>; 182 1.1 jmcneill }; 183 1.1 jmcneill 184 1.1 jmcneill /* REVISIT: Set up with a proper mux using RMII_REFCLK_SRC */ 185 1.1 jmcneill cpsw_125mhz_gclk: cpsw_125mhz_gclk { 186 1.1 jmcneill #clock-cells = <0>; 187 1.1 jmcneill compatible = "fixed-clock"; 188 1.1 jmcneill clock-frequency = <125000000>; 189 1.1 jmcneill }; 190 1.1 jmcneill 191 1.1 jmcneill sysclk18_ck: sysclk18_ck@2f0 { 192 1.1 jmcneill #clock-cells = <0>; 193 1.1 jmcneill compatible = "ti,mux-clock"; 194 1.1 jmcneill clocks = <&rtcosc_ck>, <&rtcdivider_ck>; 195 1.1 jmcneill ti,bit-shift = <0>; 196 1.1 jmcneill reg = <0x02f0>; 197 1.1 jmcneill }; 198 1.1 jmcneill }; 199 1.1 jmcneill 200 1.1 jmcneill &scm_clocks { 201 1.1 jmcneill devosc_ck: devosc_ck@40 { 202 1.1 jmcneill #clock-cells = <0>; 203 1.1 jmcneill compatible = "ti,mux-clock"; 204 1.1 jmcneill clocks = <&virt_20000000_ck>, <&virt_19200000_ck>; 205 1.1 jmcneill ti,bit-shift = <21>; 206 1.1 jmcneill reg = <0x0040>; 207 1.1 jmcneill }; 208 1.1 jmcneill 209 1.1 jmcneill /* Optional auxosc, 20 - 30 MHz range, assume 22.5729 MHz by default */ 210 1.1 jmcneill auxosc_ck: auxosc_ck { 211 1.1 jmcneill #clock-cells = <0>; 212 1.1 jmcneill compatible = "fixed-clock"; 213 1.1 jmcneill clock-frequency = <22572900>; 214 1.1 jmcneill }; 215 1.1 jmcneill 216 1.1 jmcneill /* Optional 32768Hz crystal or clock on RTCOSC pins */ 217 1.1 jmcneill rtcosc_ck: rtcosc_ck { 218 1.1 jmcneill #clock-cells = <0>; 219 1.1 jmcneill compatible = "fixed-clock"; 220 1.1 jmcneill clock-frequency = <32768>; 221 1.1 jmcneill }; 222 1.1 jmcneill 223 1.1 jmcneill /* Optional external clock on TCLKIN pin, set rate in baord dts file */ 224 1.1 jmcneill tclkin_ck: tclkin_ck { 225 1.1 jmcneill #clock-cells = <0>; 226 1.1 jmcneill compatible = "fixed-clock"; 227 1.1 jmcneill clock-frequency = <0>; 228 1.1 jmcneill }; 229 1.1 jmcneill 230 1.1 jmcneill virt_20000000_ck: virt_20000000_ck { 231 1.1 jmcneill #clock-cells = <0>; 232 1.1 jmcneill compatible = "fixed-clock"; 233 1.1 jmcneill clock-frequency = <20000000>; 234 1.1 jmcneill }; 235 1.1 jmcneill 236 1.1 jmcneill virt_19200000_ck: virt_19200000_ck { 237 1.1 jmcneill #clock-cells = <0>; 238 1.1 jmcneill compatible = "fixed-clock"; 239 1.1 jmcneill clock-frequency = <19200000>; 240 1.1 jmcneill }; 241 1.1 jmcneill 242 1.1 jmcneill mpu_ck: mpu_ck { 243 1.1 jmcneill #clock-cells = <0>; 244 1.1 jmcneill compatible = "fixed-clock"; 245 1.1 jmcneill clock-frequency = <1000000000>; 246 1.1 jmcneill }; 247 1.1 jmcneill }; 248 1.1 jmcneill 249 1.1 jmcneill &prcm_clocks { 250 1.1 jmcneill osc_src_ck: osc_src_ck { 251 1.1 jmcneill #clock-cells = <0>; 252 1.1 jmcneill compatible = "fixed-factor-clock"; 253 1.1 jmcneill clocks = <&devosc_ck>; 254 1.1 jmcneill clock-mult = <1>; 255 1.1 jmcneill clock-div = <1>; 256 1.1 jmcneill }; 257 1.1 jmcneill 258 1.1 jmcneill mpu_clksrc_ck: mpu_clksrc_ck@40 { 259 1.1 jmcneill #clock-cells = <0>; 260 1.1 jmcneill compatible = "ti,mux-clock"; 261 1.1 jmcneill clocks = <&devosc_ck>, <&rtcdivider_ck>; 262 1.1 jmcneill ti,bit-shift = <0>; 263 1.1 jmcneill reg = <0x0040>; 264 1.1 jmcneill }; 265 1.1 jmcneill 266 1.1 jmcneill /* Fixed divider clock 0.0016384 * devosc */ 267 1.1 jmcneill rtcdivider_ck: rtcdivider_ck { 268 1.1 jmcneill #clock-cells = <0>; 269 1.1 jmcneill compatible = "fixed-factor-clock"; 270 1.1 jmcneill clocks = <&devosc_ck>; 271 1.1 jmcneill clock-mult = <128>; 272 1.1 jmcneill clock-div = <78125>; 273 1.1 jmcneill }; 274 1.1 jmcneill 275 1.1 jmcneill /* L4_HS 220 MHz*/ 276 1.1 jmcneill sysclk4_ck: sysclk4_ck { 277 1.1 jmcneill #clock-cells = <0>; 278 1.1 jmcneill compatible = "ti,fixed-factor-clock"; 279 1.1 jmcneill clocks = <&adpll_l3_ck 1>; 280 1.1 jmcneill ti,clock-mult = <1>; 281 1.1 jmcneill ti,clock-div = <1>; 282 1.1 jmcneill }; 283 1.1 jmcneill 284 1.1 jmcneill /* L4_FWCFG */ 285 1.1 jmcneill sysclk5_ck: sysclk5_ck { 286 1.1 jmcneill #clock-cells = <0>; 287 1.1 jmcneill compatible = "ti,fixed-factor-clock"; 288 1.1 jmcneill clocks = <&adpll_l3_ck 1>; 289 1.1 jmcneill ti,clock-mult = <1>; 290 1.1 jmcneill ti,clock-div = <2>; 291 1.1 jmcneill }; 292 1.1 jmcneill 293 1.1 jmcneill /* L4_LS 110 MHz */ 294 1.1 jmcneill sysclk6_ck: sysclk6_ck { 295 1.1 jmcneill #clock-cells = <0>; 296 1.1 jmcneill compatible = "ti,fixed-factor-clock"; 297 1.1 jmcneill clocks = <&adpll_l3_ck 1>; 298 1.1 jmcneill ti,clock-mult = <1>; 299 1.1 jmcneill ti,clock-div = <2>; 300 1.1 jmcneill }; 301 1.1 jmcneill 302 1.1 jmcneill sysclk8_ck: sysclk8_ck { 303 1.1 jmcneill #clock-cells = <0>; 304 1.1 jmcneill compatible = "ti,fixed-factor-clock"; 305 1.1 jmcneill clocks = <&adpll_usb_ck 1>; 306 1.1 jmcneill ti,clock-mult = <1>; 307 1.1 jmcneill ti,clock-div = <1>; 308 1.1 jmcneill }; 309 1.1 jmcneill 310 1.1 jmcneill sysclk10_ck: sysclk10_ck { 311 1.1 jmcneill compatible = "ti,divider-clock"; 312 1.1 jmcneill reg = <0x324>; 313 1.1 jmcneill ti,max-div = <7>; 314 1.1 jmcneill #clock-cells = <0>; 315 1.1 jmcneill clocks = <&adpll_usb_ck 1>; 316 1.1 jmcneill }; 317 1.1 jmcneill 318 1.1 jmcneill aud_clkin0_ck: aud_clkin0_ck { 319 1.1 jmcneill #clock-cells = <0>; 320 1.1 jmcneill compatible = "fixed-clock"; 321 1.1 jmcneill clock-frequency = <20000000>; 322 1.1 jmcneill }; 323 1.1 jmcneill 324 1.1 jmcneill aud_clkin1_ck: aud_clkin1_ck { 325 1.1 jmcneill #clock-cells = <0>; 326 1.1 jmcneill compatible = "fixed-clock"; 327 1.1 jmcneill clock-frequency = <20000000>; 328 1.1 jmcneill }; 329 1.1 jmcneill 330 1.1 jmcneill aud_clkin2_ck: aud_clkin2_ck { 331 1.1 jmcneill #clock-cells = <0>; 332 1.1 jmcneill compatible = "fixed-clock"; 333 1.1 jmcneill clock-frequency = <20000000>; 334 1.1 jmcneill }; 335 1.1 jmcneill }; 336 1.1.1.2 jmcneill 337 1.1.1.2 jmcneill &prcm { 338 1.1.1.2 jmcneill default_cm: default_cm@500 { 339 1.1.1.2 jmcneill compatible = "ti,omap4-cm"; 340 1.1.1.2 jmcneill reg = <0x500 0x100>; 341 1.1.1.2 jmcneill #address-cells = <1>; 342 1.1.1.2 jmcneill #size-cells = <1>; 343 1.1.1.2 jmcneill ranges = <0 0x500 0x100>; 344 1.1.1.2 jmcneill 345 1.1.1.2 jmcneill default_clkctrl: clk@0 { 346 1.1.1.2 jmcneill compatible = "ti,clkctrl"; 347 1.1.1.2 jmcneill reg = <0x0 0x5c>; 348 1.1.1.2 jmcneill #clock-cells = <2>; 349 1.1.1.2 jmcneill }; 350 1.1.1.2 jmcneill }; 351 1.1.1.2 jmcneill 352 1.1.1.2 jmcneill alwon_cm: alwon_cm@1400 { 353 1.1.1.2 jmcneill compatible = "ti,omap4-cm"; 354 1.1.1.2 jmcneill reg = <0x1400 0x300>; 355 1.1.1.2 jmcneill #address-cells = <1>; 356 1.1.1.2 jmcneill #size-cells = <1>; 357 1.1.1.2 jmcneill ranges = <0 0x1400 0x300>; 358 1.1.1.2 jmcneill 359 1.1.1.2 jmcneill alwon_clkctrl: clk@0 { 360 1.1.1.2 jmcneill compatible = "ti,clkctrl"; 361 1.1.1.2 jmcneill reg = <0x0 0x228>; 362 1.1.1.2 jmcneill #clock-cells = <2>; 363 1.1.1.2 jmcneill }; 364 1.1.1.2 jmcneill }; 365 1.1.1.4 jmcneill 366 1.1.1.4 jmcneill alwon_ethernet_cm: alwon_ethernet_cm@15d4 { 367 1.1.1.4 jmcneill compatible = "ti,omap4-cm"; 368 1.1.1.4 jmcneill reg = <0x15d4 0x4>; 369 1.1.1.4 jmcneill #address-cells = <1>; 370 1.1.1.4 jmcneill #size-cells = <1>; 371 1.1.1.4 jmcneill ranges = <0 0x15d4 0x4>; 372 1.1.1.4 jmcneill 373 1.1.1.4 jmcneill alwon_ethernet_clkctrl: clk@0 { 374 1.1.1.4 jmcneill compatible = "ti,clkctrl"; 375 1.1.1.4 jmcneill reg = <0 0x4>; 376 1.1.1.4 jmcneill #clock-cells = <2>; 377 1.1.1.4 jmcneill }; 378 1.1.1.4 jmcneill }; 379 1.1.1.2 jmcneill }; 380