aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/hi3620.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/hi3620.dtsi')
-rw-r--r--arch/arm/boot/dts/hi3620.dtsi1670
1 files changed, 975 insertions, 695 deletions
diff --git a/arch/arm/boot/dts/hi3620.dtsi b/arch/arm/boot/dts/hi3620.dtsi
index c8bbdc42224c..c2e7ea59ef48 100644
--- a/arch/arm/boot/dts/hi3620.dtsi
+++ b/arch/arm/boot/dts/hi3620.dtsi
@@ -21,6 +21,67 @@
mshc3 = &dwmmc_3;
};
+ osc32k: osc@0 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ clock-output-names = "osc32khz";
+ };
+ osc26m: osc@1 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <26000000>;
+ clock-output-names = "osc26mhz";
+ };
+ pclk: clk@0 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <26000000>;
+ clock-output-names = "apb_pclk";
+ };
+ pll_arm0: clk@1 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1600000000>;
+ clock-output-names = "armpll0";
+ };
+ pll_arm1: clk@2 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1600000000>;
+ clock-output-names = "armpll1";
+ };
+ pll_peri: clk@3 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1440000000>;
+ clock-output-names = "armpll2";
+ };
+ pll_usb: clk@4 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1440000000>;
+ clock-output-names = "armpll3";
+ };
+ pll_hdmi: clk@5 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1188000000>;
+ clock-output-names = "armpll4";
+ };
+ pll_gpu: clk@6 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1300000000>;
+ clock-output-names = "armpll5";
+ };
+ test_sd_clk: clk@7 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <100000000>;
+ clock-output-names = "testsdclk";
+ };
+
amba {
#address-cells = <1>;
#size-cells = <1>;
@@ -32,7 +93,7 @@
compatible = "arm,cortex-a9-twd-timer";
reg = <0xfc000600 0x20>;
interrupts = <1 13 0xf01>;
- clocks = <&armpll0>;
+ clocks = <&pll_arm0>;
};
pmctrl: pmctrl@fca08000 {
@@ -55,678 +116,845 @@
reg = <0xfcd00000 0x2000>;
};
- /*clocks begins*/
- clocks {
- #address-cells = <1>;
- #size-cells = <0>;
-
- osc32k: osc@0 {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <32768>;
- clock-output-names = "osc32khz";
- };
-
- osc26m: osc@1 {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <26000000>;
- clock-output-names = "osc26mhz";
- };
-
- pclk: clk@0 {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <26000000>;
- clock-output-names = "apb_pclk";
- };
-
- timclk0: clk@1 {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <60000000>;
- clock-output-names = "timer0";
- };
-
- timclk1: clk@2 {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <60000000>;
- clock-output-names = "timer1";
- };
-
- /*------pll clk------*/
- armpll0: pll0 {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- clock-frequency = <1600000000>;
- clock-output-names = "clk_armpll0";
- };
- armpll1: pll1 {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- clock-frequency = <1600000000>;
- clock-output-names = "clk_armpll1";
- };
- peripll: pll2 {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- clock-frequency = <1440000000>;
- clock-output-names = "clk_armpll2";
- };
- testsdclk: testsd {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&peripll>;
- clock-frequency = <100000000>;
- };
- usbpll: pll3 {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- clock-frequency = <1440000000>;
- clock-output-names = "clk_armpll3";
- };
-
- hdmipll: pll4 {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- clock-frequency = <1188000000>;
- clock-output-names = "clk_armpll4";
- };
-
- gpupll: pll5 {
- compatible = "hisilicon,pll";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- clock-frequency = <1300000000>;
- clock-output-names = "clk_armpll5";
- };
+ sysctrl@fc802000 {
+ compatible = "hisilicon,sysctrl";
+ reg = <0xfc802000 0x1000>;
+ smp_reg = <0x31c>;
+ reboot_reg = <0x4>;
- /*--------------cfgaxi clock--------------------*/
- clk_cfgaxi: cfgaxi {
- compatible = "hisilicon,cfgaxi";
- #clock-cells = <0>;
- clocks = <&peripll>;
+ refclk_uart0: refclk@0 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &pclk>;
+ clock-output-names = "rclk_uart0";
+ /* reg_offset, enable_bits */
+ hisilicon,hi3620-clkmux = <0x100 0x80>;
+ };
+ refclk_uart1: refclk@1 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &pclk>;
+ clock-output-names = "rclk_uart1";
+ hisilicon,hi3620-clkmux = <0x100 0x100>;
+ };
+ refclk_uart2: refclk@2 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &pclk>;
+ clock-output-names = "rclk_uart2";
+ hisilicon,hi3620-clkmux = <0x100 0x200>;
+ };
+ refclk_uart3: refclk@3 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &pclk>;
+ clock-output-names = "rclk_uart3";
+ hisilicon,hi3620-clkmux = <0x100 0x400>;
+ };
+ refclk_uart4: refclk@4 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &pclk>;
+ clock-output-names = "rclk_uart4";
+ hisilicon,hi3620-clkmux = <0x100 0x800>;
+ };
+ refclk_cfgaxi: refclk@5 {
+ compatible = "hisilicon,clk-fixed-factor";
+ #clock-cells = <0>;
+ clocks = <&pll_peri>;
+ clock-output-names = "rclk_cfgaxi";
/*mult, div*/
hisilicon,fixed-factor = <1 30>;
+ };
+ refclk_spi0: refclk@6 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &refclk_cfgaxi>;
+ clock-output-names = "rclk_spi0";
+ hisilicon,hi3620-clkmux = <0x100 0x1000>;
+ };
+ refclk_spi1: refclk@7 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &refclk_cfgaxi>;
+ clock-output-names = "rclk_spi1";
+ hisilicon,hi3620-clkmux = <0x100 0x2000>;
+ };
+ refclk_spi2: refclk@8 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &refclk_cfgaxi>;
+ clock-output-names = "rclk_spi2";
+ hisilicon,hi3620-clkmux = <0x100 0x4000>;
+ };
+ refclk_pwm0: refclk@9 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &osc26m>;
+ clock-output-names = "rclk_pwm0";
+ hisilicon,hi3620-clkmux = <0x104 0x400>;
+ };
+ refclk_pwm1: refclk@10 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &osc26m>;
+ clock-output-names = "rclk_pwm1";
+ hisilicon,hi3620-clkmux = <0x104 0x800>;
+ };
+ refclk_tcxo: refclk@11 {
+ compatible = "hisilicon,clk-fixed-factor";
+ #clock-cells = <0>;
+ clocks = <&osc26m>;
+ clock-output-names = "rclk_tcxo";
+ hisilicon,fixed-factor = <1 4>;
+ };
+ refclk_timer0: refclk@12 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk01>;
+ clock-output-names = "rclk_tim0";
+ hisilicon,hi3620-clkmux = <0 0x8000>;
+ };
+ refclk_timer1: refclk@13 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk01>;
+ clock-output-names = "rclk_tim1";
+ hisilicon,hi3620-clkmux = <0 0x20000>;
+ };
+ refclk_timer2: refclk@14 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk23>;
+ clock-output-names = "rclk_tim2";
+ hisilicon,hi3620-clkmux = <0 0x80000>;
+ };
+ refclk_timer3: refclk@15 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk23>;
+ clock-output-names = "rclk_tim3";
+ hisilicon,hi3620-clkmux = <0 0x200000>;
+ };
+ refclk_timer4: refclk@16 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk45>;
+ clock-output-names = "rclk_tim4";
+ hisilicon,hi3620-clkmux = <0x18 0x1>;
+ };
+ refclk_timer5: refclk@17 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk45>;
+ clock-output-names = "rclk_tim5";
+ hisilicon,hi3620-clkmux = <0x18 0x4>;
+ };
+ refclk_timer6: refclk@18 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk67>;
+ clock-output-names = "rclk_tim6";
+ hisilicon,hi3620-clkmux = <0x18 0x10>;
+ };
+ refclk_timer7: refclk@19 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk67>;
+ clock-output-names = "rclk_tim7";
+ hisilicon,hi3620-clkmux = <0x18 0x40>;
+ };
+ refclk_timer8: refclk@20 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk89>;
+ clock-output-names = "rclk_tim8";
+ hisilicon,hi3620-clkmux = <0x18 0x100>;
+ };
+ refclk_timer9: refclk@21 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc32k &timerclk89>;
+ clock-output-names = "rclk_tim9";
+ hisilicon,hi3620-clkmux = <0x18 0x400>;
+ };
+ refclk_shareAXI: refclk@22 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&pll_usb &pll_peri>;
+ clock-output-names = "rclk_shareAXI";
+ hisilicon,hi3620-clkmux = <0x24 0x8000>;
+ };
+ refclk_mmc1: refclk@23 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
+ hisilicon,hi3620-clkmux = <0x108 0x200>;
};
-
- /*-------------------mux clock-------------------*/
- clk_uart0_mux: uart0_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- /*select register offset, mask*/
- hisilicon,hi3620-clkmux = <0x100 0x80>;
- };
-
- clk_uart1_mux: uart1_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x100>;
- };
-
- clk_uart2_mux: uart2_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x200>;
- };
-
- clk_uart3_mux: uart3_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x400>;
- };
-
- clk_uart4_mux: uart4_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x800>;
- };
-
- /*---------------------gate clock-------------------*/
- clk_uart0: uart0 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_uart0_mux>;
- /*enable register, enable bit*/
- hisilicon,hi3620-clkgate = <0x40 16>;
- clock-output-names = "clk_uart0";
- };
-
- clk_uart1: uart1 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_uart1_mux>;
- hisilicon,hi3620-clkgate = <0x40 17>;
- clock-output-names = "clk_uart1";
- };
-
- clk_uart2: uart2 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_uart2_mux>;
- hisilicon,hi3620-clkgate = <0x40 18>;
- clock-output-names = "clk_uart2";
- };
-
- clk_uart3: uart3 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_uart3_mux>;
- hisilicon,hi3620-clkgate = <0x40 19>;
- clock-output-names = "clk_uart3";
- };
-
- clk_uart4: uart4 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_uart4_mux>;
- hisilicon,hi3620-clkgate = <0x40 20>;
- clock-output-names = "clk_uart4";
- };
-
- /*-------------------spi clock----------------*/
-
- clk_spi0_mux: spi0_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x1000>;
- };
-
- clk_spi1_mux: spi1_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x2000>;
- };
-
- clk_spi2_mux: spi2_mux {
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_cfgaxi>;
- hisilicon,hi3620-clkmux = <0x100 0x4000>;
- };
-
- clk_spi0: spi0 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_spi0_mux>;
- hisilicon,hi3620-clkgate = <0x40 21>;
- clock-output-names = "clk_spi0";
+ refclk_mmc2: refclk@24 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
+ hisilicon,hi3620-clkmux = <0x140 0x10>;
};
-
- clk_spi1: spi1 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_spi1_mux>;
- hisilicon,hi3620-clkgate = <0x40 22>;
- clock-output-names = "clk_spi1";
+ refclk_mmc3: refclk@25 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
+ hisilicon,hi3620-clkmux = <0x140 0x200>;
};
-
- clk_spi2: spi2 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_spi2_mux>;
- hisilicon,hi3620-clkgate = <0x40 23>;
- clock-output-names = "clk_spi2";
+ refclk_sd: refclk@26 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
+ hisilicon,hi3620-clkmux = <0x108 0x10>;
};
-
- /*-------------------mux clock----------------*/
- clk_pwm0_mux: pwm0_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc32k &osc26m>;
- hisilicon,hi3620-clkmux = <0x104 0x400>;
+ refclk_mmc1_parent: refclk@27 {
+ compatible = "hisilicon,hi3620-clk-mux";
+ #clock-cells = <0>;
+ clocks = <&osc26m &div_mmc1>;
+ hisilicon,hi3620-clkmux = <0x108 0x400>;
};
-
- clk_venc_mux: venc_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
+ refclk_venc: refclk@28 {
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
hisilicon,hi3620-clkmux = <0x10c 0x800>;
};
-
- clk_g2d_mux: g2d_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
+ refclk_g2d: refclk@29 {
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
hisilicon,hi3620-clkmux = <0x10c 0x20>;
};
-
- clk_vdec_mux: vdec_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
+ refclk_vdec: refclk@30 {
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
hisilicon,hi3620-clkmux = <0x110 0x20>;
};
-
- clk_vpp_mux: vpp_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
+ refclk_vpp: refclk@31 {
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb>;
hisilicon,hi3620-clkmux = <0x110 0x800>;
};
-
- clk_ldi0_mux: ldi0_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll &hdmipll>;
+ refclk_ldi0: refclk@32 {
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb &pll_hdmi>;
hisilicon,hi3620-clkmux = <0x114 0x6000>;
};
-
- clk_ldi1_mux: ldi1_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll &hdmipll>;
+ refclk_ldi1: refclk@33 {
+ #clock-cells = <0>;
+ clocks = <&pll_peri &pll_usb &pll_hdmi>;
hisilicon,hi3620-clkmux = <0x118 0xc000>;
};
- /*----periclock: gate clk, reg offset to sctrl-----*/
-
- clk_sci: sci {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- /*enable register, enable bit*/
- hisilicon,hi3620-clkgate = <0x40 26>;
- clock-output-names = "clk_sci";
- };
-
- clk_dphy0: dphy0 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- hisilicon,hi3620-clkgate = <0x30 15>;
- clock-output-names = "clk_dphy0";
- };
-
- clk_dphy1: dphy1 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- hisilicon,hi3620-clkgate = <0x30 16>;
- };
-
- clk_dphy2: dphy2 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&osc26m>;
- hisilicon,hi3620-clkgate = <0x30 17>;
- };
-
- clk_kpc: kpc {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&osc32k>;
- hisilicon,hi3620-clkgate = <0x20 6>;
- };
-
- clk_pwm0_gate: pwm0_gate {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&osc32k &osc26m>;
- hisilicon,hi3620-clkgate = <0x40 7>;
- };
-
- /*gpio0-----gpio21 gate clock*/
- clk_gpio0: gpio0{
- compatible = "hisilicon,periclock";
- hisilicon,hi3620-clkgate = <0x20 8>;
- clock-output-names = "clk_gpio0";
- };
- clk_gpio1: gpio1{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 9>;
- clock-output-names = "clk_gpio1";
- };
- clk_gpio2: gpio2{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 10>;
- clock-output-names = "clk_gpio2";
- };
- clk_gpio3: gpio3{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 11>;
- clock-output-names = "clk_gpio3";
- };
- clk_gpio4: gpio4{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 12>;
- clock-output-names = "clk_gpio4";
- };
- clk_gpio5: gpio5{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 13>;
- clock-output-names = "clk_gpio5";
- };
- clk_gpio6: gpio6{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 14>;
- clock-output-names = "clk_gpio6";
- };
-
- clk_gpio7: gpio7{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 15>;
- clock-output-names = "clk_gpio7";
- };
- clk_gpio8: gpio8{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 16>;
- clock-output-names = "clk_gpio8";
- };
- clk_gpio9: gpio9{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 17>;
- clock-output-names = "clk_gpio9";
- };
- clk_gpio10: gpio10{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 18>;
- clock-output-names = "clk_gpio10";
- };
- clk_gpio11: gpio11{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 19>;
- clock-output-names = "clk_gpio11";
- };
- clk_gpio12: gpio12{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 20>;
- clock-output-names = "clk_gpio12";
- };
- clk_gpio13: gpio13{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 21>;
- clock-output-names = "clk_gpio13";
- };
- clk_gpio14: gpio14{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 22>;
- clock-output-names = "clk_gpio14";
- };
- clk_gpio15: gpio15{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 23>;
- clock-output-names = "clk_gpio15";
- };
- clk_gpio16: gpio16{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 24>;
- clock-output-names = "clk_gpio16";
- };
- clk_gpio17: gpio17{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 25>;
- clock-output-names = "clk_gpio17";
- };
- clk_gpio18: gpio18{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 26>;
- clock-output-names = "clk_gpio18";
- };
- clk_gpio19: gpio19{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 27>;
- clock-output-names = "clk_gpio19";
- };
- clk_gpio20: gpio20{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 28>;
- clock-output-names = "clk_gpio20";
- };
- clk_gpio21: gpio21{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- hisilicon,hi3620-clkgate = <0x20 29>;
- clock-output-names = "clk_gpio21";
- };
-
- /*i2c clk*/
- clk_i2c0: i2c0{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x40 24>;
+ uartclk0: clkgate@0 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_uart0>;
+ clock-output-names = "uartclk0";
+ hisilicon,hi3620-clkreset = <0x98 0x10000>;
+ hisilicon,hi3620-clkgate = <0x40 0x10000>;
+ };
+ uartclk1: clkgate@1 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_uart1>;
+ clock-output-names = "uartclk1";
+ hisilicon,hi3620-clkreset = <0x98 0x20000>;
+ hisilicon,hi3620-clkgate = <0x40 0x20000>;
+ };
+ uartclk2: clkgate@2 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_uart2>;
+ clock-output-names = "uartclk2";
+ hisilicon,hi3620-clkreset = <0x98 0x40000>;
+ hisilicon,hi3620-clkgate = <0x40 0x40000>;
+ };
+ uartclk3: clkgate@3 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_uart3>;
+ clock-output-names = "uartclk3";
+ hisilicon,hi3620-clkreset = <0x98 0x80000>;
+ hisilicon,hi3620-clkgate = <0x40 0x80000>;
+ };
+ uartclk4: clkgate@4 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_uart4>;
+ clock-output-names = "uartclk4";
+ hisilicon,hi3620-clkreset = <0x98 0x100000>;
+ hisilicon,hi3620-clkgate = <0x40 0x100000>;
+ };
+ gpioclk0: clkgate@5 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk0";
+ hisilicon,hi3620-clkreset = <0x80 0x100>;
+ hisilicon,hi3620-clkgate = <0x20 0x100>;
+ };
+ gpioclk1: clkgate@6 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk1";
+ hisilicon,hi3620-clkreset = <0x80 0x200>;
+ hisilicon,hi3620-clkgate = <0x20 0x200>;
+ };
+ gpioclk2: clkgate@7 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk2";
+ hisilicon,hi3620-clkreset = <0x80 0x400>;
+ hisilicon,hi3620-clkgate = <0x20 0x400>;
+ };
+ gpioclk3: clkgate@8 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk3";
+ hisilicon,hi3620-clkreset = <0x80 0x800>;
+ hisilicon,hi3620-clkgate = <0x20 0x800>;
+ };
+ gpioclk4: clkgate@9 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk4";
+ hisilicon,hi3620-clkreset = <0x80 0x1000>;
+ hisilicon,hi3620-clkgate = <0x20 0x1000>;
+ };
+ gpioclk5: clkgate@10 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk5";
+ hisilicon,hi3620-clkreset = <0x80 0x2000>;
+ hisilicon,hi3620-clkgate = <0x20 0x2000>;
+ };
+ gpioclk6: clkgate@11 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk6";
+ hisilicon,hi3620-clkreset = <0x80 0x4000>;
+ hisilicon,hi3620-clkgate = <0x20 0x4000>;
+ };
+ gpioclk7: clkgate@12 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk7";
+ hisilicon,hi3620-clkreset = <0x80 0x8000>;
+ hisilicon,hi3620-clkgate = <0x20 0x8000>;
+ };
+ gpioclk8: clkgate@13 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk8";
+ hisilicon,hi3620-clkreset = <0x80 0x10000>;
+ hisilicon,hi3620-clkgate = <0x20 0x10000>;
+ };
+ gpioclk9: clkgate@14 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk9";
+ hisilicon,hi3620-clkreset = <0x80 0x20000>;
+ hisilicon,hi3620-clkgate = <0x20 0x20000>;
+ };
+ gpioclk10: clkgate@15 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk10";
+ hisilicon,hi3620-clkreset = <0x80 0x40000>;
+ hisilicon,hi3620-clkgate = <0x20 0x40000>;
+ };
+ gpioclk11: clkgate@16 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk11";
+ hisilicon,hi3620-clkreset = <0x80 0x80000>;
+ hisilicon,hi3620-clkgate = <0x20 0x80000>;
+ };
+ gpioclk12: clkgate@17 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk12";
+ hisilicon,hi3620-clkreset = <0x80 0x100000>;
+ hisilicon,hi3620-clkgate = <0x20 0x100000>;
+ };
+ gpioclk13: clkgate@18 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk13";
+ hisilicon,hi3620-clkreset = <0x80 0x200000>;
+ hisilicon,hi3620-clkgate = <0x20 0x200000>;
+ };
+ gpioclk14: clkgate@19 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk14";
+ hisilicon,hi3620-clkreset = <0x80 0x400000>;
+ hisilicon,hi3620-clkgate = <0x20 0x400000>;
+ };
+ gpioclk15: clkgate@20 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk15";
+ hisilicon,hi3620-clkreset = <0x80 0x800000>;
+ hisilicon,hi3620-clkgate = <0x20 0x800000>;
+ };
+ gpioclk16: clkgate@21 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk16";
+ hisilicon,hi3620-clkreset = <0x80 0x1000000>;
+ hisilicon,hi3620-clkgate = <0x20 0x1000000>;
+ };
+ gpioclk17: clkgate@22 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk17";
+ hisilicon,hi3620-clkreset = <0x80 0x2000000>;
+ hisilicon,hi3620-clkgate = <0x20 0x2000000>;
+ };
+ gpioclk18: clkgate@23 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk18";
+ hisilicon,hi3620-clkreset = <0x80 0x4000000>;
+ hisilicon,hi3620-clkgate = <0x20 0x4000000>;
+ };
+ gpioclk19: clkgate@24 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk19";
+ hisilicon,hi3620-clkreset = <0x80 0x8000000>;
+ hisilicon,hi3620-clkgate = <0x20 0x8000000>;
+ };
+ gpioclk20: clkgate@25 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk20";
+ hisilicon,hi3620-clkreset = <0x80 0x10000000>;
+ hisilicon,hi3620-clkgate = <0x20 0x10000000>;
+ };
+ gpioclk21: clkgate@26 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "gpioclk21";
+ hisilicon,hi3620-clkreset = <0x80 0x20000000>;
+ hisilicon,hi3620-clkgate = <0x20 0x20000000>;
+ };
+ spiclk0: clkgate@27 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_spi0>;
+ clock-output-names = "spiclk0";
+ hisilicon,hi3620-clkreset = <0x98 0x200000>;
+ hisilicon,hi3620-clkgate = <0x40 0x200000>;
+ };
+ spiclk1: clkgate@28 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_spi1>;
+ clock-output-names = "spiclk1";
+ hisilicon,hi3620-clkreset = <0x98 0x400000>;
+ hisilicon,hi3620-clkgate = <0x40 0x400000>;
+ };
+ spiclk2: clkgate@29 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_spi2>;
+ clock-output-names = "spiclk2";
+ hisilicon,hi3620-clkreset = <0x98 0x800000>;
+ hisilicon,hi3620-clkgate = <0x40 0x800000>;
+ };
+ pwmclk0: clkgate@30 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_pwm0>;
+ clock-output-names = "pwmclk0";
+ hisilicon,hi3620-clkreset = <0x98 0x80>;
+ hisilicon,hi3620-clkgate = <0x40 0x80>;
+ };
+ pwmclk1: clkgate@31 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_pwm1>;
+ clock-output-names = "pwmclk1";
+ hisilicon,hi3620-clkreset = <0x98 0x100>;
+ hisilicon,hi3620-clkgate = <0x40 0x100>;
+ };
+ timerclk01: clkgate@32 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_tcxo>;
+ clock-output-names = "timerclk01";
+ hisilicon,hi3620-clkreset = <0x80 0x1>;
+ hisilicon,hi3620-clkgate = <0x20 0x3>;
+ };
+ timerclk23: clkgate@33 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_tcxo>;
+ clock-output-names = "timerclk23";
+ hisilicon,hi3620-clkreset = <0x80 0x2>;
+ hisilicon,hi3620-clkgate = <0x20 0xc>;
+ };
+ timerclk45: clkgate@34 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_tcxo>;
+ clock-output-names = "timerclk45";
+ hisilicon,hi3620-clkreset = <0x98 0x8>;
+ hisilicon,hi3620-clkgate = <0x40 0x8>;
+ };
+ timerclk67: clkgate@35 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_tcxo>;
+ clock-output-names = "timerclk67";
+ hisilicon,hi3620-clkreset = <0x98 0x10>;
+ hisilicon,hi3620-clkgate = <0x40 0x10>;
+ };
+ timerclk89: clkgate@36 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_tcxo>;
+ clock-output-names = "timerclk89";
+ hisilicon,hi3620-clkreset = <0x98 0x20>;
+ hisilicon,hi3620-clkgate = <0x40 0x20>;
+ };
+ timclk0: clkgate@37 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer0>;
+ clock-output-names = "timclk0";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0 16>;
+ };
+ timclk1: clkgate@38 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer1>;
+ clock-output-names = "timclk1";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0 18>;
+ };
+ timclk2: clkgate@39 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer2>;
+ clock-output-names = "timclk2";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0 20>;
+ };
+ timclk3: clkgate@40 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer3>;
+ clock-output-names = "timclk3";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0 22>;
+ };
+ timclk4: clkgate@41 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer4>;
+ clock-output-names = "timclk4";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0x18 0>;
+ };
+ timclk5: clkgate@42 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer5>;
+ clock-output-names = "timclk5";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0x18 2>;
+ };
+ timclk6: clkgate@43 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer6>;
+ clock-output-names = "timclk6";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0x18 4>;
+ };
+ timclk7: clkgate@44 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer7>;
+ clock-output-names = "timclk7";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0x18 6>;
+ };
+ timclk8: clkgate@45 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer8>;
+ clock-output-names = "timclk8";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0x18 8>;
+ };
+ timclk9: clkgate@46 {
+ compatible = "hisilicon,clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_timer9>;
+ clock-output-names = "timclk9";
+ hisilicon,clkgate-inverted;
+ hisilicon,clkgate = <0x18 10>;
+ };
+ rtcclk: clkgate@47 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "clk_rtc";
+ hisilicon,hi3620-clkgate = <0x20 0x20>;
+ };
+ i2cclk0: clkgate@48 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
clock-output-names = "clk_i2c0";
- };
- clk_i2c1: i2c1{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x40 25>;
+ hisilicon,hi3620-clkgate = <0x40 0x1000000>;
+ };
+ i2cclk1: clkgate@49 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
clock-output-names = "clk_i2c1";
- };
- clk_i2c2: i2c2{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x40 28>;
+ hisilicon,hi3620-clkgate = <0x40 0x2000000>;
+ };
+ i2cclk2: clkgate@50 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
clock-output-names = "clk_i2c2";
- };
- clk_i2c3: i2c3{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x40 29>;
+ hisilicon,hi3620-clkgate = <0x40 0x10000000>;
+ };
+ i2cclk3: clkgate@51 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
clock-output-names = "clk_i2c3";
- };
-
- /* clk_acp */
- clk_acp: acp{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x30 28>;
- };
-
- /*dmac clk*/
- clk_dmac: dmac{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_acp>;
- hisilicon,hi3620-clkgate = <0x50 10>;
+ hisilicon,hi3620-clkgate = <0x40 0x20000000>;
+ };
+ dmaclk: clkgate@52 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&acpclk>;
clock-output-names = "clk_dmac";
+ hisilicon,hi3620-clkgate = <0x50 0x400>;
+ };
+ mcuclk: clkgate@53 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_cfgaxi>;
+ clock-output-names = "clk_mcu";
+ hisilicon,hi3620-clkgate = <0x50 0x1000000>;
+ };
+ ddrcperclk: clkgate@54 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_cfgaxi>;
+ clock-output-names = "clk_ddrc_per";
+ hisilicon,hi3620-clkgate = <0x50 0x200>;
+ };
+ acpclk: clkgate@55 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_cfgaxi>;
+ clock-output-names = "clk_apc";
+ hisilicon,hi3620-clkgate = <0x30 0x10000000>;
+ };
+ mmcclk1: clkgate@56 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&test_sd_clk>;
+ clock-output-names = "clk_mmc1";
+ hisilicon,hi3620-clkgate = <0x50 0x200000>;
+ };
+ mmcclk2: clkgate@57 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&div_mmc2>;
+ clock-output-names = "clk_mmc2";
+ hisilicon,hi3620-clkgate = <0x50 0x400000>;
+ };
+ mmcclk3: clkgate@58 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&div_mmc3>;
+ clock-output-names = "clk_mmc3";
+ hisilicon,hi3620-clkgate = <0x50 0x800000>;
+ };
+ sdclk: clkgate@59 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&test_sd_clk>;
+ clock-output-names = "clk_sd";
+ hisilicon,hi3620-clkgate = <0x50 0x100000>;
+ };
+ kpcclk: clkgate@60 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&osc32k>;
+ clock-output-names = "clk_kpc";
+ hisilicon,hi3620-clkgate = <0x20 0x40>;
};
-
- /*mmc clk*/
- clk_mmc1_mux: mmc1_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
- hisilicon,hi3620-clkmux = <0x108 0x200>;
- };
-
- clk_mmc2_mux: mmc2_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
- hisilicon,hi3620-clkmux = <0x140 0x010>;
- };
-
- clk_mmc3_mux: mmc3_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
- hisilicon,hi3620-clkmux = <0x140 0x200>;
- };
-
- clk_sd_mux: sd_mux{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&peripll &usbpll>;
- hisilicon,hi3620-clkmux = <0x108 0x010>;
- };
-
-
- /*-----------divider table clk---------------------*/
- clk_div_mmc1: div_mmc1{
- compatible = "hisilicon,divclock";
- #clock-cells = <0>;
- clocks = <&clk_mmc1_mux>;
- hisilicon,clkdiv-table = <&divtable 0x0f 16 &divtable 0x0e 15 &divtable 0x0d 14
- &divtable 0x0c 13 &divtable 0x0b 12 &divtable 0x0a 11
- &divtable 0x09 10 &divtable 0x08 9 &divtable 0x07 8
- &divtable 0x06 7 &divtable 0x05 6 &divtable 0x04 5
- &divtable 0x03 4 &divtable 0x02 3 &divtable 0x01 2
- &divtable 0x00 1>;
- /*divider register offset, shift, width*/
- hisilicon,hi3620-clkdiv = <0x108 5 4>;
- };
-
- clk_div_mmc2: div_mmc2{
- compatible = "hisilicon,divclock";
- #clock-cells = <0>;
- clocks = <&clk_mmc2_mux>;
- hisilicon,clkdiv-table = <&divtable 0x0f 16 &divtable 0x0e 15 &divtable 0x0d 14
- &divtable 0x0c 13 &divtable 0x0b 12 &divtable 0x0a 11
- &divtable 0x09 10 &divtable 0x08 9 &divtable 0x07 8
- &divtable 0x06 7 &divtable 0x05 6 &divtable 0x04 5
- &divtable 0x03 4 &divtable 0x02 3 &divtable 0x01 2
- &divtable 0x00 1>;
- /*divider register offset, shift, width*/
- hisilicon,hi3620-clkdiv = <0x140 0 4>;
- };
-
- clk_div_mmc3: div_mmc3{
- compatible = "hisilicon,divclock";
- #clock-cells = <0>;
- clocks = <&clk_mmc3_mux>;
- hisilicon,clkdiv-table = <&divtable 0x0f 16 &divtable 0x0e 15 &divtable 0x0d 14
- &divtable 0x0c 13 &divtable 0x0b 12 &divtable 0x0a 11
- &divtable 0x09 10 &divtable 0x08 9 &divtable 0x07 8
- &divtable 0x06 7 &divtable 0x05 6 &divtable 0x04 5
- &divtable 0x03 4 &divtable 0x02 3 &divtable 0x01 2
- &divtable 0x00 1>;
- /*divider register offset, shift, width*/
- hisilicon,hi3620-clkdiv = <0x140 5 4>;
- };
-
- clk_div_sd: div_sd{
- compatible = "hisilicon,divclock";
- #clock-cells = <0>;
- clocks = <&clk_sd_mux>;
- hisilicon,clkdiv-table = <&divtable 0x0f 16 &divtable 0x0e 15 &divtable 0x0d 14&divtable 0x0c 13
- &divtable 0x0b 12 &divtable 0x0a 11 &divtable 0x09 10 &divtable 0x08 9
- &divtable 0x07 8 &divtable 0x06 7 &divtable 0x05 6 &divtable 0x04 5
- &divtable 0x03 4 &divtable 0x02 3 &divtable 0x01 2 &divtable 0x00 1>;
- /*divider register offset, shift, width*/
- hisilicon,hi3620-clkdiv = <0x108 0 4>;
- };
-
- /*---------------gate--------------------*/
- clk_mmc1_parent: mmc1_parent{
- compatible = "hisilicon,muxclock";
- #clock-cells = <0>;
- clocks = <&osc26m &clk_div_mmc1>;
- hisilicon,hi3620-clkmux = <0x108 0x400>;
- };
-
- clk_mmc1: mmc1 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&testsdclk>;
- /* clocks = <&clk_mmc1_parent>; */
- hisilicon,hi3620-clkgate = <0x50 21>;
- };
-
- clk_mmc2: mmc2 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_div_mmc2>;
- hisilicon,hi3620-clkgate = <0x50 22>;
- };
-
- clk_mmc3: mmc3 {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_div_mmc3>;
- hisilicon,hi3620-clkgate = <0x50 23>;
+ sciclk: clkgate@61 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&osc26m>;
+ clock-output-names = "clk_sci";
+ hisilicon,hi3620-clkgate = <0x40 0x4000000>;
};
-
- clk_sd: sd {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- /* clocks = <&clk_div_sd>; */
- clocks = <&testsdclk>;
- hisilicon,hi3620-clkgate = <0x50 20>;
+ dphyclk0: clkgate@62 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&osc26m>;
+ clock-output-names = "clk_dphy0";
+ hisilicon,hi3620-clkgate = <0x30 0x8000>;
};
-
- clk_ddrc_per: ddrc_per {
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x50 9>;
+ dphyclk1: clkgate@63 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&osc26m>;
+ clock-output-names = "clk_dphy1";
+ hisilicon,hi3620-clkgate = <0x30 0x10000>;
};
-
- clk_mcu: mcu{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
- clocks = <&clk_cfgaxi>;
- hisilicon,hi3620-clkgate = <0x50 24>;
- clock-output-names = "clk_mcu";
+ dphyclk2: clkgate@64 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&osc26m>;
+ clock-output-names = "clk_dphy2";
+ hisilicon,hi3620-clkgate = <0x30 0x20000>;
+ };
+ ldiclk0: clkgate@65 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_ldi0>;
+ clock-output-names = "clk_ldi0";
+ hisilicon,hi3620-clkgate = <0x30 0x200>;
+ };
+ ldiclk1: clkgate@66 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&refclk_ldi1>;
+ clock-output-names = "clk_ldi1";
+ hisilicon,hi3620-clkgate = <0x30 0x800>;
+ };
+ edcclk0: clkgate@67 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
+ clocks = <&pclk>;
+ clock-output-names = "clk_edc0";
+ hisilicon,hi3620-clkgate = <0x30 0x100>;
};
-
- /*rtc clk*/
- clk_rtc: rtc{
- compatible = "hisilicon,periclock";
- #clock-cells = <0>;
+ edcclk1: clkgate@68 {
+ compatible = "hisilicon,hi3620-clk-gate";
+ #clock-cells = <0>;
clocks = <&pclk>;
- hisilicon,hi3620-clkgate = <0x20 5>;
- clock-output-names = "clk_rtc";
+ clock-output-names = "clk_edc1";
+ hisilicon,hi3620-clkgate = <0x30 0x400>;
};
-
- /*--------------------divider clock -------------------*/
- divtable: clkdiv {
+ dtable: clkdiv@0 {
#hisilicon,clkdiv-table-cells = <2>;
- };
-
- clk_div_shaxi: div_shaxi{
- compatible = "hisilicon,divclock";
- #clock-cells = <0>;
- clocks = <&peripll>;
- hisilicon,clkdiv-table = <&divtable 0x04 5>;
- /*divider register offset, shift, width*/
- hisilicon,hi3620-clkdiv = <0x100 0 5>;
- };
-
- clk_div_cfgaxi: div_cfgaxi{
- compatible = "hisilicon,divclock";
- #clock-cells = <0>;
- clocks = <&clk_div_shaxi>;
- hisilicon,clkdiv-table = <&divtable 0x01 2>;
- hisilicon,hi3620-clkdiv = <0x100 5 2>;
+ };
+ div_shareaxi: clkdiv@1 {
+ compatible = "hisilicon,hi3620-clk-div";
+ #clock-cells = <0>;
+ clocks = <&refclk_shareAXI>;
+ clock-output-names = "shareAXI_div";
+ hisilicon,clkdiv-table = <
+ &dtable 0 1 &dtable 1 2 &dtable 2 3 &dtable 3 4
+ &dtable 4 5 &dtable 5 6 &dtable 6 7 &dtable 7 8
+ &dtable 8 9 &dtable 9 10 &dtable 10 11 &dtable 11 12
+ &dtable 12 13 &dtable 13 14 &dtable 14 15 &dtable 15 16
+ &dtable 16 17 &dtable 17 18 &dtable 18 19 &dtable 19 20
+ &dtable 20 21 &dtable 21 22 &dtable 22 23 &dtable 23 24
+ &dtable 24 25 &dtable 25 26 &dtable 26 27 &dtable 27 28
+ &dtable 28 29 &dtable 29 30 &dtable 30 31 &dtable 31 32>;
+ /* divider register offset, mask */
+ hisilicon,clkdiv = <0x100 0x1f>;
+ };
+ div_cfgaxi: clkdiv@2 {
+ compatible = "hisilicon,hi3620-clk-div";
+ #clock-cells = <0>;
+ clocks = <&div_shareaxi>;
+ clock-output-names = "cfgAXI_div";
+ hisilicon,clkdiv-table = <&dtable 0x01 2>;
+ hisilicon,clkdiv = <0x100 0x60>;
+ };
+ div_mmc1: clkdiv@3 {
+ compatible = "hisilicon,hi3620-clk-div";
+ #clock-cells = <0>;
+ clocks = <&refclk_mmc1>;
+ hisilicon,clkdiv-table = <
+ &dtable 0xf 16 &dtable 0xe 15 &dtable 0xd 14
+ &dtable 0xc 13 &dtable 0xb 12 &dtable 0xa 11
+ &dtable 9 10 &dtable 8 9 &dtable 7 8
+ &dtable 6 7 &dtable 5 6 &dtable 4 5
+ &dtable 3 4 &dtable 2 3 &dtable 1 2
+ &dtable 0 1>;
+ hisilicon,clkdiv = <0x108 0x1e0>;
+ };
+ div_mmc2: clkdiv@4 {
+ compatible = "hisilicon,hi3620-clk-div";
+ #clock-cells = <0>;
+ clocks = <&refclk_mmc2>;
+ hisilicon,clkdiv-table = <
+ &dtable 0xf 16 &dtable 0xe 15 &dtable 0xd 14
+ &dtable 0xc 13 &dtable 0xb 12 &dtable 0xa 11
+ &dtable 9 10 &dtable 8 9 &dtable 7 8
+ &dtable 6 7 &dtable 5 6 &dtable 4 5
+ &dtable 3 4 &dtable 2 3 &dtable 1 2
+ &dtable 0 1>;
+ hisilicon,clkdiv = <0x140 0xf>;
+ };
+ div_mmc3: clkdiv@5 {
+ compatible = "hisilicon,hi3620-clk-div";
+ #clock-cells = <0>;
+ clocks = <&refclk_mmc3>;
+ hisilicon,clkdiv-table = <
+ &dtable 0xf 16 &dtable 0xe 15 &dtable 0xd 14
+ &dtable 0xc 13 &dtable 0xb 12 &dtable 0xa 11
+ &dtable 9 10 &dtable 8 9 &dtable 7 8
+ &dtable 6 7 &dtable 5 6 &dtable 4 5
+ &dtable 3 4 &dtable 2 3 &dtable 1 2
+ &dtable 0 1>;
+ hisilicon,clkdiv = <0x140 0x1e0>;
+ };
+ div_sd: clkdiv@6 {
+ compatible = "hisilicon,hi3620-clk-div";
+ #clock-cells = <0>;
+ clocks = <&refclk_sd>;
+ hisilicon,clkdiv-table = <
+ &dtable 0xf 16 &dtable 0xe 15 &dtable 0xd 14
+ &dtable 0xc 13 &dtable 0xb 12 &dtable 0xa 11
+ &dtable 9 10 &dtable 8 9 &dtable 7 8
+ &dtable 6 7 &dtable 5 6 &dtable 4 5
+ &dtable 3 4 &dtable 2 3 &dtable 1 2
+ &dtable 0 1>;
+ hisilicon,clkdiv = <0x108 0xf>;
};
};
@@ -734,7 +962,7 @@
compatible = "arm,rtc-pl031", "arm,primecell";
reg = <0xfc804000 0x1000>;
interrupts = <0 9 0x4>;
- clocks = <&clk_rtc>;
+ clocks = <&rtcclk>;
clock-names = "apb_pclk";
status = "disabled";
};
@@ -762,8 +990,8 @@
reg = <0xfc800000 0x1000>;
/* timer00 & timer01 */
interrupts = <0 0 4>, <0 1 4>;
- clocks = <&timclk0 &timclk1 &pclk>;
- clock-names = "timer0", "timer1", "apb_pclk";
+ clocks = <&timclk0 &timclk1>;
+ clock-names = "apb_pclk";
status = "disabled";
};
@@ -777,8 +1005,8 @@
reg = <0xfc801000 0x1000>;
/* timer10 & timer11 */
interrupts = <0 2 4>, <0 3 4>;
- clocks = <&timclk0 &timclk1 &pclk>;
- clock-names = "timer0", "timer1", "apb_pclk";
+ clocks = <&timclk2 &timclk3>;
+ clock-names = "apb_pclk";
status = "disabled";
};
@@ -787,8 +1015,8 @@
reg = <0xfca01000 0x1000>;
/* timer20 & timer21 */
interrupts = <0 4 4>, <0 5 4>;
- clocks = <&timclk0 &timclk1 &pclk>;
- clock-names = "timer0", "timer1", "apb_pclk";
+ clocks = <&timclk4 &timclk5>;
+ clock-names = "apb_pclk";
status = "disabled";
};
@@ -797,8 +1025,8 @@
reg = <0xfca02000 0x1000>;
/* timer30 & timer31 */
interrupts = <0 6 4>, <0 7 4>;
- clocks = <&timclk0 &timclk1 &pclk>;
- clock-names = "timer0", "timer1", "apb_pclk";
+ clocks = <&timclk6 &timclk7>;
+ clock-names = "apb_pclk";
status = "disabled";
};
@@ -807,8 +1035,8 @@
reg = <0xfca03000 0x1000>;
/* timer40 & timer41 */
interrupts = <0 96 4>, <0 97 4>;
- clocks = <&timclk0 &timclk1 &pclk>;
- clock-names = "timer0", "timer1", "apb_pclk";
+ clocks = <&timclk8 &timclk9>;
+ clock-names = "apb_pclk";
status = "disabled";
};
@@ -816,7 +1044,7 @@
compatible = "arm,pl011", "arm,primecell";
reg = <0xfcb00000 0x1000>;
interrupts = <0 20 4>;
- clocks = <&clk_uart0>;
+ clocks = <&uartclk0>;
clock-names = "apb_pclk";
status = "disabled";
};
@@ -825,7 +1053,7 @@
compatible = "arm,pl011", "arm,primecell";
reg = <0xfcb01000 0x1000>;
interrupts = <0 21 4>;
- clocks = <&clk_uart1>;
+ clocks = <&uartclk1>;
clock-names = "apb_pclk";
status = "disabled";
};
@@ -834,7 +1062,7 @@
compatible = "arm,pl011", "arm,primecell";
reg = <0xfcb02000 0x1000>;
interrupts = <0 22 4>;
- clocks = <&clk_uart2>;
+ clocks = <&uartclk2>;
clock-names = "apb_pclk";
status = "disabled";
};
@@ -843,7 +1071,7 @@
compatible = "arm,pl011", "arm,primecell";
reg = <0xfcb03000 0x1000>;
interrupts = <0 23 4>;
- clocks = <&clk_uart3>;
+ clocks = <&uartclk3>;
clock-names = "apb_pclk";
status = "disabled";
};
@@ -852,7 +1080,7 @@
compatible = "arm,pl011", "arm,primecell";
reg = <0xfcb04000 0x1000>;
interrupts = <0 24 4>;
- clocks = <&clk_uart4>;
+ clocks = <&uartclk4>;
clock-names = "apb_pclk";
status = "disabled";
};
@@ -867,7 +1095,7 @@
&pmx0 5 0 1 &pmx0 6 1 1 &pmx0 7 2 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk0>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -883,7 +1111,7 @@
&pmx0 6 5 1 &pmx0 7 6 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk1>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -899,7 +1127,7 @@
&pmx0 6 3 1 &pmx0 7 3 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk2>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -915,7 +1143,7 @@
&pmx0 6 11 1 &pmx0 7 11 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk3>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -931,7 +1159,7 @@
&pmx0 6 13 1 &pmx0 7 13 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk4>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -947,7 +1175,7 @@
&pmx0 6 16 1 &pmx0 7 16 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk5>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -963,7 +1191,7 @@
&pmx0 6 18 1 &pmx0 7 19 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk6>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -979,7 +1207,7 @@
&pmx0 6 25 1 &pmx0 7 26 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk7>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -995,7 +1223,7 @@
&pmx0 6 33 1 &pmx0 7 34 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk8>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1011,7 +1239,7 @@
&pmx0 6 41 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk9>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1026,7 +1254,7 @@
&pmx0 5 45 1 &pmx0 6 46 1 &pmx0 7 46 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk10>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1042,7 +1270,7 @@
&pmx0 6 49 1 &pmx0 7 49 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk11>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1058,7 +1286,7 @@
&pmx0 6 51 1 &pmx0 7 52 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk12>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1074,7 +1302,7 @@
&pmx0 6 55 1 &pmx0 7 56 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk13>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1090,7 +1318,7 @@
&pmx0 6 60 1 &pmx0 7 61 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk14>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1106,7 +1334,7 @@
&pmx0 6 64 1 &pmx0 7 65 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk15>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1122,7 +1350,7 @@
&pmx0 6 72 1 &pmx0 7 73 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk16>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1138,7 +1366,7 @@
&pmx0 6 80 1 &pmx0 7 81 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk17>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1154,7 +1382,7 @@
&pmx0 6 86 1 &pmx0 7 87 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk18>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1169,7 +1397,7 @@
&pmx0 3 88 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk19>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1184,7 +1412,7 @@
&pmx0 3 90 1 &pmx0 4 91 1 &pmx0 5 92 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk20>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1198,7 +1426,7 @@
gpio-ranges = < &pmx0 3 94 1 &pmx0 7 96 1>;
interrupt-controller;
#interrupt-cells = <2>;
- clocks = <&pclk>;
+ clocks = <&gpioclk21>;
clock-names = "apb_pclk";
status = "disable";
};
@@ -1234,20 +1462,13 @@
pinctrl-single,register-width = <32>;
};
- sysctrl@fc802000 {
- compatible = "hisilicon,sysctrl";
- reg = <0xfc802000 0x1000>;
- smp_reg = <0x31c>;
- reboot_reg = <0x4>;
- };
-
dma0: dma@fcd02000 {
compatible = "hisilicon,k3-dma-1.0";
reg = <0xfcd02000 0x1000>;
#dma-cells = <1>;
dma-channels = <27>;
interrupts = <0 12 4>;
- clocks = <&clk_dmac>;
+ clocks = <&dmaclk>;
status = "disable";
};
@@ -1257,7 +1478,7 @@
#size-cells = <0>;
reg = <0xfcb08000 0x1000>;
interrupts = <0 28 4>;
- clocks = <&clk_i2c0>;
+ clocks = <&i2cclk0>;
dmas = <&dma0 18 /* read channel */
&dma0 19>; /* write channel */
dma-names = "rx", "tx";
@@ -1271,7 +1492,7 @@
#size-cells = <0>;
reg = <0xfcb09000 0x1000>;
interrupts = <0 29 4>;
- clocks = <&clk_i2c1>;
+ clocks = <&i2cclk1>;
dmas = <&dma0 20 /* read channel */
&dma0 21>; /* write channel */
dma-names = "rx", "tx";
@@ -1283,7 +1504,7 @@
compatible = "hisilicon,designware-i2c";
reg = <0xfcb0c000 0x1000>;
interrupts = <0 62 4>;
- clocks = <&clk_i2c2>;
+ clocks = <&i2cclk2>;
delay-reg = <0xc 4>;
status = "disabled";
};
@@ -1292,7 +1513,7 @@
compatible = "hisilicon,designware-i2c";
reg = <0xfcb0d000 0x1000>;
interrupts = <0 63 4>;
- clocks = <&clk_i2c3>;
+ clocks = <&i2cclk3>;
delay-reg = <0xc 5>;
status = "disabled";
};
@@ -1301,7 +1522,7 @@
compatible = "hisilicon,hi3620-mcu";
reg = <0xfd000000 0x00010000>;
interrupts = <0 89 4>;
- clocks = <&clk_mcu>;
+ clocks = <&mcuclk>;
status = "disabled";
};
@@ -1312,7 +1533,7 @@
interrupts = <0 17 4>;
#address-cells = <1>;
#size-cells = <0>;
- clocks = <&clk_mmc1>, <&clk_ddrc_per>;
+ clocks = <&mmcclk1>, <&ddrcperclk>;
clock-names = "ciu", "biu";
};
@@ -1323,7 +1544,7 @@
interrupts = <0 16 4>;
#address-cells = <1>;
#size-cells = <0>;
- clocks = <&clk_sd>, <&clk_ddrc_per>;
+ clocks = <&sdclk>, <&ddrcperclk>;
clock-names = "ciu", "biu";
};
@@ -1333,7 +1554,7 @@
interrupts = <0 18 4>;
#address-cells = <1>;
#size-cells = <0>;
- clocks = <&clk_mmc2>;
+ clocks = <&mmcclk2>;
};
dwmmc_3: dwmmc3@fcd06000 {
@@ -1342,14 +1563,73 @@
interrupts = <0 19 4>;
#address-cells = <1>;
#size-cells = <0>;
- clocks = <&clk_mmc3>;
+ clocks = <&mmcclk3>;
};
kpc: kpc@fc805000 {
compatible = "hisilicon,k3_keypad";
reg = <0xfc805000 0x1000>;
interrupts = <0 10 4>;
- clocks = <&clk_kpc>;
+ clocks = <&kpcclk>;
status = "disabled";
};
+ edc0: edc@fa202000 {
+ compatible = "hisilicon,hi3620-fb";
+ reg = <0xfa202000 0x1000>;
+ clocks = <&ldiclk0 &edcclk0 &dsiclk0 &lanebyteclk0>;
+ clock-names = "ldi", "edc", "dsi", "lane";
+ interrupts = <0 38 0x4>, <0 39 0x4>, <0 40 0x4>;
+ interrupt-names = "edc", "ldi", "dsi";
+ status = "disabled";
+
+ dsi2xclk0: clkdsi@0 {
+ compatible = "hisilicon,hi3620-phy";
+ #clock-cells = <0>;
+ clocks = <&osc26m>;
+ clock-output-names = "clk_dsi2x0";
+ };
+ dsiclk0: clkdsi@1 {
+ compatible = "hisilicon,clk-fixed-factor";
+ #clock-cells = <0>;
+ clocks = <&dsi2xclk0>;
+ clock-output-names = "clk_dsi0";
+ /*mult, div*/
+ hisilicon,fixed-factor = <1 2>;
+ };
+ lanebyteclk0: clkdsi@2 {
+ compatible = "hisilicon,clk-fixed-factor";
+ #clock-cells = <0>;
+ clocks = <&dsi2xclk0>;
+ clock-output-names = "clk_lanebyte0";
+ /*mult, div*/
+ hisilicon,fixed-factor = <1 8>;
+ };
+ escclk0: clkdsi@3 {
+ compatible = "hisilicon,hi3620-phy-esc";
+ #clock-cells = <0>;
+ clocks = <&lanebyteclk0>;
+ clock-output-names = "clk_dsi_phy_esc0";
+ };
+ };
+ edc1: edc@fa206900 {
+ compatible = "hisilicon,hi3620-fb";
+ clocks = <&ldiclk1 &edcclk1>;
+ clock-names = "ldi", "edc";
+ status = "disabled";
+ };
+ pwm0: pwm@fca05000 {
+ compatible = "hisilicon,hi3620-pwm";
+ reg = <0xfca05000 0x1000>;
+ clocks = <&pwmclk0>;
+ #pwm-cells = <2>;
+ status = "disabled";
+ };
+ pwm1: pwm@fca06000 {
+ compatible = "hisilicon,hi3620-pwm";
+ reg = <0xfca06000 0x1000>;
+ clocks = <&pwmclk1>;
+ #pwm-cells = <2>;
+ status = "disabled";
+ };
+
};
};