xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/ls/ls1021a-moxa-uc-8410a.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (C) 2017 Moxa Inc. - https://www.moxa.com/
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Author: Harry YJ Jhou (周亞諄) <harryyj.jhou@moxa.com>
6*f126890aSEmmanuel Vadot *         Jimmy Chen (陳永達)    <jimmy.chen@moxa.com>
7*f126890aSEmmanuel Vadot *         SZ Lin (林上智)        <sz.lin@moxa.com>
8*f126890aSEmmanuel Vadot */
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/dts-v1/;
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
13*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
14*f126890aSEmmanuel Vadot#include "ls1021a.dtsi"
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot/ {
17*f126890aSEmmanuel Vadot	model = "Moxa UC-8410A";
18*f126890aSEmmanuel Vadot	compatible = "fsl,ls1021a-moxa-uc-8410a", "fsl,ls1021a";
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	aliases {
21*f126890aSEmmanuel Vadot		enet0_rgmii_phy = &rgmii_phy0;
22*f126890aSEmmanuel Vadot		enet1_rgmii_phy = &rgmii_phy1;
23*f126890aSEmmanuel Vadot		enet2_rgmii_phy = &rgmii_phy2;
24*f126890aSEmmanuel Vadot	};
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot	sys_mclk: clock-mclk {
27*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
28*f126890aSEmmanuel Vadot		#clock-cells = <0>;
29*f126890aSEmmanuel Vadot		clock-frequency = <24576000>;
30*f126890aSEmmanuel Vadot	};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot	reg_3p3v: regulator-3p3v {
33*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
34*f126890aSEmmanuel Vadot		regulator-name = "3P3V";
35*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
36*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
37*f126890aSEmmanuel Vadot		regulator-always-on;
38*f126890aSEmmanuel Vadot	};
39*f126890aSEmmanuel Vadot
40*f126890aSEmmanuel Vadot	leds {
41*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot		cel-pwr {
44*f126890aSEmmanuel Vadot			label = "UC8410A:CEL-PWR";
45*f126890aSEmmanuel Vadot			gpios = <&gpio3 27 GPIO_ACTIVE_LOW>;
46*f126890aSEmmanuel Vadot			default-state = "off";
47*f126890aSEmmanuel Vadot		};
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot		cel-reset {
50*f126890aSEmmanuel Vadot			label = "UC8410A:CEL-RESET";
51*f126890aSEmmanuel Vadot			gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
52*f126890aSEmmanuel Vadot			default-state = "off";
53*f126890aSEmmanuel Vadot		};
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot		str-led {
56*f126890aSEmmanuel Vadot			label = "UC8410A:RED:PROG";
57*f126890aSEmmanuel Vadot			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
58*f126890aSEmmanuel Vadot			linux,default-trigger = "mmc0";
59*f126890aSEmmanuel Vadot		};
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot		sw-ready {
62*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:SWRDY";
63*f126890aSEmmanuel Vadot			gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
64*f126890aSEmmanuel Vadot			default-state = "on";
65*f126890aSEmmanuel Vadot		};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot		beeper {
68*f126890aSEmmanuel Vadot			label = "UC8410A:BEEP";
69*f126890aSEmmanuel Vadot			gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
70*f126890aSEmmanuel Vadot			default-state = "off";
71*f126890aSEmmanuel Vadot		};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot		prog-led0 {
74*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:PROG2";
75*f126890aSEmmanuel Vadot			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
76*f126890aSEmmanuel Vadot			default-state = "off";
77*f126890aSEmmanuel Vadot		};
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot		prog-led1 {
80*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:PROG1";
81*f126890aSEmmanuel Vadot			gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
82*f126890aSEmmanuel Vadot			default-state = "off";
83*f126890aSEmmanuel Vadot		};
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot		prog-led2 {
86*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:PROG0";
87*f126890aSEmmanuel Vadot			gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
88*f126890aSEmmanuel Vadot			default-state = "off";
89*f126890aSEmmanuel Vadot		};
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot		wifi-signal0 {
92*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:CEL2";
93*f126890aSEmmanuel Vadot			gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
94*f126890aSEmmanuel Vadot			default-state = "off";
95*f126890aSEmmanuel Vadot		};
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot		wifi-signal1 {
98*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:CEL1";
99*f126890aSEmmanuel Vadot			gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
100*f126890aSEmmanuel Vadot			default-state = "off";
101*f126890aSEmmanuel Vadot		};
102*f126890aSEmmanuel Vadot
103*f126890aSEmmanuel Vadot		wifi-signal2 {
104*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:CEL0";
105*f126890aSEmmanuel Vadot			gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
106*f126890aSEmmanuel Vadot			default-state = "off";
107*f126890aSEmmanuel Vadot		};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot		cpu-diag-red {
110*f126890aSEmmanuel Vadot			label = "UC8410A:RED:DIA";
111*f126890aSEmmanuel Vadot			gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
112*f126890aSEmmanuel Vadot			default-state = "off";
113*f126890aSEmmanuel Vadot		};
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot		cpu-diag-green {
116*f126890aSEmmanuel Vadot			label = "UC8410A:GREEN:DIA";
117*f126890aSEmmanuel Vadot			gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
118*f126890aSEmmanuel Vadot			default-state = "off";
119*f126890aSEmmanuel Vadot		};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot		cpu-diag-yellow {
122*f126890aSEmmanuel Vadot			label = "UC8410A:YELLOW:DIA";
123*f126890aSEmmanuel Vadot			gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
124*f126890aSEmmanuel Vadot			default-state = "off";
125*f126890aSEmmanuel Vadot		};
126*f126890aSEmmanuel Vadot	};
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot	gpio-keys {
129*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot		pushbtn-key {
132*f126890aSEmmanuel Vadot			label = "push button key";
133*f126890aSEmmanuel Vadot			gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
134*f126890aSEmmanuel Vadot			linux,code = <BTN_MISC>;
135*f126890aSEmmanuel Vadot			default-state = "on";
136*f126890aSEmmanuel Vadot		};
137*f126890aSEmmanuel Vadot	};
138*f126890aSEmmanuel Vadot};
139*f126890aSEmmanuel Vadot
140*f126890aSEmmanuel Vadot&enet0 {
141*f126890aSEmmanuel Vadot	phy-handle = <&rgmii_phy0>;
142*f126890aSEmmanuel Vadot	phy-connection-type = "rgmii-id";
143*f126890aSEmmanuel Vadot	status = "okay";
144*f126890aSEmmanuel Vadot};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot&enet1 {
147*f126890aSEmmanuel Vadot	phy-handle = <&rgmii_phy1>;
148*f126890aSEmmanuel Vadot	phy-connection-type = "rgmii-id";
149*f126890aSEmmanuel Vadot	status = "okay";
150*f126890aSEmmanuel Vadot};
151*f126890aSEmmanuel Vadot
152*f126890aSEmmanuel Vadot&enet2 {
153*f126890aSEmmanuel Vadot	phy-handle = <&rgmii_phy2>;
154*f126890aSEmmanuel Vadot	phy-connection-type = "rgmii-id";
155*f126890aSEmmanuel Vadot	status = "okay";
156*f126890aSEmmanuel Vadot};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot&i2c0 {
159*f126890aSEmmanuel Vadot	clock-frequency = <100000>;
160*f126890aSEmmanuel Vadot	status = "okay";
161*f126890aSEmmanuel Vadot
162*f126890aSEmmanuel Vadot	tpm@20 {
163*f126890aSEmmanuel Vadot		compatible = "infineon,slb9635tt";
164*f126890aSEmmanuel Vadot		reg = <0x20>;
165*f126890aSEmmanuel Vadot	};
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot	rtc@68 {
168*f126890aSEmmanuel Vadot		compatible = "dallas,ds1374";
169*f126890aSEmmanuel Vadot		reg = <0x68>;
170*f126890aSEmmanuel Vadot	};
171*f126890aSEmmanuel Vadot};
172*f126890aSEmmanuel Vadot
173*f126890aSEmmanuel Vadot&lpuart0 {
174*f126890aSEmmanuel Vadot	status = "okay";
175*f126890aSEmmanuel Vadot};
176*f126890aSEmmanuel Vadot
177*f126890aSEmmanuel Vadot&mdio0 {
178*f126890aSEmmanuel Vadot	rgmii_phy0: ethernet-phy@0 {
179*f126890aSEmmanuel Vadot		compatible = "marvell,88e1118";
180*f126890aSEmmanuel Vadot		reg = <0x0>;
181*f126890aSEmmanuel Vadot		marvell,reg-init =
182*f126890aSEmmanuel Vadot			<3 0x11 0 0x4415>, /* Reg 3,17 */
183*f126890aSEmmanuel Vadot			<3 0x10 0 0x77>; /* Reg 3,16 */
184*f126890aSEmmanuel Vadot	};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot	rgmii_phy1: ethernet-phy@1 {
187*f126890aSEmmanuel Vadot		compatible = "marvell,88e1118";
188*f126890aSEmmanuel Vadot		reg = <0x1>;
189*f126890aSEmmanuel Vadot		marvell,reg-init =
190*f126890aSEmmanuel Vadot			<3 0x11 0 0x4415>, /* Reg 3,17 */
191*f126890aSEmmanuel Vadot			<3 0x10 0 0x77>; /* Reg 3,16 */
192*f126890aSEmmanuel Vadot	};
193*f126890aSEmmanuel Vadot
194*f126890aSEmmanuel Vadot	rgmii_phy2: ethernet-phy@2 {
195*f126890aSEmmanuel Vadot		compatible = "marvell,88e1118";
196*f126890aSEmmanuel Vadot		reg = <0x2>;
197*f126890aSEmmanuel Vadot		marvell,reg-init =
198*f126890aSEmmanuel Vadot			<3 0x11 0 0x4415>, /* Reg 3,17 */
199*f126890aSEmmanuel Vadot			<3 0x10 0 0x77>; /* Reg 3,16 */
200*f126890aSEmmanuel Vadot	};
201*f126890aSEmmanuel Vadot};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot&qspi {
204*f126890aSEmmanuel Vadot	status = "okay";
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot	flash: flash@0 {
207*f126890aSEmmanuel Vadot		compatible = "spansion,s25fl064l", "spansion,s25fl164k";
208*f126890aSEmmanuel Vadot		#address-cells = <1>;
209*f126890aSEmmanuel Vadot		#size-cells = <1>;
210*f126890aSEmmanuel Vadot		spi-max-frequency = <20000000>;
211*f126890aSEmmanuel Vadot		spi-rx-bus-width = <4>;
212*f126890aSEmmanuel Vadot		spi-tx-bus-width = <4>;
213*f126890aSEmmanuel Vadot		reg = <0>;
214*f126890aSEmmanuel Vadot
215*f126890aSEmmanuel Vadot		partitions@0 {
216*f126890aSEmmanuel Vadot			label = "U-Boot";
217*f126890aSEmmanuel Vadot			reg = <0x0 0x180000>;
218*f126890aSEmmanuel Vadot		};
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot		partitions@180000 {
221*f126890aSEmmanuel Vadot			label = "U-Boot Env";
222*f126890aSEmmanuel Vadot			reg = <0x180000 0x680000>;
223*f126890aSEmmanuel Vadot		};
224*f126890aSEmmanuel Vadot	};
225*f126890aSEmmanuel Vadot};
226*f126890aSEmmanuel Vadot
227*f126890aSEmmanuel Vadot&sata {
228*f126890aSEmmanuel Vadot	status = "okay";
229*f126890aSEmmanuel Vadot};
230*f126890aSEmmanuel Vadot
231*f126890aSEmmanuel Vadot&uart0 {
232*f126890aSEmmanuel Vadot	status = "okay";
233*f126890aSEmmanuel Vadot};
234*f126890aSEmmanuel Vadot
235*f126890aSEmmanuel Vadot&uart1 {
236*f126890aSEmmanuel Vadot	status = "okay";
237*f126890aSEmmanuel Vadot};
238