Firefly开源社区

打印 上一主题 下一主题

[Android] rk3288 reload lvds与hdmi 双屏异显

64

积分

0

威望

0

贡献

技术小白

积分
64

rk3288 reload lvds与hdmi 双屏异显

发表于 2018-6-26 10:38:28      浏览:6930 | 回复:4        打印      只看该作者   [复制链接] 楼主
各位大神你们好,我最近遇到一个问题解决不了。
硬件平台:rk3288 reload
软件平台:android 5.1
目的:需要hdmi与lvds双屏异显
问题:已实现hdmi与lvds接口屏幕 双屏同显,但是想要hdmi主屏,lvds为副屏时,hdmi正常显示,lvds黑屏(通过修改dts文件,见附件)

想问下改dts中的prop可以实现吗?或者还是要修改其他东西

麻烦百忙之中答疑解惑,谢谢。


  1. [color=Yellow]#firefly-rk3288-reload.dts[/color]
  2. /dts-v1/;

  3. #include "rk3288.dtsi"
  4. //#include "lcd-box.dtsi"
  5. #include <dt-bindings/input/input.h>
  6. #include "lcd-b101ew05.dtsi"


  7. / {
  8.         fiq-debugger {
  9.                 status = "disabled";
  10.         };

  11.         hsic-usb-hub{
  12.                 compatible = "hub_reset";
  13.                 reset,pin =<&gpio7 GPIO_A6 GPIO_ACTIVE_HIGH>;        // hub reset pin
  14.                 status = "disabled";
  15.         };

  16.     wireless-wlan {
  17.         compatible = "wlan-platdata";

  18.         /* wifi_chip_type - wifi chip define
  19.         * bcmwifi ==> like ap6xxx, rk90x;
  20.         * rtkwifi ==> like rtl8188xx, rtl8723xx,rtl8812auv;
  21.         * esp8089 ==> esp8089;
  22.         * other   ==> for other wifi;
  23.         */
  24.         wifi_chip_type = "bcmwifi";
  25.         sdio_vref = <1800>; //1800mv or 3300mv

  26.         //keep_wifi_power_on;
  27.         //power_ctrl_by_pmu;
  28.         power_pmu_regulator = "act_ldo3";
  29.         power_pmu_enable_level = <1>; //1->HIGH, 0->LOW

  30.         //vref_ctrl_enable;
  31.         //vref_ctrl_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
  32.         vref_pmu_regulator = "act_ldo3";
  33.         vref_pmu_enable_level = <1>; //1->HIGH, 0->LOW

  34.         WIFI,poweren_gpio = <&gpio4 GPIO_D4 GPIO_ACTIVE_HIGH>;
  35.         WIFI,host_wake_irq = <&gpio4 GPIO_D6 GPIO_ACTIVE_HIGH>;
  36.         //WIFI,reset_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;

  37.         status = "okay";
  38.     };

  39.     wireless-bluetooth {
  40.         compatible = "bluetooth-platdata";

  41.         //wifi-bt-power-toggle;

  42.         uart_rts_gpios = <&gpio4 GPIO_C3 GPIO_ACTIVE_LOW>;
  43.         pinctrl-names = "default","rts_gpio";
  44.         pinctrl-0 = <&uart0_rts>;
  45.         pinctrl-1 = <&uart0_rts_gpio>;

  46.         BT,power_gpio = <&gpio8 GPIO_A7 GPIO_ACTIVE_HIGH>;
  47.         BT,reset_gpio = <&gpio4 GPIO_D5 GPIO_ACTIVE_HIGH>;
  48.         BT,wake_gpio = <&gpio4 GPIO_D2 GPIO_ACTIVE_HIGH>;
  49.         BT,wake_host_irq = <&gpio4 GPIO_D7 GPIO_ACTIVE_LOW>;

  50.         status = "okay";
  51.     };

  52.         pwm_regulator {
  53.                 compatible = "rockchip_pwm_regulator";
  54.                 pwms = <&pwm1 0 2000>;
  55.                 rockchip,pwm_id= <1>;
  56.                 rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>;
  57.                 rockchip,pwm_voltage= <1100000>;
  58.                 rockchip,pwm_min_voltage= <925000>;
  59.                 rockchip,pwm_max_voltage= <1400000>;
  60.                 rockchip,pwm_suspend_voltage= <950000>;
  61.                 rockchip,pwm_coefficient= <475>;
  62.                 regulators {
  63.                         #address-cells = <1>;
  64.                         #size-cells = <0>;
  65.                         pwm_reg0: regulator@0 {
  66.                                 regulator-compatible = "pwm_dcdc1";
  67.                                 regulator-name= "vdd_logic";
  68.                                 regulator-min-microvolt = <925000>;
  69.                                 regulator-max-microvolt = <1400000>;
  70.                                 regulator-always-on;
  71.                                 regulator-boot-on;
  72.                         };
  73.                 };
  74.         };

  75.         codec_hdmi_i2s: codec-hdmi-i2s {
  76.                 compatible = "hdmi-i2s";
  77.         };

  78.         codec_hdmi_spdif: codec-hdmi-spdif {
  79.                 compatible = "hdmi-spdif";
  80.         };

  81.         rockchip-hdmi-i2s {
  82.                 status = "disabled";
  83.                 compatible = "rockchip-hdmi-i2s";
  84.                 dais {
  85.                         dai0 {
  86.                                 audio-codec = <&codec_hdmi_i2s>;
  87.                                 audio-controller = <&i2s>;
  88.                                 format = "i2s";
  89.                                 //continuous-clock;
  90.                                 //bitclock-inversion;
  91.                                 //frame-inversion;
  92.                                 //bitclock-master;
  93.                                 //frame-master;
  94.                         };
  95.                 };
  96.         };



  97.         rockchip-spdif-card {
  98.                 compatible = "rockchip-spdif-card";
  99.                 dais {
  100.                         dai0 {
  101.                                 audio-codec = <&codec_hdmi_spdif>;
  102.                                 audio-controller = <&spdif>;
  103.                         };
  104.                 };
  105.         };

  106.         rockchip-es8323 {
  107.                 compatible = "rockchip-es8323";
  108.                 dais {
  109.                         dai0 {
  110.                                 audio-codec = <&es8323>;
  111.                                 audio-controller = <&i2s>;
  112.                                 format = "i2s";
  113.                                 //continuous-clock;
  114.                                 //bitclock-inversion;
  115.                                 //frame-inversion;
  116.                                 //bitclock-master;
  117.                                 //frame-master;
  118.                         };
  119.                 };
  120.         };
  121.         rkxx-remotectl{
  122.                 compatible = "rockchip,remotectl";
  123.                 module-gpios = <&gpio7 GPIO_A0 GPIO_ACTIVE_LOW>;
  124.         led-power = <&gpio8 GPIO_A1 GPIO_ACTIVE_LOW>;
  125.                 status = "disabled";
  126.         };
  127.         leds {
  128.        compatible = "gpio-leds";
  129.        power {
  130.            label = "firefly:blue:power";
  131.            linux,default-trigger = "ir-power-click";
  132.            default-state = "on";
  133.            gpios = <&gpio8 GPIO_A1 GPIO_ACTIVE_LOW>;
  134.        };  
  135.         user {
  136.            label = "firefly:yellow:user";
  137.            linux,default-trigger = "ir-user-click";
  138.            default-state = "off";
  139.            gpios = <&gpio8 GPIO_A2 GPIO_ACTIVE_LOW>;
  140.        };  
  141.        sata {
  142.            label = "firefly:blue:sata";
  143.            //linux,default-trigger = "ir-user-click";
  144.            default-state = "on";
  145.            gpios = <&gpio0 GPIO_C1 GPIO_ACTIVE_HIGH>;
  146.        };  
  147.    };

  148.         usb_control {
  149.                 compatible = "rockchip,rk3288-usb-control";

  150.                 host_drv_gpio = <&gpio0 GPIO_B6 GPIO_ACTIVE_LOW>;
  151.                 otg_drv_gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_LOW>;

  152.                 rockchip,remote_wakeup;
  153.                 rockchip,usb_irq_wakeup;
  154.         };

  155.         test-power{
  156.                 status = "disabled";
  157.         };

  158.     rgb2hdmi {
  159.         compatible = "firefly,rgb2hdmi";
  160.         power-gpio = <&gpio7 GPIO_A2 GPIO_ACTIVE_HIGH>;
  161.         lcdc-gpio = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
  162.         hpd-gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
  163.                 rockchip,source = <0>; //0: LCDC0; 1: LCDC1
  164.                 rockchip,prop = <PRMRY>;//<EXTEND>
  165.                 status = "disabled";
  166.     };
  167. };

  168. &gmac {
  169. //        pmu_regulator = "act_ldo5";
  170. //        pmu_enable_level = <1>; //1->HIGH, 0->LOW
  171. //        power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
  172.         reset-gpio = <&gpio4 GPIO_B0 GPIO_ACTIVE_LOW>;
  173.         phy-mode = "rgmii";
  174.         clock_in_out = "input";
  175.         tx_delay = <0x30>;
  176.         rx_delay = <0x20>;
  177. };

  178. &uart_dbg {
  179.          status = "okay";
  180. };

  181. &pinctrl {
  182.         //used for init some gpio
  183.        
  184.         init-gpios = <&gpio4 GPIO_B0 GPIO_ACTIVE_HIGH>;
  185.         gpio0_gpio {
  186.                         gpio0_c2: gpio0-c2 {
  187.                                 rockchip,pins = <GPIO0_C2>;
  188.                                 rockchip,pull = <VALUE_PULL_DOWN>;
  189.                         };

  190.                         //to add
  191.                 };

  192.         gpio7_gpio {
  193.                         gpio7_b7: gpio7-b7 {
  194.                                 rockchip,pins = <GPIO7_B7>;
  195.                                 rockchip,pull = <VALUE_PULL_UP>;
  196.                         };

  197.                         //to add
  198.                 };
  199.         //could add other pinctrl definition such as gpio

  200.         // gmac drive strength
  201.         gpio4_gmac {
  202.                 mac_clk: mac-clk {
  203.                         rockchip,drive = <VALUE_DRV_12MA>;
  204.                 };

  205.                 mac_txpins: mac-txpins {
  206.                         rockchip,drive = <VALUE_DRV_12MA>;
  207.                 };

  208.                 mac_rxpins: mac-rxpins {
  209.                         rockchip,drive = <VALUE_DRV_12MA>;
  210.                 };

  211.                 mac_crs: mac-crs {
  212.                         rockchip,drive = <VALUE_DRV_12MA>;
  213.                 };

  214.                 mac_mdpins: mac-mdpins {
  215.                         rockchip,drive = <VALUE_DRV_12MA>;
  216.                 };
  217.         };
  218. };
  219. &nandc0 {
  220.         status = "okay"; // used nand set "okay" ,used emmc set "disabled"
  221. };
  222. &nandc1 {
  223.         status = "disabled"; // used nand set "okay" ,used emmc set "disabled"
  224. };

  225. &nandc0reg {
  226.         status = "disabled"; // used nand set "okay" ,used emmc set "disabled"
  227. };
  228. &emmc {
  229.         clock-frequency = <100000000>;
  230.         clock-freq-min-max = <400000 100000000>;

  231.         supports-highspeed;
  232.         supports-emmc;
  233.         bootpart-no-access;

  234.         //supports-tSD;//only tsd-sdcard mode
  235.         supports-DDR_MODE;
  236.         caps2-mmc-hs200;

  237.         ignore-pm-notify;
  238.                 keep-power-in-suspend;
  239.                 //poll-hw-reset
  240.                 status = "okay";
  241. };

  242. &sdmmc {
  243.                 clock-frequency = <50000000>;
  244.                 lock-freq-min-max = <400000 50000000>;
  245.                 supports-highspeed;
  246.                 supports-sd;
  247.                 broken-cd;
  248.                 card-detect-delay = <200>;

  249.                 ignore-pm-notify;
  250.                 keep-power-in-suspend;

  251.                 vmmc-supply = <&ldo1_reg>;
  252.                 status = "okay";
  253. };

  254. &sdio {
  255.                 clock-frequency = <50000000>;
  256.                 clock-freq-min-max = <200000 50000000>;
  257.                 supports-highspeed;
  258.                 supports-sdio;
  259.                 ignore-pm-notify;
  260.                 keep-power-in-suspend;
  261.                 //cap-sdio-irq;
  262.                 status = "okay";
  263. };

  264. &spi0 {
  265.         status = "disabled";
  266.         max-freq = <48000000>;
  267.         /*
  268.         spi_test@00 {
  269.                 compatible = "rockchip,spi_test_bus0_cs0";
  270.                 reg = <0>;
  271.                 spi-max-frequency = <24000000>;
  272.                 //spi-cpha;
  273.                 //spi-cpol;
  274.                 poll_mode = <0>;
  275.                 type = <0>;
  276.                 enable_dma = <0>;

  277.         };

  278.         spi_test@01 {
  279.                 compatible = "rockchip,spi_test_bus0_cs1";
  280.                 reg = <1>;
  281.                 spi-max-frequency = <24000000>;
  282.                 spi-cpha;
  283.                 spi-cpol;
  284.                 poll_mode = <0>;
  285.                 type = <0>;
  286.                 enable_dma = <0>;
  287.         };
  288.         */
  289. };

  290. &spi1 {
  291.         status = "disabled";
  292.         max-freq = <48000000>;
  293.         /*
  294.         spi_test@10 {
  295.                 compatible = "rockchip,spi_test_bus1_cs0";
  296.                 reg = <0>;
  297.                 spi-max-frequency = <24000000>;
  298.                 //spi-cpha;
  299.                 //spi-cpol;
  300.                 poll_mode = <0>;
  301.                 type = <0>;
  302.                 enable_dma = <0>;
  303.         };

  304.         */
  305.         //dtv: connect to dtv demodulator for control signal
  306.         /*tstv-ctrl@00 {
  307.                 compatible = "rockchip,dtv_spi_ctrl";
  308.                 gpio-powerup = <&gpio0 GPIO_D7 GPIO_ACTIVE_HIGH>;
  309.                 gpio-powerdown = <&gpio2 GPIO_B6 GPIO_ACTIVE_HIGH>;
  310.                 gpio-reset = <&gpio2 GPIO_B7 GPIO_ACTIVE_HIGH>;
  311.                 gpio-nreset = <&gpio2 GPIO_B4 GPIO_ACTIVE_HIGH>;
  312.                 spi-max-frequency = <12000000>;
  313.                 reg = <0>;
  314.                 poll_mode = <0>;
  315.                 type = <0>;
  316.                 enable_dma = <0>;
  317.         };*/

  318. };

  319. &spi2 {
  320.         status = "disabled";
  321.         max-freq = <48000000>;
  322.         /*
  323.         spi_test@20 {
  324.                 compatible = "rockchip,spi_test_bus2_cs0";
  325.                 reg = <0>;
  326.                 spi-max-frequency = <24000000>;
  327.                 //spi-cpha;
  328.                 //spi-cpol;
  329.                 poll_mode = <0>;
  330.                 type = <0>;
  331.                 enable_dma = <0>;
  332.         };

  333.         spi_test@21 {
  334.                 compatible = "rockchip,spi_test_bus2_cs1";
  335.                 reg = <1>;
  336.                 spi-max-frequency = <24000000>;
  337.                 //spi-cpha;
  338.                 //spi-cpol;
  339.                 poll_mode = <0>;
  340.                 type = <0>;
  341.                 enable_dma = <0>;
  342.         };
  343.         */
  344. };

  345. &uart_bt {
  346.         status = "okay";
  347.         dma-names = "!tx", "!rx";
  348.         pinctrl-0 = <&uart0_xfer &uart0_cts>;
  349. };

  350. &uart_bb {
  351.     status = "okay";
  352. };

  353. &uart_gps {
  354.     status = "okay";
  355. };

  356. &i2c0 {
  357.         status = "okay";
  358.         rk808: rk808@1b {
  359.                 reg = <0x1b>;
  360.                 status = "okay";
  361.         };
  362.                 syr827: syr827@40 {
  363.                 compatible = "silergy,syr82x";
  364.         reg = <0x40>;
  365.                 status = "okay";
  366.                 regulators {
  367.                         #address-cells = <1>;
  368.                         #size-cells = <0>;
  369.                         syr827_dc1: regulator@0 {
  370.                         reg = <0>;
  371.                         regulator-compatible = "syr82x_dcdc1";
  372.                         regulator-name = "vdd_arm";
  373.                         regulator-min-microvolt = <712500>;
  374.                         regulator-max-microvolt = <1500000>;
  375.                         regulator-always-on;
  376.                         regulator-boot-on;
  377.                         regulator-initial-mode = <0x2>;
  378.                         regulator-initial-state = <3>;
  379.                         regulator-state-mem {
  380.                                 regulator-state-mode = <0x2>;
  381.                                 regulator-state-enabled;
  382.                                 regulator-state-uv = <900000>;
  383.                         };
  384.                 };
  385.            };
  386.         };
  387.         syr828: syr828@41 {
  388.                 compatible = "silergy,syr82x";
  389.                 reg = <0x41>;
  390.                 status = "okay";
  391.                 regulators {
  392.                         #address-cells = <1>;
  393.                         #size-cells = <0>;
  394.                         syr828_dc1: regulator@0 {
  395.                         reg = <0>;
  396.                         regulator-compatible = "syr82x_dcdc1";
  397.                         regulator-name = "vdd_gpu";
  398.                         regulator-min-microvolt = <712500>;
  399.                         regulator-max-microvolt = <1500000>;
  400.                         regulator-always-on;
  401.                 regulator-boot-on;
  402.                         regulator-initial-mode = <0x2>;
  403.                         regulator-initial-state = <3>;
  404.                         regulator-state-mem {
  405.                                 regulator-state-mode = <0x2>;
  406.                                 regulator-state-disabled;
  407.                                 regulator-state-uv = <900000>;
  408.                         };
  409.                 };
  410.            };
  411.         };
  412.         act8846: act8846@5a {
  413.                 reg = <0x5a>;
  414.                 status = "okay";
  415.         };

  416.         rtc@51 {
  417.                 compatible = "rtc,hym8563";
  418.                 reg = <0x51>;
  419.                 irq_gpio = <&gpio7 GPIO_A4 IRQ_TYPE_EDGE_FALLING>;
  420.         };
  421. };

  422. &i2c1 {
  423.         status = "okay";
  424.         rtc@51 {
  425.                 compatible = "nxp,pcf8563";
  426.                 reg = <0x51>;
  427.         };
  428.         tc358749@0f {
  429.                 compatible = "rockchip,tc358749";
  430.                 reg = <0x0f>;
  431.                 gpio-power = <&gpio7 GPIO_C5 GPIO_ACTIVE_HIGH>;//264
  432.                 gpio-stanby = <&gpio7 GPIO_A5 GPIO_ACTIVE_HIGH>;//238
  433.                 gpio-reset = <&gpio8 GPIO_B0 GPIO_ACTIVE_HIGH>;//262
  434.                 gpio-int = <&gpio8 GPIO_B1 GPIO_ACTIVE_HIGH>;//239
  435.                 status = "okay";
  436.         };
  437. };

  438. &i2c2 {
  439.         status = "okay";
  440.         es8323: es8323@10 {
  441.             compatible = "es8323";
  442.                 reg = <0x10>;
  443.                 spk-con-gpio = <&gpio0 GPIO_B2 GPIO_ACTIVE_HIGH>;
  444.                 hp-det-gpio = <&gpio7 GPIO_B7 GPIO_ACTIVE_HIGH>;
  445.                 hp-mic-only = <1>;
  446.                 clocks = <&clk_i2s>, <&clk_i2s_out>;
  447.                 clock-names = "i2s_clk","i2s_mclk";
  448.                 pinctrl-names = "default";
  449.                 pinctrl-0 = <&i2s_mclk>;
  450.         };
  451. };

  452. &i2c3 {
  453.         status = "okay";
  454. };

  455. &i2c4 {
  456.         status = "okay";
  457.         vga_ddc@50 {
  458.                 compatible = "firefly,vga_ddc";
  459.                 reg = <0x50>;
  460.                 rockchip,source = <0>; //0: LCDC0; 1: LCDC1
  461.                 rockchip,prop = <EXTEND>;//<EXTEND>
  462.                 status = "disabled";
  463.         };       

  464.         mt@40 {
  465.                  status = "disabled";
  466.                  compatible = "firefly,gsl3680";
  467.                  reg = <0x40>;
  468.                  touch-gpio = <&gpio7 GPIO_B5 IRQ_TYPE_EDGE_RISING>;
  469.                  //reset-gpio = <&gpio7 GPIO_B1 GPIO_ACTIVE_LOW>;
  470.                  max-y = <2048>;
  471.                  max-x = <1536>;
  472.                  flip-x = <1>;
  473.                  flip-y = <1>;
  474.                  swap-xy = <0>;
  475.          };

  476.         mpu6050:mpu@68{
  477.             status = "disabled";
  478.             compatible = "mpu6050";
  479.             reg = <0x68>;
  480.             mpu-int_config = <0x10>;
  481.             mpu-level_shifter = <0>;
  482.             mpu-orientation = <0 1 0 1 0 0 0 0 1>;
  483.             orientation-x= <1>;
  484.             orientation-y= <1>;
  485.             orientation-z= <1>;
  486.             irq-gpio = <&gpio7 GPIO_B1 IRQ_TYPE_LEVEL_LOW>;
  487.             mpu-debug = <0>;
  488.         };
  489. };

  490. &i2c5 {
  491.         status = "disabled";
  492. };

  493. &fb {
  494.         rockchip,disp-mode = <DUAL>;
  495.         rockchip,uboot-logo-on = <1>;
  496.         rockchip,disp-policy = <DISPLAY_POLICY_SDK>;
  497. };

  498. &disp_timings {
  499.         native-mode = <&timing0>;
  500. };

  501. &rk_screen {
  502.          display-timings = <&disp_timings>;
  503. };

  504. /*lcdc0 as PRMRY(HDMI)*/
  505. &lcdc0 {
  506.         status = "okay";
  507.         rockchip,iommu-enabled = <1>;
  508.         //rockchip,prop = <PRMRY>;
  509.         rockchip,prop = <EXTEND>;
  510.         power_ctr: power_ctr {
  511.                 rockchip,debug = <1>;
  512.                        
  513.                 lcd_en:lcd_en {
  514.                         rockchip,power_type = <GPIO>;
  515.                         gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
  516.                         rockchip,delay = <10>;
  517.                 };
  518.                 /*
  519.                 lcd_cs:lcd_cs {
  520.                         rockchip,power_type = <GPIO>;
  521.                         gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
  522.                         rockchip,delay = <10>;
  523.                 };

  524.                 lcd_rst:lcd_rst {
  525.                         rockchip,power_type = <GPIO>;
  526.                         gpios = <&gpio0 GPIO_B5 GPIO_ACTIVE_LOW>;
  527.                         rockchip,delay = <10>;
  528.                 };
  529.                 */
  530.         };
  531.        


  532. };

  533. &lcdc1 {
  534.         status = "okay";
  535.         rockchip,iommu-enabled = <1>;
  536.         rockchip,prop = <PRMRY>;
  537.         //rockchip,prop = <EXTEND>;
  538.        
  539. };

  540. &hdmi {
  541.         status = "okay";
  542.         rockchip,cec_enable = <0>;
  543.         rockchip,hdcp_enable = <0>;
  544.         rockchip,hdmi_audio_source = <0>;
  545.         rockchip,hdmi_video_source = <DISPLAY_SOURCE_LCDC1>;
  546.         
  547. };

  548. &ion_cma {
  549.                reg = <0x00000000 0x1000000>; /* 16MB */
  550. };

  551. &vpu {
  552.         iommu_enabled = <1>;
  553. };

  554. &hevc {
  555.         iommu_enabled = <1>;
  556. };

  557. &iep {
  558.         iommu_enabled = <1>;
  559. };

  560. &adc {
  561.         status = "okay";

  562.         key {
  563.                 compatible = "rockchip,key";
  564.                
  565.                 io-channels = <&adc 1>;
  566.                 /*
  567.                 vol-up-key {
  568.                         linux,code = <115>;
  569.                         label = "volume up";
  570.                         rockchip,adc_value = <1>;
  571.                 };

  572.                 vol-down-key {
  573.                         linux,code = <114>;
  574.                         label = "volume down";
  575.                         rockchip,adc_value = <170>;
  576.                 };
  577.                 */
  578.                 power-key {
  579.                         gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
  580.                         linux,code = <116>;
  581.                         label = "power";
  582.                         gpio-key,wakeup;
  583.                 };
  584.                 recovery-key {
  585.                         linux,code = <113>;
  586.                         label = "recovery";
  587.                         rockchip,adc_value = <4>;
  588.                 };
  589.                 /*
  590.                 menu-key {
  591.                         linux,code = <59>;
  592.                         label = "menu";
  593.                         rockchip,adc_value = <355>;
  594.                 };

  595.                 home-key {
  596.                         linux,code = <102>;
  597.                         label = "home";
  598.                         rockchip,adc_value = <746>;
  599.                 };

  600.                 back-key {
  601.                         linux,code = <158>;
  602.                         label = "back";
  603.                         rockchip,adc_value = <560>;
  604.                 };

  605.                 camera-key {
  606.                         linux,code = <212>;
  607.                         label = "camera";
  608.                         rockchip,adc_value = <450>;
  609.                 };*/
  610.         };
  611. };

  612. &pwm0 {
  613.         interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  614.         status = "okay";
  615. };

  616. &pwm1 {
  617.         status = "okay";
  618. };


  619. &clk_core_dvfs_table {
  620.         support-pvtm = <0>;
  621.         pvtm-operating-points = <
  622.                 /* KHz    uV         pvtm margin*/
  623.                 126000 900000        25000
  624.                 216000 900000        25000
  625.                 312000 900000        25000
  626.                 408000 900000        25000
  627.                 600000 950000        50000
  628.                 696000 950000        25000
  629.                 816000 1000000        25000
  630.                 1008000 1050000        25000
  631.                 1200000 1100000        25000
  632.                 1416000 1200000        25000
  633.                 1512000 1300000        25000
  634.                 1608000 1350000        25000
  635.                 1704000 1350000        25000
  636.                 1800000 1350000        25000
  637.                 >;
  638.         status="okay";
  639. };

  640. &clk_gpu_dvfs_table {
  641.         operating-points = <
  642.                 /* KHz    uV */
  643. //                100000 900000
  644.                 200000 900000
  645.                 300000 950000
  646.                 420000 1100000
  647.                 500000 1150000
  648. //                600000 1250000
  649.                 >;
  650.         status="okay";
  651. };

  652. &clk_ddr_dvfs_table {
  653.         operating-points = <
  654.                 /* KHz    uV */
  655.                 200000 1075000
  656.                 300000 1075000               
  657.                 456000 1125000
  658.                 533000 1150000
  659.                 >;

  660.         freq-table = <
  661.                 /*status                freq(KHz)*/
  662.                 SYS_STATUS_NORMAL        456000
  663.                 SYS_STATUS_SUSPEND        200000
  664.                 //SYS_STATUS_VIDEO_1080P  240000
  665.                 SYS_STATUS_VIDEO_4K     456000
  666.                 SYS_STATUS_PERFORMANCE  533000
  667.                 //SYS_STATUS_BOOST        324000
  668.                 //SYS_STATUS_ISP        400000
  669.                 >;
  670.         auto-freq-table = <
  671.                 240000
  672.                 324000
  673.                 456000
  674.                 528000
  675.                 >;
  676.         auto-freq=<0>;
  677.         status="okay";
  678. };
  679. /include/ "act8846.dtsi"
  680. &act8846 {
  681.         gpios =<&gpio7 GPIO_B6 GPIO_ACTIVE_LOW>,<&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
  682.         cpu_det_gpio =<&gpio7 GPIO_B2 GPIO_ACTIVE_LOW>;
  683.         usb_hub_reset_gpio =<&gpio8 GPIO_A3 GPIO_ACTIVE_LOW>;
  684.         act8846,system-power-controller;

  685.         regulators {

  686.                 dcdc1_reg: regulator@0{
  687.                         regulator-name= "act_dcdc1";
  688.                         regulator-min-microvolt = <1200000>;
  689.                         regulator-max-microvolt = <1200000>;
  690.                         regulator-always-on;
  691.                         regulator-boot-on;
  692.                 };

  693.                 dcdc2_reg: regulator@1 {
  694.                         regulator-name= "vccio";
  695.                         regulator-min-microvolt = <3300000>;
  696.                         regulator-max-microvolt = <3300000>;
  697.                         regulator-initial-state = <3>;
  698.                         regulator-state-mem {
  699.                                 regulator-state-enabled;
  700.                                 regulator-state-uv = <3300000>;
  701.                         };
  702.                 };

  703.                 dcdc3_reg: regulator@2 {
  704.                         regulator-name= "vdd_logic";
  705.                         regulator-min-microvolt = <700000>;
  706.                         regulator-max-microvolt = <1500000>;
  707.                         regulator-initial-state = <3>;
  708.                         regulator-state-mem {
  709.                                 regulator-state-enabled;
  710.                                 regulator-state-uv = <1200000>;
  711.                         };

  712.                 };

  713.                 dcdc4_reg: regulator@3 {
  714.                         regulator-name= "act_dcdc4";
  715.                         regulator-min-microvolt = <2000000>;
  716.                         regulator-max-microvolt = <2000000>;
  717.                                 regulator-initial-state = <3>;
  718.                         regulator-state-mem {
  719.                                 regulator-state-enabled;
  720.                                 regulator-state-uv = <2000000>;
  721.                         };
  722.                 };

  723.                 ldo1_reg: regulator@4 {
  724.                         regulator-name= "vccio_sd";
  725.                         regulator-min-microvolt = <1800000>;
  726.                         regulator-max-microvolt = <3300000>;

  727.                 };

  728.                 ldo2_reg: regulator@5 {
  729.                         regulator-name= "act_ldo2";
  730.                         regulator-min-microvolt = <1050000>;
  731.                         regulator-max-microvolt = <1050000>;

  732.                 };

  733.                 ldo3_reg: regulator@6 {
  734.                         regulator-name= "act_ldo3";
  735.                         regulator-min-microvolt = <3300000>;
  736.                         regulator-max-microvolt = <3300000>;
  737.                        
  738.                 };

  739.                 ldo4_reg:regulator@7 {
  740.                         regulator-name= "act_ldo4";
  741.                         regulator-min-microvolt = <3300000>;
  742.                         regulator-max-microvolt = <3300000>;

  743.                 };

  744.                 ldo5_reg: regulator@8 {
  745.                         regulator-name= "act_ldo5";
  746.                         regulator-min-microvolt = <3300000>;
  747.                         regulator-max-microvolt = <3300000>;

  748.                 };

  749.                 ldo6_reg: regulator@9 {
  750.                         regulator-name= "act_ldo6";
  751.                         regulator-min-microvolt = <1100000>;
  752.                         regulator-max-microvolt = <1100000>;
  753.                         regulator-initial-state = <3>;
  754.                         regulator-state-mem {
  755.                                 regulator-state-enabled;
  756.                         };

  757.                 };

  758.                 ldo7_reg: regulator@10 {
  759.                         regulator-name= "vcc_18";
  760.                         regulator-min-microvolt = <1800000>;
  761.                         regulator-max-microvolt = <1800000>;
  762.                         regulator-initial-state = <3>;
  763.                         regulator-state-mem {
  764.                                 regulator-state-enabled;
  765.                         };

  766.                 };

  767.                 ldo8_reg: regulator@11 {
  768.                         regulator-name= "act_ldo8";
  769.                         regulator-min-microvolt = <1850000>;
  770.                         regulator-max-microvolt = <1850000>;

  771.                 };
  772.         };
  773. };

  774. /include/ "rk808.dtsi"
  775. &rk808 {
  776.         gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
  777.         rk808,system-power-controller;

  778.         regulators {

  779.                 rk808_dcdc1_reg: regulator@0{
  780.                         regulator-name= "vdd_arm";
  781.                         regulator-always-on;
  782.                         regulator-boot-on;
  783.                 };

  784.                 rk808_dcdc2_reg: regulator@1 {
  785.                         regulator-name= "vdd_gpu";
  786.                         regulator-always-on;
  787.                         regulator-boot-on;
  788.                 };

  789.                 rk808_dcdc3_reg: regulator@2 {
  790.                         regulator-name= "rk_dcdc3";
  791.                         regulator-min-microvolt = <1200000>;
  792.                         regulator-max-microvolt = <1200000>;
  793.                         regulator-always-on;
  794.                         regulator-boot-on;
  795.                 };

  796.                 rk808_dcdc4_reg: regulator@3 {
  797.                         regulator-name= "vccio";
  798.                         regulator-min-microvolt = <1800000>;
  799.                         regulator-max-microvolt = <3300000>;
  800.                         regulator-always-on;
  801.                         regulator-boot-on;
  802.                 };

  803.     /* NO USED, 3.3V*/
  804.                 rk808_ldo1_reg: regulator@4 {
  805.                         regulator-name= "rk_ldo1";
  806.                         regulator-min-microvolt = <3300000>;
  807.                         regulator-max-microvolt = <3300000>;
  808.                         regulator-always-on;
  809.                         regulator-boot-on;
  810.                 };

  811.     /* BOX:RK1000s, 3.3V  */
  812.                 rk808_ldo2_reg: regulator@5 {
  813.                         regulator-name= "rk_ldo2";
  814.                         regulator-min-microvolt = <3300000>;
  815.                         regulator-max-microvolt = <3300000>;
  816.                         regulator-always-on;
  817.                         regulator-boot-on;
  818.                 };

  819.     /* RK3288 PLL,USB PHY, 1.0V */
  820.                 rk808_ldo3_reg: regulator@6 {
  821.                         regulator-name= "rk_ldo3";
  822.                         regulator-min-microvolt = <1000000>;
  823.                         regulator-max-microvolt = <1000000>;
  824.                         regulator-always-on;
  825.                         regulator-boot-on;
  826.                 };

  827.     /* BOX:RK1000S CORE, 1.8V  */
  828.                 rk808_ldo4_reg:regulator@7 {
  829.                         regulator-name= "rk_ldo4";
  830.                         regulator-min-microvolt = <1800000>;
  831.                         regulator-max-microvolt = <1800000>;
  832.                         regulator-always-on;
  833.                         regulator-boot-on;
  834.                 };

  835.     /* SDMMC IO, 3.3V*/
  836.                 rk808_ldo5_reg: regulator@8 {
  837.                         regulator-name= "rk_ldo5";
  838.                         regulator-min-microvolt = <3300000>;
  839.                         regulator-max-microvolt = <3300000>;
  840.                         regulator-always-on;
  841.                         regulator-boot-on;
  842.                 };

  843.     /* CAMERA, 1.8V  box modify*/
  844.                 rk808_ldo6_reg: regulator@9 {
  845.                         regulator-name= "rk_ldo6";
  846.                         regulator-min-microvolt = <1800000>;
  847.                         regulator-max-microvolt = <1800000>;
  848.                         regulator-always-on;
  849.                         regulator-boot-on;
  850.                 };

  851.     /* RK3288 USB PHY, SAR-ADC, WIFI IO, 1.8V */
  852.                 rk808_ldo7_reg: regulator@10 {
  853.                         regulator-name= "rk_ldo7";
  854.                         regulator-min-microvolt = <1800000>;
  855.                         regulator-max-microvolt = <1800000>;
  856.                         regulator-always-on;
  857.                         regulator-boot-on;
  858.                 };

  859.     /* DTV, 3.3V  box modify*/
  860.                 rk808_ldo8_reg: regulator@11 {
  861.                         regulator-name= "rk_ldo8";
  862.                         regulator-min-microvolt = <3300000>;
  863.                         regulator-max-microvolt = <3300000>;
  864.                         regulator-always-on;
  865.                         regulator-boot-on;
  866.                 };

  867.                 rk808_ldo9_reg: regulator@12 {
  868.                         regulator-name= "rk_ldo9";
  869.                         regulator-always-on;
  870.                         regulator-boot-on;
  871.                 };

  872.                 rk808_ldo10_reg: regulator@13 {
  873.                         regulator-name= "rk_ldo10";
  874.                         regulator-always-on;
  875.                         regulator-boot-on;
  876.                 };
  877.         };
  878. };

  879. &lcdc_vdd_domain {
  880.         regulator-name = "vcc30_lcd";
  881.         };
  882. &dpio_vdd_domain{
  883.         regulator-name = "vcc18_cif";
  884.         };
  885. &flash0_vdd_domain{
  886.         regulator-name = "vcc_flash";
  887.         };
  888. &flash1_vdd_domain{
  889.         regulator-name = "vcc_flash";
  890.         };
  891. &apio3_vdd_domain{
  892.         regulator-name = "vccio_wl";
  893.         };
  894. &apio5_vdd_domain{
  895.         regulator-name = "vccio";
  896.         };
  897. &apio4_vdd_domain{
  898.         regulator-name = "vccio";
  899.         };
  900. &apio1_vdd_domain{
  901.         regulator-name = "vccio";
  902.         };
  903. &apio2_vdd_domain{
  904.         regulator-name = "vccio";
  905.         };
  906. &sdmmc0_vdd_domain{
  907.         regulator-name = "vcc_sd";
  908.         };

  909. /*
  910. * Due to not have the software of PWM for remotectrl.
  911. * We can _*HACK*_ do that as the following.
  912. */
  913. &pwm0 {
  914.         compatible = "rockchip,remotectl-pwm";
  915.         remote_pwm_id = <0>;

  916.         handle_cpu_id = <1>;
  917.         status = "okay";
  918.         ir_key1{
  919.                 rockchip,usercode = <0xff00>;
  920.                 rockchip,key_table =
  921.                         <0xeb   KEY_POWER>,
  922.                         <0xec   KEY_MENU>,
  923.                         <0xfe   KEY_BACK>,
  924.                         <0xb7   KEY_HOME>,
  925.                         <0xa3   250>,
  926.                         <0xf4   KEY_VOLUMEUP>,
  927.                         <0xa7   KEY_VOLUMEDOWN>,
  928.                         <0xf8   KEY_REPLY>,
  929.                         <0xfc   KEY_UP>,
  930.                         <0xfd   KEY_DOWN>,
  931.                         <0xf1   KEY_LEFT>,
  932.                         <0xe5   KEY_RIGHT>;
  933.         };
  934. };
复制代码


#rk3288.dtsi
  1. #include <dt-bindings/clock/rk_system_status.h>
  2. #include <dt-bindings/interrupt-controller/arm-gic.h>
  3. #include <dt-bindings/rkfb/rk_fb.h>
  4. #include <dt-bindings/rkmipi/mipi_dsi.h>
  5. #include <dt-bindings/suspend/rockchip-pm.h>
  6. #include <dt-bindings/sensor-dev.h>

  7. #include "skeleton.dtsi"
  8. #include "rk3288-pinctrl.dtsi"
  9. #include "rk3288-clocks.dtsi"

  10. / {
  11.         compatible = "rockchip,rk3288";
  12.         rockchip,sram = <&sram>;
  13.         interrupt-parent = <&gic>;

  14.         aliases {
  15.                 serial0 = &uart_bt;
  16.                 serial1 = &uart_bb;
  17.                 serial2 = &uart_dbg;
  18.                 serial3 = &uart_gps;
  19.                 serial4 = &uart_exp;
  20.                 i2c0 = &i2c0;
  21.                 i2c1 = &i2c1;
  22.                 i2c2 = &i2c2;
  23.                 i2c3 = &i2c3;
  24.                 i2c4 = &i2c4;
  25.                 i2c5 = &i2c5;
  26.                 lcdc0 = &lcdc0;
  27.                 lcdc1 = &lcdc1;
  28.                 spi0 = &spi0;
  29.                 spi1 = &spi1;
  30.                 spi2 = &spi2;
  31.         };

  32.         cpus {
  33.                 #address-cells = <1>;
  34.                 #size-cells = <0>;

  35.                 cpu@0 {
  36.                         device_type = "cpu";
  37.                         compatible = "arm,cortex-a15";
  38.                         reg = <0x500>;
  39.                 };
  40.                 cpu@1 {
  41.                         device_type = "cpu";
  42.                         compatible = "arm,cortex-a15";
  43.                         reg = <0x501>;
  44.                 };
  45.                 cpu@2 {
  46.                         device_type = "cpu";
  47.                         compatible = "arm,cortex-a15";
  48.                         reg = <0x502>;
  49.                 };
  50.                 cpu@3 {
  51.                         device_type = "cpu";
  52.                         compatible = "arm,cortex-a15";
  53.                         reg = <0x503>;
  54.                 };
  55.         };

  56.         gic: interrupt-controller@ffc01000 {
  57.                 compatible = "arm,cortex-a15-gic";
  58.                 interrupt-controller;
  59.                 #interrupt-cells = <3>;
  60.                 #address-cells = <0>;
  61.                 reg = <0xffc01000 0x1000>,
  62.                       <0xffc02000 0x1000>;
  63.         };

  64.         arm-pmu {
  65.                 compatible = "arm,cortex-a12-pmu";
  66.                 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
  67.                              <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
  68.                              <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
  69.                              <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
  70.         };

  71.         cpu_axi_bus: cpu_axi_bus {
  72.                 compatible = "rockchip,cpu_axi_bus";
  73.                 #address-cells = <1>;
  74.                 #size-cells = <1>;
  75.                 ranges;

  76.                 qos {
  77.                         #address-cells = <1>;
  78.                         #size-cells = <1>;
  79.                         ranges;
  80.                         /* service core */
  81.                         cpup {
  82.                                 reg = <0xffa80000 0x20>;
  83.                         };
  84.                         cpum_r {
  85.                                 reg = <0xffa80080 0x20>;
  86.                         };
  87.                         cpum_w {
  88.                                 reg = <0xffa80100 0x20>;
  89.                         };
  90.                         /* service dmac */
  91.                         bus_dmac {
  92.                                 reg = <0xffa90000 0x20>;
  93.                         };
  94.                         host {
  95.                                 reg = <0xffa90080 0x20>;
  96.                         };
  97.                         crypto {
  98.                                 reg = <0xffa90100 0x20>;
  99.                         };
  100.                         ccp {
  101.                                 reg = <0xffa90180 0x20>;
  102.                         };
  103.                         ccs {
  104.                                 reg = <0xffa90200 0x20>;
  105.                         };
  106.                         /* service gpu */
  107.                         gpu_r {
  108.                                 reg = <0xffaa0000 0x20>;
  109.                         };
  110.                         gpu_w {
  111.                                 reg = <0xffaa0080 0x20>;
  112.                         };
  113.                         /* service peri */
  114.                         peri {
  115.                                 reg = <0xffab0000 0x20>;
  116.                         };
  117.                         /* service vio */
  118.                         vio1_vop {
  119.                                 reg = <0xffad0000 0x20>;
  120.                                 rockchip,priority = <2 2>;
  121.                         };
  122.                         vio1_isp_w0 {
  123.                                 reg = <0xffad0100 0x20>;
  124.                                 rockchip,priority = <2 2>;
  125.                         };
  126.                         vio1_isp_w1 {
  127.                                 reg = <0xffad0180 0x20>;
  128.                         };
  129.                         vio0_vop {
  130.                                 reg = <0xffad0400 0x20>;
  131.                                 rockchip,priority = <2 2>;
  132.                         };
  133.                         vio0_vip {
  134.                                 reg = <0xffad0480 0x20>;
  135.                         };
  136.                         vio0_iep {
  137.                                 reg = <0xffad0500 0x20>;
  138.                         };
  139.                         vio2_rga_r {
  140.                                 reg = <0xffad0800 0x20>;
  141.                         };
  142.                         vio2_rga_w {
  143.                                 reg = <0xffad0880 0x20>;
  144.                         };
  145.                         vio1_isp_r {
  146.                                 reg = <0xffad0900 0x20>;
  147.                         };
  148.                         /* service video */
  149.                         video {
  150.                                 reg = <0xffae0000 0x20>;
  151.                         };
  152.                         /* service hevc */
  153.                         hevc_r {
  154.                                 reg = <0xffaf0000 0x20>;
  155.                         };
  156.                         hevc_w {
  157.                                 reg = <0xffaf0080 0x20>;
  158.                         };
  159.                 };

  160.                 msch {
  161.                         #address-cells = <1>;
  162.                         #size-cells = <1>;
  163.                         ranges;

  164.                         msch@0 {
  165.                                 reg = <0xffac0000 0x40>;
  166.                                 rockchip,read-latency = <0x34>;
  167.                         };
  168.                         msch@1 {
  169.                                 reg = <0xffac0080 0x40>;
  170.                                 rockchip,read-latency = <0x34>;
  171.                         };
  172.                 };
  173.         };

  174.         sram: sram@ff710000 {
  175.                 compatible = "mmio-sram";
  176.                 reg = <0xff710000 0x8000>; /* 32k */
  177.                 map-exec;
  178.         };

  179.         timer {
  180.                 compatible = "arm,armv7-timer";
  181.                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  182.                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  183.                 clock-frequency = <24000000>;
  184.         };

  185.         timer@ff810000 {
  186.                 compatible = "rockchip,timer";
  187.                 reg = <0xff810000 0x20>;
  188.                 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  189.                 rockchip,broadcast = <1>;
  190.         };

  191.         watchdog: wdt@2004c000 {
  192.                 compatible = "rockchip,watch dog";
  193.                 reg = <0xff800000 0x100>;
  194.                 clocks = <&pclk_pd_alive>;
  195.                 clock-names = "pclk_wdt";
  196.                 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  197.                 rockchip,irq = <1>;
  198.                 rockchip,timeout = <60>;
  199.                 rockchip,atboot = <1>;
  200.                 rockchip,debug = <0>;
  201.                 status = "disabled";
  202.         };

  203.         amba {
  204.                 #address-cells = <1>;
  205.                 #size-cells = <1>;
  206.                 compatible = "arm,amba-bus";
  207.                 interrupt-parent = <&gic>;
  208.                 ranges;

  209.                 pdma0: pdma@ffb20000 {
  210.                         compatible = "arm,pl330", "arm,primecell";
  211.                         reg = <0xffb20000 0x4000>;
  212.                         clocks = <&clk_gates10 12>;
  213.                         clock-names = "apb_pclk";
  214.                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  215.                                      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
  216.                         #dma-cells = <1>;
  217.                 };

  218.                 pdma1: pdma@ff250000 {
  219.                         compatible = "arm,pl330", "arm,primecell";
  220.                         reg = <0xff250000 0x4000>;
  221.                         clocks = <&clk_gates6 3>;
  222.                         clock-names = "apb_pclk";
  223.                         interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
  224.                                      <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  225.                         #dma-cells = <1>;
  226.                 };
  227.         };

  228.         reset: reset@ff7601b8{
  229.                 compatible = "rockchip,reset";
  230.                 reg = <0xff7601b8 0x30>;
  231.                 rockchip,reset-flag = <ROCKCHIP_RESET_HIWORD_MASK>;
  232.                 #reset-cells = <1>;
  233.         };

  234.         nandc0: nandc@0xff400000 {
  235.                 compatible = "rockchip,rk-nandc";
  236.                 reg = <0xff400000 0x4000>;
  237.                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  238.                 nandc_id = <0>;
  239.                 clocks = <&clk_nandc0>, <&clk_gates5 5>, <&clk_gates7 14>;
  240.                 clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
  241.         };

  242.         nandc1: nandc@0xff410000 {
  243.             compatible = "rockchip,rk-nandc";
  244.                 reg = <0xff410000 0x4000>;
  245.                 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  246.                 nandc_id = <1>;
  247.                 clocks = <&clk_nandc1>, <&clk_gates5 6>, <&clk_gates7 15>;
  248.                 clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
  249.         };
  250.        
  251.         nandc0reg: nandc0@0xff400000 {
  252.                 compatible = "rockchip,rk-nandc";
  253.                 reg = <0xff400000 0x4000>;
  254.         };

  255.         emmc: rksdmmc@ff0f0000 {
  256.                 compatible = "rockchip,rk_mmc", "rockchip,rk32xx-sdmmc";
  257.                 reg = <0xff0f0000 0x4000>;
  258.                 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  259.                 #address-cells = <1>;
  260.                 #size-cells = <0>;
  261.                 //pinctrl-names = "default",,"suspend";
  262.                 //pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_wp &sd0_pwr &sd0_bus1 &sd0_bus4>;
  263.                 clocks = <&clk_emmc>, <&clk_gates8 6>;
  264.                 clock-names = "clk_mmc", "hclk_mmc";
  265.                 num-slots = <1>;
  266.                 fifo-depth = <0x100>;
  267.                 bus-width = <8>;
  268.                 tune_regsbase = <0x218>;
  269.                 cru_regsbase = <0x1d8>;
  270.                 cru_reset_offset = <3>;
  271.         };

  272.         sdmmc: rksdmmc@ff0c0000 {
  273.                 compatible = "rockchip,rk_mmc", "rockchip,rk32xx-sdmmc";
  274.                 reg = <0xff0c0000 0x4000>;
  275.                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  276.                 #address-cells = <1>;
  277.                 #size-cells = <0>;
  278.                 pinctrl-names = "default", "idle";
  279.                 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
  280.                 pinctrl-1 = <&sdmmc0_gpio>;
  281.                 cd-gpios = <&gpio6 GPIO_C6 GPIO_ACTIVE_HIGH>;/*CD GPIO*/
  282.                 clocks = <&clk_sdmmc>, <&clk_gates8 3>;
  283.                 clock-names = "clk_mmc", "hclk_mmc";
  284.                 num-slots = <1>;
  285.                 fifo-depth = <0x100>;
  286.                 bus-width = <4>;
  287.                 tune_regsbase = <0x200>;
  288.                 cru_regsbase = <0x1d8>;
  289.                 cru_reset_offset = <0>;
  290.         };

  291.         sdio: rksdmmc@ff0d0000 {
  292.                 compatible = "rockchip,rk_mmc", "rockchip,rk32xx-sdmmc";
  293.                 reg = <0xff0d0000 0x4000>;
  294.                 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  295.                 #address-cells = <1>;
  296.                 #size-cells = <0>;
  297.                 pinctrl-names = "default","idle";
  298.                 pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_wrprt &sdio0_pwr &sdio0_bkpwr
  299.                              &sdio0_intn &sdio0_bus4>;
  300.                 pinctrl-1 = <&sdio0_gpio>;
  301.                 clocks = <&clk_sdio0>, <&clk_gates8 4>;
  302.                 clock-names = "clk_mmc", "hclk_mmc";
  303.                 num-slots = <1>;
  304.                 fifo-depth = <0x100>;
  305.                 bus-width = <4>;
  306.                 tune_regsbase = <0x208>;
  307.                 cru_regsbase = <0x1d8>;
  308.                 cru_reset_offset = <1>;
  309.         };

  310.         sdio1: rksdmmc@ff0e0000 {
  311.                 compatible = "rockchip,rk_mmc", "rockchip,rk32xx-sdmmc";
  312.                 reg = <0xff0e0000 0x4000>;
  313.                 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  314.                 #address-cells = <1>;
  315.                 #size-cells = <0>;
  316.                 //pinctrl-names = "default","suspend";
  317.                 //pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_wp &sd1_bus1 &sd1_bus4>;
  318.                 /*gate8_0 --hclk_sdmmc_ahb_arbi_gate_en, gate13_2 --clk_sdio1_src_gate_en*/
  319.                 clocks = <&clk_sdio1>, <&clk_gates8 5>;
  320.                 clock-names = "clk_mmc", "hclk_mmc";
  321.                 num-slots = <1>;
  322.                 fifo-depth = <0x100>;
  323.                 bus-width = <4>;
  324.                 cru_regsbase = <0x1d8>;
  325.                 cru_reset_offset = <2>;
  326.                 status = "disabled";
  327.         };

  328.         spi0: spi@ff110000 {
  329.                 compatible = "rockchip,rockchip-spi";
  330.                 reg = <0xff110000 0x1000>;
  331.                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  332.                 #address-cells = <1>;
  333.                 #size-cells = <0>;
  334.                 pinctrl-names = "default";
  335.                 pinctrl-0 = <&spi0_txd &spi0_rxd &spi0_clk &spi0_cs0 &spi0_cs1>;
  336.                 rockchip,spi-src-clk = <0>;
  337.                 num-cs = <2>;
  338.                 clocks =<&clk_spi0>, <&clk_gates6 4>;
  339.                 clock-names = "spi","pclk_spi0";
  340.                 dmas = <&pdma1 11>, <&pdma1 12>;
  341.                 #dma-cells = <2>;
  342.                 dma-names = "tx", "rx";
  343.                 status = "disabled";
  344.         };

  345.         spi1: spi@ff120000 {
  346.                 compatible = "rockchip,rockchip-spi";
  347.                 reg = <0xff120000 0x1000>;
  348.                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  349.                 #address-cells = <1>;
  350.                 #size-cells = <0>;
  351.                 pinctrl-names = "default";
  352.                 pinctrl-0 = <&spi1_txd &spi1_rxd &spi1_clk &spi1_cs0>;
  353.                 rockchip,spi-src-clk = <1>;
  354.                 num-cs = <1>;
  355.                 clocks = <&clk_spi1>, <&clk_gates6 5>;
  356.                 clock-names = "spi","pclk_spi1";
  357.                 dmas = <&pdma1 13>, <&pdma1 14>;
  358.                 #dma-cells = <2>;
  359.                 dma-names = "tx", "rx";
  360.                 status = "disabled";
  361.         };

  362.         spi2: spi@ff130000 {
  363.                 compatible = "rockchip,rockchip-spi";
  364.                 reg = <0xff130000 0x1000>;
  365.                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  366.                 #address-cells = <1>;
  367.                 #size-cells = <0>;
  368.                 pinctrl-names = "default";
  369.                 pinctrl-0 = <&spi2_txd &spi2_rxd &spi2_clk &spi2_cs0 &spi2_cs1>;
  370.                 rockchip,spi-src-clk = <2>;
  371.                 num-cs = <2>;
  372.                 clocks = <&clk_spi2>, <&clk_gates6 6>;
  373.                 clock-names = "spi","pclk_spi2";
  374.                 dmas = <&pdma1 15>, <&pdma1 16>;
  375.                 #dma-cells = <2>;
  376.                 dma-names = "tx", "rx";
  377.                 status = "disabled";
  378.         };

  379.         uart_bt: serial@ff180000 {
  380.                 compatible = "rockchip,serial";
  381.                 reg = <0xff180000 0x100>;
  382.                 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  383.                 clock-frequency = <24000000>;
  384.                 clocks = <&clk_uart0>, <&clk_gates6 8>;
  385.                 clock-names = "sclk_uart", "pclk_uart";
  386.                 reg-shift = <2>;
  387.                 reg-io-width = <4>;
  388.                 dmas = <&pdma1 1>, <&pdma1 2>;
  389.                 #dma-cells = <2>;
  390.                 pinctrl-names = "default";
  391.                 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
  392.                 status = "disabled";
  393.         };

  394.         uart_bb: serial@ff190000 {
  395.                 compatible = "rockchip,serial";
  396.                 reg = <0xff190000 0x100>;
  397.                 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  398.                 clock-frequency = <24000000>;
  399.                 clocks = <&clk_uart1>, <&clk_gates6 9>;
  400.                 clock-names = "sclk_uart", "pclk_uart";
  401.                 current-speed = <921600>;
  402.                 reg-shift = <2>;
  403.                 reg-io-width = <4>;
  404.                 dmas = <&pdma1 3>, <&pdma1 4>;
  405.                 #dma-cells = <2>;
  406.                 pinctrl-names = "default";
  407.                 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
  408.                 status = "disabled";
  409.         };

  410.         uart_dbg: serial@ff690000 {
  411.                 compatible = "rockchip,serial";
  412.                 reg = <0xff690000 0x100>;
  413.                 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  414.                 clock-frequency = <24000000>;
  415.                 clocks = <&clk_uart2>, <&clk_gates11 9>;
  416.                 clock-names = "sclk_uart", "pclk_uart";
  417.                 current-speed = <115200>;
  418.                 reg-shift = <2>;
  419.                 reg-io-width = <4>;
  420.                 dmas = <&pdma0 4>, <&pdma0 5>;
  421.                 #dma-cells = <2>;
  422.                 pinctrl-names = "default";
  423.                 pinctrl-0 = <&uart2_xfer>;
  424.                 status = "disabled";
  425.         };

  426.         uart_gps: serial@ff1b0000 {
  427.                 compatible = "rockchip,serial";
  428.                 reg = <0xff1b0000 0x100>;
  429.                 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
  430.                 clock-frequency = <24000000>;
  431.                 clocks = <&clk_uart3>, <&clk_gates6 11>;
  432.                 clock-names = "sclk_uart", "pclk_uart";
  433.                 current-speed = <115200>;
  434.                 reg-shift = <2>;
  435.                 reg-io-width = <4>;
  436.                 dmas = <&pdma1 7>, <&pdma1 8>;
  437.                 #dma-cells = <2>;
  438.                 pinctrl-names = "default";
  439.                 pinctrl-0 = <&uart3_xfer &uart3_cts &uart3_rts>;
  440.                 status = "disabled";
  441.         };

  442.         uart_exp: serial@ff1c0000 {
  443.                 compatible = "rockchip,serial";
  444.                 reg = <0xff1c0000 0x100>;
  445.                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  446.                 clock-frequency = <24000000>;
  447.                 clocks = <&clk_uart4>, <&clk_gates6 12>;
  448.                 clock-names = "sclk_uart", "pclk_uart";
  449.                 reg-shift = <2>;
  450.                 reg-io-width = <4>;
  451.                 dmas = <&pdma1 9>, <&pdma1 10>;
  452.                 #dma-cells = <2>;
  453.                 pinctrl-names = "default";
  454.                 pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
  455.                 status = "disabled";
  456.         };

  457.         fiq-debugger {
  458.                 compatible = "rockchip,fiq-debugger";
  459.                 rockchip,serial-id = <2>;
  460.                 rockchip,signal-irq = <106>;
  461.                 rockchip,wake-irq = <0>;
  462.                 status = "disabled";
  463.         };

  464.         rockchip_clocks_init: clocks-init{
  465.                 compatible = "rockchip,clocks-init";
  466.                 rockchip,clocks-init-parent =
  467.                         <&clk_core &clk_apll>,        <&aclk_bus_src &clk_gpll>,
  468.                         <&aclk_peri &clk_gpll>,        <&uart_pll_mux &clk_gpll>,
  469.                         <&clk_i2s_pll &clk_gpll>, <&clk_spdif_pll &clk_gpll>,
  470.                         <&usbphy_480m &otgphy2_480m>;
  471.                 rockchip,clocks-init-rate =
  472.                         <&clk_core 792000000>,        <&clk_gpll 594000000>,
  473.                         /*<&clk_cpll 47000000>,*/        <&clk_npll 1250000000>,
  474.                         <&aclk_bus_src 300000000>,        <&aclk_bus 300000000>,
  475.                         <&hclk_bus 150000000>,        <&pclk_bus 75000000>,
  476.                         <&clk_crypto 150000000>,        <&aclk_peri 300000000>,
  477.                         <&hclk_peri 150000000>,        <&pclk_peri 75000000>,
  478.                         <&clk_gpu 200000000>,        /*<&aclk_vio0 300000000>,
  479.                         <&aclk_vio1 300000000>,        <&hclk_vio 75000000>,*/
  480.                         <&pclk_pd_alive 100000000>,        <&pclk_pd_pmu 100000000>,
  481.                         <&aclk_hevc 400000000>,        <&hclk_hevc 200000000>,
  482.                         <&clk_hevc_cabac 300000000>, <&clk_hevc_core 300000000>,
  483.                         <&aclk_rga 300000000>, <&clk_rga 300000000>,
  484.                         <&clk_vepu 300000000>, <&clk_vdpu 300000000>,
  485.                         <&clk_edp 200000000>, <&clk_isp 200000000>,
  486.                         <&clk_isp_jpe 400000000>, <&clk_tsp 80000000>,
  487.                         <&clk_tspout 80000000>, <&clk_mac 125000000>,
  488.                         <&aclk_vio0 594000000>;
  489.                 /* rockchip,clocks-uboot-has-init = <&aclk_vio0>; */
  490.         };

  491.         clocks-enable {
  492.                 compatible = "rockchip,clocks-enable";
  493.                 clocks =
  494.                                 /*PLL*/
  495.                                 <&clk_dpll>, <&clk_gpll>,

  496.                                 /*PD_CORE*/
  497.                                 <&clk_gates0 2>, <&clk_core0>,
  498.                                 <&clk_core1>, <&clk_core2>,
  499.                                 <&clk_core3>, <&clk_l2ram>,
  500.                                 <&aclk_core_m0>, <&aclk_core_mp>,
  501.                                 <&atclk_core>, <&pclk_dbg_src>,
  502.                                 <&clk_gates12 9>, <&clk_gates12 10>,
  503.                                 <&clk_gates12 11>,

  504.                                 /*PD_BUS*/
  505.                                 <&aclk_bus>, <&clk_gates0 3>,
  506.                                 <&hclk_bus>, <&pclk_bus>,
  507.                                 <&clk_gates13 8>,
  508.                                 <&clk_gates0 7>,

  509.                                 /*TIMER*/
  510.                                 <&clk_gates1 0>, <&clk_gates1 1>,
  511.                                 <&clk_gates1 2>, <&clk_gates1 3>,
  512.                                 <&clk_gates1 4>, <&clk_gates1 5>,

  513.                                 <&pclk_pd_alive>, <&pclk_pd_pmu>,

  514.                                 /*PD_PERI*/
  515.                                 <&aclk_peri>, <&hclk_peri>,
  516.                                 <&pclk_peri>,

  517.                                 /*JTAG*/
  518.                                 /*<&clk_gates4 14>,*/

  519.                                 /*aclk_bus*/
  520.                                 <&clk_gates10 5>,/*aclk_intmem0*/
  521.                                 <&clk_gates10 6>,/*aclk_intmem1*/
  522.                                 <&clk_gates10 7>,/*aclk_intmem2*/
  523.                                 /*<&clk_gates10 12>,*//*aclk_dma1*/
  524.                                 <&clk_gates10 13>,/*aclk_strc_sys*/
  525.                                 <&clk_gates10 4>,/*aclk_intmem*/

  526.                                 /*hclk_bus*/
  527.                                 <&clk_gates10 9>,/*hclk_rom*/

  528.                                 /*pclk_bus*/
  529.                                 <&clk_gates10 1>,/*pclk_timer*/
  530.                                 <&clk_gates10 9>,/*rom*/
  531.                                 <&clk_gates10 13>,/*aclk strc*/

  532.                                 <&clk_gates12 8>,/*aclk strc*/

  533.                                 /*aclk_peri*/
  534.                                 <&clk_gates6 2>,/*aclk_peri_axi_matrix*/
  535.                                 /*<&clk_gates6 3>,*//*aclk_dmac2*/
  536.                                 <&clk_gates7 11>,/*aclk_peri_niu*/
  537.                                 <&clk_gates8 12>,/*aclk_peri_mmu*/

  538.                                 /*hclk_peri*/
  539.                                 <&clk_gates6 0>,/*hclk_peri_matrix*/
  540.                                 <&clk_gates7 10>,/*hclk_peri_ahb_arbi*/
  541.                                 <&clk_gates7 12>,/*hclk_emem_peri*/
  542.                                 <&clk_gates7 13>,/*hclk_mem_peri*/

  543.                                 /*pclk_peri*/
  544.                                 <&clk_gates6 1>,/*pclk_peri_axi_matrix*/

  545.                                 /*pclk_pd_alive*/
  546.                                 <&clk_gates14 11>,/*pclk_grf*/
  547.                                 <&clk_gates14 12>,/*pclk_alive_niu*/

  548.                                 /*pclk_pd_pmu*/
  549.                                 <&clk_gates17 0>,/*pclk_pmu*/
  550.                                 <&clk_gates17 1>,/*pclk_intmem1*/
  551.                                 <&clk_gates17 2>,/*pclk_pmu_niu*/
  552.                                 <&clk_gates17 3>,/*pclk_sgrf*/

  553.                                 /*UART*/
  554.                                 <&clk_gates11 9>,/*pclk_uart2*/

  555.                                 /*480M*/
  556.                                 <&usbphy_480m>;
  557.         };

  558.         i2c0: i2c@ff650000 {
  559.                 compatible = "rockchip,rk30-i2c";
  560.                 reg = <0xff650000 0x1000>;
  561.                 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  562.                 #address-cells = <1>;
  563.                 #size-cells = <0>;
  564.                 pinctrl-names = "default", "gpio";
  565.                 pinctrl-0 = <&i2c0_sda &i2c0_scl>;
  566.                 pinctrl-1 = <&i2c0_gpio>;
  567.                 gpios = <&gpio0 GPIO_B7 GPIO_ACTIVE_LOW>, <&gpio0 GPIO_C0 GPIO_ACTIVE_LOW>;
  568.                 clocks = <&clk_gates10 2>;
  569.                 rockchip,check-idle = <1>;
  570.                 status = "disabled";
  571.         };

  572.         i2c1: i2c@ff140000 {
  573.                 compatible = "rockchip,rk30-i2c";
  574.                 reg = <0xff140000 0x1000>;
  575.                 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  576.                 #address-cells = <1>;
  577.                 #size-cells = <0>;
  578.                 pinctrl-names = "default", "gpio";
  579.                 pinctrl-0 = <&i2c1_sda &i2c1_scl>;
  580.                 pinctrl-1 = <&i2c1_gpio>;
  581.                 gpios = <&gpio8 GPIO_A4 GPIO_ACTIVE_LOW>, <&gpio8 GPIO_A5 GPIO_ACTIVE_LOW>;
  582.                 clocks = <&clk_gates6 13>;
  583.                 rockchip,check-idle = <1>;
  584.                 status = "disabled";
  585.         };

  586.         i2c2: i2c@ff660000 {
  587.                 compatible = "rockchip,rk30-i2c";
  588.                 reg = <0xff660000 0x1000>;
  589.                 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  590.                 #address-cells = <1>;
  591.                 #size-cells = <0>;
  592.                 pinctrl-names = "default", "gpio";
  593.                 pinctrl-0 = <&i2c2_sda &i2c2_scl>;
  594.                 pinctrl-1 = <&i2c2_gpio>;
  595.                 gpios = <&gpio6 GPIO_B1 GPIO_ACTIVE_LOW>, <&gpio6 GPIO_B2 GPIO_ACTIVE_LOW>;
  596.                 clocks = <&clk_gates10 3>;
  597.                 rockchip,check-idle = <1>;
  598.                 status = "disabled";
  599.         };

  600.         i2c3: i2c@ff150000 {
  601.                 compatible = "rockchip,rk30-i2c";
  602.                 reg = <0xff150000 0x1000>;
  603.                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  604.                 #address-cells = <1>;
  605.                 #size-cells = <0>;
  606.                 pinctrl-names = "default", "gpio";
  607.                 pinctrl-0 = <&i2c3_sda &i2c3_scl>;
  608.                 pinctrl-1 = <&i2c3_gpio>;
  609.                 gpios = <&gpio2 GPIO_C1 GPIO_ACTIVE_LOW>, <&gpio2 GPIO_C0 GPIO_ACTIVE_LOW>;
  610.                 clocks = <&clk_gates6 14>;
  611.                 rockchip,check-idle = <1>;
  612.                 status = "disabled";
  613.         };

  614.         i2c4: i2c@ff160000 {
  615.                 compatible = "rockchip,rk30-i2c";
  616.                 reg = <0xff160000 0x1000>;
  617.                 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
  618.                 #address-cells = <1>;
  619.                 #size-cells = <0>;
  620.                 pinctrl-names = "default", "gpio";
  621.                 pinctrl-0 = <&i2c4_sda &i2c4_scl>;
  622.                 pinctrl-1 = <&i2c4_gpio>;
  623.                 gpios = <&gpio7 GPIO_C1 GPIO_ACTIVE_LOW>, <&gpio7 GPIO_C2 GPIO_ACTIVE_LOW>;
  624.                 clocks = <&clk_gates6 15>;
  625.                 rockchip,check-idle = <1>;
  626.                 status = "disabled";
  627.         };

  628.         i2c5: i2c@ff170000 {
  629.                 compatible = "rockchip,rk30-i2c";
  630.                 reg = <0xff170000 0x1000>;
  631.                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  632.                 #address-cells = <1>;
  633.                 #size-cells = <0>;
  634.                 pinctrl-names = "default", "gpio";
  635.                 pinctrl-0 = <&i2c5_sda &i2c5_scl>;
  636.                 pinctrl-1 = <&i2c5_gpio>;
  637.                 gpios = <&gpio7 GPIO_C3 GPIO_ACTIVE_LOW>, <&gpio7 GPIO_C4 GPIO_ACTIVE_LOW>;
  638.                 clocks = <&clk_gates7 0>;
  639.                 rockchip,check-idle = <1>;
  640.                 status = "disabled";
  641.         };

  642.         fb: fb{
  643.                 compatible = "rockchip,rk-fb";
  644.                 rockchip,disp-mode = <DUAL>;
  645.         };

  646.         rk_screen: rk_screen{
  647.                         compatible = "rockchip,screen";
  648.         };

  649.         dsihost0: mipi@ff960000{
  650.                 compatible = "rockchip,rk32-dsi";
  651.                 rockchip,prop = <0>;
  652.                 reg = <0xff960000 0x4000>;
  653.                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  654.                 clocks = <&clk_gates5 15>, <&clk_gates16 4> , <&pd_mipidsi>;
  655.                 clock-names = "clk_mipi_24m", "pclk_mipi_dsi", "pd_mipi_dsi";
  656.                 status = "disabled";
  657.         };

  658.         dsihost1: mipi@ff964000{
  659.                 compatible = "rockchip,rk32-dsi";
  660.                 rockchip,prop = <1>;
  661.                 reg = <0xff964000 0x4000>;
  662.                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  663.                 clocks = <&clk_gates5 15>, <&clk_gates16 5>, <&pd_mipidsi>;
  664.                 clock-names = "clk_mipi_24m", "pclk_mipi_dsi", "pd_mipi_dsi";
  665.                 status = "disabled";
  666.         };

  667.         lvds: lvds@ff96c000 {
  668.                 compatible = "rockchip,rk32-lvds";
  669.                 reg = <0xff96c000 0x4000>;
  670.                 clocks = <&clk_gates16 7>;
  671.                 clock-names = "pclk_lvds";
  672.         };

  673.         edp: edp@ff970000 {
  674.                 compatible = "rockchip,rk32-edp";
  675.                 reg = <0xff970000 0x4000>;
  676.                 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  677.                 clocks = <&clk_edp>, <&clk_edp_24m>, <&clk_gates16 8>;
  678.                 clock-names = "clk_edp", "clk_edp_24m", "pclk_edp";
  679.         };

  680.         hdmi: hdmi@ff980000 {
  681.                 compatible = "rockchip,rk3288-hdmi";
  682.                 reg = <0xff980000 0x20000>;
  683.                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  684.                 pinctrl-names = "default", "sleep";
  685.                 pinctrl-0 = <&i2c5_sda &i2c5_scl &hdmi_cec>;
  686.                 pinctrl-1 = <&i2c5_gpio>;
  687.                 clocks = <&clk_gates16 9>, <&clk_gates5 12>, <&clk_gates5 11>;
  688.                 clock-names = "pclk_hdmi", "hdcp_clk_hdmi", "cec_clk_hdmi";
  689.                 rockchip,hdmi_video_source = <DISPLAY_SOURCE_LCDC1>;
  690.                 rockchip,hdmi_audio_source = <0>;
  691.                 rockchip,hdcp_enable = <0>;
  692.                 rockchip,cec_enable = <0>;
  693.                 status = "disabled";
  694.         };

  695.         hdmi_hdcp2: hdmi_hdcp2@ff974000 {
  696.                 compatible = "rockchip,rk3288-hdmi-hdcp2";
  697.                 reg = <0xff974000 0x4000>,
  698.                       <0xff978000 0x4000>;
  699.                 clocks = <&aclk_hdcp>, <&clk_hdcp>, <&clk_gates15 12>;
  700.                 clock-names = "aclk_hdcp2", "hdcp2_clk_hdmi", "pclk_hdcp2";
  701.                 status = "disabled";
  702.         };

  703.         lcdc0: lcdc@ff930000 {
  704.                 compatible = "rockchip,rk3288-lcdc";
  705.                 rockchip,prop = <PRMRY>;
  706.                 rockchip,pwr18 = <0>;
  707.                 rockchip,iommu-enabled = <0>;
  708.                 reg = <0xff930000 0x10000>;
  709.                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  710.                 pinctrl-names = "default", "gpio";
  711.                 pinctrl-0 = <&lcdc0_lcdc>;
  712.                 pinctrl-1 = <&lcdc0_gpio>;
  713.                 status = "disabled";
  714.                 clocks = <&clk_gates15 5>, <&dclk_lcdc0>, <&clk_gates15 6>, <&pd_vop0>;
  715.                 clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "pd_lcdc";
  716.         };
  717.         
  718.         lcdc1: lcdc@ff940000 {
  719.                 compatible = "rockchip,rk3288-lcdc";
  720.                 rockchip,prop = <EXTEND>;
  721.                 rockchip,pwr18 = <0>;
  722.                 rockchip,iommu-enabled = <0>;
  723.                 reg = <0xff940000 0x10000>;
  724.                 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  725.                 status = "disabled";
  726.                 clocks = <&clk_gates15 7>, <&dclk_lcdc1>, <&clk_gates15 8>, <&pd_vop1>;
  727.                 clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "pd_lcdc";
  728.         };
  729.         
  730.         adc: adc@ff100000 {
  731.                 compatible = "rockchip,saradc";
  732.                 reg = <0xff100000 0x100>;
  733.                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  734.                 #io-channel-cells = <1>;
  735.                 io-channel-ranges;
  736.                 rockchip,adc-vref = <1800>;
  737.                 clock-frequency = <1000000>;
  738.                 clocks = <&clk_saradc>, <&clk_gates7 1>;
  739.                 clock-names = "saradc", "pclk_saradc";
  740.                 status = "disabled";
  741.         };

  742.         rga@ff920000 {
  743.                 compatible = "rockchip,rga2";
  744.                 reg = <0xff920000 0x1000>;
  745.                 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
  746.                 clocks = <&clk_gates15 1>, <&aclk_rga>, <&clk_rga>;
  747.                 clock-names = "hclk_rga", "aclk_rga", "clk_rga";
  748.         };

  749.         i2s: rockchip-i2s@0xff890000 {
  750.                 compatible = "rockchip-i2s";
  751.                 reg = <0xff890000 0x10000>;
  752.                 i2s-id = <0>;
  753.                 clocks = <&clk_i2s>, <&clk_i2s_out>, <&clk_gates10 8>;
  754.                 clock-names = "i2s_clk","i2s_mclk", "i2s_hclk";
  755.                 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  756.                 dmas = <&pdma0 0>, <&pdma0 1>;
  757.                 //#dma-cells = <2>;
  758.                 dma-names = "tx", "rx";
  759.                 pinctrl-names = "default", "sleep";
  760.                 pinctrl-0 = <&i2s_mclk &i2s_sclk &i2s_lrckrx &i2s_lrcktx &i2s_sdi &i2s_sdo0 &i2s_sdo1 &i2s_sdo2 &i2s_sdo3>;
  761.                 pinctrl-1 = <&i2s_gpio>;
  762.         };

  763.         spdif: rockchip-spdif@0xff8b0000 {
  764.                 compatible = "rockchip-spdif";
  765.                 //reg = <0xff8b0000 0x10000>;        //8channel
  766.                 reg = <0xff880000 0x10000>;//2channel
  767.                 clocks = <&clk_spdif>, <&clk_spdif_8ch>,<&clk_gates10 10>;
  768.                 clock-names = "spdif_mclk","spdif_8ch_mclk","spdif_hclk";
  769.                 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  770.                 //dmas = <&pdma0 3>;
  771.                 dmas = <&pdma0 2>; //2channel
  772.                 //#dma-cells = <1>;
  773.                 dma-names = "tx";
  774.                 pinctrl-names = "default";
  775.                 pinctrl-0 = <&spdif_tx>;
  776.         };

  777.         vop1pwm: pwm@ff9401a0 {
  778.                 compatible = "rockchip,vop-pwm";
  779.                 reg = <0xff9401a0 0x10>;

  780.                 #pwm-cells = <2>;
  781.                 pinctrl-names = "default";
  782.                 pinctrl-0 = <&vop1_pwm_pin>;
  783.                 clocks = <&clk_gates13 11>, <&clk_gates15 7>, <&clk_gates15 8>;
  784.                 clock-names = "pclk_pwm", "aclk_lcdc", "hclk_lcdc";
  785.                 status = "disabled";
  786.         };

  787.         vop0pwm: pwm@ff9301a0 {
  788.                 compatible = "rockchip,vop-pwm";
  789.                 reg = <0xff9301a0 0x10>;

  790.                 #pwm-cells = <2>;
  791.                 pinctrl-names = "default";
  792.                 pinctrl-0 = <&vop0_pwm_pin>;
  793.                 clocks = <&clk_gates13 10>, <&clk_gates15 5>, <&clk_gates15 6>;
  794.                 clock-names = "pclk_pwm", "aclk_lcdc", "hclk_lcdc";
  795.                 status = "disabled";
  796.         };

  797.         pwm0: pwm@ff680000 {
  798.                 compatible = "rockchip,rk-pwm";
  799.                 reg = <0xff680000 0x10>;

  800.                 /* used by driver on remotectl'pwm */
  801.                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  802.                 #pwm-cells = <2>;
  803.                 pinctrl-names = "default";
  804.                 pinctrl-0 = <&pwm0_pin>;
  805.                 clocks = <&clk_gates11 11>;
  806.                 clock-names = "pclk_pwm";
  807.                 status = "disabled";
  808.         };

  809.         pwm1: pwm@ff680010 {
  810.                 compatible = "rockchip,rk-pwm";
  811.                 reg = <0xff680010 0x10>;

  812.                 /* used by driver on remotectl'pwm */
  813.                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  814.                 #pwm-cells = <2>;
  815.                 pinctrl-names = "default";
  816.                 pinctrl-0 = <&pwm1_pin>;
  817.                 clocks = <&clk_gates11 11>;
  818.                 clock-names = "pclk_pwm";
  819.                 status = "disabled";
  820.         };

  821.         pwm2: pwm@ff680020 {
  822.                 compatible = "rockchip,rk-pwm";
  823.                 reg = <0xff680020 0x10>;

  824.                 /* used by driver on remotectl'pwm */
  825.                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  826.                 #pwm-cells = <2>;
  827.                 pinctrl-names = "default";
  828.                 pinctrl-0 = <&pwm2_pin>;
  829.                 clocks = <&clk_gates11 11>;
  830.                 clock-names = "pclk_pwm";
  831.                 status = "disabled";
  832.         };

  833.         pwm3: pwm@ff680030 {
  834.                 compatible = "rockchip,rk-pwm";
  835.                 reg = <0xff680030 0x10>;

  836.                 /* used by driver on remotectl'pwm */
  837.                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  838.                 #pwm-cells = <2>;
  839.                 pinctrl-names = "default";
  840.                 pinctrl-0 = <&pwm3_pin>;
  841.                 clocks = <&clk_gates11 11>;
  842.                 clock-names = "pclk_pwm";
  843.                 status = "disabled";
  844.         };

  845.         dvfs {

  846.                 vd_arm: vd_arm {
  847.                         regulator_name = "vdd_arm";
  848.                         suspend_volt = <1000>; //mV
  849.                         pd_core {
  850.                                 clk_core_dvfs_table: clk_core {
  851.                                         operating-points = <
  852.                                                 /* KHz    uV */
  853.                                                 312000 1100000
  854.                                                 504000 1100000
  855.                                                 816000 1100000
  856.                                                 1008000 1100000
  857.                                                 >;
  858.                                         channel = <0>;
  859.                                         temp-limit-enable = <1>;
  860.                                         target-temp = <80>;
  861.                                         min_temp_limit = <48>;
  862.                                         normal-temp-limit = <
  863.                                         /*delta-temp    delta-freq*/
  864.                                                 3        96000
  865.                                                 6        144000
  866.                                                 9        192000
  867.                                                 15        384000
  868.                                                 >;
  869.                                         performance-temp-limit = <
  870.                                                 /*temp    freq*/
  871.                                                 100     816000
  872.                                                 >;
  873.                                         status = "okay";
  874.                                         regu-mode-table = <
  875.                                                 /*freq     mode*/
  876.                                                 1008000    4
  877.                                                 0          3
  878.                                         >;
  879.                                         regu-mode-en = <0>;
  880.                                 };
  881.                         };
  882.                 };

  883.                 vd_logic: vd_logic {
  884.                         regulator_name = "vdd_logic";
  885.                         suspend_volt = <1000>; //mV
  886.                         pd_ddr {
  887.                                 clk_ddr_dvfs_table: clk_ddr {
  888.                                         operating-points = <
  889.                                                 /* KHz    uV */
  890.                                                 200000 1200000
  891.                                                 300000 1200000
  892.                                                 400000 1200000
  893.                                                 >;
  894.                                         bd-freq-table = <
  895.                                                 /* bandwidth   freq */
  896.                                                 5000           800000
  897.                                                 3500           456000
  898.                                                 2600           396000
  899.                                                 2000           324000
  900.                                                 >;
  901.                                         channel = <2>;
  902.                                         status = "disabled";
  903.                                 };
  904.                         };

  905.                         pd_vio {
  906.                                 aclk_vio1_dvfs_table: aclk_vio1 {
  907.                                         operating-points = <
  908.                                                 /* KHz    uV */
  909.                                                 100000 1100000
  910.                                                 500000 1100000
  911.                                                 >;
  912.                                         status = "okay";
  913.                                 };
  914.                         };
  915.                 };

  916.                 vd_gpu: vd_gpu {
  917.                         regulator_name = "vdd_gpu";
  918.                         suspend_volt = <1000>; //mV
  919.                         pd_gpu {
  920.                                 clk_gpu_dvfs_table: clk_gpu {
  921.                                         operating-points = <
  922.                                                 /* KHz    uV */
  923.                                                 200000 1200000
  924.                                                 300000 1200000
  925.                                                 400000 1200000
  926.                                                 >;
  927.                                         channel = <1>;
  928.                                         temp-limit-enable = <0>;
  929.                                         target-temp = <90>;
  930.                                         min_temp_limit = <200>;
  931.                                         normal-temp-limit = <
  932.                                         /*delta-temp    delta-freq*/
  933.                                                 3        50000
  934.                                                 6        150000
  935.                                                 15        250000
  936.                                                 >;
  937.                                         status = "okay";
  938.                                         regu-mode-table = <
  939.                                                 /*freq     mode*/
  940.                                                 200000     4
  941.                                                 0          3
  942.                                         >;
  943.                                         regu-mode-en = <0>;
  944.                                 };
  945.                         };
  946.                 };
  947.         };

  948.         ion {
  949.                 compatible = "rockchip,ion";
  950.                 #address-cells = <1>;
  951.                 #size-cells = <0>;

  952.                 ion_drm: rockchip,ion-heap@5 {
  953.                         compatible = "rockchip,ion-heap";
  954.                         rockchip,ion_heap = <5>;
  955.                         reg = <0x00000000 0x00000000>;
  956.                 };
  957.                 ion_cma: rockchip,ion-heap@4 { /* CMA HEAP */
  958.                         compatible = "rockchip,ion-heap";
  959.                         rockchip,ion_heap = <4>;
  960.                         reg = <0x00000000 0x28000000>; /* 640MB */
  961.                 };
  962.                 rockchip,ion-heap@0 { /* VMALLOC HEAP */
  963.                         compatible = "rockchip,ion-heap";
  964.                         rockchip,ion_heap = <0>;
  965.                 };
  966.         };

  967.         vpu: vpu_service@ff9a0000 {
  968.                 compatible = "vpu_service";
  969.                 iommu_enabled = <0>;
  970.                 reg = <0xff9a0000 0x800>;
  971.                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  972.                 interrupt-names = "irq_enc", "irq_dec";
  973.                 clocks = <&clk_vdpu>, <&hclk_vdpu>;
  974.                 clock-names = "aclk_vcodec", "hclk_vcodec";
  975.                 resets = <&reset RK3288_SOFT_RST_VCODEC_H>, <&reset RK3288_SOFT_RST_VCODEC_A>;
  976.                 reset-names = "video_h", "video_a";
  977.                 name = "vpu_service";
  978.                 dev_mode = <0>;
  979.                 //status = "disabled";
  980.         };

  981.         hevc: hevc_service@ff9c0000 {
  982.                 compatible = "rockchip,hevc_service";
  983.                 iommu_enabled = <0>;
  984.                 reg = <0xff9c0000 0x800>;
  985.                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
  986.                 interrupt-names = "irq_dec";
  987.                 clocks = <&aclk_hevc>, <&hclk_hevc>, <&clk_hevc_core>, <&clk_hevc_cabac>;
  988.                 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core", "clk_cabac";
  989.                 resets = <&reset RK3288_SOFT_RST_VCODEC_H>, <&reset RK3288_SOFT_RST_VCODEC_A>,
  990.                         <&reset RK3288_SOFT_RST_HEVC>;
  991.                 reset-names = "video_h", "video_a", "video";
  992.                 dev_mode = <1>;
  993.                 name = "hevc_service";
  994.                 //status = "disabled";
  995.         };

  996.         iep: iep@ff900000 {
  997.                 compatible = "rockchip,iep";
  998.                 iommu_enabled = <0>;
  999.                 reg = <0xff900000 0x800>;
  1000.                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  1001.                 clocks = <&clk_gates15 2>, <&clk_gates15 3>;
  1002.                 clock-names = "aclk_iep", "hclk_iep";
  1003.                 status = "okay";
  1004.         };

  1005.         dwc_control_usb: dwc-control-usb@ff770284 {
  1006.                 compatible = "rockchip,rk3288-dwc-control-usb";
  1007.                 reg = <0xff770284 0x04>, <0xff770288 0x04>,
  1008.                       <0xff7702cc 0x04>, <0xff7702d4 0x04>,
  1009.                       <0xff770320 0x14>, <0xff770334 0x14>,
  1010.                       <0xff770348 0x10>, <0xff770358 0x08>,
  1011.                       <0xff770360 0x08>;
  1012.                 reg-names = "GRF_SOC_STATUS1" ,"GRF_SOC_STATUS2",
  1013.                             "GRF_SOC_STATUS19", "GRF_SOC_STATUS21",
  1014.                             "GRF_UOC0_BASE", "GRF_UOC1_BASE",
  1015.                             "GRF_UOC2_BASE", "GRF_UOC3_BASE",
  1016.                             "GRF_UOC4_BASE";
  1017.                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
  1018.                              <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
  1019.                              <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  1020.                 interrupt-names = "otg_id", "otg_bvalid",
  1021.                                   "otg_linestate", "host0_linestate",
  1022.                                   "host1_linestate";
  1023.                 clocks = <&clk_gates7 9>, <&usbphy_480m>,
  1024.                          <&otgphy1_480m>, <&otgphy2_480m>;
  1025.                 clock-names = "hclk_usb_peri", "usbphy_480m",
  1026.                               "usbphy1_480m", "usbphy2_480m";

  1027.                 usb_bc {
  1028.                         compatible = "synopsys,phy";
  1029.                                         /* offset bit mask */
  1030.                         rk_usb,bvalid     = <0x288 14 1>;
  1031.                         rk_usb,iddig      = <0x288 17 1>;
  1032.                         rk_usb,dcdenb     = <0x328 14 1>;
  1033.                         rk_usb,vdatsrcenb = <0x328  7 1>;
  1034.                         rk_usb,vdatdetenb = <0x328  6 1>;
  1035.                         rk_usb,chrgsel    = <0x328  5 1>;
  1036.                         rk_usb,chgdet     = <0x2cc 23 1>;
  1037.                         rk_usb,fsvminus   = <0x2cc 25 1>;
  1038.                         rk_usb,fsvplus    = <0x2cc 24 1>;
  1039.                 };
  1040.         };

  1041.         usb0: usb@ff580000 {
  1042.                 compatible = "rockchip,rk3288_usb20_otg";
  1043.                 reg = <0xff580000 0x40000>;
  1044.                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  1045.                 clocks = <&clk_gates13 4>, <&clk_gates7 4>;
  1046.                 clock-names = "clk_usbphy0", "hclk_usb0";
  1047.                 resets = <&reset RK3288_SOFT_RST_USBOTG_H>, <&reset RK3288_SOFT_RST_USBOTGPHY>,
  1048.                                 <&reset RK3288_SOFT_RST_USBOTGC>;
  1049.                 reset-names = "otg_ahb", "otg_phy", "otg_controller";
  1050.                 /*0 - Normal, 1 - Force Host, 2 - Force Device*/
  1051.                 rockchip,usb-mode = <0>;
  1052.         };

  1053.         usb1: usb@ff540000 {
  1054.                 compatible = "rockchip,rk3288_usb20_host";
  1055.                 reg = <0xff540000 0x40000>;
  1056.                 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  1057.                 clocks = <&clk_gates13 6>, <&clk_gates7 7>,
  1058.                          <&usbphy_480m>;
  1059.                 clock-names = "clk_usbphy1", "hclk_usb1",
  1060.                               "usbphy_480m";
  1061.                 resets = <&reset RK3288_SOFT_RST_USBHOST1_H>, <&reset RK3288_SOFT_RST_USBHOST1PHY>,
  1062.                                 <&reset RK3288_SOFT_RST_USBHOST1C>;
  1063.                 reset-names = "host1_ahb", "host1_phy", "host1_controller";
  1064.         };

  1065.         usb2: usb@ff500000 {
  1066.                 compatible = "rockchip,rk3288_rk_ehci_host";
  1067.                 reg = <0xff500000 0x20000>;
  1068.                 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  1069.                 clocks = <&clk_gates13 5>, <&clk_gates7 6>;
  1070.                 clock-names = "clk_usbphy2", "hclk_usb2";
  1071.                 resets = <&reset RK3288_SOFT_RST_USBHOST0_H>, <&reset RK3288_SOFT_RST_USBHOST0PHY>,
  1072.                                 <&reset RK3288_SOFT_RST_USBHOST0C>, <&reset RK3288_SOFT_RST_USB_HOST0>;
  1073.                 reset-names = "ehci_ahb", "ehci_phy", "ehci_controller", "ehci";
  1074.         };

  1075.         usb3: usb@ff520000 {
  1076.                 compatible = "rockchip,rk3288_rk_ohci_host";
  1077.                 reg = <0xff520000 0x20000>;
  1078.                 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  1079.                 clocks = <&clk_gates13 5>, <&clk_gates7 6>;
  1080.                 clock-names = "clk_usbphy3", "hclk_usb3";
  1081.                 status = "okay";
  1082.         };

  1083.         usb4: usb@ff5c0000 {
  1084.                 compatible = "rockchip,rk3288_rk_ehci1_host";
  1085.                 reg = <0xff5c0000 0x40000>;
  1086.                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  1087.                 clocks = <&ehci1phy_480m>, <&clk_gates7 8>,
  1088.                          <&ehci1phy_12m>, <&usbphy_480m>,
  1089.                          <&otgphy1_480m>, <&otgphy2_480m>;
  1090.                 clock-names = "ehci1phy_480m", "hclk_ehci1",
  1091.                               "ehci1phy_12m", "usbphy_480m",
  1092.                               "ehci1_usbphy1", "ehci1_usbphy2";
  1093.                 resets = <&reset RK3288_SOFT_RST_EHCI1>, <&reset RK3288_SOFT_RST_EHCI1_AUX>,
  1094.                                 <&reset RK3288_SOFT_RST_EHCI1PHY>;
  1095.                 reset-names = "ehci1_ahb", "ehci1_aux", "ehci1_phy";
  1096.         };

  1097.         gmac: eth@ff290000 {
  1098.                 compatible = "rockchip,rk3288-gmac";
  1099.                 reg = <0xff290000 0x10000>;
  1100.                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;  /*irq=59*/
  1101.                 interrupt-names = "macirq";
  1102.                 clocks = <&clk_mac>, <&clk_gates5 0>,
  1103.                          <&clk_gates5 1>, <&clk_gates5 2>,
  1104.                          <&clk_gates5 3>, <&clk_gates8 0>,
  1105.                          <&clk_gates8 1>;
  1106.                 clock-names = "clk_mac", "mac_clk_rx",
  1107.                               "mac_clk_tx", "clk_mac_ref",
  1108.                               "clk_mac_refout", "aclk_mac",
  1109.                               "pclk_mac";
  1110.                 phy-mode = "rgmii";
  1111.                 pinctrl-names = "default";
  1112.                 pinctrl-0 = <&mac_clk &mac_txpins &mac_rxpins &mac_mdpins>;
  1113.         };

  1114.         gpu {
  1115.                 compatible = "arm,malit764",
  1116.                              "arm,malit76x",
  1117.                              "arm,malit7xx",
  1118.                              "arm,mali-midgard";
  1119.                 reg = <0xffa30000 0x10000>;
  1120.                 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
  1121.                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  1122.                              <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  1123.                 interrupt-names = "JOB", "MMU", "GPU";
  1124.         };

  1125.         iep_mmu {
  1126.                 dbgname = "iep";
  1127.                 compatible = "rockchip,iep_mmu";
  1128.                 reg = <0xff900800 0x100>;
  1129.                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  1130.                 interrupt-names = "iep_mmu";
  1131.         };

  1132.         vip_mmu {
  1133.                 dbgname = "vip";
  1134.                 compatible = "rockchip,vip_mmu";
  1135.                 reg = <0xff950800 0x100>;
  1136.                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  1137.                 interrupt-names = "vip_mmu";
  1138.         };

  1139.         vopb_mmu {
  1140.                 dbgname = "vopb";
  1141.                 compatible = "rockchip,vopb_mmu";
  1142.                 reg = <0xff930300 0x100>;
  1143.                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  1144.                 interrupt-names = "vopb_mmu";
  1145.         };

  1146.         vopl_mmu {
  1147.                 dbgname = "vopl";
  1148.                 compatible = "rockchip,vopl_mmu";
  1149.                 reg = <0xff940300 0x100>;
  1150.                 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  1151.                 interrupt-names = "vopl_mmu";
  1152.         };

  1153.         hevc_mmu {
  1154.                 dbgname = "hevc";
  1155.                 compatible = "rockchip,hevc_mmu";
  1156.                 reg = <0xff9c0440 0x40>,
  1157.                       <0xff9c0480 0x40>;
  1158.                 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  1159.                 interrupt-names = "hevc_mmu";
  1160.         };

  1161.         vpu_mmu {
  1162.                 dbgname = "vpu";
  1163.                 compatible = "rockchip,vpu_mmu";
  1164.                 reg = <0xff9a0800 0x100>;
  1165.                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  1166.                 interrupt-names = "vpu_mmu";
  1167.         };

  1168.         isp_mmu {
  1169.                 dbgname = "isp_mmu";
  1170.                 compatible = "rockchip,isp_mmu";
  1171.                 reg = <0xff914000 0x100>,
  1172.                       <0xff915000 0x100>;
  1173.                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  1174.                 interrupt-names = "isp_mmu";
  1175.         };

  1176.         rockchip_suspend {
  1177.                 rockchip,ctrbits = <
  1178.                         (0
  1179.                          |RKPM_CTR_PWR_DMNS
  1180.                          |RKPM_CTR_GTCLKS
  1181.                          |RKPM_CTR_PLLS
  1182.                  //      |RKPM_CTR_GPIOS
  1183.                 //         |RKPM_CTR_SYSCLK_DIV
  1184.                 //         |RKPM_CTR_IDLEAUTO_MD
  1185.                 //         |RKPM_CTR_ARMOFF_LPMD
  1186.                          |RKPM_CTR_ARMOFF_LOGDP_LPMD
  1187.                         )
  1188.                         >;
  1189.                 rockchip,pmic-suspend_gpios = <
  1190.                         RKPM_PINGPIO_BITS_OUTPUT(GPIO7_A1,RKPM_GPIO_OUT_H)
  1191.                         >;
  1192.                 rockchip,pmic-resume_gpios = <
  1193.                         RKPM_PINGPIO_BITS_FUN(PWM1,RKPM_GPIO_PULL_DN)
  1194.                         >;
  1195.         };

  1196.         isp: isp@ff910000{
  1197.                 compatible = "rockchip,isp";
  1198.                 reg = <0xff910000 0x10000>;
  1199.                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  1200.                 clocks = <&clk_gates16 2>, <&clk_gates16 1>, <&clk_isp>, <&clk_isp_jpe>, <&clkin_isp>, <&clk_cif_out>, <&clk_gates5 15>, <&clk_cif_pll>, <&pd_isp>, <&clk_gates16 6>;
  1201.                 clock-names = "aclk_isp", "hclk_isp", "clk_isp", "clk_isp_jpe", "pclkin_isp", "clk_cif_out", "clk_mipi_24m", "clk_cif_pll", "pd_isp", "hclk_mipiphy1";
  1202.                 pinctrl-names = "default", "isp_dvp8bit2", "isp_dvp10bit", "isp_dvp12bit", "isp_dvp8bit0", "isp_mipi_fl", "isp_mipi_fl_prefl","isp_flash_as_gpio","isp_flash_as_trigger_out";
  1203.                 pinctrl-0 = <&isp_mipi>;
  1204.                 pinctrl-1 = <&isp_mipi &isp_dvp_d2d9>;
  1205.                 pinctrl-2 = <&isp_mipi &isp_dvp_d2d9 &isp_dvp_d0d1>;
  1206.                 pinctrl-3 = <&isp_mipi &isp_dvp_d2d9 &isp_dvp_d0d1 &isp_dvp_d10d11>;
  1207.                 pinctrl-4 = <&isp_mipi &isp_dvp_d0d7>;
  1208.                 pinctrl-5 = <&isp_mipi>;
  1209.                 pinctrl-6 = <&isp_mipi &isp_prelight>;
  1210.                 pinctrl-7 = <&isp_flash_trigger_as_gpio>;
  1211.                 pinctrl-8 = <&isp_flash_trigger>;
  1212.                 rockchip,isp,mipiphy = <2>;
  1213.                 rockchip,isp,cifphy = <1>;
  1214.                 rockchip,isp,mipiphy1,reg = <0xff968000 0x4000>;
  1215.                 rockchip,gpios = <&gpio7 GPIO_B5 GPIO_ACTIVE_HIGH>;
  1216.                  //FireFly
  1217.         gpios-cifpower = <&gpio7 GPIO_B4 GPIO_ACTIVE_HIGH>;
  1218.         gpios-dvppower = <&gpio0 GPIO_B3 GPIO_ACTIVE_HIGH>;
  1219.                 rockchip,isp,iommu_enable = <1>;
  1220.                 status = "okay";
  1221.         };
  1222.         cif: cif@ff950000 {
  1223.              compatible = "rockchip,cif";
  1224.              reg = <0xff950000 0x10000>;
  1225.              interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  1226.              clocks = <&pd_isp>,<&clk_gates15 14>,<&clk_gates15 15>,<&clkin_cif>,<&clk_gates16 0>,<&clk_cif_out>;
  1227.              clock-names = "pd_cif0", "aclk_cif0","hclk_cif0","cif0_in","g_pclkin_cif","cif0_out";
  1228.              pinctrl-names = "cif_pin_all";
  1229.              pinctrl-0 = <&isp_mipi &isp_dvp_d2d9 &isp_dvp_d10d11>;
  1230.              status = "okay";
  1231.              };

  1232.         tsadc: tsadc@ff280000 {
  1233.                 compatible = "rockchip,tsadc";
  1234.                 reg = <0xff280000 0x100>;
  1235.                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  1236.                 #io-channel-cells = <1>;
  1237.                 io-channel-ranges;
  1238.                 clock-frequency = <10000>;
  1239.                 clocks = <&clk_tsadc>, <&clk_gates7 2>;
  1240.                 clock-names = "tsadc", "pclk_tsadc";
  1241.                 pinctrl-names = "default", "tsadc_int";
  1242.                 pinctrl-0 = <&tsadc_gpio>;
  1243.                 pinctrl-1 = <&tsadc_int>;
  1244.                 tsadc-ht-temp = <120>;
  1245.                 tsadc-ht-reset-cru = <1>;
  1246.                 tsadc-ht-pull-gpio = <0>;
  1247.                 status = "okay";
  1248.         };

  1249.         lcdc_vdd_domain: lcdc-vdd-domain {
  1250.                 compatible = "rockchip,io_vol_domain";
  1251.                 pinctrl-names = "default", "1.8V", "3.3V";
  1252.                 pinctrl-0 = <&lcdc_vcc>;
  1253.                 pinctrl-1 = <&lcdc_vcc_18>;
  1254.                 pinctrl-2 = <&lcdc_vcc_33>;
  1255.         };

  1256.         dpio_vdd_domain: dpio-vdd-domain {
  1257.                 compatible = "rockchip,io_vol_domain";
  1258.                 pinctrl-names = "default", "1.8V", "3.3V";
  1259.                 pinctrl-0 = <&dvp_vcc>;
  1260.                 pinctrl-1 = <&dvp_vcc_18>;
  1261.                 pinctrl-2 = <&dvp_vcc_33>;
  1262.         };

  1263.         flash0_vdd_domain: flash0-vdd-domain {
  1264.                 compatible = "rockchip,io_vol_domain";
  1265.                 pinctrl-names = "default", "1.8V", "3.3V";
  1266.                 pinctrl-0 = <&flash0_vcc>;
  1267.                 pinctrl-1 = <&flash0_vcc_18>;
  1268.                 pinctrl-2 = <&flash0_vcc_33>;
  1269.         };

  1270.         flash1_vdd_domain: flash1-vdd-domain {
  1271.                 compatible = "rockchip,io_vol_domain";
  1272.                 pinctrl-names = "default", "1.8V", "3.3V";
  1273.                 pinctrl-0 = <&flash1_vcc>;
  1274.                 pinctrl-1 = <&flash1_vcc_18>;
  1275.                 pinctrl-2 = <&flash1_vcc_33>;
  1276.         };

  1277.         apio3_vdd_domain: apio3-vdd-domain {
  1278.                 compatible = "rockchip,io_vol_domain";
  1279.                 pinctrl-names = "default", "1.8V", "3.3V";
  1280.                 pinctrl-0 = <&wifi_vcc>;
  1281.                 pinctrl-1 = <&wifi_vcc_18>;
  1282.                 pinctrl-2 = <&wifi_vcc_33>;
  1283.         };

  1284.         apio5_vdd_domain: apio5-vdd-domain {
  1285.                 compatible = "rockchip,io_vol_domain";
  1286.                 pinctrl-names = "default", "1.8V", "3.3V";
  1287.                 pinctrl-0 = <&bb_vcc>;
  1288.                 pinctrl-1 = <&bb_vcc_18>;
  1289.                 pinctrl-2 = <&bb_vcc_33>;
  1290.         };

  1291.         apio4_vdd_domain: apio4-vdd-domain {
  1292.                 compatible = "rockchip,io_vol_domain";
  1293.                 pinctrl-names = "default", "1.8V", "3.3V";
  1294.                 pinctrl-0 = <&audio_vcc>;
  1295.                 pinctrl-1 = <&audio_vcc_18>;
  1296.                 pinctrl-2 = <&audio_vcc_33>;
  1297.         };

  1298.         apio1_vdd_domain: apio0-vdd-domain {
  1299.                 compatible = "rockchip,io_vol_domain";
  1300.                 pinctrl-names = "default", "1.8V", "3.3V";
  1301.                 pinctrl-0 = <&gpio30_vcc>;
  1302.                 pinctrl-1 = <&gpio30_vcc_18>;
  1303.                 pinctrl-2 = <&gpio30_vcc_33>;
  1304.         };

  1305.         apio2_vdd_domain: apio2-vdd-domain {
  1306.                 compatible = "rockchip,io_vol_domain";
  1307.                 pinctrl-names = "default", "1.8V", "3.3V";
  1308.                 pinctrl-0 = <&gpio1830_vcc>;
  1309.                 pinctrl-1 = <&gpio1830_vcc_18>;
  1310.                 pinctrl-2 = <&gpio1830_vcc_33>;
  1311.         };

  1312.         sdmmc0_vdd_domain: sdmmc0-vdd-domain {
  1313.                 compatible = "rockchip,io_vol_domain";
  1314.                 pinctrl-names = "default", "1.8V", "3.3V";
  1315.                 pinctrl-0 = <&sdcard_vcc>;
  1316.                 pinctrl-1 = <&sdcard_vcc_18>;
  1317.                 pinctrl-2 = <&sdcard_vcc_33>;
  1318.         };

  1319.         chosen {
  1320.                 bootargs = "vmalloc=496M";
  1321.         };
  1322. };
复制代码


回复

使用道具 举报

11

积分

0

威望

0

贡献

游客

积分
11
发表于 2018-6-28 14:49:05        只看该作者  沙发
学习一下
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2018-7-25 03:43:48        只看该作者  板凳
请问能否分享下 你实现'hdmi与lvds接口双屏同显示'的dts 和 dtsi文件?
回复

使用道具 举报

64

积分

0

威望

0

贡献

技术小白

积分
64
发表于 2018-7-25 17:54:43        只看该作者  地板
tonyxiong205 发表于 2018-7-25 03:43
请问能否分享下 你实现'hdmi与lvds接口双屏同显示'的dts 和 dtsi文件?

贴的代码就是哈
回复

使用道具 举报

14

积分

0

威望

0

贡献

技术小白

积分
14
发表于 2018-8-27 16:43:35        只看该作者  5#
建议下次只贴关键部分代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表