1/*
2 * at91sam9x5ek.dtsi - Device Tree file for AT91SAM9x5CM Base board
3 *
4 *  Copyright (C) 2012 Atmel,
5 *                2012 Nicolas Ferre <nicolas.ferre@atmel.com>
6 *
7 * Licensed under GPLv2 or later.
8 */
9#include "at91sam9x5cm.dtsi"
10
11/ {
12	model = "Atmel AT91SAM9X5-EK";
13	compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
14
15	chosen {
16		bootargs = "root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
17		stdout-path = "serial0:115200n8";
18	};
19
20	ahb {
21		apb {
22			mmc0: mmc@f0008000 {
23				pinctrl-0 = <
24					&pinctrl_board_mmc0
25					&pinctrl_mmc0_slot0_clk_cmd_dat0
26					&pinctrl_mmc0_slot0_dat1_3>;
27				status = "okay";
28				slot@0 {
29					reg = <0>;
30					bus-width = <4>;
31					cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
32				};
33			};
34
35			mmc1: mmc@f000c000 {
36				pinctrl-0 = <
37					&pinctrl_board_mmc1
38					&pinctrl_mmc1_slot0_clk_cmd_dat0
39					&pinctrl_mmc1_slot0_dat1_3>;
40				status = "okay";
41				slot@0 {
42					reg = <0>;
43					bus-width = <4>;
44					cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
45				};
46			};
47
48			dbgu: serial@fffff200 {
49				status = "okay";
50			};
51
52			usart0: serial@f801c000 {
53				status = "okay";
54			};
55
56			usb2: gadget@f803c000 {
57				pinctrl-names = "default";
58				pinctrl-0 = <&pinctrl_board_usb2>;
59				atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
60				status = "okay";
61			};
62
63			isi: isi@f8048000 {
64				status = "disabled";
65				port {
66					isi_0: endpoint@0 {
67						remote-endpoint = <&ov2640_0>;
68						bus-width = <8>;
69						vsync-active = <1>;
70						hsync-active = <1>;
71					};
72				};
73			};
74
75			i2c0: i2c@f8010000 {
76				status = "okay";
77
78				wm8731: wm8731@1a {
79					compatible = "wm8731";
80					reg = <0x1a>;
81				};
82
83				ov2640: camera@0x30 {
84					compatible = "ovti,ov2640";
85					reg = <0x30>;
86					pinctrl-names = "default";
87					pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
88					resetb-gpios = <&pioA 7 GPIO_ACTIVE_LOW>;
89					pwdn-gpios = <&pioA 13 GPIO_ACTIVE_HIGH>;
90					clocks = <&pck0>;
91					clock-names = "xvclk";
92					assigned-clocks = <&pck0>;
93					assigned-clock-rates = <25000000>;
94					status = "disabled";
95
96					port {
97						ov2640_0: endpoint {
98							remote-endpoint = <&isi_0>;
99							bus-width = <8>;
100						};
101					};
102				};
103			};
104
105			adc0: adc@f804c000 {
106				atmel,adc-ts-wires = <4>;
107				atmel,adc-ts-pressure-threshold = <10000>;
108				status = "okay";
109			};
110
111			pinctrl@fffff400 {
112				camera_sensor {
113					pinctrl_pck0_as_isi_mck: pck0_as_isi_mck-0 {
114						atmel,pins =
115							<AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* ISI_MCK */
116					};
117
118					pinctrl_sensor_power: sensor_power-0 {
119						atmel,pins =
120							<AT91_PIOA 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
121					};
122
123					pinctrl_sensor_reset: sensor_reset-0 {
124						atmel,pins =
125							<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
126					};
127				};
128
129				mmc0 {
130					pinctrl_board_mmc0: mmc0-board {
131						atmel,pins =
132							<AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD15 gpio CD pin pull up and deglitch */
133					};
134				};
135
136				mmc1 {
137					pinctrl_board_mmc1: mmc1-board {
138						atmel,pins =
139							<AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD14 gpio CD pin pull up and deglitch */
140					};
141				};
142
143				usb2 {
144					pinctrl_board_usb2: usb2-board {
145						atmel,pins =
146							<AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;		/* PB16 gpio vbus sense, deglitch */
147					};
148				};
149			};
150
151			spi0: spi@f0000000 {
152				status = "okay";
153				cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
154				m25p80@0 {
155					compatible = "atmel,at25df321a";
156					spi-max-frequency = <50000000>;
157					reg = <0>;
158				};
159			};
160
161			watchdog@fffffe40 {
162				status = "okay";
163			};
164
165			ssc0: ssc@f0010000 {
166				status = "okay";
167			};
168		};
169
170		usb0: ohci@00600000 {
171			status = "okay";
172			num-ports = <3>;
173			atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
174					   &pioD 19 GPIO_ACTIVE_LOW
175					   &pioD 20 GPIO_ACTIVE_LOW
176					  >;
177		};
178
179		usb1: ehci@00700000 {
180			status = "okay";
181		};
182	};
183
184	sound {
185		compatible = "atmel,sam9x5-wm8731-audio";
186
187		atmel,model = "wm8731 @ AT91SAM9X5EK";
188
189		atmel,audio-routing =
190			"Headphone Jack", "RHPOUT",
191			"Headphone Jack", "LHPOUT",
192			"LLINEIN", "Line In Jack",
193			"RLINEIN", "Line In Jack";
194
195		atmel,ssc-controller = <&ssc0>;
196		atmel,audio-codec = <&wm8731>;
197	};
198};
199