xref: /freebsd/sys/contrib/device-tree/src/arm64/amlogic/amlogic-c3-c308l-aw419.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*b2d2a78aSEmmanuel Vadot/*
3*b2d2a78aSEmmanuel Vadot * Copyright (c) 2024 Amlogic, Inc. All rights reserved.
4*b2d2a78aSEmmanuel Vadot */
5*b2d2a78aSEmmanuel Vadot
6*b2d2a78aSEmmanuel Vadot/dts-v1/;
7*b2d2a78aSEmmanuel Vadot
8*b2d2a78aSEmmanuel Vadot#include "amlogic-c3.dtsi"
9*b2d2a78aSEmmanuel Vadot
10*b2d2a78aSEmmanuel Vadot/ {
11*b2d2a78aSEmmanuel Vadot	model = "Amlogic C308l aw419 Development Board";
12*b2d2a78aSEmmanuel Vadot	compatible = "amlogic,aw419", "amlogic,c3";
13*b2d2a78aSEmmanuel Vadot	interrupt-parent = <&gic>;
14*b2d2a78aSEmmanuel Vadot	#address-cells = <2>;
15*b2d2a78aSEmmanuel Vadot	#size-cells = <2>;
16*b2d2a78aSEmmanuel Vadot
17*b2d2a78aSEmmanuel Vadot	aliases {
18*b2d2a78aSEmmanuel Vadot		serial0 = &uart_b;
19*b2d2a78aSEmmanuel Vadot		spi0 = &spifc;
20*b2d2a78aSEmmanuel Vadot	};
21*b2d2a78aSEmmanuel Vadot
22*b2d2a78aSEmmanuel Vadot	memory@0 {
23*b2d2a78aSEmmanuel Vadot		device_type = "memory";
24*b2d2a78aSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
25*b2d2a78aSEmmanuel Vadot	};
26*b2d2a78aSEmmanuel Vadot
27*b2d2a78aSEmmanuel Vadot	reserved-memory {
28*b2d2a78aSEmmanuel Vadot		#address-cells = <2>;
29*b2d2a78aSEmmanuel Vadot		#size-cells = <2>;
30*b2d2a78aSEmmanuel Vadot		ranges;
31*b2d2a78aSEmmanuel Vadot
32*b2d2a78aSEmmanuel Vadot		/* 9 MiB reserved for ARM Trusted Firmware */
33*b2d2a78aSEmmanuel Vadot		secmon_reserved: secmon@7f00000 {
34*b2d2a78aSEmmanuel Vadot			compatible = "shared-dma-pool";
35*b2d2a78aSEmmanuel Vadot			reg = <0x0 0x07f00000 0x0 0x900000>;
36*b2d2a78aSEmmanuel Vadot			no-map;
37*b2d2a78aSEmmanuel Vadot		};
38*b2d2a78aSEmmanuel Vadot	};
39*b2d2a78aSEmmanuel Vadot
40*b2d2a78aSEmmanuel Vadot	main_12v: regulator-main-12v {
41*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
42*b2d2a78aSEmmanuel Vadot		regulator-name = "12V";
43*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
44*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
45*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
46*b2d2a78aSEmmanuel Vadot		regulator-always-on;
47*b2d2a78aSEmmanuel Vadot	};
48*b2d2a78aSEmmanuel Vadot
49*b2d2a78aSEmmanuel Vadot	vcc_5v: regulator-vcc-5v {
50*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
51*b2d2a78aSEmmanuel Vadot		regulator-name = "VCC5V";
52*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
53*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
54*b2d2a78aSEmmanuel Vadot		vin-supply = <&main_12v>;
55*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
56*b2d2a78aSEmmanuel Vadot		regulator-always-on;
57*b2d2a78aSEmmanuel Vadot	};
58*b2d2a78aSEmmanuel Vadot
59*b2d2a78aSEmmanuel Vadot	vddq: regulator-vddq {
60*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
61*b2d2a78aSEmmanuel Vadot		regulator-name = "VDDQ";
62*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <1200000>;
63*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
64*b2d2a78aSEmmanuel Vadot		vin-supply = <&main_12v>;
65*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
66*b2d2a78aSEmmanuel Vadot		regulator-always-on;
67*b2d2a78aSEmmanuel Vadot	};
68*b2d2a78aSEmmanuel Vadot
69*b2d2a78aSEmmanuel Vadot	vddao_3v3: regulator-vddao-3v3 {
70*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
71*b2d2a78aSEmmanuel Vadot		regulator-name = "VDDAO3V3";
72*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
73*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
74*b2d2a78aSEmmanuel Vadot		vin-supply = <&main_12v>;
75*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
76*b2d2a78aSEmmanuel Vadot		regulator-always-on;
77*b2d2a78aSEmmanuel Vadot	};
78*b2d2a78aSEmmanuel Vadot
79*b2d2a78aSEmmanuel Vadot	vddao_1v8: regulator-vddao-1v8 {
80*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
81*b2d2a78aSEmmanuel Vadot		regulator-name = "VDDAO1V8";
82*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
83*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
84*b2d2a78aSEmmanuel Vadot		vin-supply = <&vddao_3v3>;
85*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
86*b2d2a78aSEmmanuel Vadot		regulator-always-on;
87*b2d2a78aSEmmanuel Vadot	};
88*b2d2a78aSEmmanuel Vadot
89*b2d2a78aSEmmanuel Vadot	ddr4_2v5: regulator-ddr4-2v5 {
90*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
91*b2d2a78aSEmmanuel Vadot		regulator-name = "DDR4_2V5";
92*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <2500000>;
93*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <2500000>;
94*b2d2a78aSEmmanuel Vadot		vin-supply = <&vddao_3v3>;
95*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
96*b2d2a78aSEmmanuel Vadot		regulator-always-on;
97*b2d2a78aSEmmanuel Vadot	};
98*b2d2a78aSEmmanuel Vadot
99*b2d2a78aSEmmanuel Vadot	vcc_3v3: regulator-vcc-3v3 {
100*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
101*b2d2a78aSEmmanuel Vadot		regulator-name = "VCC3V3";
102*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
103*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
104*b2d2a78aSEmmanuel Vadot		vin-supply = <&vddao_3v3>;
105*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
106*b2d2a78aSEmmanuel Vadot		regulator-always-on;
107*b2d2a78aSEmmanuel Vadot	};
108*b2d2a78aSEmmanuel Vadot
109*b2d2a78aSEmmanuel Vadot	vcc_1v8: regulator-vcc-1v8 {
110*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
111*b2d2a78aSEmmanuel Vadot		regulator-name = "VCC1V8";
112*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
113*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
114*b2d2a78aSEmmanuel Vadot		vin-supply = <&vcc_3v3>;
115*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
116*b2d2a78aSEmmanuel Vadot		regulator-always-on;
117*b2d2a78aSEmmanuel Vadot	};
118*b2d2a78aSEmmanuel Vadot
119*b2d2a78aSEmmanuel Vadot	vdd_1v8: regulator-vdd-1v8 {
120*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
121*b2d2a78aSEmmanuel Vadot		regulator-name = "VDD1V8_BOOT";
122*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
123*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
124*b2d2a78aSEmmanuel Vadot		vin-supply = <&vcc_3v3>;
125*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
126*b2d2a78aSEmmanuel Vadot		regulator-always-on;
127*b2d2a78aSEmmanuel Vadot	};
128*b2d2a78aSEmmanuel Vadot
129*b2d2a78aSEmmanuel Vadot	vddio_b: regulator-vddio-3v3-b {
130*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
131*b2d2a78aSEmmanuel Vadot		regulator-name = "VDDIO_B";
132*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
133*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
134*b2d2a78aSEmmanuel Vadot		vin-supply = <&vcc_3v3>;
135*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
136*b2d2a78aSEmmanuel Vadot		regulator-always-on;
137*b2d2a78aSEmmanuel Vadot	};
138*b2d2a78aSEmmanuel Vadot
139*b2d2a78aSEmmanuel Vadot	sdcard: regulator-sdcard {
140*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
141*b2d2a78aSEmmanuel Vadot		regulator-name = "SDCARD_POWER";
142*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
143*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
144*b2d2a78aSEmmanuel Vadot		vin-supply = <&vddao_3v3>;
145*b2d2a78aSEmmanuel Vadot		gpio = <&gpio GPIOA_4 GPIO_ACTIVE_LOW>;
146*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
147*b2d2a78aSEmmanuel Vadot		regulator-always-on;
148*b2d2a78aSEmmanuel Vadot	};
149*b2d2a78aSEmmanuel Vadot};
150*b2d2a78aSEmmanuel Vadot
151*b2d2a78aSEmmanuel Vadot&uart_b {
152*b2d2a78aSEmmanuel Vadot	status = "okay";
153*b2d2a78aSEmmanuel Vadot};
154*b2d2a78aSEmmanuel Vadot
155*b2d2a78aSEmmanuel Vadot&nand {
156*b2d2a78aSEmmanuel Vadot	status = "okay";
157*b2d2a78aSEmmanuel Vadot	#address-cells = <1>;
158*b2d2a78aSEmmanuel Vadot	#size-cells = <0>;
159*b2d2a78aSEmmanuel Vadot
160*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&nand_pins>;
161*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default";
162*b2d2a78aSEmmanuel Vadot
163*b2d2a78aSEmmanuel Vadot	nand@0 {
164*b2d2a78aSEmmanuel Vadot		reg = <0>;
165*b2d2a78aSEmmanuel Vadot		#address-cells = <1>;
166*b2d2a78aSEmmanuel Vadot		#size-cells = <1>;
167*b2d2a78aSEmmanuel Vadot		nand-on-flash-bbt;
168*b2d2a78aSEmmanuel Vadot
169*b2d2a78aSEmmanuel Vadot		partition@0 {
170*b2d2a78aSEmmanuel Vadot			label = "boot";
171*b2d2a78aSEmmanuel Vadot			reg = <0x0 0x00200000>;
172*b2d2a78aSEmmanuel Vadot		};
173*b2d2a78aSEmmanuel Vadot		partition@200000 {
174*b2d2a78aSEmmanuel Vadot			label = "env";
175*b2d2a78aSEmmanuel Vadot			reg = <0x00200000 0x00400000>;
176*b2d2a78aSEmmanuel Vadot		};
177*b2d2a78aSEmmanuel Vadot		partition@600000 {
178*b2d2a78aSEmmanuel Vadot			label = "system";
179*b2d2a78aSEmmanuel Vadot			reg = <0x00600000 0x00a00000>;
180*b2d2a78aSEmmanuel Vadot		};
181*b2d2a78aSEmmanuel Vadot		partition@1000000 {
182*b2d2a78aSEmmanuel Vadot			label = "rootfs";
183*b2d2a78aSEmmanuel Vadot			reg = <0x01000000 0x03000000>;
184*b2d2a78aSEmmanuel Vadot		};
185*b2d2a78aSEmmanuel Vadot		partition@4000000 {
186*b2d2a78aSEmmanuel Vadot			label = "media";
187*b2d2a78aSEmmanuel Vadot			reg = <0x04000000 0x8000000>;
188*b2d2a78aSEmmanuel Vadot		};
189*b2d2a78aSEmmanuel Vadot	};
190*b2d2a78aSEmmanuel Vadot};
191*b2d2a78aSEmmanuel Vadot
192*b2d2a78aSEmmanuel Vadot&ethmac {
193*b2d2a78aSEmmanuel Vadot	status = "okay";
194*b2d2a78aSEmmanuel Vadot	phy-handle = <&internal_ephy>;
195*b2d2a78aSEmmanuel Vadot	phy-mode = "rmii";
196*b2d2a78aSEmmanuel Vadot};
197*b2d2a78aSEmmanuel Vadot
198*b2d2a78aSEmmanuel Vadot&spifc {
199*b2d2a78aSEmmanuel Vadot	#address-cells = <1>;
200*b2d2a78aSEmmanuel Vadot	#size-cells = <0>;
201*b2d2a78aSEmmanuel Vadot
202*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&spifc_pins>;
203*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default";
204*b2d2a78aSEmmanuel Vadot
205*b2d2a78aSEmmanuel Vadot	nand@0 {
206*b2d2a78aSEmmanuel Vadot		compatible = "spi-nand";
207*b2d2a78aSEmmanuel Vadot		reg = <0>;
208*b2d2a78aSEmmanuel Vadot		spi-max-frequency = <83000000>;
209*b2d2a78aSEmmanuel Vadot		spi-tx-bus-width = <4>;
210*b2d2a78aSEmmanuel Vadot		spi-rx-bus-width = <4>;
211*b2d2a78aSEmmanuel Vadot		status = "disabled";
212*b2d2a78aSEmmanuel Vadot
213*b2d2a78aSEmmanuel Vadot		partitions {
214*b2d2a78aSEmmanuel Vadot			compatible = "fixed-partitions";
215*b2d2a78aSEmmanuel Vadot			#address-cells = <1>;
216*b2d2a78aSEmmanuel Vadot			#size-cells = <1>;
217*b2d2a78aSEmmanuel Vadot
218*b2d2a78aSEmmanuel Vadot			partition@0 {
219*b2d2a78aSEmmanuel Vadot				label = "boot";
220*b2d2a78aSEmmanuel Vadot				reg = <0 0x200000>;
221*b2d2a78aSEmmanuel Vadot			};
222*b2d2a78aSEmmanuel Vadot
223*b2d2a78aSEmmanuel Vadot			partition@200000 {
224*b2d2a78aSEmmanuel Vadot				label = "env";
225*b2d2a78aSEmmanuel Vadot				reg = <0x200000 0x400000>;
226*b2d2a78aSEmmanuel Vadot			};
227*b2d2a78aSEmmanuel Vadot
228*b2d2a78aSEmmanuel Vadot			partition@600000 {
229*b2d2a78aSEmmanuel Vadot				label = "system";
230*b2d2a78aSEmmanuel Vadot				reg = <0x600000 0xa00000>;
231*b2d2a78aSEmmanuel Vadot			};
232*b2d2a78aSEmmanuel Vadot
233*b2d2a78aSEmmanuel Vadot			partition@1000000 {
234*b2d2a78aSEmmanuel Vadot				label = "rootfs";
235*b2d2a78aSEmmanuel Vadot				reg = <0x1000000 0x3000000>;
236*b2d2a78aSEmmanuel Vadot			};
237*b2d2a78aSEmmanuel Vadot
238*b2d2a78aSEmmanuel Vadot			partition@4000000 {
239*b2d2a78aSEmmanuel Vadot				label = "data";
240*b2d2a78aSEmmanuel Vadot				reg = <0x4000000 0x8000000>;
241*b2d2a78aSEmmanuel Vadot			};
242*b2d2a78aSEmmanuel Vadot		};
243*b2d2a78aSEmmanuel Vadot	};
244*b2d2a78aSEmmanuel Vadot};
245*b2d2a78aSEmmanuel Vadot
246*b2d2a78aSEmmanuel Vadot&sd {
247*b2d2a78aSEmmanuel Vadot	status = "okay";
248*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&sdcard_pins>;
249*b2d2a78aSEmmanuel Vadot	pinctrl-1 = <&sdcard_clk_gate_pins>;
250*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default","clk-gate";
251*b2d2a78aSEmmanuel Vadot
252*b2d2a78aSEmmanuel Vadot	bus-width = <4>;
253*b2d2a78aSEmmanuel Vadot	cap-sd-highspeed;
254*b2d2a78aSEmmanuel Vadot	max-frequency = <50000000>;
255*b2d2a78aSEmmanuel Vadot	disable-wp;
256*b2d2a78aSEmmanuel Vadot
257*b2d2a78aSEmmanuel Vadot	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
258*b2d2a78aSEmmanuel Vadot	vmmc-supply = <&sdcard>;
259*b2d2a78aSEmmanuel Vadot	vqmmc-supply = <&sdcard>;
260*b2d2a78aSEmmanuel Vadot};
261