Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1// SPDX-License-Identifier: GPL-2.0+ OR MIT
  2/*
  3 * at91-sama5d3_eds.dts - Device Tree file for the SAMA5D3 Ethernet
  4 *    Development System board.
  5 *
  6 * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
  7 *
  8 * Author: Jerry Ray <jerry.ray@microchip.com>
  9 */
 10/dts-v1/;
 11#include "sama5d36.dtsi"
 12
 13/ {
 14	model = "SAMA5D3 Ethernet Development System";
 15	compatible = "microchip,sama5d3-eds", "atmel,sama5d36",
 16		     "atmel,sama5d3", "atmel,sama5";
 17
 18	chosen {
 19		stdout-path = "serial0:115200n8";
 20	};
 21
 22	gpio-keys {
 23		compatible = "gpio-keys";
 24
 25		pinctrl-names = "default";
 26		pinctrl-0 = <&pinctrl_key_gpio>;
 27
 28		button-3 {
 29			label = "PB_USER";
 30			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
 31			linux,code = <0x104>;
 32			wakeup-source;
 33		};
 34	};
 35
 36	memory@20000000 {
 37		reg = <0x20000000 0x10000000>;
 38	};
 39
 40	vcc_3v3_reg: regulator-1 {
 41		compatible = "regulator-fixed";
 42		regulator-name = "VCC_3V3";
 43		regulator-min-microvolt = <3300000>;
 44		regulator-max-microvolt = <3300000>;
 45		regulator-always-on;
 46	};
 47
 48	vcc_2v5_reg: regulator-2 {
 49		compatible = "regulator-fixed";
 50		regulator-name = "VCC_2V5";
 51		regulator-min-microvolt = <2500000>;
 52		regulator-max-microvolt = <2500000>;
 53		regulator-always-on;
 54		vin-supply = <&vcc_3v3_reg>;
 55	};
 56
 57	vcc_1v8_reg: regulator-3 {
 58		compatible = "regulator-fixed";
 59		regulator-name = "VCC_1V8";
 60		regulator-min-microvolt = <1800000>;
 61		regulator-max-microvolt = <1800000>;
 62		regulator-always-on;
 63		vin-supply = <&vcc_3v3_reg>;
 64	};
 65
 66	vcc_1v2_reg: regulator-4 {
 67		compatible = "regulator-fixed";
 68		regulator-name = "VCC_1V2";
 69		regulator-min-microvolt = <1200000>;
 70		regulator-max-microvolt = <1200000>;
 71		regulator-always-on;
 72	};
 73
 74	vcc_mmc0_reg: regulator-5 {
 75		compatible = "regulator-fixed";
 76		regulator-name = "mmc0-card-supply";
 77		regulator-min-microvolt = <3300000>;
 78		regulator-max-microvolt = <3300000>;
 79		regulator-always-on;
 80		pinctrl-names = "default";
 81		pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
 82		gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
 83	};
 84};
 85
 86&can0 {
 87	status = "okay";
 88};
 89
 90&dbgu {
 91	status = "okay";
 92};
 93
 94&ebi {
 95	pinctrl-0 = <&pinctrl_ebi_nand_addr>;
 96	pinctrl-names = "default";
 97	status = "okay";
 98
 99	nand_controller: nand-controller {
100		status = "okay";
101
102		nand@3 {
103			reg = <0x3 0x0 0x2>;
104			atmel,rb = <0>;
105			nand-bus-width = <8>;
106			nand-ecc-mode = "hw";
107			nand-ecc-strength = <4>;
108			nand-ecc-step-size = <512>;
109			nand-on-flash-bbt;
110			label = "atmel_nand";
111
112			partitions {
113				compatible = "fixed-partitions";
114				#address-cells = <1>;
115				#size-cells = <1>;
116
117				at91bootstrap@0 {
118					label = "at91bootstrap";
119					reg = <0x0 0x40000>;
120				};
121
122				bootloader@40000 {
123					label = "bootloader";
124					reg = <0x40000 0xc0000>;
125				};
126
127				bootloaderenvred@100000 {
128					label = "bootloader env redundant";
129					reg = <0x100000 0x40000>;
130				};
131
132				bootloaderenv@140000 {
133					label = "bootloader env";
134					reg = <0x140000 0x40000>;
135				};
136
137				dtb@180000 {
138					label = "device tree";
139					reg = <0x180000 0x80000>;
140				};
141
142				kernel@200000 {
143					label = "kernel";
144					reg = <0x200000 0x600000>;
145				};
146
147				rootfs@800000 {
148					label = "rootfs";
149					reg = <0x800000 0x0f800000>;
150				};
151			};
152		};
153	};
154};
155
156&i2c0 {
157	pinctrl-0 = <&pinctrl_i2c0_pu>;
158	status = "okay";
159};
160
161&i2c1 {
162	status = "okay";
163};
164
165&i2c2 {
166	pinctrl-0 = <&pinctrl_i2c2_pu>;
167	status = "okay";
168};
169
170&main_xtal {
171	clock-frequency = <12000000>;
172};
173
174&mmc0 {
175	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
176		     &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
177	vmmc-supply = <&vcc_mmc0_reg>;
178	vqmmc-supply = <&vcc_3v3_reg>;
179	status = "okay";
180	slot@0 {
181		reg = <0>;
182		bus-width = <8>;
183		cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
184	};
185};
186
187&pinctrl {
188	board {
189		pinctrl_i2c0_pu: i2c0-pu {
190			atmel,pins =
191				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
192				<AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
193		};
194
195		pinctrl_i2c2_pu: i2c2-pu {
196			atmel,pins =
197				<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
198				<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
199		};
200
201		pinctrl_key_gpio: key-gpio-0 {
202			atmel,pins =
203				<AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
204		};
205
206		pinctrl_mmc0_cd: mmc0-cd {
207			atmel,pins =
208				<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
209		};
210
211		/* Reserved for reset signal to the RGMII connector. */
212		pinctrl_rgmii_rstn: rgmii-rstn {
213			atmel,pins =
214				<AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
215		};
216
217		/* Reserved for an interrupt line from the RMII and RGMII connectors. */
218		pinctrl_spi_irqn: spi-irqn {
219			atmel,pins =
220				<AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
221		};
222
223		pinctrl_spi0_cs: spi0-cs-default {
224			atmel,pins =
225				<AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
226				 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
227		};
228
229		pinctrl_spi1_cs: spi1-cs-default {
230			atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
231				      AT91_PIOC 28 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
232		};
233
234		pinctrl_usba_vbus: usba-vbus {
235			atmel,pins =
236				<AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
237		};
238
239		pinctrl_usb_default: usb-default {
240			atmel,pins =
241				<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
242				 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
243		};
244
245		/* Reserved for VBUS fault interrupt. */
246		pinctrl_vbusfault_irqn: vbusfault-irqn {
247			atmel,pins =
248				<AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
249		};
250
251		pinctrl_vcc_mmc0_reg_gpio: vcc-mmc0-reg-gpio-default {
252			atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
253		};
254	};
255};
256
257&slow_xtal {
258	clock-frequency = <32768>;
259};
260
261&spi0 {
262	pinctrl-names = "default", "cs";
263	pinctrl-1 = <&pinctrl_spi0_cs>;
264	cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
265	status = "okay";
266};
267
268&spi1 {
269	pinctrl-names = "default", "cs";
270	pinctrl-1 = <&pinctrl_spi1_cs>;
271	cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioC 28 0>;
272	status = "okay";
273};
274
275&tcb0 {
276	timer0: timer@0 {
277		compatible = "atmel,tcb-timer";
278		reg = <0>;
279	};
280
281	timer1: timer@1 {
282		compatible = "atmel,tcb-timer";
283		reg = <1>;
284	};
285};
286
287&usb0 {	/* USB Device port with VBUS detection. */
288	atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
289	pinctrl-names = "default";
290	pinctrl-0 = <&pinctrl_usba_vbus>;
291	status = "okay";
292};
293
294&usb1 {	/* 3-port Host. First port is unused. */
295	atmel,vbus-gpio = <0
296			   &pioE 3 GPIO_ACTIVE_HIGH
297			   &pioE 4 GPIO_ACTIVE_HIGH
298			  >;
299	num-ports = <3>;
300	pinctrl-names = "default";
301	pinctrl-0 = <&pinctrl_usb_default>;
302	status = "okay";
303};
304
305&usb2 {
306	status = "okay";
307};