xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/lpc/lpc4337-ciaa.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot/*
2*f126890aSEmmanuel Vadot * CIAA NXP LPC4337 (http://www.proyecto-ciaa.com.ar)
3*f126890aSEmmanuel Vadot *
4*f126890aSEmmanuel Vadot * Copyright (C) 2015 VanguardiaSur - www.vanguardiasur.com.ar
5*f126890aSEmmanuel Vadot *
6*f126890aSEmmanuel Vadot * This code is released using a dual license strategy: BSD/GPL
7*f126890aSEmmanuel Vadot * You can choose the licence that better fits your requirements.
8*f126890aSEmmanuel Vadot *
9*f126890aSEmmanuel Vadot * Released under the terms of 3-clause BSD License
10*f126890aSEmmanuel Vadot * Released under the terms of GNU General Public License Version 2.0
11*f126890aSEmmanuel Vadot */
12*f126890aSEmmanuel Vadot/dts-v1/;
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot#include "lpc18xx.dtsi"
15*f126890aSEmmanuel Vadot#include "lpc4357.dtsi"
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot#include "dt-bindings/gpio/gpio.h"
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot/ {
20*f126890aSEmmanuel Vadot	model = "CIAA NXP LPC4337";
21*f126890aSEmmanuel Vadot	compatible = "ciaa,lpc4337", "nxp,lpc4337", "nxp,lpc4350";
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	aliases {
24*f126890aSEmmanuel Vadot		serial0 = &uart2;
25*f126890aSEmmanuel Vadot		serial1 = &uart3;
26*f126890aSEmmanuel Vadot	};
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot	chosen {
29*f126890aSEmmanuel Vadot		bootargs = "console=ttyS0,115200 earlyprintk";
30*f126890aSEmmanuel Vadot		stdout-path = &uart2;
31*f126890aSEmmanuel Vadot	};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot	memory@28000000 {
34*f126890aSEmmanuel Vadot		device_type = "memory";
35*f126890aSEmmanuel Vadot		reg = <0x28000000 0x0800000>; /* 8 MB */
36*f126890aSEmmanuel Vadot	};
37*f126890aSEmmanuel Vadot};
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot&pinctrl {
40*f126890aSEmmanuel Vadot	enet_rmii_pins: enet-rmii-pins {
41*f126890aSEmmanuel Vadot		enet_rmii_rxd_cfg {
42*f126890aSEmmanuel Vadot			pins = "p1_15", "p0_0";
43*f126890aSEmmanuel Vadot			function = "enet";
44*f126890aSEmmanuel Vadot			slew-rate = <1>;
45*f126890aSEmmanuel Vadot			bias-disable;
46*f126890aSEmmanuel Vadot			input-enable;
47*f126890aSEmmanuel Vadot			input-schmitt-disable;
48*f126890aSEmmanuel Vadot		};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot		enet_rmii_txd_cfg {
51*f126890aSEmmanuel Vadot			pins = "p1_18", "p1_20";
52*f126890aSEmmanuel Vadot			function = "enet";
53*f126890aSEmmanuel Vadot			slew-rate = <1>;
54*f126890aSEmmanuel Vadot			bias-disable;
55*f126890aSEmmanuel Vadot			input-enable;
56*f126890aSEmmanuel Vadot			input-schmitt-disable;
57*f126890aSEmmanuel Vadot		};
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot		enet_rmii_rx_dv_cfg {
60*f126890aSEmmanuel Vadot			pins = "p1_16";
61*f126890aSEmmanuel Vadot			function = "enet";
62*f126890aSEmmanuel Vadot			bias-disable;
63*f126890aSEmmanuel Vadot			input-enable;
64*f126890aSEmmanuel Vadot			input-schmitt-disable;
65*f126890aSEmmanuel Vadot		};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot		enet_rmii_tx_en_cfg {
68*f126890aSEmmanuel Vadot			pins = "p0_1";
69*f126890aSEmmanuel Vadot			function = "enet";
70*f126890aSEmmanuel Vadot			bias-disable;
71*f126890aSEmmanuel Vadot			input-enable;
72*f126890aSEmmanuel Vadot			input-schmitt-disable;
73*f126890aSEmmanuel Vadot		};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot		enet_ref_clk_cfg {
76*f126890aSEmmanuel Vadot			pins = "p1_19";
77*f126890aSEmmanuel Vadot			function = "enet";
78*f126890aSEmmanuel Vadot			slew-rate = <1>;
79*f126890aSEmmanuel Vadot			bias-disable;
80*f126890aSEmmanuel Vadot			input-enable;
81*f126890aSEmmanuel Vadot			input-schmitt-disable;
82*f126890aSEmmanuel Vadot		};
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot		enet_mdio_cfg {
85*f126890aSEmmanuel Vadot			pins = "p1_17";
86*f126890aSEmmanuel Vadot			function = "enet";
87*f126890aSEmmanuel Vadot			bias-disable;
88*f126890aSEmmanuel Vadot			input-enable;
89*f126890aSEmmanuel Vadot			input-schmitt-disable;
90*f126890aSEmmanuel Vadot		};
91*f126890aSEmmanuel Vadot
92*f126890aSEmmanuel Vadot		enet_mdc_cfg {
93*f126890aSEmmanuel Vadot			pins = "p7_7";
94*f126890aSEmmanuel Vadot			function = "enet";
95*f126890aSEmmanuel Vadot			slew-rate = <1>;
96*f126890aSEmmanuel Vadot			bias-disable;
97*f126890aSEmmanuel Vadot			input-enable;
98*f126890aSEmmanuel Vadot			input-schmitt-disable;
99*f126890aSEmmanuel Vadot		};
100*f126890aSEmmanuel Vadot	};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot	i2c0_pins: i2c0-pins {
103*f126890aSEmmanuel Vadot		i2c0_pins_cfg {
104*f126890aSEmmanuel Vadot			pins = "i2c0_scl", "i2c0_sda";
105*f126890aSEmmanuel Vadot			function = "i2c0";
106*f126890aSEmmanuel Vadot			input-enable;
107*f126890aSEmmanuel Vadot		};
108*f126890aSEmmanuel Vadot	};
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot	ssp_pins: ssp-pins {
111*f126890aSEmmanuel Vadot		ssp1_cs {
112*f126890aSEmmanuel Vadot			pins = "p6_7";
113*f126890aSEmmanuel Vadot			function = "gpio";
114*f126890aSEmmanuel Vadot			bias-pull-up;
115*f126890aSEmmanuel Vadot			bias-disable;
116*f126890aSEmmanuel Vadot		};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot		ssp1_miso_mosi {
119*f126890aSEmmanuel Vadot			pins = "p1_3", "p1_4";
120*f126890aSEmmanuel Vadot			function = "ssp1";
121*f126890aSEmmanuel Vadot			slew-rate = <1>;
122*f126890aSEmmanuel Vadot			bias-pull-down;
123*f126890aSEmmanuel Vadot			input-enable;
124*f126890aSEmmanuel Vadot			input-schmitt-disable;
125*f126890aSEmmanuel Vadot		};
126*f126890aSEmmanuel Vadot
127*f126890aSEmmanuel Vadot		ssp1_sck {
128*f126890aSEmmanuel Vadot			pins = "pf_4";
129*f126890aSEmmanuel Vadot			function = "ssp1";
130*f126890aSEmmanuel Vadot			slew-rate = <1>;
131*f126890aSEmmanuel Vadot			bias-disable;
132*f126890aSEmmanuel Vadot		};
133*f126890aSEmmanuel Vadot	};
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot	uart2_pins: uart2-pins {
136*f126890aSEmmanuel Vadot		uart2_rx_cfg {
137*f126890aSEmmanuel Vadot			pins = "p7_2";
138*f126890aSEmmanuel Vadot			function = "uart2";
139*f126890aSEmmanuel Vadot			bias-disable;
140*f126890aSEmmanuel Vadot			input-enable;
141*f126890aSEmmanuel Vadot		};
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot		uart2_tx_cfg {
144*f126890aSEmmanuel Vadot			pins = "p7_1";
145*f126890aSEmmanuel Vadot			function = "uart2";
146*f126890aSEmmanuel Vadot			bias-disable;
147*f126890aSEmmanuel Vadot		};
148*f126890aSEmmanuel Vadot	};
149*f126890aSEmmanuel Vadot
150*f126890aSEmmanuel Vadot	uart3_pins: uart3-pins {
151*f126890aSEmmanuel Vadot		uart3_rx_cfg {
152*f126890aSEmmanuel Vadot			pins = "p2_4";
153*f126890aSEmmanuel Vadot			function = "uart3";
154*f126890aSEmmanuel Vadot			bias-disable;
155*f126890aSEmmanuel Vadot			input-enable;
156*f126890aSEmmanuel Vadot		};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot		uart3_tx_cfg {
159*f126890aSEmmanuel Vadot			pins = "p2_3";
160*f126890aSEmmanuel Vadot			function = "uart3";
161*f126890aSEmmanuel Vadot			bias-disable;
162*f126890aSEmmanuel Vadot		};
163*f126890aSEmmanuel Vadot	};
164*f126890aSEmmanuel Vadot};
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot&enet_tx_clk {
167*f126890aSEmmanuel Vadot	clock-frequency = <50000000>;
168*f126890aSEmmanuel Vadot};
169*f126890aSEmmanuel Vadot
170*f126890aSEmmanuel Vadot&i2c0 {
171*f126890aSEmmanuel Vadot	status = "okay";
172*f126890aSEmmanuel Vadot	pinctrl-names = "default";
173*f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
174*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
175*f126890aSEmmanuel Vadot
176*f126890aSEmmanuel Vadot	eeprom@50 {
177*f126890aSEmmanuel Vadot		compatible = "microchip,24c512", "atmel,24c512";
178*f126890aSEmmanuel Vadot		reg = <0x50>;
179*f126890aSEmmanuel Vadot	};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot	eeprom@51 {
182*f126890aSEmmanuel Vadot		compatible = "microchip,24c02", "atmel,24c02";
183*f126890aSEmmanuel Vadot		reg = <0x51>;
184*f126890aSEmmanuel Vadot	};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot	eeprom@54 {
187*f126890aSEmmanuel Vadot		compatible = "microchip,24c512", "atmel,24c512";
188*f126890aSEmmanuel Vadot		reg = <0x54>;
189*f126890aSEmmanuel Vadot	};
190*f126890aSEmmanuel Vadot};
191*f126890aSEmmanuel Vadot
192*f126890aSEmmanuel Vadot&mac {
193*f126890aSEmmanuel Vadot	status = "okay";
194*f126890aSEmmanuel Vadot	phy-mode = "rmii";
195*f126890aSEmmanuel Vadot	pinctrl-names = "default";
196*f126890aSEmmanuel Vadot	pinctrl-0 = <&enet_rmii_pins>;
197*f126890aSEmmanuel Vadot};
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot&sct_pwm {
200*f126890aSEmmanuel Vadot	status = "okay";
201*f126890aSEmmanuel Vadot};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot&ssp1 {
204*f126890aSEmmanuel Vadot	status = "okay";
205*f126890aSEmmanuel Vadot	pinctrl-names = "default";
206*f126890aSEmmanuel Vadot	pinctrl-0 = <&ssp_pins>;
207*f126890aSEmmanuel Vadot	cs-gpios = <&gpio LPC_GPIO(5,15) GPIO_ACTIVE_HIGH>;
208*f126890aSEmmanuel Vadot	num-cs = <1>;
209*f126890aSEmmanuel Vadot};
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot&uart2 {
212*f126890aSEmmanuel Vadot	status = "okay";
213*f126890aSEmmanuel Vadot	pinctrl-names = "default";
214*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart2_pins>;
215*f126890aSEmmanuel Vadot};
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot&uart3 {
218*f126890aSEmmanuel Vadot	status = "okay";
219*f126890aSEmmanuel Vadot	pinctrl-names = "default";
220*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart3_pins>;
221*f126890aSEmmanuel Vadot};
222