1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * at91sam9261ek.dts - Device Tree file for Atmel at91sam9261 reference board
4  *
5  *  Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com>
6  */
7 /dts-v1/;
8 #include "at91sam9261.dtsi"
9 
10 / {
11 	model = "Atmel at91sam9261ek";
12 	compatible = "atmel,at91sam9261ek", "atmel,at91sam9261", "atmel,at91sam9";
13 
14 	chosen {
15 		bootargs = "rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw";
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 = <18432000>;
30 		};
31 	};
32 
33 	ahb {
34 		usb0: ohci@500000 {
35 			status = "okay";
36 		};
37 
38 		fb0: fb@600000 {
39 			display = <&display0>;
40 			atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>;
41 			status = "okay";
42 
43 			display0: panel {
44 				bits-per-pixel = <16>;
45 				atmel,lcdcon-backlight;
46 				atmel,dmacon = <0x1>;
47 				atmel,lcdcon2 = <0x80008002>;
48 				atmel,guard-time = <1>;
49 				atmel,lcd-wiring-mode = "BRG";
50 
51 				display-timings {
52 					native-mode = <&timing0>;
53 					timing0: timing0 {
54 						clock-frequency = <4965000>;
55 						hactive = <240>;
56 						vactive = <320>;
57 						hback-porch = <1>;
58 						hfront-porch = <33>;
59 						vback-porch = <1>;
60 						vfront-porch = <0>;
61 						hsync-len = <5>;
62 						vsync-len = <1>;
63 						hsync-active = <1>;
64 						vsync-active = <1>;
65 					};
66 				};
67 			};
68 		};
69 
70 		ebi: ebi@10000000 {
71 			status = "okay";
72 
73 			nand_controller: nand-controller {
74 				status = "okay";
75 				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
76 				pinctrl-names = "default";
77 
78 				nand@3 {
79 					reg = <0x3 0x0 0x800000>;
80 					rb-gpios = <&pioC 15 GPIO_ACTIVE_HIGH>;
81 					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
82 					nand-bus-width = <8>;
83 					nand-ecc-mode = "soft";
84 					nand-on-flash-bbt;
85 					label = "atmel_nand";
86 
87 					partitions {
88 						compatible = "fixed-partitions";
89 						#address-cells = <1>;
90 						#size-cells = <1>;
91 
92 						at91bootstrap@0 {
93 							label = "at91bootstrap";
94 							reg = <0x0 0x40000>;
95 						};
96 
97 						bootloader@40000 {
98 							label = "bootloader";
99 							reg = <0x40000 0x80000>;
100 						};
101 
102 						bootloaderenv@c0000 {
103 							label = "bootloader env";
104 							reg = <0xc0000 0xc0000>;
105 						};
106 
107 						dtb@180000 {
108 							label = "device tree";
109 							reg = <0x180000 0x80000>;
110 						};
111 
112 						kernel@200000 {
113 							label = "kernel";
114 							reg = <0x200000 0x600000>;
115 						};
116 
117 						rootfs@800000 {
118 							label = "rootfs";
119 							reg = <0x800000 0x0f800000>;
120 						};
121 					};
122 				};
123 			};
124 		};
125 
126 		apb {
127 			tcb0: timer@fffa0000 {
128 				timer0: timer@0 {
129 					compatible = "atmel,tcb-timer";
130 					reg = <0>, <1>;
131 				};
132 
133 				timer1: timer@2 {
134 					compatible = "atmel,tcb-timer";
135 					reg = <2>;
136 				};
137 			};
138 
139 			usb1: gadget@fffa4000 {
140 				atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>;
141 				status = "okay";
142 			};
143 
144 			spi0: spi@fffc8000 {
145 				cs-gpios = <&pioA 3 0>, <0>, <&pioA 28 0>, <0>;
146 				status = "okay";
147 
148 				flash@0 {
149 					compatible = "atmel,at45", "atmel,dataflash";
150 					reg = <0>;
151 					spi-max-frequency = <15000000>;
152 				};
153 
154 				tsc2046@2 {
155 					reg = <2>;
156 					compatible = "ti,ads7843";
157 					interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
158 					spi-max-frequency = <3000000>;
159 					pendown-gpio = <&pioC 2 GPIO_ACTIVE_LOW>;
160 
161 					ti,x-min = /bits/ 16 <150>;
162 					ti,x-max = /bits/ 16 <3830>;
163 					ti,y-min = /bits/ 16 <190>;
164 					ti,y-max = /bits/ 16 <3830>;
165 					ti,vref-delay-usecs = /bits/ 16 <450>;
166 					ti,x-plate-ohms = /bits/ 16 <450>;
167 					ti,y-plate-ohms = /bits/ 16 <250>;
168 					ti,pressure-max = /bits/ 16 <15000>;
169 					ti,debounce-rep = /bits/ 16 <0>;
170 					ti,debounce-tol = /bits/ 16 <65535>;
171 					ti,debounce-max = /bits/ 16 <1>;
172 
173 					wakeup-source;
174 				};
175 			};
176 
177 			dbgu: serial@fffff200 {
178 				status = "okay";
179 			};
180 
181 			rtc@fffffd20 {
182 				atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
183 			};
184 
185 			watchdog@fffffd40 {
186 				status = "okay";
187 			};
188 
189 		};
190 	};
191 
192 	leds {
193 		compatible = "gpio-leds";
194 
195 		ds8 {
196 			label = "ds8";
197 			gpios = <&pioA 13 GPIO_ACTIVE_LOW>;
198 			linux,default-trigger = "none";
199 		};
200 
201 		ds7 {
202 			label = "ds7";
203 			gpios = <&pioA 14 GPIO_ACTIVE_LOW>;
204 			linux,default-trigger = "nand-disk";
205 		};
206 
207 		ds1 {
208 			label = "ds1";
209 			gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
210 			linux,default-trigger = "heartbeat";
211 		};
212 	};
213 
214 	gpio-keys {
215 		compatible = "gpio-keys";
216 
217 		button-0 {
218 			label = "button_0";
219 			gpios = <&pioA 27 GPIO_ACTIVE_LOW>;
220 			linux,code = <256>;
221 			wakeup-source;
222 		};
223 
224 		button-1 {
225 			label = "button_1";
226 			gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
227 			linux,code = <257>;
228 			wakeup-source;
229 		};
230 
231 		button-2 {
232 			label = "button_2";
233 			gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
234 			linux,code = <258>;
235 			wakeup-source;
236 		};
237 
238 		button-3 {
239 			label = "button_3";
240 			gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
241 			linux,code = <259>;
242 			wakeup-source;
243 		};
244 	};
245 };
246