xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/r8a779h0-gray-hawk-single.dts (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*01950c46SEmmanuel Vadot/*
3*01950c46SEmmanuel Vadot * Device Tree Source for the R-Car V4M Gray Hawk Single board
4*01950c46SEmmanuel Vadot *
5*01950c46SEmmanuel Vadot * Copyright (C) 2023 Renesas Electronics Corp.
6*01950c46SEmmanuel Vadot * Copyright (C) 2024 Glider bv
7*01950c46SEmmanuel Vadot */
8*01950c46SEmmanuel Vadot
9*01950c46SEmmanuel Vadot/dts-v1/;
10*01950c46SEmmanuel Vadot
11*01950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12*01950c46SEmmanuel Vadot
13*01950c46SEmmanuel Vadot#include "r8a779h0.dtsi"
14*01950c46SEmmanuel Vadot
15*01950c46SEmmanuel Vadot/ {
16*01950c46SEmmanuel Vadot	model = "Renesas Gray Hawk Single board based on r8a779h0";
17*01950c46SEmmanuel Vadot	compatible = "renesas,gray-hawk-single", "renesas,r8a779h0";
18*01950c46SEmmanuel Vadot
19*01950c46SEmmanuel Vadot	aliases {
20*01950c46SEmmanuel Vadot		serial0 = &hscif0;
21*01950c46SEmmanuel Vadot		ethernet0 = &avb0;
22*01950c46SEmmanuel Vadot	};
23*01950c46SEmmanuel Vadot
24*01950c46SEmmanuel Vadot	chosen {
25*01950c46SEmmanuel Vadot		bootargs = "ignore_loglevel";
26*01950c46SEmmanuel Vadot		stdout-path = "serial0:921600n8";
27*01950c46SEmmanuel Vadot	};
28*01950c46SEmmanuel Vadot
29*01950c46SEmmanuel Vadot	memory@48000000 {
30*01950c46SEmmanuel Vadot		device_type = "memory";
31*01950c46SEmmanuel Vadot		/* first 128MB is reserved for secure area. */
32*01950c46SEmmanuel Vadot		reg = <0x0 0x48000000 0x0 0x78000000>;
33*01950c46SEmmanuel Vadot	};
34*01950c46SEmmanuel Vadot
35*01950c46SEmmanuel Vadot	memory@480000000 {
36*01950c46SEmmanuel Vadot		device_type = "memory";
37*01950c46SEmmanuel Vadot		reg = <0x4 0x80000000 0x1 0x80000000>;
38*01950c46SEmmanuel Vadot	};
39*01950c46SEmmanuel Vadot
40*01950c46SEmmanuel Vadot	reg_1p8v: regulator-1p8v {
41*01950c46SEmmanuel Vadot			compatible = "regulator-fixed";
42*01950c46SEmmanuel Vadot			regulator-name = "fixed-1.8V";
43*01950c46SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
44*01950c46SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
45*01950c46SEmmanuel Vadot			regulator-boot-on;
46*01950c46SEmmanuel Vadot			regulator-always-on;
47*01950c46SEmmanuel Vadot	};
48*01950c46SEmmanuel Vadot
49*01950c46SEmmanuel Vadot	reg_3p3v: regulator-3p3v {
50*01950c46SEmmanuel Vadot			compatible = "regulator-fixed";
51*01950c46SEmmanuel Vadot			regulator-name = "fixed-3.3V";
52*01950c46SEmmanuel Vadot			regulator-min-microvolt = <3300000>;
53*01950c46SEmmanuel Vadot			regulator-max-microvolt = <3300000>;
54*01950c46SEmmanuel Vadot			regulator-boot-on;
55*01950c46SEmmanuel Vadot			regulator-always-on;
56*01950c46SEmmanuel Vadot	};
57*01950c46SEmmanuel Vadot};
58*01950c46SEmmanuel Vadot
59*01950c46SEmmanuel Vadot&avb0 {
60*01950c46SEmmanuel Vadot	pinctrl-0 = <&avb0_pins>;
61*01950c46SEmmanuel Vadot	pinctrl-names = "default";
62*01950c46SEmmanuel Vadot	phy-handle = <&phy0>;
63*01950c46SEmmanuel Vadot	tx-internal-delay-ps = <2000>;
64*01950c46SEmmanuel Vadot	status = "okay";
65*01950c46SEmmanuel Vadot
66*01950c46SEmmanuel Vadot	phy0: ethernet-phy@0 {
67*01950c46SEmmanuel Vadot		compatible = "ethernet-phy-id0022.1622",
68*01950c46SEmmanuel Vadot			     "ethernet-phy-ieee802.3-c22";
69*01950c46SEmmanuel Vadot		rxc-skew-ps = <1500>;
70*01950c46SEmmanuel Vadot		reg = <0>;
71*01950c46SEmmanuel Vadot		interrupt-parent = <&gpio7>;
72*01950c46SEmmanuel Vadot		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
73*01950c46SEmmanuel Vadot		reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>;
74*01950c46SEmmanuel Vadot	};
75*01950c46SEmmanuel Vadot};
76*01950c46SEmmanuel Vadot
77*01950c46SEmmanuel Vadot&extal_clk {
78*01950c46SEmmanuel Vadot	clock-frequency = <16666666>;
79*01950c46SEmmanuel Vadot};
80*01950c46SEmmanuel Vadot
81*01950c46SEmmanuel Vadot&extalr_clk {
82*01950c46SEmmanuel Vadot	clock-frequency = <32768>;
83*01950c46SEmmanuel Vadot};
84*01950c46SEmmanuel Vadot
85*01950c46SEmmanuel Vadot&hscif0 {
86*01950c46SEmmanuel Vadot	pinctrl-0 = <&hscif0_pins>;
87*01950c46SEmmanuel Vadot	pinctrl-names = "default";
88*01950c46SEmmanuel Vadot
89*01950c46SEmmanuel Vadot	uart-has-rtscts;
90*01950c46SEmmanuel Vadot	status = "okay";
91*01950c46SEmmanuel Vadot};
92*01950c46SEmmanuel Vadot
93*01950c46SEmmanuel Vadot&i2c0 {
94*01950c46SEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
95*01950c46SEmmanuel Vadot	pinctrl-names = "default";
96*01950c46SEmmanuel Vadot
97*01950c46SEmmanuel Vadot	status = "okay";
98*01950c46SEmmanuel Vadot	clock-frequency = <400000>;
99*01950c46SEmmanuel Vadot
100*01950c46SEmmanuel Vadot	eeprom@50 {
101*01950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
102*01950c46SEmmanuel Vadot		label = "cpu-board";
103*01950c46SEmmanuel Vadot		reg = <0x50>;
104*01950c46SEmmanuel Vadot		pagesize = <8>;
105*01950c46SEmmanuel Vadot	};
106*01950c46SEmmanuel Vadot
107*01950c46SEmmanuel Vadot	eeprom@51 {
108*01950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
109*01950c46SEmmanuel Vadot		label = "breakout-board";
110*01950c46SEmmanuel Vadot		reg = <0x51>;
111*01950c46SEmmanuel Vadot		pagesize = <8>;
112*01950c46SEmmanuel Vadot	};
113*01950c46SEmmanuel Vadot
114*01950c46SEmmanuel Vadot	eeprom@52 {
115*01950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
116*01950c46SEmmanuel Vadot		label = "csi-dsi-sub-board-id";
117*01950c46SEmmanuel Vadot		reg = <0x52>;
118*01950c46SEmmanuel Vadot		pagesize = <8>;
119*01950c46SEmmanuel Vadot	};
120*01950c46SEmmanuel Vadot
121*01950c46SEmmanuel Vadot	eeprom@53 {
122*01950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
123*01950c46SEmmanuel Vadot		label = "ethernet-sub-board-id";
124*01950c46SEmmanuel Vadot		reg = <0x53>;
125*01950c46SEmmanuel Vadot		pagesize = <8>;
126*01950c46SEmmanuel Vadot	};
127*01950c46SEmmanuel Vadot};
128*01950c46SEmmanuel Vadot
129*01950c46SEmmanuel Vadot&mmc0 {
130*01950c46SEmmanuel Vadot	pinctrl-0 = <&mmc_pins>;
131*01950c46SEmmanuel Vadot	pinctrl-1 = <&mmc_pins>;
132*01950c46SEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
133*01950c46SEmmanuel Vadot
134*01950c46SEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
135*01950c46SEmmanuel Vadot	vqmmc-supply = <&reg_1p8v>;
136*01950c46SEmmanuel Vadot	mmc-hs200-1_8v;
137*01950c46SEmmanuel Vadot	mmc-hs400-1_8v;
138*01950c46SEmmanuel Vadot	bus-width = <8>;
139*01950c46SEmmanuel Vadot	no-sd;
140*01950c46SEmmanuel Vadot	no-sdio;
141*01950c46SEmmanuel Vadot	non-removable;
142*01950c46SEmmanuel Vadot	full-pwr-cycle-in-suspend;
143*01950c46SEmmanuel Vadot	status = "okay";
144*01950c46SEmmanuel Vadot};
145*01950c46SEmmanuel Vadot
146*01950c46SEmmanuel Vadot&pfc {
147*01950c46SEmmanuel Vadot	pinctrl-0 = <&scif_clk_pins>;
148*01950c46SEmmanuel Vadot	pinctrl-names = "default";
149*01950c46SEmmanuel Vadot
150*01950c46SEmmanuel Vadot	avb0_pins: avb0 {
151*01950c46SEmmanuel Vadot		mux {
152*01950c46SEmmanuel Vadot			groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
153*01950c46SEmmanuel Vadot				 "avb0_txcrefclk";
154*01950c46SEmmanuel Vadot			function = "avb0";
155*01950c46SEmmanuel Vadot		};
156*01950c46SEmmanuel Vadot
157*01950c46SEmmanuel Vadot		pins_mdio {
158*01950c46SEmmanuel Vadot			groups = "avb0_mdio";
159*01950c46SEmmanuel Vadot			drive-strength = <21>;
160*01950c46SEmmanuel Vadot		};
161*01950c46SEmmanuel Vadot
162*01950c46SEmmanuel Vadot		pins_mii {
163*01950c46SEmmanuel Vadot			groups = "avb0_rgmii";
164*01950c46SEmmanuel Vadot			drive-strength = <21>;
165*01950c46SEmmanuel Vadot		};
166*01950c46SEmmanuel Vadot	};
167*01950c46SEmmanuel Vadot
168*01950c46SEmmanuel Vadot	hscif0_pins: hscif0 {
169*01950c46SEmmanuel Vadot		groups = "hscif0_data", "hscif0_ctrl";
170*01950c46SEmmanuel Vadot		function = "hscif0";
171*01950c46SEmmanuel Vadot	};
172*01950c46SEmmanuel Vadot
173*01950c46SEmmanuel Vadot	i2c0_pins: i2c0 {
174*01950c46SEmmanuel Vadot		groups = "i2c0";
175*01950c46SEmmanuel Vadot		function = "i2c0";
176*01950c46SEmmanuel Vadot	};
177*01950c46SEmmanuel Vadot
178*01950c46SEmmanuel Vadot	mmc_pins: mmc {
179*01950c46SEmmanuel Vadot		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
180*01950c46SEmmanuel Vadot		function = "mmc";
181*01950c46SEmmanuel Vadot		power-source = <1800>;
182*01950c46SEmmanuel Vadot	};
183*01950c46SEmmanuel Vadot
184*01950c46SEmmanuel Vadot	qspi0_pins: qspi0 {
185*01950c46SEmmanuel Vadot		groups = "qspi0_ctrl", "qspi0_data4";
186*01950c46SEmmanuel Vadot		function = "qspi0";
187*01950c46SEmmanuel Vadot	};
188*01950c46SEmmanuel Vadot
189*01950c46SEmmanuel Vadot	scif_clk_pins: scif-clk {
190*01950c46SEmmanuel Vadot		groups = "scif_clk";
191*01950c46SEmmanuel Vadot		function = "scif_clk";
192*01950c46SEmmanuel Vadot	};
193*01950c46SEmmanuel Vadot};
194*01950c46SEmmanuel Vadot
195*01950c46SEmmanuel Vadot&rpc {
196*01950c46SEmmanuel Vadot	pinctrl-0 = <&qspi0_pins>;
197*01950c46SEmmanuel Vadot	pinctrl-names = "default";
198*01950c46SEmmanuel Vadot
199*01950c46SEmmanuel Vadot	status = "okay";
200*01950c46SEmmanuel Vadot
201*01950c46SEmmanuel Vadot	flash@0 {
202*01950c46SEmmanuel Vadot		compatible = "spansion,s25fs512s", "jedec,spi-nor";
203*01950c46SEmmanuel Vadot		reg = <0>;
204*01950c46SEmmanuel Vadot		spi-max-frequency = <40000000>;
205*01950c46SEmmanuel Vadot		spi-rx-bus-width = <4>;
206*01950c46SEmmanuel Vadot
207*01950c46SEmmanuel Vadot		partitions {
208*01950c46SEmmanuel Vadot			compatible = "fixed-partitions";
209*01950c46SEmmanuel Vadot			#address-cells = <1>;
210*01950c46SEmmanuel Vadot			#size-cells = <1>;
211*01950c46SEmmanuel Vadot
212*01950c46SEmmanuel Vadot			boot@0 {
213*01950c46SEmmanuel Vadot				reg = <0x0 0x1200000>;
214*01950c46SEmmanuel Vadot				read-only;
215*01950c46SEmmanuel Vadot			};
216*01950c46SEmmanuel Vadot			user@1200000 {
217*01950c46SEmmanuel Vadot				reg = <0x1200000 0x2e00000>;
218*01950c46SEmmanuel Vadot			};
219*01950c46SEmmanuel Vadot		};
220*01950c46SEmmanuel Vadot	};
221*01950c46SEmmanuel Vadot};
222*01950c46SEmmanuel Vadot
223*01950c46SEmmanuel Vadot&rwdt {
224*01950c46SEmmanuel Vadot	timeout-sec = <60>;
225*01950c46SEmmanuel Vadot	status = "okay";
226*01950c46SEmmanuel Vadot};
227*01950c46SEmmanuel Vadot
228*01950c46SEmmanuel Vadot&scif_clk {
229*01950c46SEmmanuel Vadot	clock-frequency = <24000000>;
230*01950c46SEmmanuel Vadot};
231