FROMLIST: ARM: dts: rockchip: add eDP/panel display device nodes for rk3288-evb
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / vexpress-v2m.dtsi
index f1420368355bb2f91715526d4a057660f5480b71..e712c0af149b9b8ddf1ed2323b89b3752bc89f63 100644 (file)
@@ -40,7 +40,7 @@
                        bank-width = <4>;
                };
 
-               vram@3,00000000 {
+               v2m_video_ram: vram@3,00000000 {
                        compatible = "arm,vexpress-vram";
                        reg = <3 0x00000000 0x00800000>;
                };
                        v2m_sysreg: sysreg@00000 {
                                compatible = "arm,vexpress-sysreg";
                                reg = <0x00000 0x1000>;
-                               gpio-controller;
-                               #gpio-cells = <2>;
+
+                               v2m_led_gpios: sys_led@08 {
+                                       compatible = "arm,vexpress-sysreg,sys_led";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
+
+                               v2m_mmc_gpios: sys_mci@48 {
+                                       compatible = "arm,vexpress-sysreg,sys_mci";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
+
+                               v2m_flash_gpios: sys_flash@4c {
+                                       compatible = "arm,vexpress-sysreg,sys_flash";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
                        };
 
                        v2m_sysctl: sysctl@01000 {
                                clock-names = "refclk", "timclk", "apb_pclk";
                                #clock-cells = <1>;
                                clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3";
+                               assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>;
+                               assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
                        };
 
                        /* PCI-E I2C bus */
                                compatible = "arm,pl180", "arm,primecell";
                                reg = <0x05000 0x1000>;
                                interrupts = <9 10>;
-                               cd-gpios = <&v2m_sysreg 0 0>;
-                               wp-gpios = <&v2m_sysreg 1 0>;
+                               cd-gpios = <&v2m_mmc_gpios 0 0>;
+                               wp-gpios = <&v2m_mmc_gpios 1 0>;
                                max-frequency = <12000000>;
                                vmmc-supply = <&v2m_fixed_3v3>;
                                clocks = <&v2m_clk24mhz>, <&smbclk>;
                        clcd@1f000 {
                                compatible = "arm,pl111", "arm,primecell";
                                reg = <0x1f000 0x1000>;
+                               interrupt-names = "combined";
                                interrupts = <14>;
                                clocks = <&v2m_oscclk1>, <&smbclk>;
                                clock-names = "clcdclk", "apb_pclk";
+                               memory-region = <&v2m_video_ram>;
+                               max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */
+
+                               port {
+                                       v2m_clcd_pads: endpoint {
+                                               remote-endpoint = <&v2m_clcd_panel>;
+                                               arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
+                                       };
+                               };
+
+                               panel {
+                                       compatible = "panel-dpi";
+
+                                       port {
+                                               v2m_clcd_panel: endpoint {
+                                                       remote-endpoint = <&v2m_clcd_pads>;
+                                               };
+                                       };
+
+                                       panel-timing {
+                                               clock-frequency = <25175000>;
+                                               hactive = <640>;
+                                               hback-porch = <40>;
+                                               hfront-porch = <24>;
+                                               hsync-len = <96>;
+                                               vactive = <480>;
+                                               vback-porch = <32>;
+                                               vfront-porch = <11>;
+                                               vsync-len = <2>;
+                                       };
+                               };
                        };
                };
 
                        clock-output-names = "v2m:refclk32khz";
                };
 
+               leds {
+                       compatible = "gpio-leds";
+
+                       user@1 {
+                               label = "v2m:green:user1";
+                               gpios = <&v2m_led_gpios 0 0>;
+                               linux,default-trigger = "heartbeat";
+                       };
+
+                       user@2 {
+                               label = "v2m:green:user2";
+                               gpios = <&v2m_led_gpios 1 0>;
+                               linux,default-trigger = "mmc0";
+                       };
+
+                       user@3 {
+                               label = "v2m:green:user3";
+                               gpios = <&v2m_led_gpios 2 0>;
+                               linux,default-trigger = "cpu0";
+                       };
+
+                       user@4 {
+                               label = "v2m:green:user4";
+                               gpios = <&v2m_led_gpios 3 0>;
+                               linux,default-trigger = "cpu1";
+                       };
+
+                       user@5 {
+                               label = "v2m:green:user5";
+                               gpios = <&v2m_led_gpios 4 0>;
+                               linux,default-trigger = "cpu2";
+                       };
+
+                       user@6 {
+                               label = "v2m:green:user6";
+                               gpios = <&v2m_led_gpios 5 0>;
+                               linux,default-trigger = "cpu3";
+                       };
+
+                       user@7 {
+                               label = "v2m:green:user7";
+                               gpios = <&v2m_led_gpios 6 0>;
+                               linux,default-trigger = "cpu4";
+                       };
+
+                       user@8 {
+                               label = "v2m:green:user8";
+                               gpios = <&v2m_led_gpios 7 0>;
+                               linux,default-trigger = "cpu5";
+                       };
+               };
+
                mcc {
                        compatible = "arm,vexpress,config-bus";
                        arm,vexpress,config-bridge = <&v2m_sysreg>;
                                /* CLCD clock */
                                compatible = "arm,vexpress-osc";
                                arm,vexpress-sysreg,func = <1 1>;
-                               freq-range = <23750000 63500000>;
+                               freq-range = <23750000 65000000>;
                                #clock-cells = <0>;
                                clock-output-names = "v2m:oscclk1";
                        };