USB: Modify RK3188 && RK3288 clk.
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3188.dtsi
index 0b66a18eb7aace33733b302d1267636bd9feb39d..491e7587ae45d487ad46d6f6197fc3d5f1a2f1b5 100755 (executable)
@@ -1,12 +1,12 @@
-
-#include "skeleton.dtsi"
-#include "rk3188-pinctrl.dtsi"
+#include <dt-bindings/clock/ddr.h>
 #include <dt-bindings/rkfb/rk_fb.h>
 #include <dt-bindings/suspend/rockchip-pm.h>
-#include "rk3188_io_vol_domain.dtsi"
-
 #include <dt-bindings/sensor-dev.h>
 
+#include "skeleton.dtsi"
+#include "rk3188-pinctrl.dtsi"
+#include "rk3188-clocks.dtsi"
+
 / {
        compatible = "rockchip,rk3188";
        interrupt-parent = <&gic>;
                rockchip,aux-ctrl = <0x72000001 (~0x72000001)>;
        };
 
-       cpu_axi_bus: cpu_axi_bus@10128000 {
+       cpu_axi_bus: cpu_axi_bus {
                compatible = "rockchip,cpu_axi_bus";
-               reg = <0x10128000 0x8000>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
                qos {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
                        dmac {
-                               rockchip,offset = <0x1000>;
+                               reg = <0x10129000 0x20>;
                                rockchip,priority = <0 0>;
                        };
                        cpu0 {
-                               rockchip,offset = <0x2000>;
+                               reg = <0x1012a000 0x20>;
                                rockchip,priority = <0 0>;
                        };
-                       cpu1r {
-                               rockchip,offset = <0x2080>;
+                       cpu1_r {
+                               reg = <0x1012a080 0x20>;
                                rockchip,priority = <0 0>;
                        };
-                       cpu1w {
-                               rockchip,offset = <0x2100>;
+                       cpu1_w {
+                               reg = <0x1012a100 0x20>;
                                rockchip,priority = <0 0>;
                        };
                        peri {
-                               rockchip,offset = <0x4000>;
+                               reg = <0x1012c000 0x20>;
                                rockchip,priority = <2 2>;
                        };
                        gpu {
-                               rockchip,offset = <0x5000>;
+                               reg = <0x1012d000 0x20>;
                                rockchip,priority = <2 1>;
                        };
                        vpu {
-                               rockchip,offset = <0x6000>;
+                               reg = <0x1012e000 0x20>;
                        };
                        vop0 {
-                               rockchip,offset = <0x7000>;
+                               reg = <0x1012f000 0x20>;
                                rockchip,priority = <3 3>;
                        };
                        cif0 {
-                               rockchip,offset = <0x7080>;
+                               reg = <0x1012f080 0x20>;
                        };
                        ipp {
-                               rockchip,offset = <0x7100>;
+                               reg = <0x1012f100 0x20>;
                        };
                        vop1 {
-                               rockchip,offset = <0x7180>;
+                               reg = <0x1012f180 0x20>;
                                rockchip,priority = <3 3>;
                        };
                        cif1 {
-                               rockchip,offset = <0x7200>;
+                               reg = <0x1012f200 0x20>;
                        };
                        rga {
-                               rockchip,offset = <0x7280>;
+                               reg = <0x1012f280 0x20>;
+                       };
+               };
+               msch {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       msch {
+                               reg = <0x10128000 0x18>;
+                               rockchip,read-latency = <0x3f>;
                        };
                };
        };
                };
        };
 
+       emmc: rksdmmc@1021C000 {
+               compatible = "rockchip,rk_mmc";
+               reg = <0x1021C000 0x4000>;
+               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;/*irq=57*/
+               #address-cells = <1>;
+               #size-cells = <0>;
+               //pinctrl-names = "default",,"suspend";
+               //pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_wp &sd0_pwr &sd0_bus1 &sd0_bus4>;
+               clocks = <&clk_gates2 14>;
+               num-slots = <1>;
+               
+               fifo-depth = <0x80>;
+               bus-width = <4>;
+       };
+
+       sdmmc: rksdmmc@10214000 {
+               compatible = "rockchip,rk_mmc";
+               reg = <0x10214000 0x4000>;
+               interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; /*irq=55*/
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-names = "default","suspend";
+               pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_wp &sd0_pwr &sd0_bus1 &sd0_bus4>;
+               pinctrl-1 = <&sd0_cd_gpio>; //for int gpio?
+               clocks = <&clk_gates2 11>;
+               num-slots = <1>; 
+   
+               fifo-depth = <0x100>;
+               bus-width = <4>;
+       };
+
+       sdio: rksdmmc@10218000 {
+               compatible = "rockchip,rk_mmc";
+               reg = <0x10218000 0x4000>;
+               interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-names = "default","suspend";
+               pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_wp &sd1_bus1 &sd1_bus4>;
+               clocks = <&clk_gates2 13>;        
+               num-slots = <1>;
+
+               fifo-depth = <0x100>;
+               bus-width = <4>;
+       };
 
        uart0: serial@10124000 {
                compatible = "rockchip,serial";
        clocks-init{
                compatible = "rockchip,clocks-init";
                rockchip,clocks-init-parent =
-                       <&clk_core &clk_apll>,  <&aclk_cpu_mux &clk_gpll>,/*FIXME*/
-                       <&aclk_peri_mux &clk_gpll>,     <&clk_i2s_pll_mux &clk_cpll>,
+                       <&clk_core &clk_apll>,  <&aclk_cpu &clk_gpll>,
+                       <&aclk_peri &clk_gpll>, <&clk_i2s_pll_mux &clk_cpll>,
                        <&clk_uart_pll_mux &clk_gpll>;
                rockchip,clocks-init-rate =
                        <&clk_core 792000000>,  <&clk_gpll 768000000>,
                        <&clk_gpu 200000000>, <&aclk_lcdc0 300000000>,
                        <&aclk_lcdc1 300000000>;
        };
-       rkpm_suspend {
-                compatible = "rockchip,rkpm_suspend";
-                
+       rockchip_suspend {     
+                //compatible = "rockchip,rkpm_suspend";
                 // define value is in dt-bindint/suspend/rockchip-pm.h
                 rockchip,ctrbits = <   
                                                (
                                                |RKPM_CTR_SYSCLK_DIV
                                                |RKPM_CTR_NORIDLE_MD
                                                )
-                                       >;
+                                       >;              
               rockchip,pmic-gpios=<
-                                                RKPM_GPIOS_SETTING(GPIO0_A0,RKPM_GPIOS_OUTPUT,RKPM_GPIOS_OUT_H
-                                                RKPM_GPIOS_SETTING(GPIO0_A1,RKPM_GPIOS_OUTPUT,RKPM_GPIOS_OUT_H)                           
+                                                RKPM_PINGPIO_BITS_OUTPUT(GPIO0_A0,RKPM_GPIO_OUT_L
+                                                RKPM_PINGPIO_BITS_INTPUT(GPIO0_A1,RKPM_GPIO_PULL_UP)                           
                                                 >;
        
         };
                pinctrl-1 = <&lcdc1_gpio>;
                status = "disabled";
        };
-  rga@10114000 {
+
+       rga@10114000 {
                compatible = "rockchip,rga";
                reg = <0x10114000 0x1000>;
                interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_gates6 10>, <&clk_gates6 11>;
-    clock-names = "hclk_rga", "aclk_rga";              
-  };
-
-    adc: adc@2006c000 {
-          compatible = "rockchip,saradc";
-          reg = <0x2006c000 0x100>;
-          interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
-           #io-channel-cells = <1>;
-          io-channel-ranges;
-           rockchip,adc-vref = <1800>;
-           clock-frequency = <1000000>;
-           clocks = <&clk_saradc>, <&clk_gates7 14>;
-           clock-names = "saradc", "pclk_saradc"; 
-           status = "disabled";
-    };
+               clock-names = "hclk_rga", "aclk_rga";           
+       };
+
+       adc: adc@2006c000 {
+               compatible = "rockchip,saradc";
+               reg = <0x2006c000 0x100>;
+               interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+               #io-channel-cells = <1>;
+               io-channel-ranges;
+               rockchip,adc-vref = <1800>;
+               clock-frequency = <1000000>;
+               clocks = <&clk_saradc>, <&clk_gates7 14>;
+               clock-names = "saradc", "pclk_saradc";
+               status = "disabled";
+       };
 
        spdif: rockchip-spdif@0x1011e000 {
                compatible = "rockchip-spdif";
 
        pwm0: pwm@20030000{
                 compatible = "rockchip,pwm";
-                reg = <0x20030000 0x10>; 
+                reg = <0x20030000 0x10>;
                 #pwm-cells = <2>;
                 pinctrl-names = "default";
                 pinctrl-0 = <&pwm0_pin>;
                      <0x2000812c 0x8>,
                      <0x20008138 0x8>;
                reg-names = "GRF_SOC_STATUS0",
-                           "GRF_UOC0_BASE",
-                           "GRF_UOC1_BASE",
-                           "GRF_UOC2_BASE",
-                           "GRF_UOC3_BASE";
+                    "GRF_UOC0_BASE",
+                    "GRF_UOC1_BASE",
+                    "GRF_UOC2_BASE",
+                    "GRF_UOC3_BASE";
                interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
-               interrupt-names = "bvalid";
+               interrupt-names = "otg_bvalid";
                gpios = <&gpio0 GPIO_C0 GPIO_ACTIVE_LOW>, <&gpio3 GPIO_D5 GPIO_ACTIVE_LOW>;
                clocks = <&clk_gates4 5>;
                clock-names = "hclk_usb_peri";
+
+               usb_bc{
+                       compatible = "rockchip,ctrl";
+                       rk_usb,bvalid   = <0xac 10 1>;
+                       rk_usb,line     = <0xac 11 2>;
+                       rk_usb,softctrl = <0x114 2 1>;
+                       rk_usb,opmode   = <0x118 1 2>;
+                       rk_usb,xcvrsel  = <0x118 3 2>;
+                       rk_usb,termsel  = <0x118 5 1>; 
+               };
        };
+       
 
-       usb@10180000 {
+       usb0: usb@10180000 {
                compatible = "rockchip,rk3188_usb20_otg";
                reg = <0x10180000 0x40000>;
                interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&clk_otgphy0_480m>, <&clk_gates5 13>;
-               clock-names = "otgphy0", "hclk_otg0";
+               clocks = <&clk_gates1 5>, <&clk_gates5 13>;
+               clock-names = "clk_usbphy0", "hclk_usb0";
        };
 
-       usb@101c0000 {
+       usb1: usb@101c0000 {
                compatible = "rockchip,rk3188_usb20_host";
                reg = <0x101c0000 0x40000>;
                interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&clk_otgphy1_480m>, <&clk_gates7 3>;
-               clock-names = "otgphy1", "hclk_otg1";
+               clocks = <&clk_gates1 6>, <&clk_gates7 3>;
+               clock-names = "clk_usbphy1", "hclk_usb1";
        };
 
-       hsic@10240000 {
+       hsic: hsic@10240000 {
                compatible = "rockchip,rk3188_rk_hsic_host";
                reg = <0x10240000 0x40000>;
                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_hsicphy480m>, <&clk_gates7 4>,
-                        <&clk_hsicphy12m>, <&clk_otgphy1_480m>;
-               clock-names = "hsicphy480m", "hclk_hsic",
-                             "hsicphy12m", "hsic_otgphy1";
+                 <&clk_hsicphy12m>, <&clk_otgphy1_480m>;
+               clock-names = "hsicphy_480m", "hclk_hsic",
+                      "hsicphy_12m", "hsic_usbphy1";
        };
 
        vmac@10204000 {
                pinctrl-0 = <&rmii_clkoutpin &rmii_txpins &rmii_rxpins &rmii_mdpins>;
                pinctrl-1 = <&rmii_clkinpin &rmii_txpins &rmii_rxpins &rmii_mdpins>;
        };
+
+       ap0_vcc_domain: ap0-vcc-domain {
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&ap0_vcc >;
+                       pinctrl-1 = <&ap0_vcc_18>;
+                       pinctrl-2 = <&ap0_vcc_33>;
+       };
+       ap1_vcc_domain: ap1-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&ap1_vcc >;
+                       pinctrl-1 = <&ap1_vcc_18>;
+                       pinctrl-2 = <&ap1_vcc_33>;
+       };
+       cif_vcc_domain: cif-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&cif_vcc>;
+                       pinctrl-1 = <&cif_vcc_18>;
+                       pinctrl-2 = <&cif_vcc_33>;
+       };
+       flash_vcc_domain: flash-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&flash_vcc>;
+                       pinctrl-1 = <&flash_vcc_18>;
+                       pinctrl-2 = <&flash_vcc_33>;    
+       };
+       vccio0_vcc_domain: vccio0-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&vccio0_vcc>;
+                       pinctrl-1 = <&vccio0_vcc_18>;
+                       pinctrl-2 = <&vccio0_vcc_33>;   
+       };
+       vccio1_vcc_domain: vccio1-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&vccio1_vcc>;
+                       pinctrl-1 = <&vccio1_vcc_18>;
+                       pinctrl-2 = <&vccio1_vcc_33>;   
+       };
+       lcdc0_vcc_domain: lcdc0-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&lcdc0_vcc>;
+                       pinctrl-1 = <&lcdc0_vcc_18>;
+                       pinctrl-2 = <&lcdc0_vcc_33>;    
+       };
+       lcdc1_vcc_domain: lcdc1-vcc-domain{
+                       compatible = "rockchip,io_vol_domain";
+                       pinctrl-names = "default", "1.8V", "3.3V";
+                       pinctrl-0 = <&lcdc1_vcc>;
+                       pinctrl-1 = <&lcdc1_vcc_18>;
+                       pinctrl-2 = <&lcdc1_vcc_33>;    
+       };
+
 };