arm64: dts: allwinner: a64: add necessary device tree nodes for DE2 CCU
authorIcenowy Zheng <icenowy@aosc.io>
Fri, 22 Jun 2018 12:45:38 +0000 (20:45 +0800)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Wed, 27 Jun 2018 18:32:58 +0000 (20:32 +0200)
As we have all necessary parts to enable the DE2 CCU on the Allwinner
A64 SoC, add the needed device tree nodes, including the DE2 CCU itself
and the DE2 bus.

The "mixer0-lcd0" simplefb device node is updated to use the DE2 CCU.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi

index ff2ddde..318c4ba 100644 (file)
  */
 
 #include <dt-bindings/clock/sun50i-a64-ccu.h>
+#include <dt-bindings/clock/sun8i-de2.h>
 #include <dt-bindings/clock/sun8i-r-ccu.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/reset/sun50i-a64-ccu.h>
+#include <dt-bindings/reset/sun8i-de2.h>
 #include <dt-bindings/reset/sun8i-r-ccu.h>
 
 / {
                #size-cells = <1>;
                ranges;
 
-/*
- * The pipeline mixer0-lcd0 depends on clock CLK_MIXER0 from DE2 CCU.
- * However there is no support for this clock on A64 yet, so we depend
- * on the upstream clocks here to keep them (and thus CLK_MIXER0) up.
- */
                simplefb_lcd: framebuffer-lcd {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "mixer0-lcd0";
                        clocks = <&ccu CLK_TCON0>,
-                                <&ccu CLK_DE>, <&ccu CLK_BUS_DE>;
+                                <&display_clocks CLK_MIXER0>;
                        status = "disabled";
                };
        };
                #size-cells = <1>;
                ranges;
 
+               de2@1000000 {
+                       compatible = "allwinner,sun50i-a64-de2";
+                       reg = <0x1000000 0x400000>;
+                       allwinner,sram = <&de2_sram 1>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x1000000 0x400000>;
+
+                       display_clocks: clock@0 {
+                               compatible = "allwinner,sun50i-a64-de2-clk";
+                               reg = <0x0 0x100000>;
+                               clocks = <&ccu CLK_DE>,
+                                        <&ccu CLK_BUS_DE>;
+                               clock-names = "mod",
+                                             "bus";
+                               resets = <&ccu RST_BUS_DE>;
+                               #clock-cells = <1>;
+                               #reset-cells = <1>;
+                       };
+               };
+
                syscon: syscon@1c00000 {
                        compatible = "allwinner,sun50i-a64-system-control";
                        reg = <0x01c00000 0x1000>;