1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2bb51b535SNeil Armstrong/*
3bb51b535SNeil Armstrong * Copyright (c) 2016 Endless Computers, Inc.
4bb51b535SNeil Armstrong * Author: Carlo Caione <carlo@endlessm.com>
5bb51b535SNeil Armstrong */
6bb51b535SNeil Armstrong
7bb51b535SNeil Armstrong#include "meson-gxl.dtsi"
8bb51b535SNeil Armstrong
9bb51b535SNeil Armstrong/ {
10bb51b535SNeil Armstrong	compatible = "amlogic,meson-gxm";
11bb51b535SNeil Armstrong
12bb51b535SNeil Armstrong	cpus {
13bb51b535SNeil Armstrong		cpu-map {
14bb51b535SNeil Armstrong			cluster0 {
15bb51b535SNeil Armstrong				core0 {
16bb51b535SNeil Armstrong					cpu = <&cpu0>;
17bb51b535SNeil Armstrong				};
18bb51b535SNeil Armstrong				core1 {
19bb51b535SNeil Armstrong					cpu = <&cpu1>;
20bb51b535SNeil Armstrong				};
21bb51b535SNeil Armstrong				core2 {
22bb51b535SNeil Armstrong					cpu = <&cpu2>;
23bb51b535SNeil Armstrong				};
24bb51b535SNeil Armstrong				core3 {
25bb51b535SNeil Armstrong					cpu = <&cpu3>;
26bb51b535SNeil Armstrong				};
27bb51b535SNeil Armstrong			};
28bb51b535SNeil Armstrong
29bb51b535SNeil Armstrong			cluster1 {
30bb51b535SNeil Armstrong				core0 {
31bb51b535SNeil Armstrong					cpu = <&cpu4>;
32bb51b535SNeil Armstrong				};
33bb51b535SNeil Armstrong				core1 {
34bb51b535SNeil Armstrong					cpu = <&cpu5>;
35bb51b535SNeil Armstrong				};
36bb51b535SNeil Armstrong				core2 {
37bb51b535SNeil Armstrong					cpu = <&cpu6>;
38bb51b535SNeil Armstrong				};
39bb51b535SNeil Armstrong				core3 {
40bb51b535SNeil Armstrong					cpu = <&cpu7>;
41bb51b535SNeil Armstrong				};
42bb51b535SNeil Armstrong			};
43bb51b535SNeil Armstrong		};
44bb51b535SNeil Armstrong
45*4592bfe9SChristian Hewitt		cpu0: cpu@0 {
46*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
47*4592bfe9SChristian Hewitt		};
48*4592bfe9SChristian Hewitt
49*4592bfe9SChristian Hewitt		cpu1: cpu@1 {
50*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
51*4592bfe9SChristian Hewitt		};
52*4592bfe9SChristian Hewitt
53*4592bfe9SChristian Hewitt		cpu2: cpu@2 {
54*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
55*4592bfe9SChristian Hewitt		};
56*4592bfe9SChristian Hewitt
57*4592bfe9SChristian Hewitt		cpu3: cpu@3 {
58*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
59*4592bfe9SChristian Hewitt		};
60*4592bfe9SChristian Hewitt
61bb51b535SNeil Armstrong		cpu4: cpu@100 {
62bb51b535SNeil Armstrong			device_type = "cpu";
6331af04cdSRob Herring			compatible = "arm,cortex-a53";
64bb51b535SNeil Armstrong			reg = <0x0 0x100>;
65bb51b535SNeil Armstrong			enable-method = "psci";
66*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
67bb51b535SNeil Armstrong			next-level-cache = <&l2>;
68bd97abc0SMartin Blumenstingl			clocks = <&scpi_dvfs 1>;
69cd13d5f1SChristian Hewitt			#cooling-cells = <2>;
70bb51b535SNeil Armstrong		};
71bb51b535SNeil Armstrong
72bb51b535SNeil Armstrong		cpu5: cpu@101 {
73bb51b535SNeil Armstrong			device_type = "cpu";
7431af04cdSRob Herring			compatible = "arm,cortex-a53";
75bb51b535SNeil Armstrong			reg = <0x0 0x101>;
76bb51b535SNeil Armstrong			enable-method = "psci";
77*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
78bb51b535SNeil Armstrong			next-level-cache = <&l2>;
79bd97abc0SMartin Blumenstingl			clocks = <&scpi_dvfs 1>;
80cd13d5f1SChristian Hewitt			#cooling-cells = <2>;
81bb51b535SNeil Armstrong		};
82bb51b535SNeil Armstrong
83bb51b535SNeil Armstrong		cpu6: cpu@102 {
84bb51b535SNeil Armstrong			device_type = "cpu";
8531af04cdSRob Herring			compatible = "arm,cortex-a53";
86bb51b535SNeil Armstrong			reg = <0x0 0x102>;
87bb51b535SNeil Armstrong			enable-method = "psci";
88*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
89bb51b535SNeil Armstrong			next-level-cache = <&l2>;
90bd97abc0SMartin Blumenstingl			clocks = <&scpi_dvfs 1>;
91cd13d5f1SChristian Hewitt			#cooling-cells = <2>;
92bb51b535SNeil Armstrong		};
93bb51b535SNeil Armstrong
94bb51b535SNeil Armstrong		cpu7: cpu@103 {
95bb51b535SNeil Armstrong			device_type = "cpu";
9631af04cdSRob Herring			compatible = "arm,cortex-a53";
97bb51b535SNeil Armstrong			reg = <0x0 0x103>;
98bb51b535SNeil Armstrong			enable-method = "psci";
99*4592bfe9SChristian Hewitt			capacity-dmips-mhz = <1024>;
100bb51b535SNeil Armstrong			next-level-cache = <&l2>;
101bd97abc0SMartin Blumenstingl			clocks = <&scpi_dvfs 1>;
102cd13d5f1SChristian Hewitt			#cooling-cells = <2>;
103bb51b535SNeil Armstrong		};
104bb51b535SNeil Armstrong	};
1058f16cfabSMartin Blumenstingl
1068f16cfabSMartin Blumenstingl	gpu_opp_table: opp-table {
1078f16cfabSMartin Blumenstingl		compatible = "operating-points-v2";
1088f16cfabSMartin Blumenstingl
1098f16cfabSMartin Blumenstingl		opp-125000000 {
1108f16cfabSMartin Blumenstingl			opp-hz = /bits/ 64 <125000000>;
1118f16cfabSMartin Blumenstingl			opp-microvolt = <950000>;
1128f16cfabSMartin Blumenstingl		};
1138f16cfabSMartin Blumenstingl		opp-250000000 {
1148f16cfabSMartin Blumenstingl			opp-hz = /bits/ 64 <250000000>;
1158f16cfabSMartin Blumenstingl			opp-microvolt = <950000>;
1168f16cfabSMartin Blumenstingl		};
1178f16cfabSMartin Blumenstingl		opp-285714285 {
1188f16cfabSMartin Blumenstingl			opp-hz = /bits/ 64 <285714285>;
1198f16cfabSMartin Blumenstingl			opp-microvolt = <950000>;
1208f16cfabSMartin Blumenstingl		};
1218f16cfabSMartin Blumenstingl		opp-400000000 {
1228f16cfabSMartin Blumenstingl			opp-hz = /bits/ 64 <400000000>;
1238f16cfabSMartin Blumenstingl			opp-microvolt = <950000>;
1248f16cfabSMartin Blumenstingl		};
1258f16cfabSMartin Blumenstingl		opp-500000000 {
1268f16cfabSMartin Blumenstingl			opp-hz = /bits/ 64 <500000000>;
1278f16cfabSMartin Blumenstingl			opp-microvolt = <950000>;
1288f16cfabSMartin Blumenstingl		};
1298f16cfabSMartin Blumenstingl		opp-666666666 {
1308f16cfabSMartin Blumenstingl			opp-hz = /bits/ 64 <666666666>;
1318f16cfabSMartin Blumenstingl			opp-microvolt = <950000>;
1328f16cfabSMartin Blumenstingl		};
1338f16cfabSMartin Blumenstingl	};
134bb51b535SNeil Armstrong};
135fafdbdf7SNeil Armstrong
136458baa95SMartin Blumenstingl&apb {
137458baa95SMartin Blumenstingl	usb2_phy2: phy@78040 {
138458baa95SMartin Blumenstingl		compatible = "amlogic,meson-gxl-usb2-phy";
139458baa95SMartin Blumenstingl		#phy-cells = <0>;
140458baa95SMartin Blumenstingl		reg = <0x0 0x78040 0x0 0x20>;
141458baa95SMartin Blumenstingl		clocks = <&clkc CLKID_USB>;
142458baa95SMartin Blumenstingl		clock-names = "phy";
143458baa95SMartin Blumenstingl		resets = <&reset RESET_USB_OTG>;
144458baa95SMartin Blumenstingl		reset-names = "phy";
145458baa95SMartin Blumenstingl		status = "okay";
146458baa95SMartin Blumenstingl	};
14711f8e119SChristian Hewitt
14811f8e119SChristian Hewitt	mali: gpu@c0000 {
14911f8e119SChristian Hewitt		compatible = "amlogic,meson-gxm-mali", "arm,mali-t820";
15011f8e119SChristian Hewitt		reg = <0x0 0xc0000 0x0 0x40000>;
15111f8e119SChristian Hewitt		interrupt-parent = <&gic>;
15269fb3f21SNeil Armstrong		interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
15311f8e119SChristian Hewitt			     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
15469fb3f21SNeil Armstrong			     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
15569fb3f21SNeil Armstrong		interrupt-names = "job", "mmu", "gpu";
15611f8e119SChristian Hewitt		clocks = <&clkc CLKID_MALI>;
15711f8e119SChristian Hewitt		resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>;
1588f16cfabSMartin Blumenstingl		operating-points-v2 = <&gpu_opp_table>;
15911f8e119SChristian Hewitt	};
160458baa95SMartin Blumenstingl};
161458baa95SMartin Blumenstingl
1627fd2c355SNeil Armstrong&clkc_AO {
1637fd2c355SNeil Armstrong	compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc";
1647fd2c355SNeil Armstrong};
1657fd2c355SNeil Armstrong
166cd13d5f1SChristian Hewitt&cpu_cooling_maps {
167cd13d5f1SChristian Hewitt	map0 {
168cd13d5f1SChristian Hewitt		cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
169cd13d5f1SChristian Hewitt				 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
170cd13d5f1SChristian Hewitt				 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
171cd13d5f1SChristian Hewitt				 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
172cd13d5f1SChristian Hewitt				 <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
173cd13d5f1SChristian Hewitt				 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
174cd13d5f1SChristian Hewitt				 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
175cd13d5f1SChristian Hewitt				 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
176cd13d5f1SChristian Hewitt	};
177cd13d5f1SChristian Hewitt
178cd13d5f1SChristian Hewitt	map1 {
179cd13d5f1SChristian Hewitt		cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
180cd13d5f1SChristian Hewitt				 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
181cd13d5f1SChristian Hewitt				 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
182cd13d5f1SChristian Hewitt				 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
183cd13d5f1SChristian Hewitt				 <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
184cd13d5f1SChristian Hewitt				 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
185cd13d5f1SChristian Hewitt				 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
186cd13d5f1SChristian Hewitt				 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
187cd13d5f1SChristian Hewitt	};
188cd13d5f1SChristian Hewitt};
189cd13d5f1SChristian Hewitt
190bd80ef5eSMartin Blumenstingl&saradc {
191bd80ef5eSMartin Blumenstingl	compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc";
192bd80ef5eSMartin Blumenstingl};
193bd80ef5eSMartin Blumenstingl
194bd97abc0SMartin Blumenstingl&scpi_dvfs {
195bd97abc0SMartin Blumenstingl	clock-indices = <0 1>;
196bd97abc0SMartin Blumenstingl	clock-output-names = "vbig", "vlittle";
197bd97abc0SMartin Blumenstingl};
198bd97abc0SMartin Blumenstingl
199fafdbdf7SNeil Armstrong&vpu {
200fafdbdf7SNeil Armstrong	compatible = "amlogic,meson-gxm-vpu", "amlogic,meson-gx-vpu";
201fafdbdf7SNeil Armstrong};
202bd97abc0SMartin Blumenstingl
2036939db7eSNeil Armstrong&hdmi_tx {
2046939db7eSNeil Armstrong	compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
2056939db7eSNeil Armstrong};
206458baa95SMartin Blumenstingl
2072f9139c2SMartin Blumenstingl&usb {
2082f9139c2SMartin Blumenstingl	compatible = "amlogic,meson-gxm-usb-ctrl";
2092f9139c2SMartin Blumenstingl
2102f9139c2SMartin Blumenstingl	phy-names = "usb2-phy0", "usb2-phy1", "usb2-phy2";
2112f9139c2SMartin Blumenstingl	phys = <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>;
212458baa95SMartin Blumenstingl};
2134be247f7SMaxime Jourdan
2144be247f7SMaxime Jourdan&vdec {
2154be247f7SMaxime Jourdan	compatible = "amlogic,gxm-vdec", "amlogic,gx-vdec";
2164be247f7SMaxime Jourdan};
217