xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/r8a779h0-gray-hawk-single.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
201950c46SEmmanuel Vadot/*
301950c46SEmmanuel Vadot * Device Tree Source for the R-Car V4M Gray Hawk Single board
401950c46SEmmanuel Vadot *
501950c46SEmmanuel Vadot * Copyright (C) 2023 Renesas Electronics Corp.
601950c46SEmmanuel Vadot * Copyright (C) 2024 Glider bv
701950c46SEmmanuel Vadot */
8*b2d2a78aSEmmanuel Vadot/*
9*b2d2a78aSEmmanuel Vadot * [How to use Sound]
10*b2d2a78aSEmmanuel Vadot *
11*b2d2a78aSEmmanuel Vadot * Because R-Car V4M has only 1 SSI, it cannot handle both Playback/Capture
12*b2d2a78aSEmmanuel Vadot * at the same time. You need to switch the direction which is controlled
13*b2d2a78aSEmmanuel Vadot * by the GP0_01 pin via amixer.
14*b2d2a78aSEmmanuel Vadot *
15*b2d2a78aSEmmanuel Vadot * Playback (CN9500)
16*b2d2a78aSEmmanuel Vadot *	> amixer set "MUX" "Playback"	// for GP0_01
17*b2d2a78aSEmmanuel Vadot *	> amixer set "DAC 1" 85%
18*b2d2a78aSEmmanuel Vadot *	> aplay xxx.wav
19*b2d2a78aSEmmanuel Vadot *
20*b2d2a78aSEmmanuel Vadot * Capture (CN9501)
21*b2d2a78aSEmmanuel Vadot *	> amixer set "MUX" "Capture"	// for GP0_01
22*b2d2a78aSEmmanuel Vadot *	> amixer set "Mic 1" 80%
23*b2d2a78aSEmmanuel Vadot *	> amixer set "ADC 1" on
24*b2d2a78aSEmmanuel Vadot *	> amixer set 'ADC 1' 80%
25*b2d2a78aSEmmanuel Vadot *	> arecord xxx hoge.wav
26*b2d2a78aSEmmanuel Vadot */
2701950c46SEmmanuel Vadot
2801950c46SEmmanuel Vadot/dts-v1/;
2901950c46SEmmanuel Vadot
3001950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
31*b2d2a78aSEmmanuel Vadot#include <dt-bindings/input/input.h>
32*b2d2a78aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
3301950c46SEmmanuel Vadot
3401950c46SEmmanuel Vadot#include "r8a779h0.dtsi"
3501950c46SEmmanuel Vadot
3601950c46SEmmanuel Vadot/ {
3701950c46SEmmanuel Vadot	model = "Renesas Gray Hawk Single board based on r8a779h0";
3801950c46SEmmanuel Vadot	compatible = "renesas,gray-hawk-single", "renesas,r8a779h0";
3901950c46SEmmanuel Vadot
4001950c46SEmmanuel Vadot	aliases {
410e8011faSEmmanuel Vadot		i2c0 = &i2c0;
420e8011faSEmmanuel Vadot		i2c1 = &i2c1;
430e8011faSEmmanuel Vadot		i2c2 = &i2c2;
440e8011faSEmmanuel Vadot		i2c3 = &i2c3;
4501950c46SEmmanuel Vadot		serial0 = &hscif0;
467d0873ebSEmmanuel Vadot		serial1 = &hscif2;
4701950c46SEmmanuel Vadot		ethernet0 = &avb0;
4801950c46SEmmanuel Vadot	};
4901950c46SEmmanuel Vadot
50*b2d2a78aSEmmanuel Vadot	can_transceiver0: can-phy0 {
51*b2d2a78aSEmmanuel Vadot		compatible = "nxp,tjr1443";
52*b2d2a78aSEmmanuel Vadot		#phy-cells = <0>;
53*b2d2a78aSEmmanuel Vadot		enable-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
54*b2d2a78aSEmmanuel Vadot		max-bitrate = <5000000>;
55*b2d2a78aSEmmanuel Vadot	};
56*b2d2a78aSEmmanuel Vadot
5701950c46SEmmanuel Vadot	chosen {
587d0873ebSEmmanuel Vadot		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
5901950c46SEmmanuel Vadot		stdout-path = "serial0:921600n8";
6001950c46SEmmanuel Vadot	};
6101950c46SEmmanuel Vadot
62*b2d2a78aSEmmanuel Vadot	keys {
63*b2d2a78aSEmmanuel Vadot		compatible = "gpio-keys";
64*b2d2a78aSEmmanuel Vadot
65*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&keys_pins>;
66*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
67*b2d2a78aSEmmanuel Vadot
68*b2d2a78aSEmmanuel Vadot		key-1 {
69*b2d2a78aSEmmanuel Vadot			gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
70*b2d2a78aSEmmanuel Vadot			linux,code = <KEY_1>;
71*b2d2a78aSEmmanuel Vadot			label = "SW47";
72*b2d2a78aSEmmanuel Vadot			wakeup-source;
73*b2d2a78aSEmmanuel Vadot			debounce-interval = <20>;
74*b2d2a78aSEmmanuel Vadot		};
75*b2d2a78aSEmmanuel Vadot
76*b2d2a78aSEmmanuel Vadot		key-2 {
77*b2d2a78aSEmmanuel Vadot			gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
78*b2d2a78aSEmmanuel Vadot			linux,code = <KEY_2>;
79*b2d2a78aSEmmanuel Vadot			label = "SW48";
80*b2d2a78aSEmmanuel Vadot			wakeup-source;
81*b2d2a78aSEmmanuel Vadot			debounce-interval = <20>;
82*b2d2a78aSEmmanuel Vadot		};
83*b2d2a78aSEmmanuel Vadot
84*b2d2a78aSEmmanuel Vadot		key-3 {
85*b2d2a78aSEmmanuel Vadot			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
86*b2d2a78aSEmmanuel Vadot			linux,code = <KEY_3>;
87*b2d2a78aSEmmanuel Vadot			label = "SW49";
88*b2d2a78aSEmmanuel Vadot			wakeup-source;
89*b2d2a78aSEmmanuel Vadot			debounce-interval = <20>;
90*b2d2a78aSEmmanuel Vadot		};
91*b2d2a78aSEmmanuel Vadot	};
92*b2d2a78aSEmmanuel Vadot
93*b2d2a78aSEmmanuel Vadot	leds {
94*b2d2a78aSEmmanuel Vadot		compatible = "gpio-leds";
95*b2d2a78aSEmmanuel Vadot
96*b2d2a78aSEmmanuel Vadot		led-1 {
97*b2d2a78aSEmmanuel Vadot			gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
98*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
99*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
100*b2d2a78aSEmmanuel Vadot			function-enumerator = <1>;
101*b2d2a78aSEmmanuel Vadot		};
102*b2d2a78aSEmmanuel Vadot
103*b2d2a78aSEmmanuel Vadot		led-2 {
104*b2d2a78aSEmmanuel Vadot			gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
105*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
106*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
107*b2d2a78aSEmmanuel Vadot			function-enumerator = <2>;
108*b2d2a78aSEmmanuel Vadot		};
109*b2d2a78aSEmmanuel Vadot
110*b2d2a78aSEmmanuel Vadot		led-3 {
111*b2d2a78aSEmmanuel Vadot			gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
112*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
113*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
114*b2d2a78aSEmmanuel Vadot			function-enumerator = <3>;
115*b2d2a78aSEmmanuel Vadot		};
116*b2d2a78aSEmmanuel Vadot	};
117*b2d2a78aSEmmanuel Vadot
11801950c46SEmmanuel Vadot	memory@48000000 {
11901950c46SEmmanuel Vadot		device_type = "memory";
12001950c46SEmmanuel Vadot		/* first 128MB is reserved for secure area. */
12101950c46SEmmanuel Vadot		reg = <0x0 0x48000000 0x0 0x78000000>;
12201950c46SEmmanuel Vadot	};
12301950c46SEmmanuel Vadot
12401950c46SEmmanuel Vadot	memory@480000000 {
12501950c46SEmmanuel Vadot		device_type = "memory";
12601950c46SEmmanuel Vadot		reg = <0x4 0x80000000 0x1 0x80000000>;
12701950c46SEmmanuel Vadot	};
12801950c46SEmmanuel Vadot
12901950c46SEmmanuel Vadot	reg_1p8v: regulator-1p8v {
13001950c46SEmmanuel Vadot			compatible = "regulator-fixed";
13101950c46SEmmanuel Vadot			regulator-name = "fixed-1.8V";
13201950c46SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
13301950c46SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
13401950c46SEmmanuel Vadot			regulator-boot-on;
13501950c46SEmmanuel Vadot			regulator-always-on;
13601950c46SEmmanuel Vadot	};
13701950c46SEmmanuel Vadot
13801950c46SEmmanuel Vadot	reg_3p3v: regulator-3p3v {
13901950c46SEmmanuel Vadot			compatible = "regulator-fixed";
14001950c46SEmmanuel Vadot			regulator-name = "fixed-3.3V";
14101950c46SEmmanuel Vadot			regulator-min-microvolt = <3300000>;
14201950c46SEmmanuel Vadot			regulator-max-microvolt = <3300000>;
14301950c46SEmmanuel Vadot			regulator-boot-on;
14401950c46SEmmanuel Vadot			regulator-always-on;
14501950c46SEmmanuel Vadot	};
146*b2d2a78aSEmmanuel Vadot
147*b2d2a78aSEmmanuel Vadot	sound_mux: sound-mux {
148*b2d2a78aSEmmanuel Vadot		compatible = "simple-audio-mux";
149*b2d2a78aSEmmanuel Vadot		mux-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
150*b2d2a78aSEmmanuel Vadot		state-labels = "Playback", "Capture";
151*b2d2a78aSEmmanuel Vadot	};
152*b2d2a78aSEmmanuel Vadot
153*b2d2a78aSEmmanuel Vadot	sound_card: sound {
154*b2d2a78aSEmmanuel Vadot		compatible = "audio-graph-card2";
155*b2d2a78aSEmmanuel Vadot		label = "rcar-sound";
156*b2d2a78aSEmmanuel Vadot		aux-devs = <&sound_mux>; // for GP0_01
157*b2d2a78aSEmmanuel Vadot
158*b2d2a78aSEmmanuel Vadot		links = <&rsnd_port>; // AK4619 Audio Codec
159*b2d2a78aSEmmanuel Vadot	};
160*b2d2a78aSEmmanuel Vadot};
161*b2d2a78aSEmmanuel Vadot
162*b2d2a78aSEmmanuel Vadot&audio_clkin {
163*b2d2a78aSEmmanuel Vadot	clock-frequency = <24576000>;
16401950c46SEmmanuel Vadot};
16501950c46SEmmanuel Vadot
16601950c46SEmmanuel Vadot&avb0 {
16701950c46SEmmanuel Vadot	pinctrl-0 = <&avb0_pins>;
16801950c46SEmmanuel Vadot	pinctrl-names = "default";
16901950c46SEmmanuel Vadot	phy-handle = <&phy0>;
17001950c46SEmmanuel Vadot	tx-internal-delay-ps = <2000>;
17101950c46SEmmanuel Vadot	status = "okay";
17201950c46SEmmanuel Vadot
17301950c46SEmmanuel Vadot	phy0: ethernet-phy@0 {
17401950c46SEmmanuel Vadot		compatible = "ethernet-phy-id0022.1622",
17501950c46SEmmanuel Vadot			     "ethernet-phy-ieee802.3-c22";
17601950c46SEmmanuel Vadot		rxc-skew-ps = <1500>;
17701950c46SEmmanuel Vadot		reg = <0>;
17801950c46SEmmanuel Vadot		interrupt-parent = <&gpio7>;
17901950c46SEmmanuel Vadot		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
18001950c46SEmmanuel Vadot		reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>;
18101950c46SEmmanuel Vadot	};
18201950c46SEmmanuel Vadot};
18301950c46SEmmanuel Vadot
184*b2d2a78aSEmmanuel Vadot&can_clk {
185*b2d2a78aSEmmanuel Vadot	clock-frequency = <40000000>;
186*b2d2a78aSEmmanuel Vadot};
187*b2d2a78aSEmmanuel Vadot
188*b2d2a78aSEmmanuel Vadot&canfd {
189*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&canfd0_pins>, <&canfd1_pins>, <&can_clk_pins>;
190*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default";
191*b2d2a78aSEmmanuel Vadot	status = "okay";
192*b2d2a78aSEmmanuel Vadot
193*b2d2a78aSEmmanuel Vadot	channel0 {
194*b2d2a78aSEmmanuel Vadot		status = "okay";
195*b2d2a78aSEmmanuel Vadot		phys = <&can_transceiver0>;
196*b2d2a78aSEmmanuel Vadot	};
197*b2d2a78aSEmmanuel Vadot
198*b2d2a78aSEmmanuel Vadot	channel1 {
199*b2d2a78aSEmmanuel Vadot		status = "okay";
200*b2d2a78aSEmmanuel Vadot	};
201*b2d2a78aSEmmanuel Vadot};
202*b2d2a78aSEmmanuel Vadot
20301950c46SEmmanuel Vadot&extal_clk {
20401950c46SEmmanuel Vadot	clock-frequency = <16666666>;
20501950c46SEmmanuel Vadot};
20601950c46SEmmanuel Vadot
20701950c46SEmmanuel Vadot&extalr_clk {
20801950c46SEmmanuel Vadot	clock-frequency = <32768>;
20901950c46SEmmanuel Vadot};
21001950c46SEmmanuel Vadot
211*b2d2a78aSEmmanuel Vadot&gpio1 {
212*b2d2a78aSEmmanuel Vadot	audio-power-hog {
213*b2d2a78aSEmmanuel Vadot		gpio-hog;
214*b2d2a78aSEmmanuel Vadot		gpios = <8 GPIO_ACTIVE_HIGH>;
215*b2d2a78aSEmmanuel Vadot		output-high;
216*b2d2a78aSEmmanuel Vadot		line-name = "Audio-Power";
217*b2d2a78aSEmmanuel Vadot	};
218*b2d2a78aSEmmanuel Vadot};
219*b2d2a78aSEmmanuel Vadot
22001950c46SEmmanuel Vadot&hscif0 {
22101950c46SEmmanuel Vadot	pinctrl-0 = <&hscif0_pins>;
22201950c46SEmmanuel Vadot	pinctrl-names = "default";
22301950c46SEmmanuel Vadot
22401950c46SEmmanuel Vadot	uart-has-rtscts;
22501950c46SEmmanuel Vadot	status = "okay";
22601950c46SEmmanuel Vadot};
22701950c46SEmmanuel Vadot
2287d0873ebSEmmanuel Vadot&hscif2 {
2297d0873ebSEmmanuel Vadot	pinctrl-0 = <&hscif2_pins>;
2307d0873ebSEmmanuel Vadot	pinctrl-names = "default";
2317d0873ebSEmmanuel Vadot
2327d0873ebSEmmanuel Vadot	uart-has-rtscts;
2337d0873ebSEmmanuel Vadot	status = "okay";
2347d0873ebSEmmanuel Vadot};
2357d0873ebSEmmanuel Vadot
23601950c46SEmmanuel Vadot&i2c0 {
23701950c46SEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
23801950c46SEmmanuel Vadot	pinctrl-names = "default";
23901950c46SEmmanuel Vadot
24001950c46SEmmanuel Vadot	status = "okay";
24101950c46SEmmanuel Vadot	clock-frequency = <400000>;
24201950c46SEmmanuel Vadot
24301950c46SEmmanuel Vadot	eeprom@50 {
24401950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
24501950c46SEmmanuel Vadot		label = "cpu-board";
24601950c46SEmmanuel Vadot		reg = <0x50>;
24701950c46SEmmanuel Vadot		pagesize = <8>;
24801950c46SEmmanuel Vadot	};
24901950c46SEmmanuel Vadot
25001950c46SEmmanuel Vadot	eeprom@51 {
25101950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
25201950c46SEmmanuel Vadot		label = "breakout-board";
25301950c46SEmmanuel Vadot		reg = <0x51>;
25401950c46SEmmanuel Vadot		pagesize = <8>;
25501950c46SEmmanuel Vadot	};
25601950c46SEmmanuel Vadot
25701950c46SEmmanuel Vadot	eeprom@52 {
25801950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
25901950c46SEmmanuel Vadot		label = "csi-dsi-sub-board-id";
26001950c46SEmmanuel Vadot		reg = <0x52>;
26101950c46SEmmanuel Vadot		pagesize = <8>;
26201950c46SEmmanuel Vadot	};
26301950c46SEmmanuel Vadot
26401950c46SEmmanuel Vadot	eeprom@53 {
26501950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
26601950c46SEmmanuel Vadot		label = "ethernet-sub-board-id";
26701950c46SEmmanuel Vadot		reg = <0x53>;
26801950c46SEmmanuel Vadot		pagesize = <8>;
26901950c46SEmmanuel Vadot	};
27001950c46SEmmanuel Vadot};
27101950c46SEmmanuel Vadot
272*b2d2a78aSEmmanuel Vadot&i2c3 {
273*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&i2c3_pins>;
274*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default";
275*b2d2a78aSEmmanuel Vadot
276*b2d2a78aSEmmanuel Vadot	status = "okay";
277*b2d2a78aSEmmanuel Vadot	clock-frequency = <400000>;
278*b2d2a78aSEmmanuel Vadot
279*b2d2a78aSEmmanuel Vadot	codec@10 {
280*b2d2a78aSEmmanuel Vadot		compatible = "asahi-kasei,ak4619";
281*b2d2a78aSEmmanuel Vadot		reg = <0x10>;
282*b2d2a78aSEmmanuel Vadot
283*b2d2a78aSEmmanuel Vadot		clocks = <&rcar_sound>;
284*b2d2a78aSEmmanuel Vadot		clock-names = "mclk";
285*b2d2a78aSEmmanuel Vadot
286*b2d2a78aSEmmanuel Vadot		#sound-dai-cells = <0>;
287*b2d2a78aSEmmanuel Vadot		port {
288*b2d2a78aSEmmanuel Vadot			ak4619_endpoint: endpoint {
289*b2d2a78aSEmmanuel Vadot				remote-endpoint = <&rsnd_endpoint>;
290*b2d2a78aSEmmanuel Vadot			};
291*b2d2a78aSEmmanuel Vadot		};
292*b2d2a78aSEmmanuel Vadot	};
293*b2d2a78aSEmmanuel Vadot};
294*b2d2a78aSEmmanuel Vadot
29501950c46SEmmanuel Vadot&mmc0 {
29601950c46SEmmanuel Vadot	pinctrl-0 = <&mmc_pins>;
29701950c46SEmmanuel Vadot	pinctrl-1 = <&mmc_pins>;
29801950c46SEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
29901950c46SEmmanuel Vadot
30001950c46SEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
30101950c46SEmmanuel Vadot	vqmmc-supply = <&reg_1p8v>;
30201950c46SEmmanuel Vadot	mmc-hs200-1_8v;
30301950c46SEmmanuel Vadot	mmc-hs400-1_8v;
30401950c46SEmmanuel Vadot	bus-width = <8>;
30501950c46SEmmanuel Vadot	no-sd;
30601950c46SEmmanuel Vadot	no-sdio;
30701950c46SEmmanuel Vadot	non-removable;
30801950c46SEmmanuel Vadot	full-pwr-cycle-in-suspend;
30901950c46SEmmanuel Vadot	status = "okay";
31001950c46SEmmanuel Vadot};
31101950c46SEmmanuel Vadot
31201950c46SEmmanuel Vadot&pfc {
3137d0873ebSEmmanuel Vadot	pinctrl-0 = <&scif_clk_pins>, <&scif_clk2_pins>;
31401950c46SEmmanuel Vadot	pinctrl-names = "default";
31501950c46SEmmanuel Vadot
31601950c46SEmmanuel Vadot	avb0_pins: avb0 {
31701950c46SEmmanuel Vadot		mux {
31801950c46SEmmanuel Vadot			groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
31901950c46SEmmanuel Vadot				 "avb0_txcrefclk";
32001950c46SEmmanuel Vadot			function = "avb0";
32101950c46SEmmanuel Vadot		};
32201950c46SEmmanuel Vadot
32301950c46SEmmanuel Vadot		pins_mdio {
32401950c46SEmmanuel Vadot			groups = "avb0_mdio";
32501950c46SEmmanuel Vadot			drive-strength = <21>;
32601950c46SEmmanuel Vadot		};
32701950c46SEmmanuel Vadot
32801950c46SEmmanuel Vadot		pins_mii {
32901950c46SEmmanuel Vadot			groups = "avb0_rgmii";
33001950c46SEmmanuel Vadot			drive-strength = <21>;
33101950c46SEmmanuel Vadot		};
33201950c46SEmmanuel Vadot	};
33301950c46SEmmanuel Vadot
334*b2d2a78aSEmmanuel Vadot	can_clk_pins: can-clk {
335*b2d2a78aSEmmanuel Vadot		groups = "can_clk";
336*b2d2a78aSEmmanuel Vadot		function = "can_clk";
337*b2d2a78aSEmmanuel Vadot	};
338*b2d2a78aSEmmanuel Vadot
339*b2d2a78aSEmmanuel Vadot	canfd0_pins: canfd0 {
340*b2d2a78aSEmmanuel Vadot		groups = "canfd0_data";
341*b2d2a78aSEmmanuel Vadot		function = "canfd0";
342*b2d2a78aSEmmanuel Vadot	};
343*b2d2a78aSEmmanuel Vadot
344*b2d2a78aSEmmanuel Vadot	canfd1_pins: canfd1 {
345*b2d2a78aSEmmanuel Vadot		groups = "canfd1_data";
346*b2d2a78aSEmmanuel Vadot		function = "canfd1";
347*b2d2a78aSEmmanuel Vadot	};
348*b2d2a78aSEmmanuel Vadot
34901950c46SEmmanuel Vadot	hscif0_pins: hscif0 {
35001950c46SEmmanuel Vadot		groups = "hscif0_data", "hscif0_ctrl";
35101950c46SEmmanuel Vadot		function = "hscif0";
35201950c46SEmmanuel Vadot	};
35301950c46SEmmanuel Vadot
3547d0873ebSEmmanuel Vadot	hscif2_pins: hscif2 {
3557d0873ebSEmmanuel Vadot		groups = "hscif2_data", "hscif2_ctrl";
3567d0873ebSEmmanuel Vadot		function = "hscif2";
3577d0873ebSEmmanuel Vadot	};
3587d0873ebSEmmanuel Vadot
35901950c46SEmmanuel Vadot	i2c0_pins: i2c0 {
36001950c46SEmmanuel Vadot		groups = "i2c0";
36101950c46SEmmanuel Vadot		function = "i2c0";
36201950c46SEmmanuel Vadot	};
36301950c46SEmmanuel Vadot
364*b2d2a78aSEmmanuel Vadot	i2c3_pins: i2c3 {
365*b2d2a78aSEmmanuel Vadot		groups = "i2c3";
366*b2d2a78aSEmmanuel Vadot		function = "i2c3";
367*b2d2a78aSEmmanuel Vadot	};
368*b2d2a78aSEmmanuel Vadot
369*b2d2a78aSEmmanuel Vadot	keys_pins: keys {
370*b2d2a78aSEmmanuel Vadot		pins = "GP_5_0", "GP_5_1", "GP_5_2";
371*b2d2a78aSEmmanuel Vadot		bias-pull-up;
372*b2d2a78aSEmmanuel Vadot	};
373*b2d2a78aSEmmanuel Vadot
37401950c46SEmmanuel Vadot	mmc_pins: mmc {
37501950c46SEmmanuel Vadot		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
37601950c46SEmmanuel Vadot		function = "mmc";
37701950c46SEmmanuel Vadot		power-source = <1800>;
37801950c46SEmmanuel Vadot	};
37901950c46SEmmanuel Vadot
38001950c46SEmmanuel Vadot	qspi0_pins: qspi0 {
38101950c46SEmmanuel Vadot		groups = "qspi0_ctrl", "qspi0_data4";
38201950c46SEmmanuel Vadot		function = "qspi0";
38301950c46SEmmanuel Vadot	};
38401950c46SEmmanuel Vadot
38501950c46SEmmanuel Vadot	scif_clk_pins: scif-clk {
38601950c46SEmmanuel Vadot		groups = "scif_clk";
38701950c46SEmmanuel Vadot		function = "scif_clk";
38801950c46SEmmanuel Vadot	};
3897d0873ebSEmmanuel Vadot
3907d0873ebSEmmanuel Vadot	scif_clk2_pins: scif-clk2 {
3917d0873ebSEmmanuel Vadot		groups = "scif_clk2";
3927d0873ebSEmmanuel Vadot		function = "scif_clk2";
3937d0873ebSEmmanuel Vadot	};
394*b2d2a78aSEmmanuel Vadot
395*b2d2a78aSEmmanuel Vadot	sound_clk_pins: sound_clk {
396*b2d2a78aSEmmanuel Vadot		groups = "audio_clkin", "audio_clkout";
397*b2d2a78aSEmmanuel Vadot		function = "audio_clk";
398*b2d2a78aSEmmanuel Vadot	};
399*b2d2a78aSEmmanuel Vadot
400*b2d2a78aSEmmanuel Vadot	sound_pins: sound {
401*b2d2a78aSEmmanuel Vadot		groups = "ssi_ctrl", "ssi_data";
402*b2d2a78aSEmmanuel Vadot		function = "ssi";
403*b2d2a78aSEmmanuel Vadot	};
404*b2d2a78aSEmmanuel Vadot};
405*b2d2a78aSEmmanuel Vadot
406*b2d2a78aSEmmanuel Vadot&rcar_sound {
407*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&sound_clk_pins>, <&sound_pins>;
408*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default";
409*b2d2a78aSEmmanuel Vadot
410*b2d2a78aSEmmanuel Vadot	status = "okay";
411*b2d2a78aSEmmanuel Vadot
412*b2d2a78aSEmmanuel Vadot	/* audio_clkout */
413*b2d2a78aSEmmanuel Vadot	clock-frequency = <12288000>;
414*b2d2a78aSEmmanuel Vadot
415*b2d2a78aSEmmanuel Vadot	ports {
416*b2d2a78aSEmmanuel Vadot		rsnd_port: port {
417*b2d2a78aSEmmanuel Vadot			rsnd_endpoint: endpoint {
418*b2d2a78aSEmmanuel Vadot				remote-endpoint = <&ak4619_endpoint>;
419*b2d2a78aSEmmanuel Vadot				bitclock-master;
420*b2d2a78aSEmmanuel Vadot				frame-master;
421*b2d2a78aSEmmanuel Vadot
422*b2d2a78aSEmmanuel Vadot				/* see above [How to use Sound] */
423*b2d2a78aSEmmanuel Vadot				playback = <&ssi0>;
424*b2d2a78aSEmmanuel Vadot				capture  = <&ssi0>;
425*b2d2a78aSEmmanuel Vadot			};
426*b2d2a78aSEmmanuel Vadot		};
427*b2d2a78aSEmmanuel Vadot	};
42801950c46SEmmanuel Vadot};
42901950c46SEmmanuel Vadot
43001950c46SEmmanuel Vadot&rpc {
43101950c46SEmmanuel Vadot	pinctrl-0 = <&qspi0_pins>;
43201950c46SEmmanuel Vadot	pinctrl-names = "default";
43301950c46SEmmanuel Vadot
43401950c46SEmmanuel Vadot	status = "okay";
43501950c46SEmmanuel Vadot
43601950c46SEmmanuel Vadot	flash@0 {
43701950c46SEmmanuel Vadot		compatible = "spansion,s25fs512s", "jedec,spi-nor";
43801950c46SEmmanuel Vadot		reg = <0>;
43901950c46SEmmanuel Vadot		spi-max-frequency = <40000000>;
44001950c46SEmmanuel Vadot		spi-rx-bus-width = <4>;
44101950c46SEmmanuel Vadot
44201950c46SEmmanuel Vadot		partitions {
44301950c46SEmmanuel Vadot			compatible = "fixed-partitions";
44401950c46SEmmanuel Vadot			#address-cells = <1>;
44501950c46SEmmanuel Vadot			#size-cells = <1>;
44601950c46SEmmanuel Vadot
44701950c46SEmmanuel Vadot			boot@0 {
44801950c46SEmmanuel Vadot				reg = <0x0 0x1200000>;
44901950c46SEmmanuel Vadot				read-only;
45001950c46SEmmanuel Vadot			};
45101950c46SEmmanuel Vadot			user@1200000 {
45201950c46SEmmanuel Vadot				reg = <0x1200000 0x2e00000>;
45301950c46SEmmanuel Vadot			};
45401950c46SEmmanuel Vadot		};
45501950c46SEmmanuel Vadot	};
45601950c46SEmmanuel Vadot};
45701950c46SEmmanuel Vadot
45801950c46SEmmanuel Vadot&rwdt {
45901950c46SEmmanuel Vadot	timeout-sec = <60>;
46001950c46SEmmanuel Vadot	status = "okay";
46101950c46SEmmanuel Vadot};
46201950c46SEmmanuel Vadot
46301950c46SEmmanuel Vadot&scif_clk {
46401950c46SEmmanuel Vadot	clock-frequency = <24000000>;
46501950c46SEmmanuel Vadot};
4667d0873ebSEmmanuel Vadot
4677d0873ebSEmmanuel Vadot&scif_clk2 {
4687d0873ebSEmmanuel Vadot	clock-frequency = <24000000>;
4697d0873ebSEmmanuel Vadot};
470