Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Mar 24-27, 2025, special US time zones
Register
Loading...
Note: File does not exist in v4.17.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Device Tree Source for the iWave-RZ/G1C single board computer
  4 *
  5 * Copyright (C) 2018 Renesas Electronics Corp.
  6 */
  7
  8/dts-v1/;
  9#include <dt-bindings/gpio/gpio.h>
 10#include "r8a77470.dtsi"
 11/ {
 12	model = "iWave iW-RainboW-G23S single board computer based on RZ/G1C";
 13	compatible = "iwave,g23s", "renesas,r8a77470";
 14
 15	aliases {
 16		ethernet0 = &avb;
 17		serial1 = &scif1;
 18	};
 19
 20	chosen {
 21		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
 22		stdout-path = "serial1:115200n8";
 23	};
 24
 25	hdmi-out {
 26		compatible = "hdmi-connector";
 27		type = "a";
 28
 29		port {
 30			hdmi_con: endpoint {
 31				remote-endpoint = <&bridge_out>;
 32			};
 33		};
 34	};
 35
 36	memory@40000000 {
 37		device_type = "memory";
 38		reg = <0 0x40000000 0 0x20000000>;
 39	};
 40
 41	reg_1p8v: reg-1p8v {
 42		compatible = "regulator-fixed";
 43		regulator-name = "fixed-1.8V";
 44		regulator-min-microvolt = <1800000>;
 45		regulator-max-microvolt = <1800000>;
 46		regulator-boot-on;
 47		regulator-always-on;
 48	};
 49
 50	reg_3p3v: reg-3p3v {
 51		compatible = "regulator-fixed";
 52		regulator-name = "fixed-3.3V";
 53		regulator-min-microvolt = <3300000>;
 54		regulator-max-microvolt = <3300000>;
 55		regulator-boot-on;
 56		regulator-always-on;
 57	};
 58
 59	vccq_sdhi2: regulator-vccq-sdhi2 {
 60		compatible = "regulator-gpio";
 61
 62		regulator-name = "SDHI2 VccQ";
 63		regulator-min-microvolt = <1800000>;
 64		regulator-max-microvolt = <3300000>;
 65
 66		gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
 67		gpios-states = <1>;
 68		states = <3300000 1>, <1800000 0>;
 69	};
 70};
 71
 72&avb {
 73	pinctrl-0 = <&avb_pins>;
 74	pinctrl-names = "default";
 75
 76	phy-handle = <&phy3>;
 77	phy-mode = "gmii";
 78	renesas,no-ether-link;
 79	status = "okay";
 80
 81	phy3: ethernet-phy@3 {
 82		reg = <3>;
 83		interrupt-parent = <&gpio5>;
 84		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
 85		micrel,led-mode = <1>;
 86	};
 87};
 88
 89&cmt0 {
 90	status = "okay";
 91};
 92
 93&du {
 94	pinctrl-0 = <&du0_pins>;
 95	pinctrl-names = "default";
 96
 97	status = "okay";
 98
 99	ports {
100		port@0 {
101			endpoint {
102				remote-endpoint = <&bridge_in>;
103			};
104		};
105	};
106};
107
108&ehci1 {
109	status = "okay";
110};
111
112&extal_clk {
113	clock-frequency = <20000000>;
114};
115
116&gpio2 {
117	interrupt-fixup {
118		gpio-hog;
119		gpios = <29 GPIO_ACTIVE_HIGH>;
120		line-name = "hdmi-hpd-int";
121		input;
122	};
123};
124
125&hsusb0 {
126	status = "okay";
127};
128
129&i2c3 {
130	pinctrl-0 = <&i2c3_pins>;
131	pinctrl-names = "default";
132
133	status = "okay";
134	clock-frequency = <400000>;
135
136	rtc@51 {
137		compatible = "nxp,pcf85263";
138		reg = <0x51>;
139	};
140};
141
142&i2c4 {
143	pinctrl-0 = <&i2c4_pins>;
144	pinctrl-names = "default";
145
146	status = "okay";
147	clock-frequency = <100000>;
148
149	hdmi@39 {
150		compatible = "sil,sii9022";
151		reg = <0x39>;
152		interrupt-parent = <&gpio2>;
153		interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
154
155		ports {
156			#address-cells = <1>;
157			#size-cells = <0>;
158
159			port@0 {
160				reg = <0>;
161				bridge_in: endpoint {
162					remote-endpoint = <&du_out_rgb0>;
163				};
164			};
165
166			port@1 {
167				reg = <1>;
168				bridge_out: endpoint {
169					remote-endpoint = <&hdmi_con>;
170				};
171			};
172		};
173	};
174};
175
176&ohci1 {
177	status = "okay";
178};
179
180&pfc {
181	avb_pins: avb {
182		groups = "avb_mdio", "avb_gmii_tx_rx";
183		function = "avb";
184	};
185
186	du0_pins: du0 {
187		groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
188		function = "du0";
189	};
190
191	i2c4_pins: i2c4 {
192		groups = "i2c4_e";
193		function = "i2c4";
194	};
195
196	i2c3_pins: i2c3 {
197		groups = "i2c3_c";
198		function = "i2c3";
199	};
200
201	mmc_pins_uhs: mmc_uhs {
202		groups = "mmc_data8", "mmc_ctrl";
203		function = "mmc";
204		power-source = <1800>;
205	};
206
207	qspi0_pins: qspi0 {
208		groups = "qspi0_ctrl", "qspi0_data2";
209		function = "qspi0";
210	};
211
212	scif1_pins: scif1 {
213		groups = "scif1_data_b";
214		function = "scif1";
215	};
216
217	sdhi2_pins: sd2 {
218		groups = "sdhi2_data4", "sdhi2_ctrl";
219		function = "sdhi2";
220		power-source = <3300>;
221	};
222
223	sdhi2_pins_uhs: sd2_uhs {
224		groups = "sdhi2_data4", "sdhi2_ctrl";
225		function = "sdhi2";
226		power-source = <1800>;
227	};
228
229	usb0_pins: usb0 {
230		groups = "usb0";
231		function = "usb0";
232	};
233
234	usb1_pins: usb1 {
235		groups = "usb1";
236		function = "usb1";
237	};
238};
239
240&qspi0 {
241	pinctrl-0 = <&qspi0_pins>;
242	pinctrl-names = "default";
243
244	status = "okay";
245
246	/* WARNING - This device contains the bootloader. Handle with care. */
247	flash: flash@0 {
248		#address-cells = <1>;
249		#size-cells = <1>;
250		compatible = "issi,is25lp016d", "jedec,spi-nor";
251		reg = <0>;
252		spi-max-frequency = <133000000>;
253		spi-tx-bus-width = <1>;
254		spi-rx-bus-width = <1>;
255		m25p,fast-read;
256		spi-cpol;
257		spi-cpha;
258	};
259};
260
261&rwdt {
262	timeout-sec = <60>;
263	status = "okay";
264};
265
266&scif1 {
267	pinctrl-0 = <&scif1_pins>;
268	pinctrl-names = "default";
269
270	status = "okay";
271};
272
273&sdhi1 {
274	pinctrl-0 = <&mmc_pins_uhs>;
275	pinctrl-names = "state_uhs";
276
277	vmmc-supply = <&reg_3p3v>;
278	vqmmc-supply = <&reg_1p8v>;
279	bus-width = <8>;
280	mmc-hs200-1_8v;
281	non-removable;
282	fixed-emmc-driver-type = <1>;
283	status = "okay";
284};
285
286&sdhi2 {
287	pinctrl-0 = <&sdhi2_pins>;
288	pinctrl-1 = <&sdhi2_pins_uhs>;
289	pinctrl-names = "default", "state_uhs";
290
291	vmmc-supply = <&reg_3p3v>;
292	vqmmc-supply = <&vccq_sdhi2>;
293	bus-width = <4>;
294	cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
295	sd-uhs-sdr50;
296	status = "okay";
297};
298
299&usb2_phy0 {
300	status = "okay";
301};
302
303&usb2_phy1 {
304	status = "okay";
305};
306
307&usbphy0 {
308	pinctrl-0 = <&usb0_pins>;
309	pinctrl-names = "default";
310
311	status = "okay";
312};
313
314&usbphy1 {
315	pinctrl-0 = <&usb1_pins>;
316	pinctrl-names = "default";
317
318	status = "okay";
319};