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	status = "okay";
43};
44
45&i2c0 {
46	status = "okay";
47
48	wm8731: wm8731@1a {
49		compatible = "wm8731";
50		reg = <0x1a>;
51	};
52};
53
54&mmc0 {
55	pinctrl-0 = <
56		&pinctrl_board_mmc0
57		&pinctrl_mmc0_slot0_clk_cmd_dat0
58		&pinctrl_mmc0_slot0_dat1_3>;
59	pinctrl-names = "default";
60	status = "okay";
61
62	slot@0 {
63		reg = <0>;
64		bus-width = <4>;
65		cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
66	};
67};
68
69&mmc1 {
70	pinctrl-0 = <
71		&pinctrl_board_mmc1
72		&pinctrl_mmc1_slot0_clk_cmd_dat0
73		&pinctrl_mmc1_slot0_dat1_3>;
74	pinctrl-names = "default";
75	status = "okay";
76
77	slot@0 {
78		reg = <0>;
79		bus-width = <4>;
80		cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
81	};
82};
83
84&pinctrl {
85	camera_sensor {
86		pinctrl_pck0_as_isi_mck: pck0_as_isi_mck-0 {
87			atmel,pins =
88				<AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* ISI_MCK */
89		};
90
91		pinctrl_sensor_power: sensor_power-0 {
92			atmel,pins =
93				<AT91_PIOA 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
94		};
95
96		pinctrl_sensor_reset: sensor_reset-0 {
97			atmel,pins =
98				<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
99		};
100	};
101
102	mmc0 {
103		pinctrl_board_mmc0: mmc0-board {
104			atmel,pins =
105				<AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD15 gpio CD pin pull up and deglitch */
106		};
107	};
108
109	mmc1 {
110		pinctrl_board_mmc1: mmc1-board {
111			atmel,pins =
112				<AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD14 gpio CD pin pull up and deglitch */
113		};
114	};
115
116	usb2 {
117		pinctrl_board_usb2: usb2-board {
118			atmel,pins =
119				<AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;		/* PB16 gpio vbus sense, deglitch */
120		};
121	};
122};
123
124&spi0 {
125	cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
126	status = "disabled"; /* conflicts with mmc1 */
127
128	m25p80@0 {
129		compatible = "atmel,at25df321a";
130		spi-max-frequency = <50000000>;
131		reg = <0>;
132	};
133};
134
135&ssc0 {
136	status = "okay";
137};
138
139&usart0 {
140	atmel,use-dma-rx;
141	atmel,use-dma-tx;
142	status = "okay";
143};
144
145&usb0 {
146	num-ports = <3>;
147	atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
148			   &pioD 19 GPIO_ACTIVE_LOW
149			   &pioD 20 GPIO_ACTIVE_LOW
150			  >;
151	status = "okay";
152};
153
154&usb1 {
155	status = "okay";
156};
157
158&usb2 {
159	pinctrl-names = "default";
160	pinctrl-0 = <&pinctrl_board_usb2>;
161	atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
162	status = "okay";
163};
164
165&watchdog {
166	status = "okay";
167};
168