1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2015 Marek Vasut <marex@denx.de>
4 */
5
6#include "sama5d4.dtsi"
7
8/ {
9	model = "Aries/DENX MA5D4";
10	compatible = "aries,ma5d4", "denx,ma5d4", "atmel,sama5d4", "atmel,sama5";
11
12	memory@20000000 {
13		reg = <0x20000000 0x10000000>;
14	};
15
16	clocks {
17		slow_xtal {
18			clock-frequency = <32768>;
19		};
20
21		main_xtal {
22			clock-frequency = <12000000>;
23		};
24
25		clk20m: clk20m {
26			compatible = "fixed-clock";
27			#clock-cells = <0>;
28			clock-frequency = <20000000>;
29			clock-output-names = "clk20m";
30		};
31	};
32
33	ahb {
34		apb {
35			mmc0: mmc@f8000000 {
36				pinctrl-names = "default";
37				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
38				vmmc-supply = <&vcc_mmc0_reg>;
39				vqmmc-supply = <&vcc_3v3_reg>;
40				status = "okay";
41				slot@0 {
42					reg = <0>;
43					bus-width = <8>;
44					broken-cd;
45				};
46			};
47
48			spi0: spi@f8010000 {
49				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
50				status = "okay";
51
52				flash@0 {
53					compatible = "atmel,at25df321a";
54					spi-max-frequency = <50000000>;
55					reg = <0>;
56				};
57			};
58
59			i2c0: i2c@f8014000 {
60				status = "okay";
61			};
62
63			spi1: spi@fc018000 {
64				cs-gpios = <&pioB 22 0>, <&pioB 23 0>, <0>, <0>;
65				status = "okay";
66
67				can0: can@0 {
68					compatible = "microchip,mcp2515";
69					reg = <0>;
70					clocks = <&clk20m>;
71					interrupt-parent = <&pioE>;
72					interrupts = <6 IRQ_TYPE_EDGE_RISING>;
73					spi-max-frequency = <10000000>;
74				};
75
76				can1: can@1 {
77					compatible = "microchip,mcp2515";
78					reg = <1>;
79					clocks = <&clk20m>;
80					interrupt-parent = <&pioE>;
81					interrupts = <7 IRQ_TYPE_EDGE_RISING>;
82					spi-max-frequency = <10000000>;
83				};
84			};
85
86			tcb2: timer@fc024000 {
87				timer@0 {
88					compatible = "atmel,tcb-timer";
89					reg = <0>;
90				};
91
92				timer@1 {
93					compatible = "atmel,tcb-timer";
94					reg = <1>;
95				};
96			};
97
98			adc0: adc@fc034000 {
99				pinctrl-names = "default";
100				pinctrl-0 = <
101					/* external trigger conflicts with USBA_VBUS */
102					&pinctrl_adc0_ad0
103					&pinctrl_adc0_ad1
104					&pinctrl_adc0_ad2
105					&pinctrl_adc0_ad3
106					&pinctrl_adc0_ad4
107					>;
108				atmel,adc-vref = <3300>;
109				status = "okay";
110			};
111
112			watchdog@fc068640 {
113				status = "okay";
114			};
115		};
116	};
117
118	vcc_3v3_reg: fixedregulator_3v3 {
119		compatible = "regulator-fixed";
120		regulator-name = "VCC 3V3";
121		regulator-min-microvolt = <3300000>;
122		regulator-max-microvolt = <3300000>;
123		regulator-boot-on;
124		regulator-always-on;
125	};
126
127	vcc_mmc0_reg: fixedregulator_mmc0 {
128		compatible = "regulator-fixed";
129		gpio = <&pioE 15 GPIO_ACTIVE_HIGH>;
130		regulator-name = "RST_n MCI0";
131		regulator-min-microvolt = <3300000>;
132		regulator-max-microvolt = <3300000>;
133		vin-supply = <&vcc_3v3_reg>;
134		regulator-boot-on;
135	};
136};
137