xref: /linux/arch/riscv/boot/dts/microchip/mpfs-beaglev-fire.dts (revision c94cd9508b1335b949fd13ebd269313c65492df0)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/* Copyright (c) 2020-2021 Microchip Technology Inc */
3
4/dts-v1/;
5
6#include <dt-bindings/gpio/gpio.h>
7#include "mpfs.dtsi"
8#include "mpfs-beaglev-fire-fabric.dtsi"
9
10/* Clock frequency (in Hz) of MTIMER */
11#define MTIMER_FREQ		1000000
12
13/ {
14	#address-cells = <2>;
15	#size-cells = <2>;
16	model = "BeagleBoard BeagleV-Fire";
17	compatible = "beagle,beaglev-fire", "microchip,mpfs";
18
19	aliases {
20		serial0 = &mmuart0;
21		serial1 = &mmuart1;
22		serial2 = &mmuart2;
23		serial3 = &mmuart3;
24		serial4 = &mmuart4;
25	};
26
27	chosen {
28		stdout-path = "serial0:115200n8";
29	};
30
31	cpus {
32		timebase-frequency = <MTIMER_FREQ>;
33	};
34
35	ddrc_cache_lo: memory@80000000 {
36		device_type = "memory";
37		reg = <0x0 0x80000000 0x0 0x40000000>;
38		status = "okay";
39	};
40
41	reserved-memory {
42		#address-cells = <2>;
43		#size-cells = <2>;
44		ranges;
45
46		hss: hss-buffer@103fc00000 {
47			compatible = "shared-dma-pool";
48			reg = <0x10 0x3fc00000 0x0 0x400000>;
49			no-map;
50		};
51	};
52
53	imx219_clk: camera-clk {
54		compatible = "fixed-clock";
55		#clock-cells = <0>;
56		clock-frequency = <24000000>;
57	};
58
59	imx219_vana: fixedregulator-0 {
60		compatible = "regulator-fixed";
61		regulator-name = "imx219_vana";
62		regulator-min-microvolt = <2800000>;
63		regulator-max-microvolt = <2800000>;
64	};
65
66	imx219_vdig: fixedregulator-1 {
67		compatible = "regulator-fixed";
68		regulator-name = "imx219_vdig";
69		regulator-min-microvolt = <1800000>;
70		regulator-max-microvolt = <1800000>;
71	};
72
73	imx219_vddl: fixedregulator-2 {
74		compatible = "regulator-fixed";
75		regulator-name = "imx219_vddl";
76		regulator-min-microvolt = <1200000>;
77		regulator-max-microvolt = <1200000>;
78	};
79
80};
81
82&gpio2 {
83	interrupts = <53>, <53>, <53>, <53>,
84		     <53>, <53>, <53>, <53>,
85		     <53>, <53>, <53>, <53>,
86		     <53>, <53>, <53>, <53>,
87		     <53>, <53>, <53>, <53>,
88		     <53>, <53>, <53>, <53>,
89		     <53>, <53>, <53>, <53>,
90		     <53>, <53>, <53>, <53>;
91	ngpios=<32>;
92	gpio-line-names = "P8_PIN3_USER_LED_0", "P8_PIN4_USER_LED_1", "P8_PIN5_USER_LED_2",
93			  "P8_PIN6_USER_LED_3", "P8_PIN7_USER_LED_4", "P8_PIN8_USER_LED_5",
94			  "P8_PIN9_USER_LED_6", "P8_PIN10_USER_LED_7", "P8_PIN11_USER_LED_8",
95			  "P8_PIN12_USER_LED_9", "P8_PIN13_USER_LED_10", "P8_PIN14_USER_LED_11",
96			  "P8_PIN15", "P8_PIN16", "P8_PIN17", "P8_PIN18", "P8_PIN19", "P8_PIN20",
97			  "P8_PIN21", "P8_PIN22", "P8_PIN23", "P8_PIN24", "P8_PIN25", "P8_PIN26",
98			  "P8_PIN27", "P8_PIN28", "P8_PIN29", "P8_PIN30", "M2_W_DISABLE1",
99			  "M2_W_DISABLE2", "VIO_ENABLE", "SD_DET";
100	status = "okay";
101
102	vio-enable-hog {
103		gpio-hog;
104		gpios = <30 30>;
105		output-high;
106		line-name = "VIO_ENABLE";
107	};
108
109	sd-det-hog {
110		gpio-hog;
111		gpios = <31 31>;
112		input;
113		line-name = "SD_DET";
114	};
115};
116
117&i2c0 {
118	status = "okay";
119};
120
121&i2c1 {
122	status = "okay";
123
124	eeprom: eeprom@50 {
125		compatible = "atmel,24c32";
126		reg = <0x50>;
127	};
128
129	imx219: sensor@10 {
130		compatible = "sony,imx219";
131		reg = <0x10>;
132		clocks = <&imx219_clk>;
133		VANA-supply = <&imx219_vana>;   /* 2.8v */
134		VDIG-supply = <&imx219_vdig>;   /* 1.8v */
135		VDDL-supply = <&imx219_vddl>;   /* 1.2v */
136
137		port {
138			imx219_0: endpoint {
139				data-lanes = <1 2>;
140				clock-noncontinuous;
141				link-frequencies = /bits/ 64 <456000000>;
142			};
143		};
144	};
145};
146
147&mac0 {
148	status = "okay";
149	phy-mode = "sgmii";
150	phy-handle = <&phy0>;
151	phy0: ethernet-phy@0 {
152		reg = <0>;
153	};
154};
155
156&mbox {
157	status = "okay";
158};
159
160&mmc {
161	bus-width = <4>;
162	disable-wp;
163	cap-sd-highspeed;
164	cap-mmc-highspeed;
165	mmc-ddr-1_8v;
166	mmc-hs200-1_8v;
167	sd-uhs-sdr12;
168	sd-uhs-sdr25;
169	sd-uhs-sdr50;
170	sd-uhs-sdr104;
171	status = "okay";
172};
173
174&mmuart0 {
175	status = "okay";
176};
177
178&mmuart1 {
179	status = "okay";
180};
181
182&refclk {
183	clock-frequency = <125000000>;
184};
185
186&refclk_ccc {
187	clock-frequency = <50000000>;
188};
189
190&rtc {
191	status = "okay";
192};
193
194&spi0 {
195	status = "okay";
196};
197
198&spi1 {
199	status = "okay";
200};
201
202&syscontroller {
203	microchip,bitstream-flash = <&sys_ctrl_flash>;
204	status = "okay";
205};
206
207&syscontroller_qspi {
208	status = "okay";
209
210	sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT
211		compatible = "jedec,spi-nor";
212		#address-cells = <1>;
213		#size-cells = <1>;
214		spi-max-frequency = <20000000>;
215		spi-rx-bus-width = <1>;
216		reg = <0>;
217	};
218};
219
220&usb {
221	status = "okay";
222	dr_mode = "otg";
223};
224