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