ARM: dts: rk3368 box add xz3216 dcdc support
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rk3368-box.dts
index 325f2e36ab71f7db86cff6203cc550a94fa2ce9f..0ac70f8bfa50ea9a9e3ceb77d35a90b032f4e2e6 100755 (executable)
 
 / {
        chosen {
-               bootargs = "earlyprintk=uart8250-32bit,0xff690000 clk_ignore_unused";
+               bootargs = "earlyprintk=uart8250-32bit,0xff690000";
        };
 
        wireless-wlan {
                compatible = "wlan-platdata";
                 rockchip,grf = <&grf>;
 
-               /* wifi_chip_type - wifi chip define
-                * bcmwifi ==> like ap6xxx, rk90x;
-                * rtkwifi ==> like rtl8188xx, rtl8723xx;
-                * esp8089 ==> esp8089;
-                * other   ==> for other wifi;
-                */
-               wifi_chip_type = "bcmwifi";
+                /* wifi_chip_type - wifi chip define
+                 * ap6210, ap6330, ap6335
+                 * rtl8188eu, rtl8723bs, rtl8723bu
+                 * esp8089
+                */
+                wifi_chip_type = "ap6335";
 
                sdio_vref = <1800>; //1800mv or 3300mv
 
                compatible = "rockchip_pwm_regulator";
                pwms = <&pwm1 0 2000>;
                rockchip,pwm_id= <1>;
-               rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>;
+               rockchip,pwm_voltage_map= <900000 925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000>;
                rockchip,pwm_voltage= <1000000>;
-               rockchip,pwm_min_voltage= <925000>;
-               rockchip,pwm_max_voltage= <1400000>;
+               rockchip,pwm_min_voltage= <900000>;
+               rockchip,pwm_max_voltage= <1375000>;
                rockchip,pwm_suspend_voltage= <950000>;
-               rockchip,pwm_coefficient= <475>;
+               rockchip,pwm_coefficient= <555>;
                regulators {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        pwm_reg0: regulator@0 {
                                regulator-compatible = "pwm_dcdc1";
                                regulator-name= "vdd_logic";
-                               regulator-min-microvolt = <925000>;
-                               regulator-max-microvolt = <1400000>;
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1375000>;
                                regulator-always-on;
                                regulator-boot-on;
                        };
        };
 
        rockchip-hdmi-i2s {
+               status = "disabled";
                compatible = "rockchip-hdmi-i2s";
                dais {
                        dai0 {
                                audio-codec = <&codec_hdmi_i2s>;
-                               i2s-controller = <&i2s0>;
+                               audio-controller = <&i2s0>;
                                format = "i2s";
                                //continuous-clock;
                                //bitclock-inversion;
                        dais {
                                dai0 {
                                        audio-codec = <&codec_hdmi_spdif>;
-                                       i2s-controller = <&spdif>;
+                                       audio-controller = <&spdif>;
                                };
                        };
                };
                dais {
                        dai0 {
                                audio-codec = <&rk1000_codec>;
-                               i2s-controller = <&i2s0>;
+                               audio-controller = <&i2s0>;
                                format = "i2s";
                        };
                };
                dais {
                        dai0 {
                                audio-codec = <&rt5631>;
-                               i2s-controller = <&i2s0>;
+                               audio-controller = <&i2s0>;
                                format = "i2s";
                                //continuous-clock;
                                //bitclock-inversion;
                dais {
                        dai0 {
                                audio-codec = <&rt3261>;
-                               i2s-controller = <&i2s0>;
+                               audio-controller = <&i2s0>;
                                format = "i2s";
                                //continuous-clock;
                                //bitclock-inversion;
                        };
                        dai1 {
                                audio-codec = <&rt3261>;
-                               i2s-controller = <&i2s0>;
+                               audio-controller = <&i2s0>;
                                format = "dsp_a";
                                //continuous-clock;
                                bitclock-inversion;
        };
 };
 
+&gmac_clkin {
+        clock-frequency = <125000000>;
+};
+
 &gmac {
        //power_ctl_by = "gpio";        //"gpio" "pmu"
-       power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
+       //power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
        //power-pmu = "act_ldo"
-       //reset-gpio = <&gpio4 GPIO_A7 GPIO_ACTIVE_LOW>;
+       reset-gpio = <&gpio3 GPIO_B4 GPIO_ACTIVE_LOW>;
        phy-mode = "rgmii";
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmii_pins>;
        clock_in_out = "input";
        tx_delay = <0x28>;
        rx_delay = <0x10>;
-       status = "disabled"; //if want to use gmac, please set "okay"
+       status = "okay"; //if want to use gmac, please set "okay"
 };
 
 &pinctrl {
 };
 
 &emmc {
-       clock-frequency = <100000000>;
-       clock-freq-min-max = <400000 100000000>;
+       clock-frequency = <150000000>;
+       clock-freq-min-max = <400000 150000000>;
 
        supports-highspeed;
        supports-emmc;
        bootpart-no-access;
-       
-       //supports-tSD;
-       //supports-DDR_MODE; //you should set the two value in your project. only close in RK3288-SDK board.
-       //caps2-mmc-hs200;
-       
+
+       //supports-sd;
+       supports-DDR_MODE; //you should set the two value in your project. only close in RK3288-SDK board.
+       caps2-mmc-hs200;
+
        ignore-pm-notify;
        keep-power-in-suspend;
-       
+
        //poll-hw-reset
        status = "okay";
 };
        pinctrl-0 = <&uart0_xfer &uart0_cts>;
 };
 
+&tsadc {
+       tsadc-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
+       //tsadc-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
+       status = "okay";
+};
+
 &i2c0 {
        status = "okay";
        syr827: syr827@40 {
                        regulator-max-microvolt = <1500000>;
                        regulator-always-on;
                        regulator-boot-on;
-                       regulator-initial-mode = <0x2>;
+                       regulator-initial-mode = <0x1>;
                        regulator-initial-state = <3>;
                        regulator-state-mem {
                                regulator-state-mode = <0x2>;
                        regulator-max-microvolt = <1500000>;
                        regulator-always-on;
                        regulator-boot-on;
-                       regulator-initial-mode = <0x2>;
+                       regulator-initial-mode = <0x1>;
                        regulator-initial-state = <3>;
                        regulator-state-mem {
                                regulator-state-mode = <0x2>;
                };
           };
        };
-       
+
+       xz3216: xz3216@60 {
+                compatible = "xz3216";
+                reg = <0x60>;
+                status = "okay";
+                regulators {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+                        xz3216_dc1: regulator@0 {
+                        reg = <0>;
+                        regulator-compatible = "xz_dcdc1";
+                        regulator-name = "vdd_arm";
+                        regulator-min-microvolt = <902500>;
+                        regulator-max-microvolt = <1400000>;
+                        regulator-always-on;
+                       regulator-boot-on;
+                        regulator-initial-mode = <0x1>;
+                        regulator-initial-state = <3>;
+                        regulator-state-mem {
+                                regulator-state-mode = <0x2>;
+                                regulator-state-enabled;
+                                regulator-state-uv = <1000000>;
+                        };
+                };
+           };
+        };
+
        act8846: act8846@5a {
                reg = <0x5a>;
                status = "diasbled";
        status = "disabled";
 };
 
+&CPU_SLEEP_0 {
+       arm,psci-suspend-param = <0x1010000>;
+};
 
 &fb {
        rockchip,disp-mode = <NO_DUAL>;
-       rockchip,uboot-logo-on = <0>;
+       rockchip,uboot-logo-on = <1>;
+       rockchip,disp-policy = <DISPLAY_POLICY_BOX_TEMP>;
+};
+
+&disp_timings {
+       native-mode = <&timing1>;
 };
 
 &rk_screen {
        rockchip,mirror = <NO_MIRROR>;
        rockchip,cabc_mode = <0>;
        rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
+       pinctrl-names = "default", "gpio";
+       pinctrl-0 = <&lcdc_lcdc>;
+       pinctrl-1 = <&lcdc_gpio>;
        power_ctr: power_ctr {
                rockchip,debug = <0>;
-               lcd_en:lcd_en {
+               /*lcd_en:lcd_en {
                        rockchip,power_type = <GPIO>;
                        gpios = <&gpio0 GPIO_C6 GPIO_ACTIVE_HIGH>;
                        rockchip,delay = <10>;
                        rockchip,delay = <10>;
                };
 
-               /*lcd_rst:lcd_rst {
+               lcd_rst:lcd_rst {
                        rockchip,power_type = <GPIO>;
                        gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
                        rockchip,delay = <5>;
        };
 };
 
-
 &hdmi {
        status = "okay";
-       rockchips,hdmi_audio_source = <0>;
 };
 
 &adc {
         status = "disabled";
 };
 
+&pwm1 {
+        status = "okay";
+};
+
+&clk_core_b_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               //216000 950000
+               312000 950000
+               408000 950000
+               600000 975000
+               696000 975000
+               816000 1000000
+               1008000 1100000
+               1200000 1175000
+               1416000 1300000
+               1488000 1325000
+               1512000 1350000
+               >;
+       status = "okay";
+};
+
+&clk_core_l_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               //216000 950000
+               312000 950000
+               408000 950000
+               600000 950000
+               696000 975000
+               816000 1050000
+               1008000 1150000
+               1200000 1250000
+               //1300000 1300000
+               >;
+       status = "okay";
+};
+
+&clk_gpu_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               //200000 1200000
+               300000 1200000
+               400000 1200000
+               600000 1200000
+               >;
+};
+
 &clk_ddr_dvfs_table {
        operating-points = <
                /* KHz    uV */
                300000 1050000
                400000 1100000
                533000 1150000
+               800000 1200000
                >;
 
        freq-table = <
                /*status                freq(KHz)*/
-               SYS_STATUS_NORMAL       400000
-               SYS_STATUS_SUSPEND      200000
+               SYS_STATUS_NORMAL       800000
+               /*SYS_STATUS_SUSPEND    200000
                SYS_STATUS_VIDEO_1080P  240000
                SYS_STATUS_VIDEO_4K     400000
                SYS_STATUS_PERFORMANCE  528000
                SYS_STATUS_DUALVIEW     400000
                SYS_STATUS_BOOST        324000
-               SYS_STATUS_ISP          400000
+               SYS_STATUS_ISP          400000*/
                >;
        auto-freq-table = <
                240000
                528000
                >;
        auto-freq=<0>;
-       status="disabled";
+       status="okay";
 };
 
 &dwc_control_usb {
                host_drv_gpio = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>;
-               otg_drv_gpio = <&gpio0 GPIO_D1 GPIO_ACTIVE_LOW>;
+               otg_drv_gpio = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
 
                rockchip,remote_wakeup;
                rockchip,usb_irq_wakeup;
 };
 
 &ion_cma {
-       reg = <0x00000000 0x28000000>; /* 640MB */
+       reg = <0x00000000 0x00000000>; /* 0MB */
 };
 
 /*