| // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| /* |
| * Copyright 2023 Mobileye Vision Technologies Ltd. |
| */ |
| |
| #include <dt-bindings/clock/mobileye,eyeq5-clk.h> |
| |
| / { |
| /* Fixed clock */ |
| xtal: xtal { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <30000000>; |
| }; |
| |
| /* PLL_CPU derivatives */ |
| occ_cpu: occ-cpu { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_CPU>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| si_css0_ref_clk: si-css0-ref-clk { /* gate ClkRstGen_si_css0_ref */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_cpu>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| cpc_clk: cpc-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| core0_clk: core0-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| core1_clk: core1-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| core2_clk: core2-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| core3_clk: core3-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| cm_clk: cm-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| mem_clk: mem-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&si_css0_ref_clk>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| occ_isram: occ-isram { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_CPU>; |
| #clock-cells = <0>; |
| clock-div = <2>; |
| clock-mult = <1>; |
| }; |
| isram_clk: isram-clk { /* gate ClkRstGen_isram */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_isram>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| occ_dbu: occ-dbu { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_CPU>; |
| #clock-cells = <0>; |
| clock-div = <10>; |
| clock-mult = <1>; |
| }; |
| si_dbu_tp_pclk: si-dbu-tp-pclk { /* gate ClkRstGen_dbu */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_dbu>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| /* PLL_VDI derivatives */ |
| occ_vdi: occ-vdi { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_VDI>; |
| #clock-cells = <0>; |
| clock-div = <2>; |
| clock-mult = <1>; |
| }; |
| vdi_clk: vdi-clk { /* gate ClkRstGen_vdi */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_vdi>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| occ_can_ser: occ-can-ser { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_VDI>; |
| #clock-cells = <0>; |
| clock-div = <16>; |
| clock-mult = <1>; |
| }; |
| can_ser_clk: can-ser-clk { /* gate ClkRstGen_can_ser */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_can_ser>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| i2c_ser_clk: i2c-ser-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_VDI>; |
| #clock-cells = <0>; |
| clock-div = <20>; |
| clock-mult = <1>; |
| }; |
| /* PLL_PER derivatives */ |
| occ_periph: occ-periph { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_PER>; |
| #clock-cells = <0>; |
| clock-div = <16>; |
| clock-mult = <1>; |
| }; |
| periph_clk: periph-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| can_clk: can-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| spi_clk: spi-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| uart_clk: uart-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| }; |
| i2c_clk: i2c-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| clock-output-names = "i2c_clk"; |
| }; |
| timer_clk: timer-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| clock-output-names = "timer_clk"; |
| }; |
| gpio_clk: gpio-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_periph>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| clock-output-names = "gpio_clk"; |
| }; |
| emmc_sys_clk: emmc-sys-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_PER>; |
| #clock-cells = <0>; |
| clock-div = <10>; |
| clock-mult = <1>; |
| clock-output-names = "emmc_sys_clk"; |
| }; |
| ccf_ctrl_clk: ccf-ctrl-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_PER>; |
| #clock-cells = <0>; |
| clock-div = <4>; |
| clock-mult = <1>; |
| clock-output-names = "ccf_ctrl_clk"; |
| }; |
| occ_mjpeg_core: occ-mjpeg-core { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_PER>; |
| #clock-cells = <0>; |
| clock-div = <2>; |
| clock-mult = <1>; |
| clock-output-names = "occ_mjpeg_core"; |
| }; |
| hsm_clk: hsm-clk { /* gate ClkRstGen_hsm */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_mjpeg_core>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| clock-output-names = "hsm_clk"; |
| }; |
| mjpeg_core_clk: mjpeg-core-clk { /* gate ClkRstGen_mjpeg_gen */ |
| compatible = "fixed-factor-clock"; |
| clocks = <&occ_mjpeg_core>; |
| #clock-cells = <0>; |
| clock-div = <1>; |
| clock-mult = <1>; |
| clock-output-names = "mjpeg_core_clk"; |
| }; |
| fcmu_a_clk: fcmu-a-clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_PER>; |
| #clock-cells = <0>; |
| clock-div = <20>; |
| clock-mult = <1>; |
| clock-output-names = "fcmu_a_clk"; |
| }; |
| occ_pci_sys: occ-pci-sys { |
| compatible = "fixed-factor-clock"; |
| clocks = <&olb EQ5C_PLL_PER>; |
| #clock-cells = <0>; |
| clock-div = <8>; |
| clock-mult = <1>; |
| clock-output-names = "occ_pci_sys"; |
| }; |
| pclk: pclk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <250000000>; /* 250MHz */ |
| }; |
| tsu_clk: tsu-clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <125000000>; /* 125MHz */ |
| }; |
| }; |