Loading...
Note: File does not exist in v6.13.7.
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * sama5d3xmb.dts - Device Tree file for SAMA5D3x mother board
4 *
5 * Copyright (C) 2013 Atmel,
6 * 2013 Ludovic Desroches <ludovic.desroches@atmel.com>
7 */
8#include "sama5d3xcm.dtsi"
9
10/ {
11 compatible = "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5";
12
13 ahb {
14 apb {
15 mmc0: mmc@f0000000 {
16 pinctrl-names = "default";
17 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
18 status = "okay";
19 slot@0 {
20 reg = <0>;
21 bus-width = <4>;
22 cd-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
23 };
24 };
25
26 spi0: spi@f0004000 {
27 dmas = <0>, <0>; /* Do not use DMA for spi0 */
28
29 flash@0 {
30 compatible = "atmel,at25df321a";
31 spi-max-frequency = <50000000>;
32 reg = <0>;
33 };
34 };
35
36 ssc0: ssc@f0008000 {
37 atmel,clk-from-rk-pin;
38 };
39
40 /*
41 * i2c0 conflicts with ISI:
42 * disable it to allow the use of ISI
43 * can not enable audio when i2c0 disabled
44 */
45 i2c0: i2c@f0014000 {
46 wm8904: wm8904@1a {
47 compatible = "wlf,wm8904";
48 reg = <0x1a>;
49 clocks = <&pmc PMC_TYPE_SYSTEM 8>;
50 clock-names = "mclk";
51 };
52 };
53
54 i2c1: i2c@f0018000 {
55 ov2640: camera@30 {
56 compatible = "ovti,ov2640";
57 reg = <0x30>;
58 pinctrl-names = "default";
59 pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
60 resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>;
61 pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
62 /* use pck1 for the master clock of ov2640 */
63 clocks = <&pmc PMC_TYPE_SYSTEM 9>;
64 clock-names = "xvclk";
65 assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
66 assigned-clock-rates = <25000000>;
67
68 port {
69 ov2640_0: endpoint {
70 remote-endpoint = <&isi_0>;
71 bus-width = <8>;
72 };
73 };
74 };
75 };
76
77 usart1: serial@f0020000 {
78 dmas = <0>, <0>; /* Do not use DMA for usart1 */
79 pinctrl-names = "default";
80 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
81 status = "okay";
82 };
83
84 isi: isi@f0034000 {
85 port {
86 isi_0: endpoint {
87 remote-endpoint = <&ov2640_0>;
88 bus-width = <8>;
89 vsync-active = <1>;
90 hsync-active = <1>;
91 };
92 };
93 };
94
95 mmc1: mmc@f8000000 {
96 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
98 status = "okay";
99 slot@0 {
100 reg = <0>;
101 bus-width = <4>;
102 cd-gpios = <&pioD 18 GPIO_ACTIVE_HIGH>;
103 };
104 };
105
106 adc0: adc@f8018000 {
107 pinctrl-names = "default";
108 pinctrl-0 = <
109 &pinctrl_adc0_adtrg
110 &pinctrl_adc0_ad0
111 &pinctrl_adc0_ad1
112 &pinctrl_adc0_ad2
113 &pinctrl_adc0_ad3
114 &pinctrl_adc0_ad4
115 >;
116 status = "okay";
117 };
118
119 pinctrl@fffff200 {
120 board {
121 pinctrl_mmc0_cd: mmc0_cd {
122 atmel,pins =
123 <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD17 GPIO with pullup deglitch */
124 };
125
126 pinctrl_mmc1_cd: mmc1_cd {
127 atmel,pins =
128 <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD18 GPIO with pullup deglitch */
129 };
130
131 pinctrl_pck0_as_audio_mck: pck0_as_audio_mck {
132 atmel,pins =
133 <AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD30 periph B */
134 };
135
136 pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 {
137 atmel,pins =
138 <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */
139 };
140
141 pinctrl_sensor_reset: sensor_reset-0 {
142 atmel,pins =
143 <AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE24 gpio */
144 };
145
146 pinctrl_sensor_power: sensor_power-0 {
147 atmel,pins =
148 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE29 gpio */
149 };
150
151 pinctrl_usba_vbus: usba_vbus {
152 atmel,pins =
153 <AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PD29 GPIO with deglitch */
154 };
155 };
156 };
157
158 dbgu: serial@ffffee00 {
159 dmas = <0>, <0>; /* Do not use DMA for dbgu */
160 status = "okay";
161 };
162
163 watchdog@fffffe40 {
164 status = "okay";
165 };
166 };
167
168 usb0: gadget@500000 {
169 atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
170 pinctrl-names = "default";
171 pinctrl-0 = <&pinctrl_usba_vbus>;
172 status = "okay";
173 };
174
175 usb1: ohci@600000 {
176 num-ports = <3>;
177 atmel,vbus-gpio = <&pioD 25 GPIO_ACTIVE_HIGH
178 &pioD 26 GPIO_ACTIVE_LOW
179 &pioD 27 GPIO_ACTIVE_LOW
180 >;
181 status = "okay";
182 };
183
184 usb2: ehci@700000 {
185 status = "okay";
186 };
187 };
188
189 sound {
190 compatible = "atmel,asoc-wm8904";
191 pinctrl-names = "default";
192 pinctrl-0 = <&pinctrl_pck0_as_audio_mck>;
193
194 atmel,model = "wm8904 @ SAMA5D3EK";
195 atmel,audio-routing =
196 "Headphone Jack", "HPOUTL",
197 "Headphone Jack", "HPOUTR",
198 "IN2L", "Line In Jack",
199 "IN2R", "Line In Jack",
200 "Mic", "MICBIAS",
201 "IN1L", "Mic";
202
203 atmel,ssc-controller = <&ssc0>;
204 atmel,audio-codec = <&wm8904>;
205
206 status = "disabled";
207 };
208};