aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/sun9i-a80.dtsi381
1 files changed, 381 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi
index 82a770a5ba46..6fdb4eaa2e04 100644
--- a/arch/arm/boot/dts/sun9i-a80.dtsi
+++ b/arch/arm/boot/dts/sun9i-a80.dtsi
@@ -248,6 +248,12 @@
248 }; 248 };
249 }; 249 };
250 250
251 de: display-engine {
252 compatible = "allwinner,sun9i-a80-display-engine";
253 allwinner,pipelines = <&fe0>, <&fe1>;
254 status = "disabled";
255 };
256
251 soc { 257 soc {
252 compatible = "simple-bus"; 258 compatible = "simple-bus";
253 #address-cells = <1>; 259 #address-cells = <1>;
@@ -523,6 +529,381 @@
523 #reset-cells = <1>; 529 #reset-cells = <1>;
524 }; 530 };
525 531
532 fe0: display-frontend@3100000 {
533 compatible = "allwinner,sun9i-a80-display-frontend";
534 reg = <0x03100000 0x40000>;
535 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
536 clocks = <&de_clocks CLK_BUS_FE0>, <&de_clocks CLK_FE0>,
537 <&de_clocks CLK_DRAM_FE0>;
538 clock-names = "ahb", "mod",
539 "ram";
540 resets = <&de_clocks RST_FE0>;
541
542 ports {
543 #address-cells = <1>;
544 #size-cells = <0>;
545
546 fe0_out: port@1 {
547 #address-cells = <1>;
548 #size-cells = <0>;
549 reg = <1>;
550
551 fe0_out_deu0: endpoint@0 {
552 reg = <0>;
553 remote-endpoint = <&deu0_in_fe0>;
554 };
555 };
556 };
557 };
558
559 fe1: display-frontend@3140000 {
560 compatible = "allwinner,sun9i-a80-display-frontend";
561 reg = <0x03140000 0x40000>;
562 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
563 clocks = <&de_clocks CLK_BUS_FE1>, <&de_clocks CLK_FE1>,
564 <&de_clocks CLK_DRAM_FE1>;
565 clock-names = "ahb", "mod",
566 "ram";
567 resets = <&de_clocks RST_FE0>;
568
569 ports {
570 #address-cells = <1>;
571 #size-cells = <0>;
572
573 fe1_out: port@1 {
574 #address-cells = <1>;
575 #size-cells = <0>;
576 reg = <1>;
577
578 fe1_out_deu1: endpoint@0 {
579 reg = <0>;
580 remote-endpoint = <&deu1_in_fe1>;
581 };
582 };
583 };
584 };
585
586 be0: display-backend@3200000 {
587 compatible = "allwinner,sun9i-a80-display-backend";
588 reg = <0x03200000 0x40000>;
589 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
590 clocks = <&de_clocks CLK_BUS_BE0>, <&de_clocks CLK_BE0>,
591 <&de_clocks CLK_DRAM_BE0>;
592 clock-names = "ahb", "mod",
593 "ram";
594 resets = <&de_clocks RST_BE0>;
595
596 ports {
597 #address-cells = <1>;
598 #size-cells = <0>;
599
600 be0_in: port@0 {
601 #address-cells = <1>;
602 #size-cells = <0>;
603 reg = <0>;
604
605 be0_in_deu0: endpoint@0 {
606 reg = <0>;
607 remote-endpoint = <&deu0_out_be0>;
608 };
609
610 be0_in_deu1: endpoint@1 {
611 reg = <1>;
612 remote-endpoint = <&deu1_out_be0>;
613 };
614 };
615
616 be0_out: port@1 {
617 #address-cells = <1>;
618 #size-cells = <0>;
619 reg = <1>;
620
621 be0_out_drc0: endpoint@0 {
622 reg = <0>;
623 remote-endpoint = <&drc0_in_be0>;
624 };
625 };
626 };
627 };
628
629 be1: display-backend@3240000 {
630 compatible = "allwinner,sun9i-a80-display-backend";
631 reg = <0x03240000 0x40000>;
632 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
633 clocks = <&de_clocks CLK_BUS_BE1>, <&de_clocks CLK_BE1>,
634 <&de_clocks CLK_DRAM_BE1>;
635 clock-names = "ahb", "mod",
636 "ram";
637 resets = <&de_clocks RST_BE1>;
638
639 ports {
640 #address-cells = <1>;
641 #size-cells = <0>;
642
643 be1_in: port@0 {
644 #address-cells = <1>;
645 #size-cells = <0>;
646 reg = <0>;
647
648 be1_in_deu0: endpoint@0 {
649 reg = <0>;
650 remote-endpoint = <&deu0_out_be1>;
651 };
652
653 be1_in_deu1: endpoint@1 {
654 reg = <1>;
655 remote-endpoint = <&deu1_out_be1>;
656 };
657 };
658
659 be1_out: port@1 {
660 #address-cells = <1>;
661 #size-cells = <0>;
662 reg = <1>;
663
664 be1_out_drc1: endpoint@0 {
665 reg = <0>;
666 remote-endpoint = <&drc1_in_be1>;
667 };
668 };
669 };
670 };
671
672 deu0: deu@3300000 {
673 compatible = "allwinner,sun9i-a80-deu";
674 reg = <0x03300000 0x40000>;
675 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
676 clocks = <&de_clocks CLK_BUS_DEU0>,
677 <&de_clocks CLK_IEP_DEU0>,
678 <&de_clocks CLK_DRAM_DEU0>;
679 clock-names = "ahb",
680 "mod",
681 "ram";
682 resets = <&de_clocks RST_DEU0>;
683
684 ports {
685 #address-cells = <1>;
686 #size-cells = <0>;
687
688 deu0_in: port@0 {
689 #address-cells = <1>;
690 #size-cells = <0>;
691 reg = <0>;
692
693 deu0_in_fe0: endpoint@0 {
694 reg = <0>;
695 remote-endpoint = <&fe0_out_deu0>;
696 };
697 };
698
699 deu0_out: port@1 {
700 #address-cells = <1>;
701 #size-cells = <0>;
702 reg = <1>;
703
704 deu0_out_be0: endpoint@0 {
705 reg = <0>;
706 remote-endpoint = <&be0_in_deu0>;
707 };
708
709 deu0_out_be1: endpoint@1 {
710 reg = <1>;
711 remote-endpoint = <&be1_in_deu0>;
712 };
713 };
714 };
715 };
716
717 deu1: deu@3340000 {
718 compatible = "allwinner,sun9i-a80-deu";
719 reg = <0x03340000 0x40000>;
720 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
721 clocks = <&de_clocks CLK_BUS_DEU1>,
722 <&de_clocks CLK_IEP_DEU1>,
723 <&de_clocks CLK_DRAM_DEU1>;
724 clock-names = "ahb",
725 "mod",
726 "ram";
727 resets = <&de_clocks RST_DEU1>;
728
729 ports {
730 #address-cells = <1>;
731 #size-cells = <0>;
732
733 deu1_in: port@0 {
734 #address-cells = <1>;
735 #size-cells = <0>;
736 reg = <0>;
737
738 deu1_in_fe1: endpoint@0 {
739 reg = <0>;
740 remote-endpoint = <&fe1_out_deu1>;
741 };
742 };
743
744 deu1_out: port@1 {
745 #address-cells = <1>;
746 #size-cells = <0>;
747 reg = <1>;
748
749 deu1_out_be0: endpoint@0 {
750 reg = <0>;
751 remote-endpoint = <&be0_in_deu1>;
752 };
753
754 deu1_out_be1: endpoint@1 {
755 reg = <1>;
756 remote-endpoint = <&be1_in_deu1>;
757 };
758 };
759 };
760 };
761
762 drc0: drc@3400000 {
763 compatible = "allwinner,sun9i-a80-drc";
764 reg = <0x03400000 0x40000>;
765 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
766 clocks = <&de_clocks CLK_BUS_DRC0>,
767 <&de_clocks CLK_IEP_DRC0>,
768 <&de_clocks CLK_DRAM_DRC0>;
769 clock-names = "ahb",
770 "mod",
771 "ram";
772 resets = <&de_clocks RST_DRC0>;
773
774 ports {
775 #address-cells = <1>;
776 #size-cells = <0>;
777
778 drc0_in: port@0 {
779 #address-cells = <1>;
780 #size-cells = <0>;
781 reg = <0>;
782
783 drc0_in_be0: endpoint@0 {
784 reg = <0>;
785 remote-endpoint = <&be0_out_drc0>;
786 };
787 };
788
789 drc0_out: port@1 {
790 #address-cells = <1>;
791 #size-cells = <0>;
792 reg = <1>;
793
794 drc0_out_tcon0: endpoint@0 {
795 reg = <0>;
796 remote-endpoint = <&tcon0_in_drc0>;
797 };
798 };
799 };
800 };
801
802 drc1: drc@3440000 {
803 compatible = "allwinner,sun9i-a80-drc";
804 reg = <0x03440000 0x40000>;
805 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
806 clocks = <&de_clocks CLK_BUS_DRC1>,
807 <&de_clocks CLK_IEP_DRC1>,
808 <&de_clocks CLK_DRAM_DRC1>;
809 clock-names = "ahb",
810 "mod",
811 "ram";
812 resets = <&de_clocks RST_DRC1>;
813
814 ports {
815 #address-cells = <1>;
816 #size-cells = <0>;
817
818 drc1_in: port@0 {
819 #address-cells = <1>;
820 #size-cells = <0>;
821 reg = <0>;
822
823 drc1_in_be1: endpoint@0 {
824 reg = <0>;
825 remote-endpoint = <&be1_out_drc1>;
826 };
827 };
828
829 drc1_out: port@1 {
830 #address-cells = <1>;
831 #size-cells = <0>;
832 reg = <1>;
833
834 drc1_out_tcon1: endpoint@0 {
835 reg = <0>;
836 remote-endpoint = <&tcon1_in_drc1>;
837 };
838 };
839 };
840 };
841
842 tcon0: lcd-controller@3c00000 {
843 compatible = "allwinner,sun9i-a80-tcon-lcd";
844 reg = <0x03c00000 0x10000>;
845 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
846 clocks = <&ccu CLK_BUS_LCD0>, <&ccu CLK_LCD0>;
847 clock-names = "ahb", "tcon-ch0";
848 resets = <&ccu RST_BUS_LCD0>, <&ccu RST_BUS_EDP>;
849 reset-names = "lcd", "edp";
850 clock-output-names = "tcon0-pixel-clock";
851
852 ports {
853 #address-cells = <1>;
854 #size-cells = <0>;
855
856 tcon0_in: port@0 {
857 #address-cells = <1>;
858 #size-cells = <0>;
859 reg = <0>;
860
861 tcon0_in_drc0: endpoint@0 {
862 reg = <0>;
863 remote-endpoint = <&drc0_out_tcon0>;
864 };
865 };
866
867 tcon0_out: port@1 {
868 #address-cells = <1>;
869 #size-cells = <0>;
870 reg = <1>;
871 };
872 };
873 };
874
875 tcon1: lcd-controller@3c10000 {
876 compatible = "allwinner,sun9i-a80-tcon-tv";
877 reg = <0x03c10000 0x10000>;
878 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
879 clocks = <&ccu CLK_BUS_LCD1>, <&ccu CLK_LCD1>;
880 clock-names = "ahb", "tcon-ch1";
881 resets = <&ccu RST_BUS_LCD1>, <&ccu RST_BUS_EDP>;
882 reset-names = "lcd", "edp";
883
884 ports {
885 #address-cells = <1>;
886 #size-cells = <0>;
887
888 tcon1_in: port@0 {
889 #address-cells = <1>;
890 #size-cells = <0>;
891 reg = <0>;
892
893 tcon1_in_drc1: endpoint@0 {
894 reg = <0>;
895 remote-endpoint = <&drc1_out_tcon1>;
896 };
897 };
898
899 tcon1_out: port@1 {
900 #address-cells = <1>;
901 #size-cells = <0>;
902 reg = <1>;
903 };
904 };
905 };
906
526 ccu: clock@6000000 { 907 ccu: clock@6000000 {
527 compatible = "allwinner,sun9i-a80-ccu"; 908 compatible = "allwinner,sun9i-a80-ccu";
528 reg = <0x06000000 0x800>; 909 reg = <0x06000000 0x800>;