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