aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-07-07 07:58:44 -0400
committerArnd Bergmann <arnd@arndb.de>2016-07-07 07:58:44 -0400
commitc8a12c063bbec0e8a9c0898affe47baa038fdeee (patch)
treec9c7d60b5d3458ce6ebbfd5891ff790ac68b89cf /arch/arm64/boot
parent135a2f38fa7ef517231caadfe7462f99236a7c61 (diff)
parentaea1c315b6395920bbeb69804e0355e57c67e086 (diff)
Merge tag 'v4.7-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt64
Merge "ARM: mediatek: dts 64 bit updates for v4.8" from Matthias Brugger: - Add nodes for the DISP function ports - Add dt-bindings for mt6755 - Add basic support for mt6755 SoC * tag 'v4.7-next-dts' of https://github.com/mbgg/linux-mediatek: arm64: dts: mediatek: add mt6755 support Document: DT: Add bindings for mediatek MT6755 SoC Platform arm64: dts: mt8173: Add display subsystem related nodes
Diffstat (limited to 'arch/arm64/boot')
-rw-r--r--arch/arm64/boot/dts/mediatek/Makefile1
-rw-r--r--arch/arm64/boot/dts/mediatek/mt6755-evb.dts38
-rw-r--r--arch/arm64/boot/dts/mediatek/mt6755.dtsi145
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8173.dtsi223
4 files changed, 407 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
index e0a4bff2fc17..9fbfd3238469 100644
--- a/arch/arm64/boot/dts/mediatek/Makefile
+++ b/arch/arm64/boot/dts/mediatek/Makefile
@@ -1,3 +1,4 @@
1dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb
1dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb 2dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb
2dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb 3dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb
3 4
diff --git a/arch/arm64/boot/dts/mediatek/mt6755-evb.dts b/arch/arm64/boot/dts/mediatek/mt6755-evb.dts
new file mode 100644
index 000000000000..c568d49235af
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt6755-evb.dts
@@ -0,0 +1,38 @@
1/*
2 * Copyright (c) 2016 MediaTek Inc.
3 * Author: Mars.C <mars.cheng@mediatek.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15/dts-v1/;
16#include "mt6755.dtsi"
17
18/ {
19 model = "MediaTek MT6755 EVB";
20 compatible = "mediatek,mt6755-evb", "mediatek,mt6755";
21
22 aliases {
23 serial0 = &uart0;
24 };
25
26 memory@40000000 {
27 device_type = "memory";
28 reg = <0 0x40000000 0 0x1e800000>;
29 };
30
31 chosen {
32 stdout-path = "serial0:921600n8";
33 };
34};
35
36&uart0 {
37 status = "okay";
38};
diff --git a/arch/arm64/boot/dts/mediatek/mt6755.dtsi b/arch/arm64/boot/dts/mediatek/mt6755.dtsi
new file mode 100644
index 000000000000..01ba77669717
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt6755.dtsi
@@ -0,0 +1,145 @@
1/*
2 * Copyright (c) 2016 MediaTek Inc.
3 * Author: Mars.C <mars.cheng@mediatek.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/interrupt-controller/arm-gic.h>
16
17/ {
18 compatible = "mediatek,mt6755";
19 interrupt-parent = <&sysirq>;
20 #address-cells = <2>;
21 #size-cells = <2>;
22
23 psci {
24 compatible = "arm,psci-0.2";
25 method = "smc";
26 };
27
28 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 cpu0: cpu@0 {
33 device_type = "cpu";
34 compatible = "arm,cortex-a53";
35 enable-method = "psci";
36 reg = <0x000>;
37 };
38
39 cpu1: cpu@1 {
40 device_type = "cpu";
41 compatible = "arm,cortex-a53";
42 enable-method = "psci";
43 reg = <0x001>;
44 };
45
46 cpu2: cpu@2 {
47 device_type = "cpu";
48 compatible = "arm,cortex-a53";
49 enable-method = "psci";
50 reg = <0x002>;
51 };
52
53 cpu3: cpu@3 {
54 device_type = "cpu";
55 compatible = "arm,cortex-a53";
56 enable-method = "psci";
57 reg = <0x003>;
58 };
59
60 cpu4: cpu@100 {
61 device_type = "cpu";
62 compatible = "arm,cortex-a53";
63 enable-method = "psci";
64 reg = <0x100>;
65 };
66
67 cpu5: cpu@101 {
68 device_type = "cpu";
69 compatible = "arm,cortex-a53";
70 enable-method = "psci";
71 reg = <0x101>;
72 };
73
74 cpu6: cpu@102 {
75 device_type = "cpu";
76 compatible = "arm,cortex-a53";
77 enable-method = "psci";
78 reg = <0x102>;
79 };
80
81 cpu7: cpu@103 {
82 device_type = "cpu";
83 compatible = "arm,cortex-a53";
84 enable-method = "psci";
85 reg = <0x103>;
86 };
87 };
88
89 uart_clk: dummy26m {
90 compatible = "fixed-clock";
91 clock-frequency = <26000000>;
92 #clock-cells = <0>;
93 };
94
95 timer {
96 compatible = "arm,armv8-timer";
97 interrupt-parent = <&gic>;
98 interrupts = <GIC_PPI 13
99 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
100 <GIC_PPI 14
101 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
102 <GIC_PPI 11
103 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
104 <GIC_PPI 10
105 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
106 };
107
108 sysirq: intpol-controller@10200620 {
109 compatible = "mediatek,mt6755-sysirq",
110 "mediatek,mt6577-sysirq";
111 interrupt-controller;
112 #interrupt-cells = <3>;
113 interrupt-parent = <&gic>;
114 reg = <0 0x10200620 0 0x20>;
115 };
116
117 gic: interrupt-controller@10231000 {
118 compatible = "arm,gic-400";
119 #interrupt-cells = <3>;
120 interrupt-parent = <&gic>;
121 interrupt-controller;
122 reg = <0 0x10231000 0 0x1000>,
123 <0 0x10232000 0 0x2000>,
124 <0 0x10234000 0 0x2000>,
125 <0 0x10236000 0 0x2000>;
126 };
127
128 uart0: serial@11002000 {
129 compatible = "mediatek,mt6755-uart",
130 "mediatek,mt6577-uart";
131 reg = <0 0x11002000 0 0x400>;
132 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
133 clocks = <&uart_clk>;
134 status = "disabled";
135 };
136
137 uart1: serial@11003000 {
138 compatible = "mediatek,mt6755-uart",
139 "mediatek,mt6577-uart";
140 reg = <0 0x11003000 0 0x400>;
141 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
142 clocks = <&uart_clk>;
143 status = "disabled";
144 };
145};
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 05f89c4a5413..78529e4e8379 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -26,6 +26,23 @@
26 #address-cells = <2>; 26 #address-cells = <2>;
27 #size-cells = <2>; 27 #size-cells = <2>;
28 28
29 aliases {
30 ovl0 = &ovl0;
31 ovl1 = &ovl1;
32 rdma0 = &rdma0;
33 rdma1 = &rdma1;
34 rdma2 = &rdma2;
35 wdma0 = &wdma0;
36 wdma1 = &wdma1;
37 color0 = &color0;
38 color1 = &color1;
39 split0 = &split0;
40 split1 = &split1;
41 dpi0 = &dpi0;
42 dsi0 = &dsi0;
43 dsi1 = &dsi1;
44 };
45
29 cpus { 46 cpus {
30 #address-cells = <1>; 47 #address-cells = <1>;
31 #size-cells = <0>; 48 #size-cells = <0>;
@@ -343,6 +360,26 @@
343 #clock-cells = <1>; 360 #clock-cells = <1>;
344 }; 361 };
345 362
363 mipi_tx0: mipi-dphy@10215000 {
364 compatible = "mediatek,mt8173-mipi-tx";
365 reg = <0 0x10215000 0 0x1000>;
366 clocks = <&clk26m>;
367 clock-output-names = "mipi_tx0_pll";
368 #clock-cells = <0>;
369 #phy-cells = <0>;
370 status = "disabled";
371 };
372
373 mipi_tx1: mipi-dphy@10216000 {
374 compatible = "mediatek,mt8173-mipi-tx";
375 reg = <0 0x10216000 0 0x1000>;
376 clocks = <&clk26m>;
377 clock-output-names = "mipi_tx1_pll";
378 #clock-cells = <0>;
379 #phy-cells = <0>;
380 status = "disabled";
381 };
382
346 gic: interrupt-controller@10220000 { 383 gic: interrupt-controller@10220000 {
347 compatible = "arm,gic-400"; 384 compatible = "arm,gic-400";
348 #interrupt-cells = <3>; 385 #interrupt-cells = <3>;
@@ -652,9 +689,181 @@
652 mmsys: clock-controller@14000000 { 689 mmsys: clock-controller@14000000 {
653 compatible = "mediatek,mt8173-mmsys", "syscon"; 690 compatible = "mediatek,mt8173-mmsys", "syscon";
654 reg = <0 0x14000000 0 0x1000>; 691 reg = <0 0x14000000 0 0x1000>;
692 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
655 #clock-cells = <1>; 693 #clock-cells = <1>;
656 }; 694 };
657 695
696 ovl0: ovl@1400c000 {
697 compatible = "mediatek,mt8173-disp-ovl";
698 reg = <0 0x1400c000 0 0x1000>;
699 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_LOW>;
700 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
701 clocks = <&mmsys CLK_MM_DISP_OVL0>;
702 iommus = <&iommu M4U_PORT_DISP_OVL0>;
703 mediatek,larb = <&larb0>;
704 };
705
706 ovl1: ovl@1400d000 {
707 compatible = "mediatek,mt8173-disp-ovl";
708 reg = <0 0x1400d000 0 0x1000>;
709 interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_LOW>;
710 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
711 clocks = <&mmsys CLK_MM_DISP_OVL1>;
712 iommus = <&iommu M4U_PORT_DISP_OVL1>;
713 mediatek,larb = <&larb4>;
714 };
715
716 rdma0: rdma@1400e000 {
717 compatible = "mediatek,mt8173-disp-rdma";
718 reg = <0 0x1400e000 0 0x1000>;
719 interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_LOW>;
720 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
721 clocks = <&mmsys CLK_MM_DISP_RDMA0>;
722 iommus = <&iommu M4U_PORT_DISP_RDMA0>;
723 mediatek,larb = <&larb0>;
724 };
725
726 rdma1: rdma@1400f000 {
727 compatible = "mediatek,mt8173-disp-rdma";
728 reg = <0 0x1400f000 0 0x1000>;
729 interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_LOW>;
730 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
731 clocks = <&mmsys CLK_MM_DISP_RDMA1>;
732 iommus = <&iommu M4U_PORT_DISP_RDMA1>;
733 mediatek,larb = <&larb4>;
734 };
735
736 rdma2: rdma@14010000 {
737 compatible = "mediatek,mt8173-disp-rdma";
738 reg = <0 0x14010000 0 0x1000>;
739 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_LOW>;
740 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
741 clocks = <&mmsys CLK_MM_DISP_RDMA2>;
742 iommus = <&iommu M4U_PORT_DISP_RDMA2>;
743 mediatek,larb = <&larb4>;
744 };
745
746 wdma0: wdma@14011000 {
747 compatible = "mediatek,mt8173-disp-wdma";
748 reg = <0 0x14011000 0 0x1000>;
749 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_LOW>;
750 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
751 clocks = <&mmsys CLK_MM_DISP_WDMA0>;
752 iommus = <&iommu M4U_PORT_DISP_WDMA0>;
753 mediatek,larb = <&larb0>;
754 };
755
756 wdma1: wdma@14012000 {
757 compatible = "mediatek,mt8173-disp-wdma";
758 reg = <0 0x14012000 0 0x1000>;
759 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_LOW>;
760 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
761 clocks = <&mmsys CLK_MM_DISP_WDMA1>;
762 iommus = <&iommu M4U_PORT_DISP_WDMA1>;
763 mediatek,larb = <&larb4>;
764 };
765
766 color0: color@14013000 {
767 compatible = "mediatek,mt8173-disp-color";
768 reg = <0 0x14013000 0 0x1000>;
769 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_LOW>;
770 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
771 clocks = <&mmsys CLK_MM_DISP_COLOR0>;
772 };
773
774 color1: color@14014000 {
775 compatible = "mediatek,mt8173-disp-color";
776 reg = <0 0x14014000 0 0x1000>;
777 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_LOW>;
778 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
779 clocks = <&mmsys CLK_MM_DISP_COLOR1>;
780 };
781
782 aal@14015000 {
783 compatible = "mediatek,mt8173-disp-aal";
784 reg = <0 0x14015000 0 0x1000>;
785 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_LOW>;
786 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
787 clocks = <&mmsys CLK_MM_DISP_AAL>;
788 };
789
790 gamma@14016000 {
791 compatible = "mediatek,mt8173-disp-gamma";
792 reg = <0 0x14016000 0 0x1000>;
793 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_LOW>;
794 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
795 clocks = <&mmsys CLK_MM_DISP_GAMMA>;
796 };
797
798 merge@14017000 {
799 compatible = "mediatek,mt8173-disp-merge";
800 reg = <0 0x14017000 0 0x1000>;
801 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
802 clocks = <&mmsys CLK_MM_DISP_MERGE>;
803 };
804
805 split0: split@14018000 {
806 compatible = "mediatek,mt8173-disp-split";
807 reg = <0 0x14018000 0 0x1000>;
808 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
809 clocks = <&mmsys CLK_MM_DISP_SPLIT0>;
810 };
811
812 split1: split@14019000 {
813 compatible = "mediatek,mt8173-disp-split";
814 reg = <0 0x14019000 0 0x1000>;
815 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
816 clocks = <&mmsys CLK_MM_DISP_SPLIT1>;
817 };
818
819 ufoe@1401a000 {
820 compatible = "mediatek,mt8173-disp-ufoe";
821 reg = <0 0x1401a000 0 0x1000>;
822 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_LOW>;
823 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
824 clocks = <&mmsys CLK_MM_DISP_UFOE>;
825 };
826
827 dsi0: dsi@1401b000 {
828 compatible = "mediatek,mt8173-dsi";
829 reg = <0 0x1401b000 0 0x1000>;
830 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_LOW>;
831 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
832 clocks = <&mmsys CLK_MM_DSI0_ENGINE>,
833 <&mmsys CLK_MM_DSI0_DIGITAL>,
834 <&mipi_tx0>;
835 clock-names = "engine", "digital", "hs";
836 phys = <&mipi_tx0>;
837 phy-names = "dphy";
838 status = "disabled";
839 };
840
841 dsi1: dsi@1401c000 {
842 compatible = "mediatek,mt8173-dsi";
843 reg = <0 0x1401c000 0 0x1000>;
844 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>;
845 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
846 clocks = <&mmsys CLK_MM_DSI1_ENGINE>,
847 <&mmsys CLK_MM_DSI1_DIGITAL>,
848 <&mipi_tx1>;
849 clock-names = "engine", "digital", "hs";
850 phy = <&mipi_tx1>;
851 phy-names = "dphy";
852 status = "disabled";
853 };
854
855 dpi0: dpi@1401d000 {
856 compatible = "mediatek,mt8173-dpi";
857 reg = <0 0x1401d000 0 0x1000>;
858 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
859 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
860 clocks = <&mmsys CLK_MM_DPI_PIXEL>,
861 <&mmsys CLK_MM_DPI_ENGINE>,
862 <&apmixedsys CLK_APMIXED_TVDPLL>;
863 clock-names = "pixel", "engine", "pll";
864 status = "disabled";
865 };
866
658 pwm0: pwm@1401e000 { 867 pwm0: pwm@1401e000 {
659 compatible = "mediatek,mt8173-disp-pwm", 868 compatible = "mediatek,mt8173-disp-pwm",
660 "mediatek,mt6595-disp-pwm"; 869 "mediatek,mt6595-disp-pwm";
@@ -677,6 +886,14 @@
677 status = "disabled"; 886 status = "disabled";
678 }; 887 };
679 888
889 mutex: mutex@14020000 {
890 compatible = "mediatek,mt8173-disp-mutex";
891 reg = <0 0x14020000 0 0x1000>;
892 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_LOW>;
893 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
894 clocks = <&mmsys CLK_MM_MUTEX_32K>;
895 };
896
680 larb0: larb@14021000 { 897 larb0: larb@14021000 {
681 compatible = "mediatek,mt8173-smi-larb"; 898 compatible = "mediatek,mt8173-smi-larb";
682 reg = <0 0x14021000 0 0x1000>; 899 reg = <0 0x14021000 0 0x1000>;
@@ -696,6 +913,12 @@
696 clock-names = "apb", "smi"; 913 clock-names = "apb", "smi";
697 }; 914 };
698 915
916 od@14023000 {
917 compatible = "mediatek,mt8173-disp-od";
918 reg = <0 0x14023000 0 0x1000>;
919 clocks = <&mmsys CLK_MM_DISP_OD>;
920 };
921
699 larb4: larb@14027000 { 922 larb4: larb@14027000 {
700 compatible = "mediatek,mt8173-smi-larb"; 923 compatible = "mediatek,mt8173-smi-larb";
701 reg = <0 0x14027000 0 0x1000>; 924 reg = <0 0x14027000 0 0x1000>;