diff options
-rw-r--r-- | arch/arm/boot/dts/sun9i-a80.dtsi | 381 |
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>; |