xref: /freebsd-src/sys/contrib/device-tree/src/arm/microchip/at91-som60.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * at91-som60.dtsi - Device Tree file for the SOM60 module
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot *  Copyright (C) 2018 Laird,
6*f126890aSEmmanuel Vadot *		  2018 Ben Whitten <ben.whitten@lairdtech.com>
7*f126890aSEmmanuel Vadot *
8*f126890aSEmmanuel Vadot */
9*f126890aSEmmanuel Vadot#include "sama5d36.dtsi"
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	model = "Laird SOM60";
13*f126890aSEmmanuel Vadot	compatible = "laird,som60", "atmel,sama5d36", "atmel,sama5d3", "atmel,sama5";
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot	chosen {
16*f126890aSEmmanuel Vadot		stdout-path = &dbgu;
17*f126890aSEmmanuel Vadot	};
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	memory@20000000 {
20*f126890aSEmmanuel Vadot		reg = <0x20000000 0x8000000>;
21*f126890aSEmmanuel Vadot	};
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	clocks {
24*f126890aSEmmanuel Vadot		slow_xtal {
25*f126890aSEmmanuel Vadot			clock-frequency = <32768>;
26*f126890aSEmmanuel Vadot		};
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot		main_xtal {
29*f126890aSEmmanuel Vadot			clock-frequency = <12000000>;
30*f126890aSEmmanuel Vadot		};
31*f126890aSEmmanuel Vadot	};
32*f126890aSEmmanuel Vadot};
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot&pinctrl {
35*f126890aSEmmanuel Vadot	board {
36*f126890aSEmmanuel Vadot		pinctrl_mmc0_cd: mmc0_cd {
37*f126890aSEmmanuel Vadot			atmel,pins =
38*f126890aSEmmanuel Vadot				<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
39*f126890aSEmmanuel Vadot		};
40*f126890aSEmmanuel Vadot
41*f126890aSEmmanuel Vadot		pinctrl_mmc0_en: mmc0_en {
42*f126890aSEmmanuel Vadot			atmel,pins =
43*f126890aSEmmanuel Vadot				<AT91_PIOE 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
44*f126890aSEmmanuel Vadot		};
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot		pinctrl_nand0_wp: nand0_wp {
47*f126890aSEmmanuel Vadot			atmel,pins =
48*f126890aSEmmanuel Vadot				<AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
49*f126890aSEmmanuel Vadot		};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		pinctrl_usb_vbus: usb_vbus {
52*f126890aSEmmanuel Vadot			atmel,pins =
53*f126890aSEmmanuel Vadot				<AT91_PIOE 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
54*f126890aSEmmanuel Vadot				/* Conflicts with USART2_SCK */
55*f126890aSEmmanuel Vadot		};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot		pinctrl_usart2_sck: usart2_sck {
58*f126890aSEmmanuel Vadot			atmel,pins =
59*f126890aSEmmanuel Vadot				<AT91_PIOE 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
60*f126890aSEmmanuel Vadot				/* Conflicts with USB_VBUS */
61*f126890aSEmmanuel Vadot		};
62*f126890aSEmmanuel Vadot
63*f126890aSEmmanuel Vadot		pinctrl_usb_oc: usb_oc {
64*f126890aSEmmanuel Vadot			atmel,pins =
65*f126890aSEmmanuel Vadot				<AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
66*f126890aSEmmanuel Vadot				/* Conflicts with USART3_SCK */
67*f126890aSEmmanuel Vadot		};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot		pinctrl_usart3_sck: usart3_sck {
70*f126890aSEmmanuel Vadot			atmel,pins =
71*f126890aSEmmanuel Vadot				<AT91_PIOE 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
72*f126890aSEmmanuel Vadot				/* Conflicts with USB_OC */
73*f126890aSEmmanuel Vadot		};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot		pinctrl_usba_vbus: usba_vbus {
76*f126890aSEmmanuel Vadot		   atmel,pins =
77*f126890aSEmmanuel Vadot				<AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
78*f126890aSEmmanuel Vadot		};
79*f126890aSEmmanuel Vadot
80*f126890aSEmmanuel Vadot		pinctrl_geth_int: geth_int {
81*f126890aSEmmanuel Vadot			atmel,pins =
82*f126890aSEmmanuel Vadot				<AT91_PIOB 25 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
83*f126890aSEmmanuel Vadot				/* Conflicts with USART1_SCK */
84*f126890aSEmmanuel Vadot		};
85*f126890aSEmmanuel Vadot
86*f126890aSEmmanuel Vadot		pinctrl_usart1_sck: usart1_sck {
87*f126890aSEmmanuel Vadot			atmel,pins =
88*f126890aSEmmanuel Vadot				<AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
89*f126890aSEmmanuel Vadot				/* Conflicts with GETH_INT */
90*f126890aSEmmanuel Vadot		};
91*f126890aSEmmanuel Vadot
92*f126890aSEmmanuel Vadot		pinctrl_eth_int: eth_int {
93*f126890aSEmmanuel Vadot			atmel,pins =
94*f126890aSEmmanuel Vadot				<AT91_PIOC 10 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
95*f126890aSEmmanuel Vadot		};
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot		pinctrl_pck2_as_audio_mck: pck2_as_audio_mck {
98*f126890aSEmmanuel Vadot			atmel,pins =
99*f126890aSEmmanuel Vadot				<AT91_PIOC 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
100*f126890aSEmmanuel Vadot		};
101*f126890aSEmmanuel Vadot	};
102*f126890aSEmmanuel Vadot};
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot&mmc0 {
105*f126890aSEmmanuel Vadot	slot@0 {
106*f126890aSEmmanuel Vadot		reg = <0>;
107*f126890aSEmmanuel Vadot		bus-width = <8>;
108*f126890aSEmmanuel Vadot	};
109*f126890aSEmmanuel Vadot};
110*f126890aSEmmanuel Vadot
111*f126890aSEmmanuel Vadot&mmc1 {
112*f126890aSEmmanuel Vadot	status = "okay";
113*f126890aSEmmanuel Vadot	slot@0 {
114*f126890aSEmmanuel Vadot		reg = <0>;
115*f126890aSEmmanuel Vadot		bus-width = <4>;
116*f126890aSEmmanuel Vadot	};
117*f126890aSEmmanuel Vadot};
118*f126890aSEmmanuel Vadot
119*f126890aSEmmanuel Vadot&spi0 {
120*f126890aSEmmanuel Vadot	cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
121*f126890aSEmmanuel Vadot};
122*f126890aSEmmanuel Vadot
123*f126890aSEmmanuel Vadot&usart0 {
124*f126890aSEmmanuel Vadot	atmel,use-dma-rx;
125*f126890aSEmmanuel Vadot	atmel,use-dma-tx;
126*f126890aSEmmanuel Vadot	status = "okay";
127*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts_cts>;
128*f126890aSEmmanuel Vadot};
129*f126890aSEmmanuel Vadot
130*f126890aSEmmanuel Vadot&usart1 {
131*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
132*f126890aSEmmanuel Vadot};
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot&usart2 {
135*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rts_cts>;
136*f126890aSEmmanuel Vadot};
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot&usart3 {
139*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usart3 &pinctrl_usart3_rts_cts>;
140*f126890aSEmmanuel Vadot};
141*f126890aSEmmanuel Vadot
142*f126890aSEmmanuel Vadot&adc0 {
143*f126890aSEmmanuel Vadot	pinctrl-0 = <
144*f126890aSEmmanuel Vadot		&pinctrl_adc0_adtrg
145*f126890aSEmmanuel Vadot		&pinctrl_adc0_ad0
146*f126890aSEmmanuel Vadot		&pinctrl_adc0_ad1
147*f126890aSEmmanuel Vadot		&pinctrl_adc0_ad2
148*f126890aSEmmanuel Vadot		&pinctrl_adc0_ad3
149*f126890aSEmmanuel Vadot		&pinctrl_adc0_ad4
150*f126890aSEmmanuel Vadot		&pinctrl_adc0_ad5
151*f126890aSEmmanuel Vadot		>;
152*f126890aSEmmanuel Vadot};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot&macb0 {
155*f126890aSEmmanuel Vadot	phy-mode = "rgmii";
156*f126890aSEmmanuel Vadot};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot&macb1 {
159*f126890aSEmmanuel Vadot	phy-mode = "rmii";
160*f126890aSEmmanuel Vadot};
161*f126890aSEmmanuel Vadot
162*f126890aSEmmanuel Vadot&ebi {
163*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ebi_nand_addr>;
164*f126890aSEmmanuel Vadot	pinctrl-names = "default";
165*f126890aSEmmanuel Vadot	status = "okay";
166*f126890aSEmmanuel Vadot};
167*f126890aSEmmanuel Vadot
168*f126890aSEmmanuel Vadot&nand_controller {
169*f126890aSEmmanuel Vadot	status = "okay";
170*f126890aSEmmanuel Vadot
171*f126890aSEmmanuel Vadot	nand: nand@3 {
172*f126890aSEmmanuel Vadot		reg = <0x3 0x0 0x2>;
173*f126890aSEmmanuel Vadot		atmel,rb = <0>;
174*f126890aSEmmanuel Vadot		nand-bus-width = <8>;
175*f126890aSEmmanuel Vadot		nand-ecc-mode = "hw";
176*f126890aSEmmanuel Vadot		nand-ecc-strength = <8>;
177*f126890aSEmmanuel Vadot		nand-ecc-step-size = <512>;
178*f126890aSEmmanuel Vadot		nand-on-flash-bbt;
179*f126890aSEmmanuel Vadot		label = "atmel_nand";
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot		partitions {
182*f126890aSEmmanuel Vadot			compatible = "fixed-partitions";
183*f126890aSEmmanuel Vadot			#address-cells = <1>;
184*f126890aSEmmanuel Vadot			#size-cells = <1>;
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot			ubootspl@0 {
187*f126890aSEmmanuel Vadot				label = "u-boot-spl";
188*f126890aSEmmanuel Vadot				reg = <0x0 0x20000>;
189*f126890aSEmmanuel Vadot			};
190*f126890aSEmmanuel Vadot
191*f126890aSEmmanuel Vadot			uboot@20000 {
192*f126890aSEmmanuel Vadot				label = "u-boot";
193*f126890aSEmmanuel Vadot				reg = <0x20000 0x80000>;
194*f126890aSEmmanuel Vadot			};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot			ubootenv@a0000 {
197*f126890aSEmmanuel Vadot				label = "u-boot-env";
198*f126890aSEmmanuel Vadot				reg = <0xa0000 0x20000>;
199*f126890aSEmmanuel Vadot			};
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot			ubootenv@c0000 {
202*f126890aSEmmanuel Vadot				label = "u-boot-env";
203*f126890aSEmmanuel Vadot				reg = <0xc0000 0x20000>;
204*f126890aSEmmanuel Vadot			};
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot			ubi@e0000 {
207*f126890aSEmmanuel Vadot				label = "ubi";
208*f126890aSEmmanuel Vadot				reg = <0xe0000 0xfe00000>;
209*f126890aSEmmanuel Vadot			};
210*f126890aSEmmanuel Vadot		};
211*f126890aSEmmanuel Vadot	};
212*f126890aSEmmanuel Vadot};
213*f126890aSEmmanuel Vadot
214*f126890aSEmmanuel Vadot&usb0 {
215*f126890aSEmmanuel Vadot	pinctrl-names = "default";
216*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usba_vbus>;
217*f126890aSEmmanuel Vadot	atmel,vbus-gpio = <&pioC 14 GPIO_ACTIVE_HIGH>;
218*f126890aSEmmanuel Vadot};
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot&usb1 {
221*f126890aSEmmanuel Vadot	pinctrl-names = "default";
222*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb_vbus &pinctrl_usb_oc>;
223*f126890aSEmmanuel Vadot	num-ports = <3>;
224*f126890aSEmmanuel Vadot	atmel,vbus-gpio = <0
225*f126890aSEmmanuel Vadot		&pioE 20 GPIO_ACTIVE_HIGH
226*f126890aSEmmanuel Vadot		0>;
227*f126890aSEmmanuel Vadot	atmel,oc-gpio = <0
228*f126890aSEmmanuel Vadot		&pioE 15 GPIO_ACTIVE_LOW
229*f126890aSEmmanuel Vadot		0>;
230*f126890aSEmmanuel Vadot};
231