Linux Audio

Check our new training course

Loading...
v4.17
 
  1/*
  2 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
  3 *
  4 *  Copyright (C) 2015 Atmel,
  5 *                2015 Josh Wu <josh.wu@atmel.com>
  6 *
  7 * This file is dual-licensed: you can use it either under the terms
  8 * of the GPL or the X11 license, at your option. Note that this dual
  9 * licensing only applies to this file, and not this project as a
 10 * whole.
 11 *
 12 *  a) This file is free software; you can redistribute it and/or
 13 *     modify it under the terms of the GNU General Public License as
 14 *     published by the Free Software Foundation; either version 2 of the
 15 *     License, or (at your option) any later version.
 16 *
 17 *     This file is distributed in the hope that it will be useful,
 18 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 19 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 20 *     GNU General Public License for more details.
 21 *
 22 * Or, alternatively,
 23 *
 24 *  b) Permission is hereby granted, free of charge, to any person
 25 *     obtaining a copy of this software and associated documentation
 26 *     files (the "Software"), to deal in the Software without
 27 *     restriction, including without limitation the rights to use,
 28 *     copy, modify, merge, publish, distribute, sublicense, and/or
 29 *     sell copies of the Software, and to permit persons to whom the
 30 *     Software is furnished to do so, subject to the following
 31 *     conditions:
 32 *
 33 *     The above copyright notice and this permission notice shall be
 34 *     included in all copies or substantial portions of the Software.
 35 *
 36 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 37 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 38 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 39 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 40 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 41 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 42 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 43 *     OTHER DEALINGS IN THE SOFTWARE.
 44 */
 45/dts-v1/;
 46#include "sama5d4.dtsi"
 
 47
 48/ {
 49	model = "Atmel SAMA5D4 Xplained";
 50	compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
 51
 52	chosen {
 53		stdout-path = "serial0:115200n8";
 54	};
 55
 56	memory {
 57		reg = <0x20000000 0x20000000>;
 58	};
 59
 60	clocks {
 61		slow_xtal {
 62			clock-frequency = <32768>;
 63		};
 64
 65		main_xtal {
 66			clock-frequency = <12000000>;
 67		};
 68	};
 69
 70	ahb {
 71		apb {
 72			uart0: serial@f8004000 {
 73				atmel,use-dma-rx;
 74				atmel,use-dma-tx;
 75				status = "okay";
 76			};
 77
 78			spi0: spi@f8010000 {
 79				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
 80				status = "okay";
 81				m25p80@0 {
 82					compatible = "atmel,at25df321a";
 83					spi-max-frequency = <50000000>;
 84					reg = <0>;
 85				};
 86			};
 87
 88			i2c0: i2c@f8014000 {
 
 89				status = "okay";
 90			};
 91
 92			macb0: ethernet@f8020000 {
 93				phy-mode = "rmii";
 94				status = "okay";
 95				pinctrl-names = "default";
 96				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
 97
 98				phy0: ethernet-phy@1 {
 99					interrupt-parent = <&pioE>;
100					interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
101					reg = <1>;
102				};
103			};
104
105			mmc1: mmc@fc000000 {
106				pinctrl-names = "default";
107				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
108				vmmc-supply = <&vcc_mmc1_reg>;
109				vqmmc-supply = <&vcc_3v3_reg>;
110				status = "okay";
111				slot@0 {
112					reg = <0>;
113					bus-width = <4>;
114					cd-gpios = <&pioE 3 0>;
115				};
116			};
117
118			usart3: serial@fc00c000 {
119				atmel,use-dma-rx;
120				atmel,use-dma-tx;
121				status = "okay";
122			};
123
124			usart4: serial@fc010000 {
125				status = "okay";
126			};
127
128			spi1: spi@fc018000 {
 
 
129				cs-gpios = <&pioB 21 0>;
130				status = "okay";
131			};
132
133			tcb2: timer@fc024000 {
134				timer0: timer@0 {
135					compatible = "atmel,tcb-timer";
136					reg = <0>;
137				};
138
139				timer1: timer@1 {
140					compatible = "atmel,tcb-timer";
141					reg = <1>;
142				};
143			};
144
145			adc0: adc@fc034000 {
146				pinctrl-names = "default";
147				pinctrl-0 = <
148					/* external trigger conflicts with USBA_VBUS */
149					&pinctrl_adc0_ad0
150					&pinctrl_adc0_ad1
151					&pinctrl_adc0_ad2
152					&pinctrl_adc0_ad3
153					&pinctrl_adc0_ad4
154					>;
155				atmel,adc-vref = <3300>;
156				status = "okay";
157			};
158
159			watchdog@fc068640 {
160				status = "okay";
161			};
162
163			pinctrl@fc06a000 {
164				board {
165					pinctrl_mmc1_cd: mmc1_cd {
166						atmel,pins =
167							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
168					};
169					pinctrl_usba_vbus: usba_vbus {
170						atmel,pins =
171							<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
172					};
 
 
 
 
 
173					pinctrl_key_gpio: key_gpio_0 {
174						atmel,pins =
175							<AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
176					};
177					pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
178						atmel,pins =
179							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
180					};
 
 
 
 
 
 
 
 
 
 
 
 
 
181				};
182			};
183		};
184
185		usb0: gadget@400000 {
186			atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
187			pinctrl-names = "default";
188			pinctrl-0 = <&pinctrl_usba_vbus>;
189			status = "okay";
190		};
191
192		usb1: ohci@500000 {
193			num-ports = <3>;
194			atmel,vbus-gpio = <0
195					   &pioE 11 GPIO_ACTIVE_HIGH
196					   &pioE 14 GPIO_ACTIVE_HIGH
197					  >;
 
 
198			status = "okay";
199		};
200
201		usb2: ehci@600000 {
202			status = "okay";
203		};
204
205		ebi: ebi@10000000 {
206			pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe
207				     &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy
208				     &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>;
209			pinctrl-names = "default";
210			status = "okay";
211
212			nand_controller: nand-controller {
213				status = "okay";
214
215				nand@3 {
216					reg = <0x3 0x0 0x2>;
217					atmel,rb = <0>;
218					nand-bus-width = <8>;
219					nand-ecc-mode = "hw";
220					nand-on-flash-bbt;
221					label = "atmel_nand";
222
223					partitions {
224						compatible = "fixed-partitions";
225						#address-cells = <1>;
226						#size-cells = <1>;
227
228						at91bootstrap@0 {
229							label = "at91bootstrap";
230							reg = <0x0 0x40000>;
231						};
232
233						bootloader@40000 {
234							label = "bootloader";
235							reg = <0x40000 0x80000>;
 
 
 
 
 
236						};
237
238						bootloaderenv@c0000 {
239							label = "bootloader env";
240							reg = <0xc0000 0xc0000>;
241						};
242
243						dtb@180000 {
244							label = "device tree";
245							reg = <0x180000 0x80000>;
246						};
247
248						kernel@200000 {
249							label = "kernel";
250							reg = <0x200000 0x600000>;
251						};
252
253						rootfs@800000 {
254							label = "rootfs";
255							reg = <0x800000 0x0f800000>;
256						};
257					};
258				};
259			};
260		};
261	};
262
263	gpio_keys {
264		compatible = "gpio-keys";
265
266		pinctrl-names = "default";
267		pinctrl-0 = <&pinctrl_key_gpio>;
268
269		pb_user1 {
270			label = "pb_user1";
271			gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
272			linux,code = <0x100>;
273			wakeup-source;
274		};
275	};
276
277	leds {
278		compatible = "gpio-leds";
 
 
279		status = "okay";
280
281		d8 {
282			label = "d8";
283			gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
284			default-state = "on";
285		};
286
287		d10 {
288			label = "d10";
289			gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
290			linux,default-trigger = "heartbeat";
291		};
292	};
293
294	vcc_3v3_reg: fixedregulator_3v3 {
295		compatible = "regulator-fixed";
296		regulator-name = "VCC 3V3";
297		regulator-min-microvolt = <3300000>;
298		regulator-max-microvolt = <3300000>;
299		regulator-boot-on;
300		regulator-always-on;
301	};
302
303	vcc_mmc1_reg: fixedregulator_mmc1 {
304		compatible = "regulator-fixed";
 
 
305		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
306		regulator-name = "VDD MCI1";
307		regulator-min-microvolt = <3300000>;
308		regulator-max-microvolt = <3300000>;
309		vin-supply = <&vcc_3v3_reg>;
310		regulator-always-on;
311	};
312};
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};