xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/ls/ls1021a-iot.dts (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2021-2022 NXP
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot */
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot/dts-v1/;
8*f126890aSEmmanuel Vadot#include "ls1021a.dtsi"
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	model = "LS1021A-IOT Board";
12*f126890aSEmmanuel Vadot	compatible = "fsl,ls1021a-iot", "fsl,ls1021a";
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot	sys_mclk: clock-mclk {
15*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
16*f126890aSEmmanuel Vadot		#clock-cells = <0>;
17*f126890aSEmmanuel Vadot		clock-frequency = <24576000>;
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	reg_3p3v: regulator-3V3 {
21*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
22*f126890aSEmmanuel Vadot		regulator-name = "3P3V";
23*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
24*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
25*f126890aSEmmanuel Vadot		regulator-always-on;
26*f126890aSEmmanuel Vadot	};
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot	reg_2p5v: regulator-2V5 {
29*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
30*f126890aSEmmanuel Vadot		regulator-name = "2P5V";
31*f126890aSEmmanuel Vadot		regulator-min-microvolt = <2500000>;
32*f126890aSEmmanuel Vadot		regulator-max-microvolt = <2500000>;
33*f126890aSEmmanuel Vadot		regulator-always-on;
34*f126890aSEmmanuel Vadot	};
35*f126890aSEmmanuel Vadot
36*f126890aSEmmanuel Vadot	sound {
37*f126890aSEmmanuel Vadot		compatible = "simple-audio-card";
38*f126890aSEmmanuel Vadot		simple-audio-card,format = "i2s";
39*f126890aSEmmanuel Vadot		simple-audio-card,widgets =
40*f126890aSEmmanuel Vadot			"Microphone", "Microphone Jack",
41*f126890aSEmmanuel Vadot			"Headphone", "Headphone Jack",
42*f126890aSEmmanuel Vadot			"Speaker", "Speaker Ext",
43*f126890aSEmmanuel Vadot			"Line", "Line In Jack";
44*f126890aSEmmanuel Vadot		simple-audio-card,routing =
45*f126890aSEmmanuel Vadot			"MIC_IN", "Microphone Jack",
46*f126890aSEmmanuel Vadot			"Microphone Jack", "Mic Bias",
47*f126890aSEmmanuel Vadot			"LINE_IN", "Line In Jack",
48*f126890aSEmmanuel Vadot			"Headphone Jack", "HP_OUT",
49*f126890aSEmmanuel Vadot			"Speaker Ext", "LINE_OUT";
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		simple-audio-card,cpu {
52*f126890aSEmmanuel Vadot			sound-dai = <&sai2>;
53*f126890aSEmmanuel Vadot			frame-master;
54*f126890aSEmmanuel Vadot			bitclock-master;
55*f126890aSEmmanuel Vadot		};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot		simple-audio-card,codec {
58*f126890aSEmmanuel Vadot			sound-dai = <&sgtl5000>;
59*f126890aSEmmanuel Vadot			frame-master;
60*f126890aSEmmanuel Vadot			bitclock-master;
61*f126890aSEmmanuel Vadot		};
62*f126890aSEmmanuel Vadot	};
63*f126890aSEmmanuel Vadot};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot&can0 {
66*f126890aSEmmanuel Vadot	status = "disabled";
67*f126890aSEmmanuel Vadot};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot&can1 {
70*f126890aSEmmanuel Vadot	status = "disabled";
71*f126890aSEmmanuel Vadot};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot&can2 {
74*f126890aSEmmanuel Vadot	status = "disabled";
75*f126890aSEmmanuel Vadot};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot&can3 {
78*f126890aSEmmanuel Vadot	status = "okay";
79*f126890aSEmmanuel Vadot};
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot&dcu {
82*f126890aSEmmanuel Vadot	display = <&display>;
83*f126890aSEmmanuel Vadot	status = "okay";
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot	display: display@0 {
86*f126890aSEmmanuel Vadot		bits-per-pixel = <24>;
87*f126890aSEmmanuel Vadot
88*f126890aSEmmanuel Vadot		display-timings {
89*f126890aSEmmanuel Vadot			native-mode = <&timing0>;
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot			timing0: mode0 {
92*f126890aSEmmanuel Vadot				clock-frequency = <25000000>;
93*f126890aSEmmanuel Vadot				hactive = <640>;
94*f126890aSEmmanuel Vadot				vactive = <480>;
95*f126890aSEmmanuel Vadot				hback-porch = <80>;
96*f126890aSEmmanuel Vadot				hfront-porch = <80>;
97*f126890aSEmmanuel Vadot				vback-porch = <16>;
98*f126890aSEmmanuel Vadot				vfront-porch = <16>;
99*f126890aSEmmanuel Vadot				hsync-len = <12>;
100*f126890aSEmmanuel Vadot				vsync-len = <2>;
101*f126890aSEmmanuel Vadot				hsync-active = <1>;
102*f126890aSEmmanuel Vadot				vsync-active = <1>;
103*f126890aSEmmanuel Vadot			};
104*f126890aSEmmanuel Vadot		};
105*f126890aSEmmanuel Vadot	};
106*f126890aSEmmanuel Vadot};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot&enet0 {
109*f126890aSEmmanuel Vadot	tbi-handle = <&tbi1>;
110*f126890aSEmmanuel Vadot	phy-handle = <&phy1>;
111*f126890aSEmmanuel Vadot	phy-connection-type = "sgmii";
112*f126890aSEmmanuel Vadot	status = "okay";
113*f126890aSEmmanuel Vadot};
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot&enet1 {
116*f126890aSEmmanuel Vadot	tbi-handle = <&tbi1>;
117*f126890aSEmmanuel Vadot	phy-handle = <&phy3>;
118*f126890aSEmmanuel Vadot	phy-connection-type = "sgmii";
119*f126890aSEmmanuel Vadot	status = "okay";
120*f126890aSEmmanuel Vadot};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot&enet2 {
123*f126890aSEmmanuel Vadot	fixed-link = <0 1 1000 0 0>;
124*f126890aSEmmanuel Vadot	phy-connection-type = "rgmii-id";
125*f126890aSEmmanuel Vadot	status = "okay";
126*f126890aSEmmanuel Vadot};
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot&esdhc {
129*f126890aSEmmanuel Vadot	status = "okay";
130*f126890aSEmmanuel Vadot};
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot&i2c0 {
133*f126890aSEmmanuel Vadot	status = "okay";
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot	pca9555: gpio@23 {
136*f126890aSEmmanuel Vadot		compatible = "nxp,pca9555";
137*f126890aSEmmanuel Vadot		reg = <0x23>;
138*f126890aSEmmanuel Vadot		gpio-controller;
139*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
140*f126890aSEmmanuel Vadot		interrupt-controller;
141*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
142*f126890aSEmmanuel Vadot	};
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot	sgtl5000: audio-codec@2a {
145*f126890aSEmmanuel Vadot		#sound-dai-cells = <0x0>;
146*f126890aSEmmanuel Vadot		compatible = "fsl,sgtl5000";
147*f126890aSEmmanuel Vadot		reg = <0x2a>;
148*f126890aSEmmanuel Vadot		VDDA-supply = <&reg_3p3v>;
149*f126890aSEmmanuel Vadot		VDDIO-supply = <&reg_2p5v>;
150*f126890aSEmmanuel Vadot		clocks = <&sys_mclk>;
151*f126890aSEmmanuel Vadot	};
152*f126890aSEmmanuel Vadot
153*f126890aSEmmanuel Vadot	max1239: adc@35 {
154*f126890aSEmmanuel Vadot		compatible = "maxim,max1239";
155*f126890aSEmmanuel Vadot		reg = <0x35>;
156*f126890aSEmmanuel Vadot		#io-channel-cells = <1>;
157*f126890aSEmmanuel Vadot	};
158*f126890aSEmmanuel Vadot
159*f126890aSEmmanuel Vadot	ina2201: core-monitor@44 {
160*f126890aSEmmanuel Vadot		compatible = "ti,ina220";
161*f126890aSEmmanuel Vadot		reg = <0x44>;
162*f126890aSEmmanuel Vadot		shunt-resistor = <1000>;
163*f126890aSEmmanuel Vadot	};
164*f126890aSEmmanuel Vadot
165*f126890aSEmmanuel Vadot	ina2202: current-monitor@45 {
166*f126890aSEmmanuel Vadot		compatible = "ti,ina220";
167*f126890aSEmmanuel Vadot		reg = <0x45>;
168*f126890aSEmmanuel Vadot		shunt-resistor = <1000>;
169*f126890aSEmmanuel Vadot	};
170*f126890aSEmmanuel Vadot
171*f126890aSEmmanuel Vadot	lm75b: thermal-monitor@48 {
172*f126890aSEmmanuel Vadot		compatible = "national,lm75b";
173*f126890aSEmmanuel Vadot		reg = <0x48>;
174*f126890aSEmmanuel Vadot	};
175*f126890aSEmmanuel Vadot};
176*f126890aSEmmanuel Vadot
177*f126890aSEmmanuel Vadot&lpuart0 {
178*f126890aSEmmanuel Vadot	status = "okay";
179*f126890aSEmmanuel Vadot};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot&mdio0 {
182*f126890aSEmmanuel Vadot	phy0: ethernet-phy@0 {
183*f126890aSEmmanuel Vadot		reg = <0x0>;
184*f126890aSEmmanuel Vadot	};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot	phy1: ethernet-phy@1 {
187*f126890aSEmmanuel Vadot		reg = <0x1>;
188*f126890aSEmmanuel Vadot	};
189*f126890aSEmmanuel Vadot
190*f126890aSEmmanuel Vadot	phy2: ethernet-phy@2 {
191*f126890aSEmmanuel Vadot		reg = <0x2>;
192*f126890aSEmmanuel Vadot	};
193*f126890aSEmmanuel Vadot
194*f126890aSEmmanuel Vadot	phy3: ethernet-phy@3 {
195*f126890aSEmmanuel Vadot		reg = <0x3>;
196*f126890aSEmmanuel Vadot	};
197*f126890aSEmmanuel Vadot
198*f126890aSEmmanuel Vadot	tbi1: tbi-phy@1f {
199*f126890aSEmmanuel Vadot		reg = <0x1f>;
200*f126890aSEmmanuel Vadot		device_type = "tbi-phy";
201*f126890aSEmmanuel Vadot	};
202*f126890aSEmmanuel Vadot};
203*f126890aSEmmanuel Vadot
204*f126890aSEmmanuel Vadot&qspi {
205*f126890aSEmmanuel Vadot	num-cs = <2>;
206*f126890aSEmmanuel Vadot	status = "okay";
207*f126890aSEmmanuel Vadot
208*f126890aSEmmanuel Vadot	s25fl128s: flash@0 {
209*f126890aSEmmanuel Vadot		compatible = "jedec,spi-nor";
210*f126890aSEmmanuel Vadot		#address-cells = <1>;
211*f126890aSEmmanuel Vadot		#size-cells = <1>;
212*f126890aSEmmanuel Vadot		spi-max-frequency = <20000000>;
213*f126890aSEmmanuel Vadot		reg = <0>;
214*f126890aSEmmanuel Vadot	};
215*f126890aSEmmanuel Vadot};
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot&sai2 {
218*f126890aSEmmanuel Vadot	status = "okay";
219*f126890aSEmmanuel Vadot};
220*f126890aSEmmanuel Vadot
221*f126890aSEmmanuel Vadot&uart0 {
222*f126890aSEmmanuel Vadot	status = "okay";
223*f126890aSEmmanuel Vadot};
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot&uart1 {
226*f126890aSEmmanuel Vadot	status = "okay";
227*f126890aSEmmanuel Vadot};
228