1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * at91sam9x5ek.dtsi - Device Tree file for AT91SAM9x5CM Base board
4 *
5 *  Copyright (C) 2012 Atmel,
6 *                2012 Nicolas Ferre <nicolas.ferre@atmel.com>
7 */
8#include "at91sam9x5cm.dtsi"
9
10/ {
11	model = "Atmel AT91SAM9X5-EK";
12	compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
13
14	chosen {
15		bootargs = "root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
16		stdout-path = "serial0:115200n8";
17	};
18
19	sound {
20		compatible = "atmel,sam9x5-wm8731-audio";
21
22		atmel,model = "wm8731 @ AT91SAM9X5EK";
23
24		atmel,audio-routing =
25			"Headphone Jack", "RHPOUT",
26			"Headphone Jack", "LHPOUT",
27			"LLINEIN", "Line In Jack",
28			"RLINEIN", "Line In Jack";
29
30		atmel,ssc-controller = <&ssc0>;
31		atmel,audio-codec = <&wm8731>;
32	};
33};
34
35&adc0 {
36	atmel,adc-ts-wires = <4>;
37	atmel,adc-ts-pressure-threshold = <10000>;
38	status = "okay";
39};
40
41&dbgu {
42	atmel,use-dma-rx;
43	atmel,use-dma-tx;
44	status = "okay";
45};
46
47&i2c0 {
48	status = "okay";
49
50	wm8731: wm8731@1a {
51		compatible = "wm8731";
52		reg = <0x1a>;
53	};
54};
55
56&mmc0 {
57	pinctrl-0 = <
58		&pinctrl_board_mmc0
59		&pinctrl_mmc0_slot0_clk_cmd_dat0
60		&pinctrl_mmc0_slot0_dat1_3>;
61	pinctrl-names = "default";
62	status = "okay";
63
64	slot@0 {
65		reg = <0>;
66		bus-width = <4>;
67		cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
68	};
69};
70
71&mmc1 {
72	pinctrl-0 = <
73		&pinctrl_board_mmc1
74		&pinctrl_mmc1_slot0_clk_cmd_dat0
75		&pinctrl_mmc1_slot0_dat1_3>;
76	pinctrl-names = "default";
77	status = "okay";
78
79	slot@0 {
80		reg = <0>;
81		bus-width = <4>;
82		cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
83	};
84};
85
86&pinctrl {
87	camera_sensor {
88		pinctrl_pck0_as_isi_mck: pck0_as_isi_mck-0 {
89			atmel,pins =
90				<AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* ISI_MCK */
91		};
92
93		pinctrl_sensor_power: sensor_power-0 {
94			atmel,pins =
95				<AT91_PIOA 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
96		};
97
98		pinctrl_sensor_reset: sensor_reset-0 {
99			atmel,pins =
100				<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
101		};
102	};
103
104	mmc0 {
105		pinctrl_board_mmc0: mmc0-board {
106			atmel,pins =
107				<AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD15 gpio CD pin pull up and deglitch */
108		};
109	};
110
111	mmc1 {
112		pinctrl_board_mmc1: mmc1-board {
113			atmel,pins =
114				<AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD14 gpio CD pin pull up and deglitch */
115		};
116	};
117
118	usb2 {
119		pinctrl_board_usb2: usb2-board {
120			atmel,pins =
121				<AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;		/* PB16 gpio vbus sense, deglitch */
122		};
123	};
124};
125
126&spi0 {
127	cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
128	status = "disabled"; /* conflicts with mmc1 */
129
130	flash@0 {
131		compatible = "atmel,at25df321a";
132		spi-max-frequency = <50000000>;
133		reg = <0>;
134	};
135};
136
137&ssc0 {
138	status = "okay";
139};
140
141&usart0 {
142	atmel,use-dma-rx;
143	atmel,use-dma-tx;
144	status = "okay";
145};
146
147&usb0 {
148	num-ports = <3>;
149	atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
150			   &pioD 19 GPIO_ACTIVE_LOW
151			   &pioD 20 GPIO_ACTIVE_LOW
152			  >;
153	status = "okay";
154};
155
156&usb1 {
157	status = "okay";
158};
159
160&usb2 {
161	pinctrl-names = "default";
162	pinctrl-0 = <&pinctrl_board_usb2>;
163	atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
164	status = "okay";
165};
166
167&watchdog {
168	status = "okay";
169};
170