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