/{ clocks { compatible = "allwinner,clk-init"; device_type = "clocks"; #address-cells = <2>; #size-cells = <2>; ranges; reg = <0x0 0x01C20000 0x0 0x1000>, /*cpux space*/ <0x0 0x01F01400 0x0 0x400>; /*cpus space*/ /* register fixed rate clock*/ clk_losc: losc { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <31250>; clock-output-names = "losc"; }; clk_iosc: iosc { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <16000000>; clock-output-names = "iosc"; }; clk_hosc: hosc { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <24000000>; clock-output-names = "hosc"; }; /* register allwinner,pll-clock */ clk_pll_cpu0: pll_cpu0 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; clock-output-names = "pll_cpu0"; }; clk_pll_cpu1: pll_cpu1 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; clock-output-names = "pll_cpu1"; }; clk_pll_audio: pll_audio { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; clock-output-names = "pll_audio"; }; clk_pll_video0: pll_video0 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; assigned-clock-rates = <840000000>; clock-output-names = "pll_video0"; }; clk_pll_ve: pll_ve { #clock-cells = <0>; compatible = "allwinner,pll-clock"; device_type = "clk_pll_ve"; lock-mode = "none"; assigned-clock-rates = <300000000>; clock-output-names = "pll_ve"; }; clk_pll_ddr: pll_ddr { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; clock-output-names = "pll_ddr"; }; clk_pll_periph: pll_periph { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; assigned-clock-rates = <600000000>; clock-output-names = "pll_periph"; }; clk_pll_gpu: pll_gpu { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; assigned-clock-rates = <297000000>; clock-output-names = "pll_gpu"; }; clk_pll_hsic: pll_hsic { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; assigned-clock-rates = <480000000>; clock-output-names = "pll_hsic"; }; clk_pll_de: pll_de { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; assigned-clock-rates = <432000000>; clock-output-names = "pll_de"; assigned-clocks = <&clk_pll_de>; }; clk_pll_video1: pll_video1 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "none"; clock-output-names = "pll_video1"; assigned-clock-rates = <297000000>; }; /* register fixed factor clock*/ clk_pll_audiox8: pll_audiox8 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_audio>; clock-mult = <8>; clock-div = <1>; clock-output-names = "pll_audiox8"; }; clk_pll_audiox4: pll_audiox4 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_audio>; clock-mult = <4>; clock-div = <1>; clock-output-names = "pll_audiox4"; }; clk_pll_audiox2: pll_audiox2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_audio>; clock-mult = <2>; clock-div = <1>; clock-output-names = "pll_audiox2"; }; clk_pll_periphx2: pll_periphx2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_periph>; clock-mult = <2>; clock-div = <1>; clock-output-names = "pll_periphx2"; }; clk_pll_ahb2: pll_ahb2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_periph>; clock-mult = <1>; clock-div = <2>; clock-output-names = "pll_ahb2"; }; clk_hoscd2: hoscd2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_hosc>; clock-mult = <1>; clock-div = <2>; clock-output-names = "hoscd2"; }; /* register allwinner,periph-clock */ clk_cluster0: cluster0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "cluster0"; }; clk_cluster1: cluster1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "cluster1"; }; clk_axi0: axi0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "axi0"; }; clk_axi1: axi1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "axi1"; }; clk_pll_periphahb1: pll_periphahb1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "pll_periphahb1"; }; clk_ahb1: ahb1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ahb1"; }; clk_apb1: apb1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "apb1"; }; clk_apb2: apb2 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "apb2"; }; clk_cci400: cci400 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "cci400"; }; clk_nand: nand { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "nand"; }; clk_sdmmc0_mod: sdmmc0_mod { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc0_mod"; }; clk_sdmmc0_bus: sdmmc0_bus { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc0_bus"; }; clk_sdmmc0_rst: sdmmc0_rst { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc0_rst"; }; clk_sdmmc1_mod: sdmmc1_mod { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc1_mod"; }; clk_sdmmc1_bus: sdmmc1_bus { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc1_bus"; }; clk_sdmmc1_rst: sdmmc1_rst { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc1_rst"; }; clk_sdmmc2_mode: sdmmc2_mode { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc2_mode"; }; clk_sdmmc2_module: sdmmc2_module { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc2_module"; }; clk_sdmmc2_bus: sdmmc2_bus { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc2_bus"; }; clk_sdmmc2_rst: sdmmc2_rst { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc2_rst"; }; clk_ss: ss { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ss"; }; clk_spi0: spi0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "spi0"; }; clk_spi1: spi1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "spi1"; }; clk_i2s0: i2s0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "i2s0"; }; clk_i2s1: i2s1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "i2s1"; }; clk_i2s2: i2s2 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "i2s2"; }; clk_tdm: tdm { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "tdm"; }; clk_spdif: spdif { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "spdif"; }; clk_usbohci: usbohci { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbohci"; }; clk_usbhsic: usbhsic { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbhsic"; }; clk_usbehci0: usbehci0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbehci0"; }; clk_usbehci1: usbehci1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbehci1"; }; clk_usbotg: usbotg { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbotg"; }; clk_usbphy0: usbphy0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbphy0"; }; clk_usbphy1: usbphy1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbphy1"; }; clk_de: de { #clock-cells = <0>; compatible = "allwinner,periph-clock"; assigned-clock-parents = <&clk_pll_de>; assigned-clock-rates = <432000000>; assigned-clocks = <&clk_de>; clock-output-names = "de"; }; clk_lcd0: lcd0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; assigned-clock-parents = <&clk_pll_video0>; assigned-clocks = <&clk_lcd0>; clock-output-names = "lcd0"; }; clk_lcd1: lcd1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; assigned-clock-parents = <&clk_pll_video1>; assigned-clocks = <&clk_lcd1>; clock-output-names = "lcd1"; }; clk_mipi_csi: mipi_csi { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "mipi_csi"; }; clk_csi_misc: csi_misc { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "csi_misc"; }; clk_csi_s: csi_s { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "csi_s"; }; clk_csi_m: csi_m { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "csi_m"; }; clk_lvds: lvds { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "lvds"; }; clk_ve: ve { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ve"; }; clk_avs: avs { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "avs"; }; clk_hdmi: hdmi { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "hdmi"; assigned-clock-parents = <&clk_pll_video1>; assigned-clocks = <&clk_hdmi>; }; clk_hdmi_slow: hdmi_slow { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "hdmi_slow"; assigned-clocks = <&clk_hdmi_slow>; }; clk_mbus: mbus { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "mbus"; }; clk_mipi_dsi0: mipi_dsi0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; assigned-clock-parents = <&clk_pll_video0>; clock-output-names = "mipi_dsi0"; assigned-clocks = <&clk_mipi_dsi0>; }; clk_mipi_dsi1: mipi_dsi1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; assigned-clock-parents = <&clk_hosc>; clock-output-names = "mipi_dsi1"; assigned-clocks = <&clk_mipi_dsi1>; }; clk_gpucore: gpucore { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "gpucore"; }; clk_gpumem: gpumem { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "gpumem"; }; clk_gpuhyd: gpuhyd { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "gpuhyd"; }; clk_gmac: gmac { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "gmac"; }; clk_spinlock: spinlock { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "spinlock"; }; clk_msgbox: msgbox { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "msgbox"; }; clk_dma: dma { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "dma"; }; clk_pio: pio { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "pio"; }; clk_twi0: twi0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "twi0"; }; clk_twi1: twi1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "twi1"; }; clk_twi2: twi2 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "twi2"; }; clk_uart0: uart0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "uart0"; }; clk_uart1: uart1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "uart1"; }; clk_uart2: uart2 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "uart2"; }; clk_uart3: uart3 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "uart3"; }; clk_uart4: uart4 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "uart4"; }; /*cpus space clocks from PRCM-SPEC*/ clk_cpurcir: cpurcir { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurcir"; }; clk_twi3: twi3 { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "twi3"; }; /* clk below are read only , just to keep a clock tree */ clk_pll_periphcpus: pll_periphcpus { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "pll_periphcpus"; }; clk_cpurcpus: cpurcpus { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurcpus"; }; clk_cpurahbs: cpurahbs { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurahbs"; }; clk_cpurapbs: cpurapbs { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurapbs"; }; clk_cpurpio: cpurpio { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurpio"; }; /* register ac100 clocks */ clk_32k_rtc: 32k_rtc { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <32768>; clock-output-names = "32k_rtc"; }; clk_4m_adda: 4m_adda { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <4000000>; clock-output-names = "4m_adda"; }; clk_ac10032k1: ac10032k1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ac10032k1"; }; clk_ac10032k2: ac10032k2 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ac10032k2"; }; clk_ac10032k3: ac10032k3 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ac10032k3"; }; }; };