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