// SPDX-License-Identifier: GPL-2.0 /* * Device tree include file for BE-M1000 SoC clocks * Copyright (C) 2017-2021 Baikal Electronics, JSC */ / { /* external oscillator */ osc25: oscillator25 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <25000000>; clock-output-names = "osc25"; }; /* external oscillator */ osc27: oscillator27 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>; clock-output-names = "osc27"; }; cmu_cluster0: cmu_cluster0 { compatible = "baikal,cmu"; clock-output-names = "baikal-ca57_cmu0"; #clock-cells = <0>; clocks = <&osc25>; cmu-id = <0x28000000>; max = <1500000000>; min = <500000000>; clock-frequency = <1500000000>; }; cmu_cluster1: cmu_cluster1 { compatible = "baikal,cmu"; clock-output-names = "baikal-ca57_cmu1"; #clock-cells = <0>; clocks = <&osc25>; cmu-id = <0xc000000>; max = <1500000000>; min = <500000000>; clock-frequency = <1500000000>; }; cmu_cluster2: cmu_cluster2 { compatible = "baikal,cmu"; clock-output-names = "baikal-ca57_cmu2"; #clock-cells = <0>; clocks = <&osc25>; cmu-id = <0xa000000>; max = <1500000000>; min = <500000000>; clock-frequency = <1500000000>; }; cmu_cluster3: cmu_cluster3 { compatible = "baikal,cmu"; clock-output-names = "baikal-ca57_cmu3"; #clock-cells = <0>; clocks = <&osc25>; cmu-id = <0x26000000>; max = <1500000000>; min = <500000000>; clock-frequency = <1500000000>; }; cmu0_avlsp: cmu0_avlsp { compatible = "baikal,cmu"; #clock-cells = <1>; clock-output-names = "baikal-avlsp_cmu0"; clock-names = "gpio", // <0> "uart1", // <1> "uart2", // <2> "apb", // <3> "spi", // <4> "espi", // <5> "i2c1", // <6> "i2c2", // <7> "timer1", // <8> "timer2", // <9> "timer3", // <10> "timer4", // <11> "dmac", // <12> "smbus1", // <13> "smbus2", // <14> "mshc_axi", // <17> "mshc_ahb", // <18> "mshc_tx_x2", // <19> "mshc_b", // <20> "mshc_tm", // <21> "mshc_cqetm", // <22> "hwa_clu", // <23> "hwa_clu_hf", // <24> "hwa_axi", // <25> "vdu_axi", // <26> "smmu"; // <27> clock-indices = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <17>, <18>, <19>, <20>, <21>, <22>, <23>, <24>, <25>, <26>, <27>; clocks = <&osc25>; cmu-id = <0x20000000>; max = <2100000000>; min = <800000>; clock-frequency = <1200000000>; }; cmu1_avlsp: cmu1_avlsp { compatible = "baikal,cmu"; clock-output-names = "baikal-avlsp_cmu1"; #clock-cells = <0>; clocks = <&osc27>; cmu-id = <0x20010000>; max = <2100000000>; min = <13500000>; clock-frequency = <1039500000>; }; cmu_mali: cmu_mali { compatible = "baikal,cmu"; clock-output-names = "baikal-mali-cmu"; #clock-cells = <0>; clocks = <&osc25>; clock-names = "aclk"; cmu-id = <0x2a000000>; max = <800000000>; min = <400000000>; clock-frequency = <750000000>; }; cmu0_xgbe: cmu0_xgbe { compatible = "baikal,cmu"; clock-output-names = "baikal-xgbe-cmu0"; #clock-cells = <1>; clocks = <&osc25>; clock-names = "csr50mhz", "gmac0_tx2", "gmac1_tx2", "hdmi_aclk", "isfr"; clock-indices = <0>, <10>, <13>, <15>, <17>; cmu-id = <0x30000000>; max = <1250000000>; min = <50000000>; clock-frequency = <1250000000>; }; cmu1_xgbe: cmu1_xgbe { compatible = "baikal,cmu"; clock-output-names = "baikal-xgbe-cmu1"; #clock-cells = <1>; clocks = <&osc27>; clock-indices = <0>; clock-names = "pixelclk"; cmu-id = <0x30010000>; max = <600000000>; min = <13500000>; clock-frequency = <25250000>; }; clocks { ref_clk: ref_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <25000000>; clock-output-names = "refclk"; }; cpu_clk: cpu_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <1500000000>; clock-output-names = "cpuclk"; }; apb_clk: apb_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <200000000>; clock-output-names = "apb_pclk"; }; uart_clk: uart_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <7273800>; clock-output-names = "soc_uartclk"; }; i2c_clk: i2c_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; clock-output-names = "soc_i2cclk"; }; smbus_clk: smbus_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "soc_smbusclk"; }; timer1_clk: timer1_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "soc_timer1clk"; }; timer2_clk: timer2_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "soc_timer2clk"; }; timer3_clk: timer3_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "soc_timer3clk"; }; timer4_clk: timer4_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "soc_timer4clk"; }; gpio_clk: gpio_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <1000000>; clock-output-names = "soc_gpioclk"; }; spi_clk: spi_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "soc_spiclk"; }; soc_ethclk: ethclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "eth_clk"; }; soc_xgbeclk: xgbeclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <156250000>; clock-output-names = "xgbe_clk"; }; soc_smc50mhz: clk50mhz { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "smc_clk"; }; soc_faxiclk: refclk400mhz { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <400000000>; clock-output-names = "faxi_clk"; }; soc_tmp_clk: refclkXXXmhz { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; clock-output-names = "tmpclk"; }; gpu_clk: gpu_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <750000000>; clock-output-names = "gpuclk"; }; gpu_opp_table: opp_table_gpu { compatible = "operating-points-v2", "operating-points-v2-mali"; opp@400000000 { opp-hz = /bits/ 64 <400000000>; clock-latency-ns = <10000000>; }; opp@450000000 { opp-hz = /bits/ 64 <450000000>; clock-latency-ns = <10000000>; }; opp@500000000 { opp-hz = /bits/ 64 <500000000>; clock-latency-ns = <10000000>; }; opp@550000000 { opp-hz = /bits/ 64 <550000000>; clock-latency-ns = <10000000>; }; opp@600000000 { opp-hz = /bits/ 64 <600000000>; clock-latency-ns = <10000000>; }; opp@650000000 { opp-hz = /bits/ 64 <650000000>; clock-latency-ns = <10000000>; }; opp@700000000 { opp-hz = /bits/ 64 <700000000>; clock-latency-ns = <10000000>; }; opp@750000000 { opp-hz = /bits/ 64 <750000000>; clock-latency-ns = <10000000>; }; }; clk_ahb: clk_ahb { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; clock-output-names = "clk_ahb"; }; clk_xin: clk_xin { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; clock-output-names = "clk_xin"; }; cortex_cmu: cmu@cortex { compatible = "baikal,cmu-device-clock"; #clock-cells = <1>; clock-frequency = <1000000000>; clock-output-names = "baikal-cmu"; }; avlsp_cmu1: cmu1@avlsp { compatible = "baikal,cmu-device-clock"; #clock-cells = <1>; clock-indices = <26>; clock-frequency = <240000000>; clock-output-names = "baikal-cmu"; }; xgbe_cmu0: cmu0@xgbe { compatible = "fixed-clock"; #clock-cells = <1>; clock-indices = <0>, <10>, <13>, <15>, <17>; clock-output-names = "csr50_clk", "gmac0_tx2", "gmac1_tx2", "vdu_aclk", "hdmi_sfr_clk"; clock-frequency = <50000000>, <250000000>, <250000000>, <416666667>, <25000000>; }; xgbe_cmu1: cmu1@xgbe { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <600000000>; clock-output-names = "baikal-cmu"; }; usb_clk: usb_clk@1f04d074 { #clock-cells = <0>; compatible = "fixed-clock"; clock-names = "usbclk"; clock-frequency = <500000000>; clock-output-names = "usbclk"; }; cmu1_avlsp_div7: cmu1_avlsp_div7 { compatible = "allwinner,sun4i-a10-pll3-2x-clk", "fixed-factor-clock"; clocks = <&cmu1_avlsp>; #clock-cells = <0>; clock-div = <7>; clock-mult = <1>; clock-output-names = "lvds_clk"; }; }; };