18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2016 Endless Computers, Inc.
48c2ecf20Sopenharmony_ci * Author: Carlo Caione <carlo@endlessm.com>
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#include "meson-gxl.dtsi"
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/ {
108c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gxm";
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	cpus {
138c2ecf20Sopenharmony_ci		cpu-map {
148c2ecf20Sopenharmony_ci			cluster0 {
158c2ecf20Sopenharmony_ci				core0 {
168c2ecf20Sopenharmony_ci					cpu = <&cpu0>;
178c2ecf20Sopenharmony_ci				};
188c2ecf20Sopenharmony_ci				core1 {
198c2ecf20Sopenharmony_ci					cpu = <&cpu1>;
208c2ecf20Sopenharmony_ci				};
218c2ecf20Sopenharmony_ci				core2 {
228c2ecf20Sopenharmony_ci					cpu = <&cpu2>;
238c2ecf20Sopenharmony_ci				};
248c2ecf20Sopenharmony_ci				core3 {
258c2ecf20Sopenharmony_ci					cpu = <&cpu3>;
268c2ecf20Sopenharmony_ci				};
278c2ecf20Sopenharmony_ci			};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci			cluster1 {
308c2ecf20Sopenharmony_ci				core0 {
318c2ecf20Sopenharmony_ci					cpu = <&cpu4>;
328c2ecf20Sopenharmony_ci				};
338c2ecf20Sopenharmony_ci				core1 {
348c2ecf20Sopenharmony_ci					cpu = <&cpu5>;
358c2ecf20Sopenharmony_ci				};
368c2ecf20Sopenharmony_ci				core2 {
378c2ecf20Sopenharmony_ci					cpu = <&cpu6>;
388c2ecf20Sopenharmony_ci				};
398c2ecf20Sopenharmony_ci				core3 {
408c2ecf20Sopenharmony_ci					cpu = <&cpu7>;
418c2ecf20Sopenharmony_ci				};
428c2ecf20Sopenharmony_ci			};
438c2ecf20Sopenharmony_ci		};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci		cpu4: cpu@100 {
468c2ecf20Sopenharmony_ci			device_type = "cpu";
478c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
488c2ecf20Sopenharmony_ci			reg = <0x0 0x100>;
498c2ecf20Sopenharmony_ci			enable-method = "psci";
508c2ecf20Sopenharmony_ci			next-level-cache = <&l2>;
518c2ecf20Sopenharmony_ci			clocks = <&scpi_dvfs 1>;
528c2ecf20Sopenharmony_ci			#cooling-cells = <2>;
538c2ecf20Sopenharmony_ci		};
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci		cpu5: cpu@101 {
568c2ecf20Sopenharmony_ci			device_type = "cpu";
578c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
588c2ecf20Sopenharmony_ci			reg = <0x0 0x101>;
598c2ecf20Sopenharmony_ci			enable-method = "psci";
608c2ecf20Sopenharmony_ci			next-level-cache = <&l2>;
618c2ecf20Sopenharmony_ci			clocks = <&scpi_dvfs 1>;
628c2ecf20Sopenharmony_ci			#cooling-cells = <2>;
638c2ecf20Sopenharmony_ci		};
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci		cpu6: cpu@102 {
668c2ecf20Sopenharmony_ci			device_type = "cpu";
678c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
688c2ecf20Sopenharmony_ci			reg = <0x0 0x102>;
698c2ecf20Sopenharmony_ci			enable-method = "psci";
708c2ecf20Sopenharmony_ci			next-level-cache = <&l2>;
718c2ecf20Sopenharmony_ci			clocks = <&scpi_dvfs 1>;
728c2ecf20Sopenharmony_ci			#cooling-cells = <2>;
738c2ecf20Sopenharmony_ci		};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci		cpu7: cpu@103 {
768c2ecf20Sopenharmony_ci			device_type = "cpu";
778c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
788c2ecf20Sopenharmony_ci			reg = <0x0 0x103>;
798c2ecf20Sopenharmony_ci			enable-method = "psci";
808c2ecf20Sopenharmony_ci			next-level-cache = <&l2>;
818c2ecf20Sopenharmony_ci			clocks = <&scpi_dvfs 1>;
828c2ecf20Sopenharmony_ci			#cooling-cells = <2>;
838c2ecf20Sopenharmony_ci		};
848c2ecf20Sopenharmony_ci	};
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci	gpu_opp_table: opp-table {
878c2ecf20Sopenharmony_ci		compatible = "operating-points-v2";
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci		opp-125000000 {
908c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <125000000>;
918c2ecf20Sopenharmony_ci			opp-microvolt = <950000>;
928c2ecf20Sopenharmony_ci		};
938c2ecf20Sopenharmony_ci		opp-250000000 {
948c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <250000000>;
958c2ecf20Sopenharmony_ci			opp-microvolt = <950000>;
968c2ecf20Sopenharmony_ci		};
978c2ecf20Sopenharmony_ci		opp-285714285 {
988c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <285714285>;
998c2ecf20Sopenharmony_ci			opp-microvolt = <950000>;
1008c2ecf20Sopenharmony_ci		};
1018c2ecf20Sopenharmony_ci		opp-400000000 {
1028c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <400000000>;
1038c2ecf20Sopenharmony_ci			opp-microvolt = <950000>;
1048c2ecf20Sopenharmony_ci		};
1058c2ecf20Sopenharmony_ci		opp-500000000 {
1068c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <500000000>;
1078c2ecf20Sopenharmony_ci			opp-microvolt = <950000>;
1088c2ecf20Sopenharmony_ci		};
1098c2ecf20Sopenharmony_ci		opp-666666666 {
1108c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <666666666>;
1118c2ecf20Sopenharmony_ci			opp-microvolt = <950000>;
1128c2ecf20Sopenharmony_ci		};
1138c2ecf20Sopenharmony_ci	};
1148c2ecf20Sopenharmony_ci};
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci&apb {
1178c2ecf20Sopenharmony_ci	usb2_phy2: phy@78040 {
1188c2ecf20Sopenharmony_ci		compatible = "amlogic,meson-gxl-usb2-phy";
1198c2ecf20Sopenharmony_ci		#phy-cells = <0>;
1208c2ecf20Sopenharmony_ci		reg = <0x0 0x78040 0x0 0x20>;
1218c2ecf20Sopenharmony_ci		clocks = <&clkc CLKID_USB>;
1228c2ecf20Sopenharmony_ci		clock-names = "phy";
1238c2ecf20Sopenharmony_ci		resets = <&reset RESET_USB_OTG>;
1248c2ecf20Sopenharmony_ci		reset-names = "phy";
1258c2ecf20Sopenharmony_ci		status = "okay";
1268c2ecf20Sopenharmony_ci	};
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci	mali: gpu@c0000 {
1298c2ecf20Sopenharmony_ci		compatible = "amlogic,meson-gxm-mali", "arm,mali-t820";
1308c2ecf20Sopenharmony_ci		reg = <0x0 0xc0000 0x0 0x40000>;
1318c2ecf20Sopenharmony_ci		interrupt-parent = <&gic>;
1328c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
1338c2ecf20Sopenharmony_ci			     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
1348c2ecf20Sopenharmony_ci			     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1358c2ecf20Sopenharmony_ci		interrupt-names = "job", "mmu", "gpu";
1368c2ecf20Sopenharmony_ci		clocks = <&clkc CLKID_MALI>;
1378c2ecf20Sopenharmony_ci		resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>;
1388c2ecf20Sopenharmony_ci		operating-points-v2 = <&gpu_opp_table>;
1398c2ecf20Sopenharmony_ci	};
1408c2ecf20Sopenharmony_ci};
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci&clkc_AO {
1438c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc";
1448c2ecf20Sopenharmony_ci};
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci&cpu_cooling_maps {
1478c2ecf20Sopenharmony_ci	map0 {
1488c2ecf20Sopenharmony_ci		cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1498c2ecf20Sopenharmony_ci				 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1508c2ecf20Sopenharmony_ci				 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1518c2ecf20Sopenharmony_ci				 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1528c2ecf20Sopenharmony_ci				 <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1538c2ecf20Sopenharmony_ci				 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1548c2ecf20Sopenharmony_ci				 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1558c2ecf20Sopenharmony_ci				 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1568c2ecf20Sopenharmony_ci	};
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci	map1 {
1598c2ecf20Sopenharmony_ci		cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1608c2ecf20Sopenharmony_ci				 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1618c2ecf20Sopenharmony_ci				 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1628c2ecf20Sopenharmony_ci				 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1638c2ecf20Sopenharmony_ci				 <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1648c2ecf20Sopenharmony_ci				 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1658c2ecf20Sopenharmony_ci				 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1668c2ecf20Sopenharmony_ci				 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1678c2ecf20Sopenharmony_ci	};
1688c2ecf20Sopenharmony_ci};
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci&saradc {
1718c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc";
1728c2ecf20Sopenharmony_ci};
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci&scpi_dvfs {
1758c2ecf20Sopenharmony_ci	clock-indices = <0 1>;
1768c2ecf20Sopenharmony_ci	clock-output-names = "vbig", "vlittle";
1778c2ecf20Sopenharmony_ci};
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci&vpu {
1808c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gxm-vpu", "amlogic,meson-gx-vpu";
1818c2ecf20Sopenharmony_ci};
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ci&hdmi_tx {
1848c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
1858c2ecf20Sopenharmony_ci};
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ci&usb {
1888c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gxm-usb-ctrl";
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci	phy-names = "usb2-phy0", "usb2-phy1", "usb2-phy2";
1918c2ecf20Sopenharmony_ci	phys = <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>;
1928c2ecf20Sopenharmony_ci};
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci&vdec {
1958c2ecf20Sopenharmony_ci	compatible = "amlogic,gxm-vdec", "amlogic,gx-vdec";
1968c2ecf20Sopenharmony_ci};
197