summaryrefslogtreecommitdiffstats
path: root/dts/src/arm/at91-sama5d4_ma5d4.dtsi
blob: e7b2109fc85a3276ee4e62ea1aa4de396bc12515 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*
 * Copyright (C) 2015 Marek Vasut <marex@denx.de>
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

#include "sama5d4.dtsi"

/ {
	model = "DENX MA5D4";
	compatible = "denx,ma5d4", "atmel,sama5d4", "atmel,sama5";

	memory {
		reg = <0x20000000 0x10000000>;
	};

	clocks {
		main_clock: main_clock {
			compatible = "atmel,osc", "fixed-clock";
			clock-frequency = <12000000>;
		};

		clk20m: clk20m {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <20000000>;
			clock-output-names = "clk20m";
		};
	};

	ahb {
		apb {
			mmc0: mmc@f8000000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
				vmmc-supply = <&vcc_mmc0_reg>;
				vqmmc-supply = <&vcc_3v3_reg>;
				status = "okay";
				slot@0 {
					reg = <0>;
					bus-width = <8>;
					broken-cd;
				};
			};

			spi0: spi@f8010000 {
				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
				status = "okay";

				m25p80@0 {
					compatible = "atmel,at25df321a";
					spi-max-frequency = <50000000>;
					reg = <0>;
				};
			};

			i2c0: i2c@f8014000 {
				status = "okay";
			};

			spi1: spi@fc018000 {
				cs-gpios = <&pioB 22 0>, <&pioB 23 0>, <0>, <0>;
				status = "okay";

				can0: can@0 {
					compatible = "microchip,mcp2515";
					reg = <0>;
					clocks = <&clk20m>;
					interrupt-parent = <&pioE>;
					interrupts = <6 GPIO_ACTIVE_LOW>;
					spi-max-frequency = <10000000>;
				};

				can1: can@1 {
					compatible = "microchip,mcp2515";
					reg = <1>;
					clocks = <&clk20m>;
					interrupt-parent = <&pioE>;
					interrupts = <7 GPIO_ACTIVE_LOW>;
					spi-max-frequency = <10000000>;
				};
			};

			adc0: adc@fc034000 {
				pinctrl-names = "default";
				pinctrl-0 = <
					/* external trigger conflicts with USBA_VBUS */
					&pinctrl_adc0_ad0
					&pinctrl_adc0_ad1
					&pinctrl_adc0_ad2
					&pinctrl_adc0_ad3
					&pinctrl_adc0_ad4
					>;
				atmel,adc-vref = <3300>;
				status = "okay";
			};

			watchdog@fc068640 {
				status = "okay";
			};
		};
	};

	vcc_3v3_reg: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "VCC 3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};

	vcc_mmc0_reg: fixedregulator@1 {
		compatible = "regulator-fixed";
		gpio = <&pioE 15 GPIO_ACTIVE_HIGH>;
		regulator-name = "RST_n MCI0";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_3v3_reg>;
		regulator-boot-on;
	};
};