1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*0e8011faSEmmanuel Vadot/* 3*0e8011faSEmmanuel Vadot * Copyright 2023 Mobileye Vision Technologies Ltd. 4*0e8011faSEmmanuel Vadot */ 5*0e8011faSEmmanuel Vadot 6*0e8011faSEmmanuel Vadot#include <dt-bindings/clock/mobileye,eyeq5-clk.h> 7*0e8011faSEmmanuel Vadot 8*0e8011faSEmmanuel Vadot/ { 9*0e8011faSEmmanuel Vadot /* Fixed clock */ 10*0e8011faSEmmanuel Vadot xtal: xtal { 11*0e8011faSEmmanuel Vadot compatible = "fixed-clock"; 12*0e8011faSEmmanuel Vadot #clock-cells = <0>; 13*0e8011faSEmmanuel Vadot clock-frequency = <30000000>; 14*0e8011faSEmmanuel Vadot }; 15*0e8011faSEmmanuel Vadot 16*0e8011faSEmmanuel Vadot/* PLL_CPU derivatives */ 17*0e8011faSEmmanuel Vadot occ_cpu: occ-cpu { 18*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 19*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_CPU>; 20*0e8011faSEmmanuel Vadot #clock-cells = <0>; 21*0e8011faSEmmanuel Vadot clock-div = <1>; 22*0e8011faSEmmanuel Vadot clock-mult = <1>; 23*0e8011faSEmmanuel Vadot }; 24*0e8011faSEmmanuel Vadot si_css0_ref_clk: si-css0-ref-clk { /* gate ClkRstGen_si_css0_ref */ 25*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 26*0e8011faSEmmanuel Vadot clocks = <&occ_cpu>; 27*0e8011faSEmmanuel Vadot #clock-cells = <0>; 28*0e8011faSEmmanuel Vadot clock-div = <1>; 29*0e8011faSEmmanuel Vadot clock-mult = <1>; 30*0e8011faSEmmanuel Vadot }; 31*0e8011faSEmmanuel Vadot cpc_clk: cpc-clk { 32*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 33*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 34*0e8011faSEmmanuel Vadot #clock-cells = <0>; 35*0e8011faSEmmanuel Vadot clock-div = <1>; 36*0e8011faSEmmanuel Vadot clock-mult = <1>; 37*0e8011faSEmmanuel Vadot }; 38*0e8011faSEmmanuel Vadot core0_clk: core0-clk { 39*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 40*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 41*0e8011faSEmmanuel Vadot #clock-cells = <0>; 42*0e8011faSEmmanuel Vadot clock-div = <1>; 43*0e8011faSEmmanuel Vadot clock-mult = <1>; 44*0e8011faSEmmanuel Vadot }; 45*0e8011faSEmmanuel Vadot core1_clk: core1-clk { 46*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 47*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 48*0e8011faSEmmanuel Vadot #clock-cells = <0>; 49*0e8011faSEmmanuel Vadot clock-div = <1>; 50*0e8011faSEmmanuel Vadot clock-mult = <1>; 51*0e8011faSEmmanuel Vadot }; 52*0e8011faSEmmanuel Vadot core2_clk: core2-clk { 53*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 54*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 55*0e8011faSEmmanuel Vadot #clock-cells = <0>; 56*0e8011faSEmmanuel Vadot clock-div = <1>; 57*0e8011faSEmmanuel Vadot clock-mult = <1>; 58*0e8011faSEmmanuel Vadot }; 59*0e8011faSEmmanuel Vadot core3_clk: core3-clk { 60*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 61*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 62*0e8011faSEmmanuel Vadot #clock-cells = <0>; 63*0e8011faSEmmanuel Vadot clock-div = <1>; 64*0e8011faSEmmanuel Vadot clock-mult = <1>; 65*0e8011faSEmmanuel Vadot }; 66*0e8011faSEmmanuel Vadot cm_clk: cm-clk { 67*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 68*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 69*0e8011faSEmmanuel Vadot #clock-cells = <0>; 70*0e8011faSEmmanuel Vadot clock-div = <1>; 71*0e8011faSEmmanuel Vadot clock-mult = <1>; 72*0e8011faSEmmanuel Vadot }; 73*0e8011faSEmmanuel Vadot mem_clk: mem-clk { 74*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 75*0e8011faSEmmanuel Vadot clocks = <&si_css0_ref_clk>; 76*0e8011faSEmmanuel Vadot #clock-cells = <0>; 77*0e8011faSEmmanuel Vadot clock-div = <1>; 78*0e8011faSEmmanuel Vadot clock-mult = <1>; 79*0e8011faSEmmanuel Vadot }; 80*0e8011faSEmmanuel Vadot occ_isram: occ-isram { 81*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 82*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_CPU>; 83*0e8011faSEmmanuel Vadot #clock-cells = <0>; 84*0e8011faSEmmanuel Vadot clock-div = <2>; 85*0e8011faSEmmanuel Vadot clock-mult = <1>; 86*0e8011faSEmmanuel Vadot }; 87*0e8011faSEmmanuel Vadot isram_clk: isram-clk { /* gate ClkRstGen_isram */ 88*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 89*0e8011faSEmmanuel Vadot clocks = <&occ_isram>; 90*0e8011faSEmmanuel Vadot #clock-cells = <0>; 91*0e8011faSEmmanuel Vadot clock-div = <1>; 92*0e8011faSEmmanuel Vadot clock-mult = <1>; 93*0e8011faSEmmanuel Vadot }; 94*0e8011faSEmmanuel Vadot occ_dbu: occ-dbu { 95*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 96*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_CPU>; 97*0e8011faSEmmanuel Vadot #clock-cells = <0>; 98*0e8011faSEmmanuel Vadot clock-div = <10>; 99*0e8011faSEmmanuel Vadot clock-mult = <1>; 100*0e8011faSEmmanuel Vadot }; 101*0e8011faSEmmanuel Vadot si_dbu_tp_pclk: si-dbu-tp-pclk { /* gate ClkRstGen_dbu */ 102*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 103*0e8011faSEmmanuel Vadot clocks = <&occ_dbu>; 104*0e8011faSEmmanuel Vadot #clock-cells = <0>; 105*0e8011faSEmmanuel Vadot clock-div = <1>; 106*0e8011faSEmmanuel Vadot clock-mult = <1>; 107*0e8011faSEmmanuel Vadot }; 108*0e8011faSEmmanuel Vadot/* PLL_VDI derivatives */ 109*0e8011faSEmmanuel Vadot occ_vdi: occ-vdi { 110*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 111*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_VDI>; 112*0e8011faSEmmanuel Vadot #clock-cells = <0>; 113*0e8011faSEmmanuel Vadot clock-div = <2>; 114*0e8011faSEmmanuel Vadot clock-mult = <1>; 115*0e8011faSEmmanuel Vadot }; 116*0e8011faSEmmanuel Vadot vdi_clk: vdi-clk { /* gate ClkRstGen_vdi */ 117*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 118*0e8011faSEmmanuel Vadot clocks = <&occ_vdi>; 119*0e8011faSEmmanuel Vadot #clock-cells = <0>; 120*0e8011faSEmmanuel Vadot clock-div = <1>; 121*0e8011faSEmmanuel Vadot clock-mult = <1>; 122*0e8011faSEmmanuel Vadot }; 123*0e8011faSEmmanuel Vadot occ_can_ser: occ-can-ser { 124*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 125*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_VDI>; 126*0e8011faSEmmanuel Vadot #clock-cells = <0>; 127*0e8011faSEmmanuel Vadot clock-div = <16>; 128*0e8011faSEmmanuel Vadot clock-mult = <1>; 129*0e8011faSEmmanuel Vadot }; 130*0e8011faSEmmanuel Vadot can_ser_clk: can-ser-clk { /* gate ClkRstGen_can_ser */ 131*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 132*0e8011faSEmmanuel Vadot clocks = <&occ_can_ser>; 133*0e8011faSEmmanuel Vadot #clock-cells = <0>; 134*0e8011faSEmmanuel Vadot clock-div = <1>; 135*0e8011faSEmmanuel Vadot clock-mult = <1>; 136*0e8011faSEmmanuel Vadot }; 137*0e8011faSEmmanuel Vadot i2c_ser_clk: i2c-ser-clk { 138*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 139*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_VDI>; 140*0e8011faSEmmanuel Vadot #clock-cells = <0>; 141*0e8011faSEmmanuel Vadot clock-div = <20>; 142*0e8011faSEmmanuel Vadot clock-mult = <1>; 143*0e8011faSEmmanuel Vadot }; 144*0e8011faSEmmanuel Vadot/* PLL_PER derivatives */ 145*0e8011faSEmmanuel Vadot occ_periph: occ-periph { 146*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 147*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_PER>; 148*0e8011faSEmmanuel Vadot #clock-cells = <0>; 149*0e8011faSEmmanuel Vadot clock-div = <16>; 150*0e8011faSEmmanuel Vadot clock-mult = <1>; 151*0e8011faSEmmanuel Vadot }; 152*0e8011faSEmmanuel Vadot periph_clk: periph-clk { 153*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 154*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 155*0e8011faSEmmanuel Vadot #clock-cells = <0>; 156*0e8011faSEmmanuel Vadot clock-div = <1>; 157*0e8011faSEmmanuel Vadot clock-mult = <1>; 158*0e8011faSEmmanuel Vadot }; 159*0e8011faSEmmanuel Vadot can_clk: can-clk { 160*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 161*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 162*0e8011faSEmmanuel Vadot #clock-cells = <0>; 163*0e8011faSEmmanuel Vadot clock-div = <1>; 164*0e8011faSEmmanuel Vadot clock-mult = <1>; 165*0e8011faSEmmanuel Vadot }; 166*0e8011faSEmmanuel Vadot spi_clk: spi-clk { 167*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 168*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 169*0e8011faSEmmanuel Vadot #clock-cells = <0>; 170*0e8011faSEmmanuel Vadot clock-div = <1>; 171*0e8011faSEmmanuel Vadot clock-mult = <1>; 172*0e8011faSEmmanuel Vadot }; 173*0e8011faSEmmanuel Vadot uart_clk: uart-clk { 174*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 175*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 176*0e8011faSEmmanuel Vadot #clock-cells = <0>; 177*0e8011faSEmmanuel Vadot clock-div = <1>; 178*0e8011faSEmmanuel Vadot clock-mult = <1>; 179*0e8011faSEmmanuel Vadot }; 180*0e8011faSEmmanuel Vadot i2c_clk: i2c-clk { 181*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 182*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 183*0e8011faSEmmanuel Vadot #clock-cells = <0>; 184*0e8011faSEmmanuel Vadot clock-div = <1>; 185*0e8011faSEmmanuel Vadot clock-mult = <1>; 186*0e8011faSEmmanuel Vadot clock-output-names = "i2c_clk"; 187*0e8011faSEmmanuel Vadot }; 188*0e8011faSEmmanuel Vadot timer_clk: timer-clk { 189*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 190*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 191*0e8011faSEmmanuel Vadot #clock-cells = <0>; 192*0e8011faSEmmanuel Vadot clock-div = <1>; 193*0e8011faSEmmanuel Vadot clock-mult = <1>; 194*0e8011faSEmmanuel Vadot clock-output-names = "timer_clk"; 195*0e8011faSEmmanuel Vadot }; 196*0e8011faSEmmanuel Vadot gpio_clk: gpio-clk { 197*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 198*0e8011faSEmmanuel Vadot clocks = <&occ_periph>; 199*0e8011faSEmmanuel Vadot #clock-cells = <0>; 200*0e8011faSEmmanuel Vadot clock-div = <1>; 201*0e8011faSEmmanuel Vadot clock-mult = <1>; 202*0e8011faSEmmanuel Vadot clock-output-names = "gpio_clk"; 203*0e8011faSEmmanuel Vadot }; 204*0e8011faSEmmanuel Vadot emmc_sys_clk: emmc-sys-clk { 205*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 206*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_PER>; 207*0e8011faSEmmanuel Vadot #clock-cells = <0>; 208*0e8011faSEmmanuel Vadot clock-div = <10>; 209*0e8011faSEmmanuel Vadot clock-mult = <1>; 210*0e8011faSEmmanuel Vadot clock-output-names = "emmc_sys_clk"; 211*0e8011faSEmmanuel Vadot }; 212*0e8011faSEmmanuel Vadot ccf_ctrl_clk: ccf-ctrl-clk { 213*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 214*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_PER>; 215*0e8011faSEmmanuel Vadot #clock-cells = <0>; 216*0e8011faSEmmanuel Vadot clock-div = <4>; 217*0e8011faSEmmanuel Vadot clock-mult = <1>; 218*0e8011faSEmmanuel Vadot clock-output-names = "ccf_ctrl_clk"; 219*0e8011faSEmmanuel Vadot }; 220*0e8011faSEmmanuel Vadot occ_mjpeg_core: occ-mjpeg-core { 221*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 222*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_PER>; 223*0e8011faSEmmanuel Vadot #clock-cells = <0>; 224*0e8011faSEmmanuel Vadot clock-div = <2>; 225*0e8011faSEmmanuel Vadot clock-mult = <1>; 226*0e8011faSEmmanuel Vadot clock-output-names = "occ_mjpeg_core"; 227*0e8011faSEmmanuel Vadot }; 228*0e8011faSEmmanuel Vadot hsm_clk: hsm-clk { /* gate ClkRstGen_hsm */ 229*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 230*0e8011faSEmmanuel Vadot clocks = <&occ_mjpeg_core>; 231*0e8011faSEmmanuel Vadot #clock-cells = <0>; 232*0e8011faSEmmanuel Vadot clock-div = <1>; 233*0e8011faSEmmanuel Vadot clock-mult = <1>; 234*0e8011faSEmmanuel Vadot clock-output-names = "hsm_clk"; 235*0e8011faSEmmanuel Vadot }; 236*0e8011faSEmmanuel Vadot mjpeg_core_clk: mjpeg-core-clk { /* gate ClkRstGen_mjpeg_gen */ 237*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 238*0e8011faSEmmanuel Vadot clocks = <&occ_mjpeg_core>; 239*0e8011faSEmmanuel Vadot #clock-cells = <0>; 240*0e8011faSEmmanuel Vadot clock-div = <1>; 241*0e8011faSEmmanuel Vadot clock-mult = <1>; 242*0e8011faSEmmanuel Vadot clock-output-names = "mjpeg_core_clk"; 243*0e8011faSEmmanuel Vadot }; 244*0e8011faSEmmanuel Vadot fcmu_a_clk: fcmu-a-clk { 245*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 246*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_PER>; 247*0e8011faSEmmanuel Vadot #clock-cells = <0>; 248*0e8011faSEmmanuel Vadot clock-div = <20>; 249*0e8011faSEmmanuel Vadot clock-mult = <1>; 250*0e8011faSEmmanuel Vadot clock-output-names = "fcmu_a_clk"; 251*0e8011faSEmmanuel Vadot }; 252*0e8011faSEmmanuel Vadot occ_pci_sys: occ-pci-sys { 253*0e8011faSEmmanuel Vadot compatible = "fixed-factor-clock"; 254*0e8011faSEmmanuel Vadot clocks = <&olb EQ5C_PLL_PER>; 255*0e8011faSEmmanuel Vadot #clock-cells = <0>; 256*0e8011faSEmmanuel Vadot clock-div = <8>; 257*0e8011faSEmmanuel Vadot clock-mult = <1>; 258*0e8011faSEmmanuel Vadot clock-output-names = "occ_pci_sys"; 259*0e8011faSEmmanuel Vadot }; 260*0e8011faSEmmanuel Vadot pclk: pclk { 261*0e8011faSEmmanuel Vadot compatible = "fixed-clock"; 262*0e8011faSEmmanuel Vadot #clock-cells = <0>; 263*0e8011faSEmmanuel Vadot clock-frequency = <250000000>; /* 250MHz */ 264*0e8011faSEmmanuel Vadot }; 265*0e8011faSEmmanuel Vadot tsu_clk: tsu-clk { 266*0e8011faSEmmanuel Vadot compatible = "fixed-clock"; 267*0e8011faSEmmanuel Vadot #clock-cells = <0>; 268*0e8011faSEmmanuel Vadot clock-frequency = <125000000>; /* 125MHz */ 269*0e8011faSEmmanuel Vadot }; 270*0e8011faSEmmanuel Vadot}; 271