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