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