Linux Audio

Check our new training course

Loading...
v5.4
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
  4 *
  5 *  Copyright (C) 2015 Atmel,
  6 *                2015 Josh Wu <josh.wu@atmel.com>
  7 */
  8/dts-v1/;
  9#include "sama5d4.dtsi"
 
 10
 11/ {
 12	model = "Atmel SAMA5D4 Xplained";
 13	compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
 14
 15	chosen {
 16		stdout-path = "serial0:115200n8";
 17	};
 18
 19	memory {
 20		reg = <0x20000000 0x20000000>;
 21	};
 22
 23	clocks {
 24		slow_xtal {
 25			clock-frequency = <32768>;
 26		};
 27
 28		main_xtal {
 29			clock-frequency = <12000000>;
 30		};
 31	};
 32
 33	ahb {
 34		apb {
 35			uart0: serial@f8004000 {
 36				atmel,use-dma-rx;
 37				atmel,use-dma-tx;
 38				status = "okay";
 39			};
 40
 41			spi0: spi@f8010000 {
 42				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
 43				status = "okay";
 44				m25p80@0 {
 45					compatible = "atmel,at25df321a";
 46					spi-max-frequency = <50000000>;
 47					reg = <0>;
 48				};
 49			};
 50
 51			i2c0: i2c@f8014000 {
 
 52				status = "okay";
 53			};
 54
 55			macb0: ethernet@f8020000 {
 56				phy-mode = "rmii";
 57				status = "okay";
 58				pinctrl-names = "default";
 59				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
 60
 61				phy0: ethernet-phy@1 {
 62					interrupt-parent = <&pioE>;
 63					interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
 64					reg = <1>;
 65				};
 66			};
 67
 68			mmc1: mmc@fc000000 {
 69				pinctrl-names = "default";
 70				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
 71				vmmc-supply = <&vcc_mmc1_reg>;
 72				vqmmc-supply = <&vcc_3v3_reg>;
 73				status = "okay";
 74				slot@0 {
 75					reg = <0>;
 76					bus-width = <4>;
 77					cd-gpios = <&pioE 3 0>;
 78				};
 79			};
 80
 81			usart3: serial@fc00c000 {
 82				atmel,use-dma-rx;
 83				atmel,use-dma-tx;
 84				status = "okay";
 85			};
 86
 87			usart4: serial@fc010000 {
 88				status = "okay";
 89			};
 90
 91			spi1: spi@fc018000 {
 
 
 92				cs-gpios = <&pioB 21 0>;
 93				status = "okay";
 94			};
 95
 96			tcb2: timer@fc024000 {
 97				timer0: timer@0 {
 98					compatible = "atmel,tcb-timer";
 99					reg = <0>;
100				};
101
102				timer1: timer@1 {
103					compatible = "atmel,tcb-timer";
104					reg = <1>;
105				};
106			};
107
108			adc0: adc@fc034000 {
109				pinctrl-names = "default";
110				pinctrl-0 = <
111					/* external trigger conflicts with USBA_VBUS */
112					&pinctrl_adc0_ad0
113					&pinctrl_adc0_ad1
114					&pinctrl_adc0_ad2
115					&pinctrl_adc0_ad3
116					&pinctrl_adc0_ad4
117					>;
118				atmel,adc-vref = <3300>;
119				status = "okay";
120			};
121
122			watchdog@fc068640 {
123				status = "okay";
124			};
125
126			pinctrl@fc06a000 {
127				board {
128					pinctrl_mmc1_cd: mmc1_cd {
129						atmel,pins =
130							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
131					};
132					pinctrl_usba_vbus: usba_vbus {
133						atmel,pins =
134							<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
135					};
 
 
 
 
 
136					pinctrl_key_gpio: key_gpio_0 {
137						atmel,pins =
138							<AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
139					};
140					pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
141						atmel,pins =
142							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
143					};
 
 
 
 
 
 
 
 
 
 
 
 
 
144				};
145			};
146		};
147
148		usb0: gadget@400000 {
149			atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
150			pinctrl-names = "default";
151			pinctrl-0 = <&pinctrl_usba_vbus>;
152			status = "okay";
153		};
154
155		usb1: ohci@500000 {
156			num-ports = <3>;
157			atmel,vbus-gpio = <0
158					   &pioE 11 GPIO_ACTIVE_HIGH
159					   &pioE 14 GPIO_ACTIVE_HIGH
160					  >;
 
 
161			status = "okay";
162		};
163
164		usb2: ehci@600000 {
165			status = "okay";
166		};
167
168		ebi: ebi@10000000 {
169			pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe
170				     &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy
171				     &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>;
172			pinctrl-names = "default";
173			status = "okay";
174
175			nand_controller: nand-controller {
176				status = "okay";
177
178				nand@3 {
179					reg = <0x3 0x0 0x2>;
180					atmel,rb = <0>;
181					nand-bus-width = <8>;
182					nand-ecc-mode = "hw";
183					nand-on-flash-bbt;
184					label = "atmel_nand";
185
186					partitions {
187						compatible = "fixed-partitions";
188						#address-cells = <1>;
189						#size-cells = <1>;
190
191						at91bootstrap@0 {
192							label = "at91bootstrap";
193							reg = <0x0 0x40000>;
194						};
195
196						bootloader@40000 {
197							label = "bootloader";
198							reg = <0x40000 0xc0000>;
199						};
200
201						bootloaderenvred@100000 {
202							label = "bootloader env redundant";
203							reg = <0x100000 0x40000>;
204						};
205
206						bootloaderenv@140000 {
207							label = "bootloader env";
208							reg = <0x140000 0x40000>;
209						};
210
211						dtb@180000 {
212							label = "device tree";
213							reg = <0x180000 0x80000>;
214						};
215
216						kernel@200000 {
217							label = "kernel";
218							reg = <0x200000 0x600000>;
219						};
220
221						rootfs@800000 {
222							label = "rootfs";
223							reg = <0x800000 0x1f800000>;
224						};
225					};
226				};
227			};
228		};
229	};
230
231	gpio_keys {
232		compatible = "gpio-keys";
233
234		pinctrl-names = "default";
235		pinctrl-0 = <&pinctrl_key_gpio>;
236
237		pb_user1 {
238			label = "pb_user1";
239			gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
240			linux,code = <0x100>;
241			wakeup-source;
242		};
243	};
244
245	leds {
246		compatible = "gpio-leds";
 
 
247		status = "okay";
248
249		d8 {
250			label = "d8";
251			gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
252			default-state = "on";
253		};
254
255		d10 {
256			label = "d10";
257			gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
258			linux,default-trigger = "heartbeat";
259		};
260	};
261
262	vcc_3v3_reg: fixedregulator_3v3 {
263		compatible = "regulator-fixed";
264		regulator-name = "VCC 3V3";
265		regulator-min-microvolt = <3300000>;
266		regulator-max-microvolt = <3300000>;
267		regulator-boot-on;
268		regulator-always-on;
269	};
270
271	vcc_mmc1_reg: fixedregulator_mmc1 {
272		compatible = "regulator-fixed";
 
 
273		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
274		regulator-name = "VDD MCI1";
275		regulator-min-microvolt = <3300000>;
276		regulator-max-microvolt = <3300000>;
277		vin-supply = <&vcc_3v3_reg>;
278		regulator-always-on;
279	};
280};
v6.2
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
  4 *
  5 *  Copyright (C) 2015 Atmel,
  6 *                2015 Josh Wu <josh.wu@atmel.com>
  7 */
  8/dts-v1/;
  9#include "sama5d4.dtsi"
 10#include <dt-bindings/input/input.h>
 11
 12/ {
 13	model = "Atmel SAMA5D4 Xplained";
 14	compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
 15
 16	chosen {
 17		stdout-path = "serial0:115200n8";
 18	};
 19
 20	memory@20000000 {
 21		reg = <0x20000000 0x20000000>;
 22	};
 23
 24	clocks {
 25		slow_xtal {
 26			clock-frequency = <32768>;
 27		};
 28
 29		main_xtal {
 30			clock-frequency = <12000000>;
 31		};
 32	};
 33
 34	ahb {
 35		apb {
 36			uart0: serial@f8004000 {
 37				atmel,use-dma-rx;
 38				atmel,use-dma-tx;
 39				status = "okay";
 40			};
 41
 
 
 
 
 
 
 
 
 
 
 42			i2c0: i2c@f8014000 {
 43				i2c-digital-filter;
 44				status = "okay";
 45			};
 46
 47			macb0: ethernet@f8020000 {
 48				phy-mode = "rmii";
 49				status = "okay";
 50				pinctrl-names = "default";
 51				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
 52
 53				phy0: ethernet-phy@1 {
 54					interrupt-parent = <&pioE>;
 55					interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
 56					reg = <1>;
 57				};
 58			};
 59
 60			mmc1: mmc@fc000000 {
 61				pinctrl-names = "default";
 62				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
 63				vmmc-supply = <&vcc_mmc1_reg>;
 64				vqmmc-supply = <&vcc_3v3_reg>;
 65				status = "okay";
 66				slot@0 {
 67					reg = <0>;
 68					bus-width = <4>;
 69					cd-gpios = <&pioE 3 0>;
 70				};
 71			};
 72
 73			usart3: serial@fc00c000 {
 74				atmel,use-dma-rx;
 75				atmel,use-dma-tx;
 76				status = "okay";
 77			};
 78
 79			usart4: serial@fc010000 {
 80				status = "okay";
 81			};
 82
 83			spi1: spi@fc018000 {
 84				pinctrl-names = "default", "cs";
 85				pinctrl-1 = <&pinctrl_spi1_cs>;
 86				cs-gpios = <&pioB 21 0>;
 87				status = "okay";
 88			};
 89
 90			tcb2: timer@fc024000 {
 91				timer0: timer@0 {
 92					compatible = "atmel,tcb-timer";
 93					reg = <0>;
 94				};
 95
 96				timer1: timer@1 {
 97					compatible = "atmel,tcb-timer";
 98					reg = <1>;
 99				};
100			};
101
102			adc0: adc@fc034000 {
103				pinctrl-names = "default";
104				pinctrl-0 = <
105					/* external trigger conflicts with USBA_VBUS */
106					&pinctrl_adc0_ad0
107					&pinctrl_adc0_ad1
108					&pinctrl_adc0_ad2
109					&pinctrl_adc0_ad3
110					&pinctrl_adc0_ad4
111					>;
112				atmel,adc-vref = <3300>;
113				status = "okay";
114			};
115
116			watchdog@fc068640 {
117				status = "okay";
118			};
119
120			pinctrl@fc06a000 {
121				board {
122					pinctrl_mmc1_cd: mmc1_cd {
123						atmel,pins =
124							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
125					};
126					pinctrl_usba_vbus: usba_vbus {
127						atmel,pins =
128							<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
129					};
130					pinctrl_usb_default: usb_default {
131						atmel,pins =
132							<AT91_PIOE 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
133							 AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
134					};
135					pinctrl_key_gpio: key_gpio_0 {
136						atmel,pins =
137							<AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
138					};
139					pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
140						atmel,pins =
141							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
142					};
143					pinctrl_spi1_cs: spi1_cs_default {
144						atmel,pins =
145							<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
146					};
147					pinctrl_gpio_leds: gpio_leds_default {
148						atmel,pins =
149							<AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
150							 AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
151					};
152					pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
153						atmel,pins =
154							<AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
155					};
156				};
157			};
158		};
159
160		usb0: gadget@400000 {
161			atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
162			pinctrl-names = "default";
163			pinctrl-0 = <&pinctrl_usba_vbus>;
164			status = "okay";
165		};
166
167		usb1: ohci@500000 {
168			num-ports = <3>;
169			atmel,vbus-gpio = <0
170					   &pioE 11 GPIO_ACTIVE_HIGH
171					   &pioE 14 GPIO_ACTIVE_HIGH
172					  >;
173			pinctrl-names = "default";
174			pinctrl-0 = <&pinctrl_usb_default>;
175			status = "okay";
176		};
177
178		usb2: ehci@600000 {
179			status = "okay";
180		};
181
182		ebi: ebi@10000000 {
183			pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe
184				     &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy
185				     &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>;
186			pinctrl-names = "default";
187			status = "okay";
188
189			nand_controller: nand-controller {
190				status = "okay";
191
192				nand@3 {
193					reg = <0x3 0x0 0x2>;
194					atmel,rb = <0>;
195					nand-bus-width = <8>;
196					nand-ecc-mode = "hw";
197					nand-on-flash-bbt;
198					label = "atmel_nand";
199
200					partitions {
201						compatible = "fixed-partitions";
202						#address-cells = <1>;
203						#size-cells = <1>;
204
205						at91bootstrap@0 {
206							label = "at91bootstrap";
207							reg = <0x0 0x40000>;
208						};
209
210						bootloader@40000 {
211							label = "bootloader";
212							reg = <0x40000 0xc0000>;
213						};
214
215						bootloaderenvred@100000 {
216							label = "bootloader env redundant";
217							reg = <0x100000 0x40000>;
218						};
219
220						bootloaderenv@140000 {
221							label = "bootloader env";
222							reg = <0x140000 0x40000>;
223						};
224
225						dtb@180000 {
226							label = "device tree";
227							reg = <0x180000 0x80000>;
228						};
229
230						kernel@200000 {
231							label = "kernel";
232							reg = <0x200000 0x600000>;
233						};
234
235						rootfs@800000 {
236							label = "rootfs";
237							reg = <0x800000 0x1f800000>;
238						};
239					};
240				};
241			};
242		};
243	};
244
245	gpio-keys {
246		compatible = "gpio-keys";
247
248		pinctrl-names = "default";
249		pinctrl-0 = <&pinctrl_key_gpio>;
250
251		button {
252			label = "pb_user1";
253			gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
254			linux,code = <KEY_PROG1>;
255			wakeup-source;
256		};
257	};
258
259	leds {
260		compatible = "gpio-leds";
261		pinctrl-names = "default";
262		pinctrl-0 = <&pinctrl_gpio_leds>;
263		status = "okay";
264
265		d8 {
266			label = "d8";
267			gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
268			default-state = "on";
269		};
270
271		d10 {
272			label = "d10";
273			gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
274			linux,default-trigger = "heartbeat";
275		};
276	};
277
278	vcc_3v3_reg: fixedregulator_3v3 {
279		compatible = "regulator-fixed";
280		regulator-name = "VCC 3V3";
281		regulator-min-microvolt = <3300000>;
282		regulator-max-microvolt = <3300000>;
283		regulator-boot-on;
284		regulator-always-on;
285	};
286
287	vcc_mmc1_reg: fixedregulator_mmc1 {
288		compatible = "regulator-fixed";
289		pinctrl-names = "default";
290		pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
291		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
292		regulator-name = "VDD MCI1";
293		regulator-min-microvolt = <3300000>;
294		regulator-max-microvolt = <3300000>;
295		vin-supply = <&vcc_3v3_reg>;
296		regulator-always-on;
297	};
298};