xref: /freebsd-src/sys/contrib/device-tree/src/riscv/microchip/mpfs-m100pfsevp.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*7ef62cebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*7ef62cebSEmmanuel Vadot/*
3*7ef62cebSEmmanuel Vadot * Original all-in-one devicetree:
4*7ef62cebSEmmanuel Vadot * Copyright (C) 2021-2022 - Wolfgang Grandegger <wg@aries-embedded.de>
5*7ef62cebSEmmanuel Vadot * Rewritten to use includes:
6*7ef62cebSEmmanuel Vadot * Copyright (C) 2022 - Conor Dooley <conor.dooley@microchip.com>
7*7ef62cebSEmmanuel Vadot */
8*7ef62cebSEmmanuel Vadot/dts-v1/;
9*7ef62cebSEmmanuel Vadot
10*7ef62cebSEmmanuel Vadot#include "mpfs.dtsi"
11*7ef62cebSEmmanuel Vadot#include "mpfs-m100pfs-fabric.dtsi"
12*7ef62cebSEmmanuel Vadot
13*7ef62cebSEmmanuel Vadot/ {
14*7ef62cebSEmmanuel Vadot	model = "Aries Embedded M100PFEVPS";
15*7ef62cebSEmmanuel Vadot	compatible = "aries,m100pfsevp", "microchip,mpfs";
16*7ef62cebSEmmanuel Vadot
17*7ef62cebSEmmanuel Vadot	aliases {
18*7ef62cebSEmmanuel Vadot		ethernet0 = &mac0;
19*7ef62cebSEmmanuel Vadot		ethernet1 = &mac1;
20*7ef62cebSEmmanuel Vadot		serial0 = &mmuart0;
21*7ef62cebSEmmanuel Vadot		serial1 = &mmuart1;
22*7ef62cebSEmmanuel Vadot		serial2 = &mmuart2;
23*7ef62cebSEmmanuel Vadot		serial3 = &mmuart3;
24*7ef62cebSEmmanuel Vadot		serial4 = &mmuart4;
25*7ef62cebSEmmanuel Vadot		gpio0 = &gpio0;
26*7ef62cebSEmmanuel Vadot		gpio1 = &gpio2;
27*7ef62cebSEmmanuel Vadot	};
28*7ef62cebSEmmanuel Vadot
29*7ef62cebSEmmanuel Vadot	chosen {
30*7ef62cebSEmmanuel Vadot		stdout-path = "serial1:115200n8";
31*7ef62cebSEmmanuel Vadot	};
32*7ef62cebSEmmanuel Vadot
33*7ef62cebSEmmanuel Vadot	ddrc_cache_lo: memory@80000000 {
34*7ef62cebSEmmanuel Vadot		device_type = "memory";
35*7ef62cebSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x40000000>;
36*7ef62cebSEmmanuel Vadot	};
37*7ef62cebSEmmanuel Vadot	ddrc_cache_hi: memory@1040000000 {
38*7ef62cebSEmmanuel Vadot		device_type = "memory";
39*7ef62cebSEmmanuel Vadot		reg = <0x10 0x40000000 0x0 0x40000000>;
40*7ef62cebSEmmanuel Vadot	};
41*7ef62cebSEmmanuel Vadot};
42*7ef62cebSEmmanuel Vadot
43*7ef62cebSEmmanuel Vadot&can0 {
44*7ef62cebSEmmanuel Vadot	status = "okay";
45*7ef62cebSEmmanuel Vadot};
46*7ef62cebSEmmanuel Vadot
47*7ef62cebSEmmanuel Vadot&i2c0 {
48*7ef62cebSEmmanuel Vadot	status = "okay";
49*7ef62cebSEmmanuel Vadot};
50*7ef62cebSEmmanuel Vadot
51*7ef62cebSEmmanuel Vadot&i2c1 {
52*7ef62cebSEmmanuel Vadot	status = "okay";
53*7ef62cebSEmmanuel Vadot};
54*7ef62cebSEmmanuel Vadot
55*7ef62cebSEmmanuel Vadot&gpio0 {
56*7ef62cebSEmmanuel Vadot	interrupts = <13>, <14>, <15>, <16>,
57*7ef62cebSEmmanuel Vadot		     <17>, <18>, <19>, <20>,
58*7ef62cebSEmmanuel Vadot		     <21>, <22>, <23>, <24>,
59*7ef62cebSEmmanuel Vadot		     <25>, <26>;
60*7ef62cebSEmmanuel Vadot	ngpios = <14>;
61*7ef62cebSEmmanuel Vadot	status = "okay";
62*7ef62cebSEmmanuel Vadot
63*7ef62cebSEmmanuel Vadot	pmic-irq-hog {
64*7ef62cebSEmmanuel Vadot		gpio-hog;
65*7ef62cebSEmmanuel Vadot		gpios = <13 0>;
66*7ef62cebSEmmanuel Vadot		input;
67*7ef62cebSEmmanuel Vadot	};
68*7ef62cebSEmmanuel Vadot
69*7ef62cebSEmmanuel Vadot	/* Set to low for eMMC, high for SD-card */
70*7ef62cebSEmmanuel Vadot	mmc-sel-hog {
71*7ef62cebSEmmanuel Vadot		gpio-hog;
72*7ef62cebSEmmanuel Vadot		gpios = <12 0>;
73*7ef62cebSEmmanuel Vadot		output-high;
74*7ef62cebSEmmanuel Vadot	};
75*7ef62cebSEmmanuel Vadot};
76*7ef62cebSEmmanuel Vadot
77*7ef62cebSEmmanuel Vadot&gpio2 {
78*7ef62cebSEmmanuel Vadot	interrupts = <13>, <14>, <15>, <16>,
79*7ef62cebSEmmanuel Vadot		     <17>, <18>, <19>, <20>,
80*7ef62cebSEmmanuel Vadot		     <21>, <22>, <23>, <24>,
81*7ef62cebSEmmanuel Vadot		     <25>, <26>, <27>, <28>,
82*7ef62cebSEmmanuel Vadot		     <29>, <30>, <31>, <32>,
83*7ef62cebSEmmanuel Vadot		     <33>, <34>, <35>, <36>,
84*7ef62cebSEmmanuel Vadot		     <37>, <38>, <39>, <40>,
85*7ef62cebSEmmanuel Vadot		     <41>, <42>, <43>, <44>;
86*7ef62cebSEmmanuel Vadot	status = "okay";
87*7ef62cebSEmmanuel Vadot};
88*7ef62cebSEmmanuel Vadot
89*7ef62cebSEmmanuel Vadot&mac0 {
90*7ef62cebSEmmanuel Vadot	status = "okay";
91*7ef62cebSEmmanuel Vadot	phy-mode = "gmii";
92*7ef62cebSEmmanuel Vadot	phy-handle = <&phy0>;
93*7ef62cebSEmmanuel Vadot	phy0: ethernet-phy@0 {
94*7ef62cebSEmmanuel Vadot		reg = <0>;
95*7ef62cebSEmmanuel Vadot	};
96*7ef62cebSEmmanuel Vadot};
97*7ef62cebSEmmanuel Vadot
98*7ef62cebSEmmanuel Vadot&mac1 {
99*7ef62cebSEmmanuel Vadot	status = "okay";
100*7ef62cebSEmmanuel Vadot	phy-mode = "gmii";
101*7ef62cebSEmmanuel Vadot	phy-handle = <&phy1>;
102*7ef62cebSEmmanuel Vadot	phy1: ethernet-phy@0 {
103*7ef62cebSEmmanuel Vadot		reg = <0>;
104*7ef62cebSEmmanuel Vadot	};
105*7ef62cebSEmmanuel Vadot};
106*7ef62cebSEmmanuel Vadot
107*7ef62cebSEmmanuel Vadot&mbox {
108*7ef62cebSEmmanuel Vadot	status = "okay";
109*7ef62cebSEmmanuel Vadot};
110*7ef62cebSEmmanuel Vadot
111*7ef62cebSEmmanuel Vadot&mmc {
112*7ef62cebSEmmanuel Vadot	max-frequency = <50000000>;
113*7ef62cebSEmmanuel Vadot	bus-width = <4>;
114*7ef62cebSEmmanuel Vadot	cap-mmc-highspeed;
115*7ef62cebSEmmanuel Vadot	cap-sd-highspeed;
116*7ef62cebSEmmanuel Vadot	no-1-8-v;
117*7ef62cebSEmmanuel Vadot	sd-uhs-sdr12;
118*7ef62cebSEmmanuel Vadot	sd-uhs-sdr25;
119*7ef62cebSEmmanuel Vadot	sd-uhs-sdr50;
120*7ef62cebSEmmanuel Vadot	sd-uhs-sdr104;
121*7ef62cebSEmmanuel Vadot	disable-wp;
122*7ef62cebSEmmanuel Vadot	status = "okay";
123*7ef62cebSEmmanuel Vadot};
124*7ef62cebSEmmanuel Vadot
125*7ef62cebSEmmanuel Vadot&mmuart1 {
126*7ef62cebSEmmanuel Vadot	status = "okay";
127*7ef62cebSEmmanuel Vadot};
128*7ef62cebSEmmanuel Vadot
129*7ef62cebSEmmanuel Vadot&mmuart2 {
130*7ef62cebSEmmanuel Vadot	status = "okay";
131*7ef62cebSEmmanuel Vadot};
132*7ef62cebSEmmanuel Vadot
133*7ef62cebSEmmanuel Vadot&mmuart3 {
134*7ef62cebSEmmanuel Vadot	status = "okay";
135*7ef62cebSEmmanuel Vadot};
136*7ef62cebSEmmanuel Vadot
137*7ef62cebSEmmanuel Vadot&mmuart4 {
138*7ef62cebSEmmanuel Vadot	status = "okay";
139*7ef62cebSEmmanuel Vadot};
140*7ef62cebSEmmanuel Vadot
141*7ef62cebSEmmanuel Vadot&pcie {
142*7ef62cebSEmmanuel Vadot	status = "okay";
143*7ef62cebSEmmanuel Vadot};
144*7ef62cebSEmmanuel Vadot
145*7ef62cebSEmmanuel Vadot&qspi {
146*7ef62cebSEmmanuel Vadot	status = "okay";
147*7ef62cebSEmmanuel Vadot};
148*7ef62cebSEmmanuel Vadot
149*7ef62cebSEmmanuel Vadot&refclk {
150*7ef62cebSEmmanuel Vadot	clock-frequency = <125000000>;
151*7ef62cebSEmmanuel Vadot};
152*7ef62cebSEmmanuel Vadot
153*7ef62cebSEmmanuel Vadot&rtc {
154*7ef62cebSEmmanuel Vadot	status = "okay";
155*7ef62cebSEmmanuel Vadot};
156*7ef62cebSEmmanuel Vadot
157*7ef62cebSEmmanuel Vadot&spi0 {
158*7ef62cebSEmmanuel Vadot	status = "okay";
159*7ef62cebSEmmanuel Vadot};
160*7ef62cebSEmmanuel Vadot
161*7ef62cebSEmmanuel Vadot&spi1 {
162*7ef62cebSEmmanuel Vadot	status = "okay";
163*7ef62cebSEmmanuel Vadot};
164*7ef62cebSEmmanuel Vadot
165*7ef62cebSEmmanuel Vadot&syscontroller {
166*7ef62cebSEmmanuel Vadot	status = "okay";
167*7ef62cebSEmmanuel Vadot};
168*7ef62cebSEmmanuel Vadot
169*7ef62cebSEmmanuel Vadot&usb {
170*7ef62cebSEmmanuel Vadot	status = "okay";
171*7ef62cebSEmmanuel Vadot	dr_mode = "host";
172*7ef62cebSEmmanuel Vadot};
173