xref: /linux/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1f031c373SDmitry Rokosov// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f031c373SDmitry Rokosov/*
3f031c373SDmitry Rokosov * Copyright (c) 2023 SberDevices
4f031c373SDmitry Rokosov * Author: Dmitry Rokosov <ddrokosov@sberdevices.ru>
5f031c373SDmitry Rokosov */
6f031c373SDmitry Rokosov
7f031c373SDmitry Rokosov/dts-v1/;
8f031c373SDmitry Rokosov
9f031c373SDmitry Rokosov#include "meson-a1.dtsi"
10593ab951SDmitry Rokosov#include <dt-bindings/thermal/thermal.h>
11f031c373SDmitry Rokosov
12f031c373SDmitry Rokosov/ {
13f031c373SDmitry Rokosov	compatible = "amlogic,ad402", "amlogic,a1";
14f031c373SDmitry Rokosov	model = "Amlogic Meson A1 AD402 Development Board";
15f031c373SDmitry Rokosov
16f031c373SDmitry Rokosov	aliases {
17f031c373SDmitry Rokosov		serial0 = &uart_AO_B;
18f031c373SDmitry Rokosov	};
19f031c373SDmitry Rokosov
20f031c373SDmitry Rokosov	chosen {
21f031c373SDmitry Rokosov		stdout-path = "serial0:115200n8";
22f031c373SDmitry Rokosov	};
23f031c373SDmitry Rokosov
24f031c373SDmitry Rokosov	memory@0 {
25f031c373SDmitry Rokosov		device_type = "memory";
26f031c373SDmitry Rokosov		reg = <0x0 0x0 0x0 0x8000000>;
27f031c373SDmitry Rokosov	};
28f031c373SDmitry Rokosov
29f031c373SDmitry Rokosov	reserved-memory {
30f031c373SDmitry Rokosov		/* 3 MiB reserved for Amlogic Trust OS (BL32) */
31f031c373SDmitry Rokosov		secos_reserved: secos@3d00000 {
32f031c373SDmitry Rokosov			reg = <0x0 0x03d00000 0x0 0x300000>;
33f031c373SDmitry Rokosov			no-map;
34f031c373SDmitry Rokosov		};
35f031c373SDmitry Rokosov	};
36f031c373SDmitry Rokosov
37f031c373SDmitry Rokosov	firmware {
38f031c373SDmitry Rokosov		optee {
39f031c373SDmitry Rokosov			compatible = "linaro,optee-tz";
40f031c373SDmitry Rokosov			method = "smc";
41f031c373SDmitry Rokosov		};
42f031c373SDmitry Rokosov	};
43f031c373SDmitry Rokosov
44f031c373SDmitry Rokosov	battery_4v2: regulator-battery-4v2 {
45f031c373SDmitry Rokosov		compatible = "regulator-fixed";
46f031c373SDmitry Rokosov		regulator-name = "4V2";
47f031c373SDmitry Rokosov		regulator-min-microvolt = <4200000>;
48f031c373SDmitry Rokosov		regulator-max-microvolt = <4200000>;
49f031c373SDmitry Rokosov		regulator-always-on;
50f031c373SDmitry Rokosov	};
51f031c373SDmitry Rokosov
52f031c373SDmitry Rokosov	vddq_1v35: regulator-vddq-1v35 {
53f031c373SDmitry Rokosov		compatible = "regulator-fixed";
54f031c373SDmitry Rokosov		regulator-name = "VDDQ_1V35";
55f031c373SDmitry Rokosov		regulator-min-microvolt = <1350000>;
56f031c373SDmitry Rokosov		regulator-max-microvolt = <1350000>;
57f031c373SDmitry Rokosov		vin-supply = <&battery_4v2>;
58f031c373SDmitry Rokosov		regulator-always-on;
59f031c373SDmitry Rokosov	};
60f031c373SDmitry Rokosov
61f031c373SDmitry Rokosov	vddao_3v3: regulator-vddao-3v3 {
62f031c373SDmitry Rokosov		compatible = "regulator-fixed";
63f031c373SDmitry Rokosov		regulator-name = "VDDAO_3V3";
64f031c373SDmitry Rokosov		regulator-min-microvolt = <3300000>;
65f031c373SDmitry Rokosov		regulator-max-microvolt = <3300000>;
66f031c373SDmitry Rokosov		vin-supply = <&battery_4v2>;
67f031c373SDmitry Rokosov		regulator-always-on;
68f031c373SDmitry Rokosov	};
69f031c373SDmitry Rokosov
70f031c373SDmitry Rokosov	vcc_3v3: regulator-vcc-3v3 {
71f031c373SDmitry Rokosov		compatible = "regulator-fixed";
72f031c373SDmitry Rokosov		regulator-name = "VCC_3V3";
73f031c373SDmitry Rokosov		regulator-min-microvolt = <3300000>;
74f031c373SDmitry Rokosov		regulator-max-microvolt = <3300000>;
75f031c373SDmitry Rokosov		vin-supply = <&vddao_3v3>;
76f031c373SDmitry Rokosov		regulator-always-on;
77f031c373SDmitry Rokosov	};
78f031c373SDmitry Rokosov
79f031c373SDmitry Rokosov	vddio_1v8: regulator-vddio-1v8 {
80f031c373SDmitry Rokosov		compatible = "regulator-fixed";
81f031c373SDmitry Rokosov		regulator-name = "VDDIO_1V8";
82f031c373SDmitry Rokosov		regulator-min-microvolt = <1800000>;
83f031c373SDmitry Rokosov		regulator-max-microvolt = <1800000>;
84f031c373SDmitry Rokosov		vin-supply = <&vddao_3v3>;
85f031c373SDmitry Rokosov		regulator-always-on;
86f031c373SDmitry Rokosov	};
87593ab951SDmitry Rokosov
88593ab951SDmitry Rokosov	thermal-zones {
89*ca88b172SNeil Armstrong		soc_thermal: soc-thermal {
90593ab951SDmitry Rokosov			polling-delay = <1000>;
91593ab951SDmitry Rokosov			polling-delay-passive = <100>;
92593ab951SDmitry Rokosov			sustainable-power = <130>;
93593ab951SDmitry Rokosov
94593ab951SDmitry Rokosov			thermal-sensors = <&cpu_temp>;
95593ab951SDmitry Rokosov
96593ab951SDmitry Rokosov			trips {
97593ab951SDmitry Rokosov				soc_passive: soc-passive {
98593ab951SDmitry Rokosov					temperature = <70000>;
99593ab951SDmitry Rokosov					hysteresis = <2000>;
100593ab951SDmitry Rokosov					type = "passive";
101593ab951SDmitry Rokosov				};
102593ab951SDmitry Rokosov
103593ab951SDmitry Rokosov				soc_hot: soc-hot {
104593ab951SDmitry Rokosov					temperature = <85000>;
105593ab951SDmitry Rokosov					hysteresis = <5000>;
106593ab951SDmitry Rokosov					type = "hot";
107593ab951SDmitry Rokosov				};
108593ab951SDmitry Rokosov
109593ab951SDmitry Rokosov				soc_critical: soc-critical {
110593ab951SDmitry Rokosov					temperature = <110000>;
111593ab951SDmitry Rokosov					hysteresis = <1000>;
112593ab951SDmitry Rokosov					type = "critical";
113593ab951SDmitry Rokosov				};
114593ab951SDmitry Rokosov			};
115593ab951SDmitry Rokosov
116593ab951SDmitry Rokosov			soc_cooling_maps: cooling-maps {
117593ab951SDmitry Rokosov				map0 {
118593ab951SDmitry Rokosov					trip = <&soc_passive>;
119593ab951SDmitry Rokosov					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
120593ab951SDmitry Rokosov							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
121593ab951SDmitry Rokosov				};
122593ab951SDmitry Rokosov
123593ab951SDmitry Rokosov				map1 {
124593ab951SDmitry Rokosov					trip = <&soc_hot>;
125593ab951SDmitry Rokosov					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
126593ab951SDmitry Rokosov							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
127593ab951SDmitry Rokosov				};
128593ab951SDmitry Rokosov			};
129593ab951SDmitry Rokosov		};
130593ab951SDmitry Rokosov	};
131f031c373SDmitry Rokosov};
132f031c373SDmitry Rokosov
1336c9b5ba7SArnd Bergmann/* Bluetooth HCI H4 */
1346c9b5ba7SArnd Bergmann&uart_AO {
1356c9b5ba7SArnd Bergmann	status = "okay";
1366c9b5ba7SArnd Bergmann	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
1376c9b5ba7SArnd Bergmann	pinctrl-names = "default";
1386c9b5ba7SArnd Bergmann};
1396c9b5ba7SArnd Bergmann
1406c9b5ba7SArnd Bergmann&uart_AO_B {
1416c9b5ba7SArnd Bergmann	status = "okay";
1426c9b5ba7SArnd Bergmann};
1436c9b5ba7SArnd Bergmann
1446c9b5ba7SArnd Bergmann&saradc {
1456c9b5ba7SArnd Bergmann	status = "okay";
1466c9b5ba7SArnd Bergmann	vref-supply = <&vddio_1v8>;
1476c9b5ba7SArnd Bergmann};
1486c9b5ba7SArnd Bergmann
1496c9b5ba7SArnd Bergmann&spifc {
1506c9b5ba7SArnd Bergmann	status = "okay";
1516c9b5ba7SArnd Bergmann	pinctrl-0 = <&spifc_pins>;
1526c9b5ba7SArnd Bergmann	pinctrl-names = "default";
1536c9b5ba7SArnd Bergmann
1546c9b5ba7SArnd Bergmann	flash@0 {
1556c9b5ba7SArnd Bergmann		compatible = "spi-nand";
1566c9b5ba7SArnd Bergmann		status = "okay";
1576c9b5ba7SArnd Bergmann		reg = <0>;
1586c9b5ba7SArnd Bergmann		spi-max-frequency = <96000000>;
1596c9b5ba7SArnd Bergmann		spi-tx-bus-width = <4>;
1606c9b5ba7SArnd Bergmann		spi-rx-bus-width = <4>;
1616c9b5ba7SArnd Bergmann	};
1626c9b5ba7SArnd Bergmann};
1636c9b5ba7SArnd Bergmann
164f031c373SDmitry Rokosov&usb2_phy1 {
165f031c373SDmitry Rokosov	phy-supply = <&vcc_3v3>;
166f031c373SDmitry Rokosov};
167f031c373SDmitry Rokosov
168f031c373SDmitry Rokosov&usb {
169f031c373SDmitry Rokosov	status = "okay";
170f031c373SDmitry Rokosov	dr_mode = "peripheral";
171f031c373SDmitry Rokosov};
172f031c373SDmitry Rokosov
173f031c373SDmitry Rokosov&sd_emmc {
174f031c373SDmitry Rokosov	status = "okay";
175f031c373SDmitry Rokosov
176f031c373SDmitry Rokosov	#address-cells = <1>;
177f031c373SDmitry Rokosov	#size-cells = <0>;
178f031c373SDmitry Rokosov
179f031c373SDmitry Rokosov	pinctrl-0 = <&sdio_pins>;
180f031c373SDmitry Rokosov	pinctrl-1 = <&sdio_clk_gate_pins>;
181f031c373SDmitry Rokosov	pinctrl-names = "default", "clk-gate";
182f031c373SDmitry Rokosov
183f031c373SDmitry Rokosov	bus-width = <4>;
184f031c373SDmitry Rokosov	cap-sd-highspeed;
185f031c373SDmitry Rokosov	sd-uhs-sdr104;
186f031c373SDmitry Rokosov	max-frequency = <200000000>;
187f031c373SDmitry Rokosov	non-removable;
188f031c373SDmitry Rokosov	disable-wp;
189f031c373SDmitry Rokosov
190f031c373SDmitry Rokosov	vmmc-supply = <&vddao_3v3>;
191f031c373SDmitry Rokosov	vqmmc-supply = <&vddio_1v8>;
192f031c373SDmitry Rokosov};
193