.. | .. |
---|
18 | 18 | #include <dt-bindings/phy/phy.h> |
---|
19 | 19 | #include <dt-bindings/power/mt8173-power.h> |
---|
20 | 20 | #include <dt-bindings/reset/mt8173-resets.h> |
---|
| 21 | +#include <dt-bindings/gce/mt8173-gce.h> |
---|
| 22 | +#include <dt-bindings/thermal/thermal.h> |
---|
21 | 23 | #include "mt8173-pinfunc.h" |
---|
22 | 24 | |
---|
23 | 25 | / { |
---|
.. | .. |
---|
41 | 43 | dpi0 = &dpi0; |
---|
42 | 44 | dsi0 = &dsi0; |
---|
43 | 45 | dsi1 = &dsi1; |
---|
44 | | - mdp_rdma0 = &mdp_rdma0; |
---|
45 | | - mdp_rdma1 = &mdp_rdma1; |
---|
46 | | - mdp_rsz0 = &mdp_rsz0; |
---|
47 | | - mdp_rsz1 = &mdp_rsz1; |
---|
48 | | - mdp_rsz2 = &mdp_rsz2; |
---|
49 | | - mdp_wdma0 = &mdp_wdma0; |
---|
50 | | - mdp_wrot0 = &mdp_wrot0; |
---|
51 | | - mdp_wrot1 = &mdp_wrot1; |
---|
| 46 | + mdp-rdma0 = &mdp_rdma0; |
---|
| 47 | + mdp-rdma1 = &mdp_rdma1; |
---|
| 48 | + mdp-rsz0 = &mdp_rsz0; |
---|
| 49 | + mdp-rsz1 = &mdp_rsz1; |
---|
| 50 | + mdp-rsz2 = &mdp_rsz2; |
---|
| 51 | + mdp-wdma0 = &mdp_wdma0; |
---|
| 52 | + mdp-wrot0 = &mdp_wrot0; |
---|
| 53 | + mdp-wrot1 = &mdp_wrot1; |
---|
| 54 | + serial0 = &uart0; |
---|
| 55 | + serial1 = &uart1; |
---|
| 56 | + serial2 = &uart2; |
---|
| 57 | + serial3 = &uart3; |
---|
52 | 58 | }; |
---|
53 | 59 | |
---|
54 | 60 | cluster0_opp: opp_table0 { |
---|
.. | .. |
---|
156 | 162 | enable-method = "psci"; |
---|
157 | 163 | cpu-idle-states = <&CPU_SLEEP_0>; |
---|
158 | 164 | #cooling-cells = <2>; |
---|
| 165 | + dynamic-power-coefficient = <263>; |
---|
159 | 166 | clocks = <&infracfg CLK_INFRA_CA53SEL>, |
---|
160 | 167 | <&apmixedsys CLK_APMIXED_MAINPLL>; |
---|
161 | 168 | clock-names = "cpu", "intermediate"; |
---|
162 | 169 | operating-points-v2 = <&cluster0_opp>; |
---|
| 170 | + capacity-dmips-mhz = <740>; |
---|
163 | 171 | }; |
---|
164 | 172 | |
---|
165 | 173 | cpu1: cpu@1 { |
---|
.. | .. |
---|
169 | 177 | enable-method = "psci"; |
---|
170 | 178 | cpu-idle-states = <&CPU_SLEEP_0>; |
---|
171 | 179 | #cooling-cells = <2>; |
---|
| 180 | + dynamic-power-coefficient = <263>; |
---|
172 | 181 | clocks = <&infracfg CLK_INFRA_CA53SEL>, |
---|
173 | 182 | <&apmixedsys CLK_APMIXED_MAINPLL>; |
---|
174 | 183 | clock-names = "cpu", "intermediate"; |
---|
175 | 184 | operating-points-v2 = <&cluster0_opp>; |
---|
| 185 | + capacity-dmips-mhz = <740>; |
---|
176 | 186 | }; |
---|
177 | 187 | |
---|
178 | 188 | cpu2: cpu@100 { |
---|
179 | 189 | device_type = "cpu"; |
---|
180 | | - compatible = "arm,cortex-a57"; |
---|
| 190 | + compatible = "arm,cortex-a72"; |
---|
181 | 191 | reg = <0x100>; |
---|
182 | 192 | enable-method = "psci"; |
---|
183 | 193 | cpu-idle-states = <&CPU_SLEEP_0>; |
---|
184 | 194 | #cooling-cells = <2>; |
---|
185 | | - clocks = <&infracfg CLK_INFRA_CA57SEL>, |
---|
| 195 | + dynamic-power-coefficient = <530>; |
---|
| 196 | + clocks = <&infracfg CLK_INFRA_CA72SEL>, |
---|
186 | 197 | <&apmixedsys CLK_APMIXED_MAINPLL>; |
---|
187 | 198 | clock-names = "cpu", "intermediate"; |
---|
188 | 199 | operating-points-v2 = <&cluster1_opp>; |
---|
| 200 | + capacity-dmips-mhz = <1024>; |
---|
189 | 201 | }; |
---|
190 | 202 | |
---|
191 | 203 | cpu3: cpu@101 { |
---|
192 | 204 | device_type = "cpu"; |
---|
193 | | - compatible = "arm,cortex-a57"; |
---|
| 205 | + compatible = "arm,cortex-a72"; |
---|
194 | 206 | reg = <0x101>; |
---|
195 | 207 | enable-method = "psci"; |
---|
196 | 208 | cpu-idle-states = <&CPU_SLEEP_0>; |
---|
197 | 209 | #cooling-cells = <2>; |
---|
198 | | - clocks = <&infracfg CLK_INFRA_CA57SEL>, |
---|
| 210 | + dynamic-power-coefficient = <530>; |
---|
| 211 | + clocks = <&infracfg CLK_INFRA_CA72SEL>, |
---|
199 | 212 | <&apmixedsys CLK_APMIXED_MAINPLL>; |
---|
200 | 213 | clock-names = "cpu", "intermediate"; |
---|
201 | 214 | operating-points-v2 = <&cluster1_opp>; |
---|
| 215 | + capacity-dmips-mhz = <1024>; |
---|
202 | 216 | }; |
---|
203 | 217 | |
---|
204 | 218 | idle-states { |
---|
.. | .. |
---|
213 | 227 | arm,psci-suspend-param = <0x0010000>; |
---|
214 | 228 | }; |
---|
215 | 229 | }; |
---|
| 230 | + }; |
---|
| 231 | + |
---|
| 232 | + pmu_a53 { |
---|
| 233 | + compatible = "arm,cortex-a53-pmu"; |
---|
| 234 | + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>, |
---|
| 235 | + <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>; |
---|
| 236 | + interrupt-affinity = <&cpu0>, <&cpu1>; |
---|
| 237 | + }; |
---|
| 238 | + |
---|
| 239 | + pmu_a72 { |
---|
| 240 | + compatible = "arm,cortex-a72-pmu"; |
---|
| 241 | + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_LOW>, |
---|
| 242 | + <GIC_SPI 13 IRQ_TYPE_LEVEL_LOW>; |
---|
| 243 | + interrupt-affinity = <&cpu2>, <&cpu3>; |
---|
216 | 244 | }; |
---|
217 | 245 | |
---|
218 | 246 | psci { |
---|
.. | .. |
---|
275 | 303 | cooling-maps { |
---|
276 | 304 | map0 { |
---|
277 | 305 | trip = <&target>; |
---|
278 | | - cooling-device = <&cpu0 0 0>; |
---|
| 306 | + cooling-device = <&cpu0 THERMAL_NO_LIMIT |
---|
| 307 | + THERMAL_NO_LIMIT>, |
---|
| 308 | + <&cpu1 THERMAL_NO_LIMIT |
---|
| 309 | + THERMAL_NO_LIMIT>; |
---|
279 | 310 | contribution = <3072>; |
---|
280 | 311 | }; |
---|
281 | 312 | map1 { |
---|
282 | 313 | trip = <&target>; |
---|
283 | | - cooling-device = <&cpu2 0 0>; |
---|
| 314 | + cooling-device = <&cpu2 THERMAL_NO_LIMIT |
---|
| 315 | + THERMAL_NO_LIMIT>, |
---|
| 316 | + <&cpu3 THERMAL_NO_LIMIT |
---|
| 317 | + THERMAL_NO_LIMIT>; |
---|
284 | 318 | contribution = <1024>; |
---|
285 | 319 | }; |
---|
286 | 320 | }; |
---|
.. | .. |
---|
310 | 344 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
---|
311 | 345 | <GIC_PPI 10 |
---|
312 | 346 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |
---|
| 347 | + arm,no-tick-in-suspend; |
---|
313 | 348 | }; |
---|
314 | 349 | |
---|
315 | 350 | soc { |
---|
.. | .. |
---|
415 | 450 | }; |
---|
416 | 451 | }; |
---|
417 | 452 | |
---|
418 | | - scpsys: scpsys@10006000 { |
---|
| 453 | + scpsys: power-controller@10006000 { |
---|
419 | 454 | compatible = "mediatek,mt8173-scpsys"; |
---|
420 | 455 | #power-domain-cells = <1>; |
---|
421 | 456 | reg = <0 0x10006000 0 0x1000>; |
---|
.. | .. |
---|
519 | 554 | #clock-cells = <0>; |
---|
520 | 555 | #phy-cells = <0>; |
---|
521 | 556 | status = "disabled"; |
---|
| 557 | + }; |
---|
| 558 | + |
---|
| 559 | + gce: mailbox@10212000 { |
---|
| 560 | + compatible = "mediatek,mt8173-gce"; |
---|
| 561 | + reg = <0 0x10212000 0 0x1000>; |
---|
| 562 | + interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; |
---|
| 563 | + clocks = <&infracfg CLK_INFRA_GCE>; |
---|
| 564 | + clock-names = "gce"; |
---|
| 565 | + #mbox-cells = <2>; |
---|
522 | 566 | }; |
---|
523 | 567 | |
---|
524 | 568 | mipi_tx0: mipi-dphy@10215000 { |
---|
.. | .. |
---|
878 | 922 | }; |
---|
879 | 923 | }; |
---|
880 | 924 | |
---|
881 | | - mmsys: clock-controller@14000000 { |
---|
| 925 | + mmsys: syscon@14000000 { |
---|
882 | 926 | compatible = "mediatek,mt8173-mmsys", "syscon"; |
---|
883 | 927 | reg = <0 0x14000000 0 0x1000>; |
---|
884 | 928 | power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; |
---|
885 | 929 | assigned-clocks = <&topckgen CLK_TOP_MM_SEL>; |
---|
886 | 930 | assigned-clock-rates = <400000000>; |
---|
887 | 931 | #clock-cells = <1>; |
---|
| 932 | + mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>, |
---|
| 933 | + <&gce 1 CMDQ_THR_PRIO_HIGHEST>; |
---|
| 934 | + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>; |
---|
888 | 935 | }; |
---|
889 | 936 | |
---|
890 | 937 | mdp_rdma0: rdma@14001000 { |
---|
.. | .. |
---|
965 | 1012 | clocks = <&mmsys CLK_MM_DISP_OVL0>; |
---|
966 | 1013 | iommus = <&iommu M4U_PORT_DISP_OVL0>; |
---|
967 | 1014 | mediatek,larb = <&larb0>; |
---|
| 1015 | + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>; |
---|
968 | 1016 | }; |
---|
969 | 1017 | |
---|
970 | 1018 | ovl1: ovl@1400d000 { |
---|
.. | .. |
---|
975 | 1023 | clocks = <&mmsys CLK_MM_DISP_OVL1>; |
---|
976 | 1024 | iommus = <&iommu M4U_PORT_DISP_OVL1>; |
---|
977 | 1025 | mediatek,larb = <&larb4>; |
---|
| 1026 | + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>; |
---|
978 | 1027 | }; |
---|
979 | 1028 | |
---|
980 | 1029 | rdma0: rdma@1400e000 { |
---|
.. | .. |
---|
985 | 1034 | clocks = <&mmsys CLK_MM_DISP_RDMA0>; |
---|
986 | 1035 | iommus = <&iommu M4U_PORT_DISP_RDMA0>; |
---|
987 | 1036 | mediatek,larb = <&larb0>; |
---|
| 1037 | + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>; |
---|
988 | 1038 | }; |
---|
989 | 1039 | |
---|
990 | 1040 | rdma1: rdma@1400f000 { |
---|
.. | .. |
---|
995 | 1045 | clocks = <&mmsys CLK_MM_DISP_RDMA1>; |
---|
996 | 1046 | iommus = <&iommu M4U_PORT_DISP_RDMA1>; |
---|
997 | 1047 | mediatek,larb = <&larb4>; |
---|
| 1048 | + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xf000 0x1000>; |
---|
998 | 1049 | }; |
---|
999 | 1050 | |
---|
1000 | 1051 | rdma2: rdma@14010000 { |
---|
.. | .. |
---|
1005 | 1056 | clocks = <&mmsys CLK_MM_DISP_RDMA2>; |
---|
1006 | 1057 | iommus = <&iommu M4U_PORT_DISP_RDMA2>; |
---|
1007 | 1058 | mediatek,larb = <&larb4>; |
---|
| 1059 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0 0x1000>; |
---|
1008 | 1060 | }; |
---|
1009 | 1061 | |
---|
1010 | 1062 | wdma0: wdma@14011000 { |
---|
.. | .. |
---|
1015 | 1067 | clocks = <&mmsys CLK_MM_DISP_WDMA0>; |
---|
1016 | 1068 | iommus = <&iommu M4U_PORT_DISP_WDMA0>; |
---|
1017 | 1069 | mediatek,larb = <&larb0>; |
---|
| 1070 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x1000 0x1000>; |
---|
1018 | 1071 | }; |
---|
1019 | 1072 | |
---|
1020 | 1073 | wdma1: wdma@14012000 { |
---|
.. | .. |
---|
1025 | 1078 | clocks = <&mmsys CLK_MM_DISP_WDMA1>; |
---|
1026 | 1079 | iommus = <&iommu M4U_PORT_DISP_WDMA1>; |
---|
1027 | 1080 | mediatek,larb = <&larb4>; |
---|
| 1081 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x2000 0x1000>; |
---|
1028 | 1082 | }; |
---|
1029 | 1083 | |
---|
1030 | 1084 | color0: color@14013000 { |
---|
.. | .. |
---|
1033 | 1087 | interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_LOW>; |
---|
1034 | 1088 | power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; |
---|
1035 | 1089 | clocks = <&mmsys CLK_MM_DISP_COLOR0>; |
---|
| 1090 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x3000 0x1000>; |
---|
1036 | 1091 | }; |
---|
1037 | 1092 | |
---|
1038 | 1093 | color1: color@14014000 { |
---|
.. | .. |
---|
1041 | 1096 | interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_LOW>; |
---|
1042 | 1097 | power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; |
---|
1043 | 1098 | clocks = <&mmsys CLK_MM_DISP_COLOR1>; |
---|
| 1099 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x4000 0x1000>; |
---|
1044 | 1100 | }; |
---|
1045 | 1101 | |
---|
1046 | 1102 | aal@14015000 { |
---|
.. | .. |
---|
1049 | 1105 | interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_LOW>; |
---|
1050 | 1106 | power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; |
---|
1051 | 1107 | clocks = <&mmsys CLK_MM_DISP_AAL>; |
---|
| 1108 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>; |
---|
1052 | 1109 | }; |
---|
1053 | 1110 | |
---|
1054 | 1111 | gamma@14016000 { |
---|
.. | .. |
---|
1057 | 1114 | interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_LOW>; |
---|
1058 | 1115 | power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; |
---|
1059 | 1116 | clocks = <&mmsys CLK_MM_DISP_GAMMA>; |
---|
| 1117 | + mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x6000 0x1000>; |
---|
1060 | 1118 | }; |
---|
1061 | 1119 | |
---|
1062 | 1120 | merge@14017000 { |
---|
.. | .. |
---|
1162 | 1220 | interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_LOW>; |
---|
1163 | 1221 | power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; |
---|
1164 | 1222 | clocks = <&mmsys CLK_MM_MUTEX_32K>; |
---|
| 1223 | + mediatek,gce-events = <CMDQ_EVENT_MUTEX0_STREAM_EOF>, |
---|
| 1224 | + <CMDQ_EVENT_MUTEX1_STREAM_EOF>; |
---|
1165 | 1225 | }; |
---|
1166 | 1226 | |
---|
1167 | 1227 | larb0: larb@14021000 { |
---|
.. | .. |
---|
1295 | 1355 | "vencpll", |
---|
1296 | 1356 | "venc_lt_sel", |
---|
1297 | 1357 | "vdec_bus_clk_src"; |
---|
| 1358 | + assigned-clocks = <&topckgen CLK_TOP_VENC_LT_SEL>, |
---|
| 1359 | + <&topckgen CLK_TOP_CCI400_SEL>, |
---|
| 1360 | + <&topckgen CLK_TOP_VDEC_SEL>, |
---|
| 1361 | + <&apmixedsys CLK_APMIXED_VCODECPLL>, |
---|
| 1362 | + <&apmixedsys CLK_APMIXED_VENCPLL>; |
---|
| 1363 | + assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL_370P5>, |
---|
| 1364 | + <&topckgen CLK_TOP_UNIVPLL_D2>, |
---|
| 1365 | + <&topckgen CLK_TOP_VCODECPLL>; |
---|
| 1366 | + assigned-clock-rates = <0>, <0>, <0>, <1482000000>, <800000000>; |
---|
1298 | 1367 | }; |
---|
1299 | 1368 | |
---|
1300 | 1369 | larb1: larb@16010000 { |
---|
.. | .. |
---|
1360 | 1429 | "venc_sel", |
---|
1361 | 1430 | "venc_lt_sel_src", |
---|
1362 | 1431 | "venc_lt_sel"; |
---|
| 1432 | + assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>, |
---|
| 1433 | + <&topckgen CLK_TOP_VENC_LT_SEL>; |
---|
| 1434 | + assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL>, |
---|
| 1435 | + <&topckgen CLK_TOP_VCODECPLL_370P5>; |
---|
| 1436 | + }; |
---|
| 1437 | + |
---|
| 1438 | + jpegdec: jpegdec@18004000 { |
---|
| 1439 | + compatible = "mediatek,mt8173-jpgdec"; |
---|
| 1440 | + reg = <0 0x18004000 0 0x1000>; |
---|
| 1441 | + interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_LOW>; |
---|
| 1442 | + clocks = <&vencsys CLK_VENC_CKE0>, |
---|
| 1443 | + <&vencsys CLK_VENC_CKE3>; |
---|
| 1444 | + clock-names = "jpgdec-smi", |
---|
| 1445 | + "jpgdec"; |
---|
| 1446 | + power-domains = <&scpsys MT8173_POWER_DOMAIN_VENC>; |
---|
| 1447 | + mediatek,larb = <&larb3>; |
---|
| 1448 | + iommus = <&iommu M4U_PORT_JPGDEC_WDMA>, |
---|
| 1449 | + <&iommu M4U_PORT_JPGDEC_BSDMA>; |
---|
1363 | 1450 | }; |
---|
1364 | 1451 | |
---|
1365 | 1452 | vencltsys: clock-controller@19000000 { |
---|
.. | .. |
---|
1379 | 1466 | }; |
---|
1380 | 1467 | }; |
---|
1381 | 1468 | }; |
---|
1382 | | - |
---|