xref: /freebsd-src/sys/contrib/device-tree/src/arm/microchip/at91sam9263ek.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * at91sam9263ek.dts - Device Tree file for Atmel at91sam9263 reference board
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot/dts-v1/;
8*f126890aSEmmanuel Vadot#include "at91sam9263.dtsi"
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	model = "Atmel at91sam9263ek";
12*f126890aSEmmanuel Vadot	compatible = "atmel,at91sam9263ek", "atmel,at91sam9263", "atmel,at91sam9";
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot	chosen {
15*f126890aSEmmanuel Vadot		bootargs = "mem=64M root=/dev/mtdblock5 rw rootfstype=ubifs";
16*f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
17*f126890aSEmmanuel Vadot	};
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	memory@20000000 {
20*f126890aSEmmanuel Vadot		reg = <0x20000000 0x4000000>;
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 = <16367660>;
30*f126890aSEmmanuel Vadot		};
31*f126890aSEmmanuel Vadot	};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot	ahb {
34*f126890aSEmmanuel Vadot		apb {
35*f126890aSEmmanuel Vadot			dbgu: serial@ffffee00 {
36*f126890aSEmmanuel Vadot				status = "okay";
37*f126890aSEmmanuel Vadot			};
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot			tcb0: timer@fff7c000 {
40*f126890aSEmmanuel Vadot				timer@0 {
41*f126890aSEmmanuel Vadot					compatible = "atmel,tcb-timer";
42*f126890aSEmmanuel Vadot					reg = <0>, <1>;
43*f126890aSEmmanuel Vadot				};
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot				timer@2 {
46*f126890aSEmmanuel Vadot					compatible = "atmel,tcb-timer";
47*f126890aSEmmanuel Vadot					reg = <2>;
48*f126890aSEmmanuel Vadot				};
49*f126890aSEmmanuel Vadot			};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot			usart0: serial@fff8c000 {
52*f126890aSEmmanuel Vadot				pinctrl-0 = <
53*f126890aSEmmanuel Vadot					&pinctrl_usart0
54*f126890aSEmmanuel Vadot					&pinctrl_usart0_rts
55*f126890aSEmmanuel Vadot					&pinctrl_usart0_cts>;
56*f126890aSEmmanuel Vadot				status = "okay";
57*f126890aSEmmanuel Vadot			};
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot			macb0: ethernet@fffbc000 {
60*f126890aSEmmanuel Vadot				phy-mode = "rmii";
61*f126890aSEmmanuel Vadot				status = "okay";
62*f126890aSEmmanuel Vadot			};
63*f126890aSEmmanuel Vadot
64*f126890aSEmmanuel Vadot			usb1: gadget@fff78000 {
65*f126890aSEmmanuel Vadot				atmel,vbus-gpio = <&pioA 25 GPIO_ACTIVE_HIGH>;
66*f126890aSEmmanuel Vadot				status = "okay";
67*f126890aSEmmanuel Vadot			};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot			mmc0: mmc@fff80000 {
70*f126890aSEmmanuel Vadot				pinctrl-0 = <
71*f126890aSEmmanuel Vadot					&pinctrl_board_mmc0
72*f126890aSEmmanuel Vadot					&pinctrl_mmc0_clk
73*f126890aSEmmanuel Vadot					&pinctrl_mmc0_slot0_cmd_dat0
74*f126890aSEmmanuel Vadot					&pinctrl_mmc0_slot0_dat1_3>;
75*f126890aSEmmanuel Vadot				pinctrl-names = "default";
76*f126890aSEmmanuel Vadot				status = "okay";
77*f126890aSEmmanuel Vadot				slot@0 {
78*f126890aSEmmanuel Vadot					reg = <0>;
79*f126890aSEmmanuel Vadot					bus-width = <4>;
80*f126890aSEmmanuel Vadot					cd-gpios = <&pioE 18 GPIO_ACTIVE_HIGH>;
81*f126890aSEmmanuel Vadot					wp-gpios = <&pioE 19 GPIO_ACTIVE_HIGH>;
82*f126890aSEmmanuel Vadot				};
83*f126890aSEmmanuel Vadot			};
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot			pinctrl@fffff200 {
86*f126890aSEmmanuel Vadot				mmc0 {
87*f126890aSEmmanuel Vadot					pinctrl_board_mmc0: mmc0-board {
88*f126890aSEmmanuel Vadot						atmel,pins =
89*f126890aSEmmanuel Vadot							<AT91_PIOE 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH 	/* PE18 gpio CD pin pull up and deglitch */
90*f126890aSEmmanuel Vadot							 AT91_PIOE 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;	/* PE19 gpio WP pin pull up */
91*f126890aSEmmanuel Vadot					};
92*f126890aSEmmanuel Vadot				};
93*f126890aSEmmanuel Vadot			};
94*f126890aSEmmanuel Vadot
95*f126890aSEmmanuel Vadot			spi0: spi@fffa4000 {
96*f126890aSEmmanuel Vadot				status = "okay";
97*f126890aSEmmanuel Vadot				cs-gpios = <&pioA 5 0>, <0>, <0>, <0>;
98*f126890aSEmmanuel Vadot				flash@0 {
99*f126890aSEmmanuel Vadot					compatible = "atmel,at45", "atmel,dataflash";
100*f126890aSEmmanuel Vadot					spi-max-frequency = <50000000>;
101*f126890aSEmmanuel Vadot					reg = <0>;
102*f126890aSEmmanuel Vadot				};
103*f126890aSEmmanuel Vadot			};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot			rtc@fffffd20 {
106*f126890aSEmmanuel Vadot				atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
107*f126890aSEmmanuel Vadot			};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot			watchdog@fffffd40 {
110*f126890aSEmmanuel Vadot				status = "okay";
111*f126890aSEmmanuel Vadot			};
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot		fb0: fb@700000 {
115*f126890aSEmmanuel Vadot			display = <&display0>;
116*f126890aSEmmanuel Vadot			status = "okay";
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot			display0: panel {
119*f126890aSEmmanuel Vadot				bits-per-pixel = <16>;
120*f126890aSEmmanuel Vadot				atmel,lcdcon-backlight;
121*f126890aSEmmanuel Vadot				atmel,dmacon = <0x1>;
122*f126890aSEmmanuel Vadot				atmel,lcdcon2 = <0x80008002>;
123*f126890aSEmmanuel Vadot				atmel,guard-time = <1>;
124*f126890aSEmmanuel Vadot
125*f126890aSEmmanuel Vadot				display-timings {
126*f126890aSEmmanuel Vadot					native-mode = <&timing0>;
127*f126890aSEmmanuel Vadot					timing0: timing0 {
128*f126890aSEmmanuel Vadot						clock-frequency = <4965000>;
129*f126890aSEmmanuel Vadot						hactive = <240>;
130*f126890aSEmmanuel Vadot						vactive = <320>;
131*f126890aSEmmanuel Vadot						hback-porch = <1>;
132*f126890aSEmmanuel Vadot						hfront-porch = <33>;
133*f126890aSEmmanuel Vadot						vback-porch = <1>;
134*f126890aSEmmanuel Vadot						vfront-porch = <0>;
135*f126890aSEmmanuel Vadot						hsync-len = <5>;
136*f126890aSEmmanuel Vadot						vsync-len = <1>;
137*f126890aSEmmanuel Vadot						hsync-active = <1>;
138*f126890aSEmmanuel Vadot						vsync-active = <1>;
139*f126890aSEmmanuel Vadot					};
140*f126890aSEmmanuel Vadot				};
141*f126890aSEmmanuel Vadot			};
142*f126890aSEmmanuel Vadot		};
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot		ebi0: ebi@10000000 {
145*f126890aSEmmanuel Vadot			status = "okay";
146*f126890aSEmmanuel Vadot
147*f126890aSEmmanuel Vadot			nand_controller: nand-controller {
148*f126890aSEmmanuel Vadot				status = "okay";
149*f126890aSEmmanuel Vadot				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
150*f126890aSEmmanuel Vadot				pinctrl-names = "default";
151*f126890aSEmmanuel Vadot
152*f126890aSEmmanuel Vadot				nand@3 {
153*f126890aSEmmanuel Vadot					reg = <0x3 0x0 0x800000>;
154*f126890aSEmmanuel Vadot					rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
155*f126890aSEmmanuel Vadot					cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
156*f126890aSEmmanuel Vadot					nand-bus-width = <8>;
157*f126890aSEmmanuel Vadot					nand-ecc-mode = "soft";
158*f126890aSEmmanuel Vadot					nand-on-flash-bbt;
159*f126890aSEmmanuel Vadot					label = "atmel_nand";
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot					partitions {
162*f126890aSEmmanuel Vadot						compatible = "fixed-partitions";
163*f126890aSEmmanuel Vadot						#address-cells = <1>;
164*f126890aSEmmanuel Vadot						#size-cells = <1>;
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot						at91bootstrap@0 {
167*f126890aSEmmanuel Vadot							label = "at91bootstrap";
168*f126890aSEmmanuel Vadot							reg = <0x0 0x20000>;
169*f126890aSEmmanuel Vadot						};
170*f126890aSEmmanuel Vadot
171*f126890aSEmmanuel Vadot						barebox@20000 {
172*f126890aSEmmanuel Vadot							label = "barebox";
173*f126890aSEmmanuel Vadot							reg = <0x20000 0x40000>;
174*f126890aSEmmanuel Vadot						};
175*f126890aSEmmanuel Vadot
176*f126890aSEmmanuel Vadot						bareboxenv@60000 {
177*f126890aSEmmanuel Vadot							label = "bareboxenv";
178*f126890aSEmmanuel Vadot							reg = <0x60000 0x20000>;
179*f126890aSEmmanuel Vadot						};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot						bareboxenv2@80000 {
182*f126890aSEmmanuel Vadot							label = "bareboxenv2";
183*f126890aSEmmanuel Vadot							reg = <0x80000 0x20000>;
184*f126890aSEmmanuel Vadot						};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot						oftree@80000 {
187*f126890aSEmmanuel Vadot							label = "oftree";
188*f126890aSEmmanuel Vadot							reg = <0xa0000 0x20000>;
189*f126890aSEmmanuel Vadot						};
190*f126890aSEmmanuel Vadot
191*f126890aSEmmanuel Vadot						kernel@a0000 {
192*f126890aSEmmanuel Vadot							label = "kernel";
193*f126890aSEmmanuel Vadot							reg = <0xc0000 0x400000>;
194*f126890aSEmmanuel Vadot						};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot						rootfs@4a0000 {
197*f126890aSEmmanuel Vadot							label = "rootfs";
198*f126890aSEmmanuel Vadot							reg = <0x4c0000 0x7800000>;
199*f126890aSEmmanuel Vadot						};
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot						data@7ca0000 {
202*f126890aSEmmanuel Vadot							label = "data";
203*f126890aSEmmanuel Vadot							reg = <0x7cc0000 0x8340000>;
204*f126890aSEmmanuel Vadot						};
205*f126890aSEmmanuel Vadot					};
206*f126890aSEmmanuel Vadot				};
207*f126890aSEmmanuel Vadot			};
208*f126890aSEmmanuel Vadot		};
209*f126890aSEmmanuel Vadot
210*f126890aSEmmanuel Vadot		usb0: ohci@a00000 {
211*f126890aSEmmanuel Vadot			num-ports = <2>;
212*f126890aSEmmanuel Vadot			status = "okay";
213*f126890aSEmmanuel Vadot			atmel,vbus-gpio = <&pioA 24 GPIO_ACTIVE_HIGH
214*f126890aSEmmanuel Vadot					   &pioA 21 GPIO_ACTIVE_HIGH
215*f126890aSEmmanuel Vadot					  >;
216*f126890aSEmmanuel Vadot		};
217*f126890aSEmmanuel Vadot	};
218*f126890aSEmmanuel Vadot
219*f126890aSEmmanuel Vadot	leds {
220*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
221*f126890aSEmmanuel Vadot
222*f126890aSEmmanuel Vadot		d3 {
223*f126890aSEmmanuel Vadot			label = "d3";
224*f126890aSEmmanuel Vadot			gpios = <&pioB 7 GPIO_ACTIVE_HIGH>;
225*f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
226*f126890aSEmmanuel Vadot		};
227*f126890aSEmmanuel Vadot
228*f126890aSEmmanuel Vadot		d2 {
229*f126890aSEmmanuel Vadot			label = "d2";
230*f126890aSEmmanuel Vadot			gpios = <&pioC 29 GPIO_ACTIVE_LOW>;
231*f126890aSEmmanuel Vadot			linux,default-trigger = "nand-disk";
232*f126890aSEmmanuel Vadot		};
233*f126890aSEmmanuel Vadot	};
234*f126890aSEmmanuel Vadot
235*f126890aSEmmanuel Vadot	gpio-keys {
236*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
237*f126890aSEmmanuel Vadot
238*f126890aSEmmanuel Vadot		button-left-click {
239*f126890aSEmmanuel Vadot			label = "left_click";
240*f126890aSEmmanuel Vadot			gpios = <&pioC 5 GPIO_ACTIVE_LOW>;
241*f126890aSEmmanuel Vadot			linux,code = <272>;
242*f126890aSEmmanuel Vadot			wakeup-source;
243*f126890aSEmmanuel Vadot		};
244*f126890aSEmmanuel Vadot
245*f126890aSEmmanuel Vadot		button-right-click {
246*f126890aSEmmanuel Vadot			label = "right_click";
247*f126890aSEmmanuel Vadot			gpios = <&pioC 4 GPIO_ACTIVE_LOW>;
248*f126890aSEmmanuel Vadot			linux,code = <273>;
249*f126890aSEmmanuel Vadot			wakeup-source;
250*f126890aSEmmanuel Vadot		};
251*f126890aSEmmanuel Vadot	};
252*f126890aSEmmanuel Vadot
253*f126890aSEmmanuel Vadot	i2c-gpio-0 {
254*f126890aSEmmanuel Vadot		status = "okay";
255*f126890aSEmmanuel Vadot
256*f126890aSEmmanuel Vadot		24c512@50 {
257*f126890aSEmmanuel Vadot			compatible = "atmel,24c512";
258*f126890aSEmmanuel Vadot			reg = <0x50>;
259*f126890aSEmmanuel Vadot			pagesize = <128>;
260*f126890aSEmmanuel Vadot		};
261*f126890aSEmmanuel Vadot	};
262*f126890aSEmmanuel Vadot};
263