/{ clocks { compatible = "allwinner,clk-init"; device_type = "clocks"; #address-cells = <2>; #size-cells = <2>; ranges; reg = <0x0 0x03001000 0x0 0x1000>, /*cpux space*/ <0x0 0x07010000 0x0 0x400>, /*cpus space*/ <0x0 0x07000060 0x0 0x4>, <0x0 0x08140000 0x0 0x100>; /* register fixed rate clock*/ clk_losc: losc { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <32768>; 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"; }; clk_osc48m: osc48m { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <48000000>; clock-output-names = "osc48m"; }; /* register allwinner,pll-clock */ clk_pll_cpu: pll_cpu { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "new"; clock-output-names = "pll_cpu"; }; clk_pll_ddr: pll_ddr { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "new"; clock-output-names = "pll_ddr"; }; clk_pll_periph0: pll_periph0 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; assigned-clock-rates = <600000000>; lock-mode = "new"; clock-output-names = "pll_periph0"; }; clk_pll_periph1: pll_periph1 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; assigned-clock-rates = <600000000>; lock-mode = "new"; clock-output-names = "pll_periph1"; }; clk_pll_video0: pll_video0 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "new"; clock-output-names = "pll_video0"; assigned-clock-rates = <195000000>; }; clk_pll_video1: pll_video1 { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "new"; clock-output-names = "pll_video1"; assigned-clock-rates = <195000000>; }; clk_pll_audio: pll_audio { #clock-cells = <0>; compatible = "allwinner,pll-clock"; lock-mode = "new"; clock-output-names = "pll_audio"; }; /* register fixed factor clock*/ clk_pll_periph0x2: pll_periph0x2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_periph0>; clock-mult = <2>; clock-div = <1>; clock-output-names = "pll_periph0x2"; }; clk_pll_periph1x2: pll_periph1x2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_periph1>; clock-mult = <2>; clock-div = <1>; clock-output-names = "pll_periph1x2"; }; 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_video0x4: pll_video0x4 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_video0>; clock-mult = <4>; clock-div = <1>; clock-output-names = "pll_video0x4"; }; clk_pll_video1x4: pll_video1x4 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_pll_video1>; clock-mult = <4>; clock-div = <1>; clock-output-names = "pll_video1x4"; }; clk_hoscd2: hoscd2 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_hosc>; clock-mult = <1>; clock-div = <2>; clock-output-names = "hoscd2"; }; clk_osc48md4: osc48md4 { #clock-cells = <0>; compatible = "allwinner,fixed-factor-clock"; clocks = <&clk_osc48m>; clock-mult = <1>; clock-div = <4>; clock-output-names = "osc48md4"; }; /* register allwinner,periph-clock */ clk_cpu: cpu { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "cpu"; }; clk_axi: axi { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "axi"; }; clk_cpuapb: cpuapb { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "cpuapb"; }; clk_psi: psi { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "psi"; }; clk_ahb1: ahb1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ahb1"; }; clk_ahb2: ahb2 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ahb2"; }; clk_ahb3: ahb3 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ahb3"; }; 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_mbus: mbus { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "mbus"; }; clk_de: de { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "de"; }; clk_ce: ce { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ce"; }; clk_emce: emce { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "emce"; }; clk_dma: dma { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "dma"; }; clk_msgbox: msgbox { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "msgbox"; }; clk_hwspinlock_rst: hwspinlock_rst { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "hwspinlock_rst"; }; clk_hwspinlock_bus: hwspinlock_bus { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "hwspinlock_bus"; }; clk_hstimer: hstimer { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "hstimer"; }; clk_avs: avs { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "avs"; }; clk_dbgsys: dbgsys { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "dbgsys"; }; clk_pwm: pwm { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "pwm"; }; clk_sdram: sdram { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdram"; }; clk_nand0: nand0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "nand0"; }; clk_nand1: nand1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "nand1"; }; 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_mod: sdmmc2_mod { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "sdmmc2_mod"; }; 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_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"; }; 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_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_gpadc: gpadc { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "gpadc"; }; clk_ths: ths { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "ths"; }; 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_dmic: dmic { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "dmic"; }; clk_codec_1x: codec_1x { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "codec_1x"; }; clk_codec_4x: codec_4x { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "codec_4x"; }; 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_usbohci0: usbohci0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbohci0"; }; clk_usbohci0_12m: usbohci0_12m { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbohci0_12m"; }; clk_usbohci1: usbohci1 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbohci1"; }; clk_usbohci1_12m: usbohci1_12m { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "usbohci1_12m"; }; 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_mad: mad { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "mad"; }; clk_lpsd: lpsd { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "lpsd"; }; clk_display_top: display_top { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "display_top"; }; clk_tcon_lcd0: tcon_lcd0 { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "tcon_lcd0"; }; clk_pio: pio { #clock-cells = <0>; compatible = "allwinner,periph-clock"; clock-output-names = "pio"; }; /*cpus space clocks from PRCM-SPEC*/ clk_losc_out: losc_out { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "losc_out"; }; /* clk below are read only , just to keep a clock tree */ clk_cpurcpus_pll: cpurcpus_pll { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurcpus_pll"; }; 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_cpurapbs1: cpurapbs1 { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurapbs1"; }; clk_cpurapbs2_pll: cpurapbs2_pll { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurapbs2_pll"; }; clk_cpurapbs2: cpurapbs2 { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurapbs2"; }; clk_cpurpio: cpurpio { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "cpurpio"; }; clk_spwm: spwm { #clock-cells = <0>; compatible = "allwinner,periph-cpus-clock"; clock-output-names = "spwm"; }; }; };