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