163070d7cSYoshihiro Shimoda// SPDX-License-Identifier: GPL-2.0
263070d7cSYoshihiro Shimoda/*
363070d7cSYoshihiro Shimoda * Device Tree Source for the Falcon CPU board
463070d7cSYoshihiro Shimoda *
563070d7cSYoshihiro Shimoda * Copyright (C) 2020 Renesas Electronics Corp.
663070d7cSYoshihiro Shimoda */
763070d7cSYoshihiro Shimoda
8e8ac55a5SWolfram Sang#include <dt-bindings/gpio/gpio.h>
95e8c83b3SKieran Bingham#include <dt-bindings/input/input.h>
109d68a386SKieran Bingham#include <dt-bindings/leds/common.h>
119d68a386SKieran Bingham
1263070d7cSYoshihiro Shimoda#include "r8a779a0.dtsi"
1363070d7cSYoshihiro Shimoda
1463070d7cSYoshihiro Shimoda/ {
1563070d7cSYoshihiro Shimoda	model = "Renesas Falcon CPU board";
1663070d7cSYoshihiro Shimoda	compatible = "renesas,falcon-cpu", "renesas,r8a779a0";
1763070d7cSYoshihiro Shimoda
18e86ff34cSGeert Uytterhoeven	aliases {
19e86ff34cSGeert Uytterhoeven		serial0 = &scif0;
20e86ff34cSGeert Uytterhoeven	};
21e86ff34cSGeert Uytterhoeven
22e86ff34cSGeert Uytterhoeven	chosen {
23e86ff34cSGeert Uytterhoeven		stdout-path = "serial0:115200n8";
24e86ff34cSGeert Uytterhoeven	};
25e86ff34cSGeert Uytterhoeven
265e8c83b3SKieran Bingham	keys {
275e8c83b3SKieran Bingham		compatible = "gpio-keys";
285e8c83b3SKieran Bingham
295e8c83b3SKieran Bingham		pinctrl-0 = <&keys_pins>;
305e8c83b3SKieran Bingham		pinctrl-names = "default";
315e8c83b3SKieran Bingham
325e8c83b3SKieran Bingham		key-1 {
335e8c83b3SKieran Bingham			gpios = <&gpio6 18 GPIO_ACTIVE_LOW>;
345e8c83b3SKieran Bingham			linux,code = <KEY_1>;
355e8c83b3SKieran Bingham			label = "SW47";
365e8c83b3SKieran Bingham			wakeup-source;
375e8c83b3SKieran Bingham			debounce-interval = <20>;
385e8c83b3SKieran Bingham		};
395e8c83b3SKieran Bingham
405e8c83b3SKieran Bingham		key-2 {
415e8c83b3SKieran Bingham			gpios = <&gpio6 19 GPIO_ACTIVE_LOW>;
425e8c83b3SKieran Bingham			linux,code = <KEY_2>;
435e8c83b3SKieran Bingham			label = "SW48";
445e8c83b3SKieran Bingham			wakeup-source;
455e8c83b3SKieran Bingham			debounce-interval = <20>;
465e8c83b3SKieran Bingham		};
475e8c83b3SKieran Bingham
485e8c83b3SKieran Bingham		key-3 {
495e8c83b3SKieran Bingham			gpios = <&gpio6 20 GPIO_ACTIVE_LOW>;
505e8c83b3SKieran Bingham			linux,code = <KEY_3>;
515e8c83b3SKieran Bingham			label = "SW49";
525e8c83b3SKieran Bingham			wakeup-source;
535e8c83b3SKieran Bingham			debounce-interval = <20>;
545e8c83b3SKieran Bingham		};
555e8c83b3SKieran Bingham	};
565e8c83b3SKieran Bingham
579d68a386SKieran Bingham	leds {
589d68a386SKieran Bingham		compatible = "gpio-leds";
599d68a386SKieran Bingham
609d68a386SKieran Bingham		led-1 {
619d68a386SKieran Bingham			gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;
629d68a386SKieran Bingham			color = <LED_COLOR_ID_GREEN>;
639d68a386SKieran Bingham			function = LED_FUNCTION_INDICATOR;
649d68a386SKieran Bingham			function-enumerator = <1>;
659d68a386SKieran Bingham		};
669d68a386SKieran Bingham		led-2 {
679d68a386SKieran Bingham			gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
689d68a386SKieran Bingham			color = <LED_COLOR_ID_GREEN>;
699d68a386SKieran Bingham			function = LED_FUNCTION_INDICATOR;
709d68a386SKieran Bingham			function-enumerator = <2>;
719d68a386SKieran Bingham		};
729d68a386SKieran Bingham		led-3 {
739d68a386SKieran Bingham			gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;
749d68a386SKieran Bingham			color = <LED_COLOR_ID_GREEN>;
759d68a386SKieran Bingham			function = LED_FUNCTION_INDICATOR;
769d68a386SKieran Bingham			function-enumerator = <3>;
779d68a386SKieran Bingham		};
789d68a386SKieran Bingham	};
799d68a386SKieran Bingham
8063070d7cSYoshihiro Shimoda	memory@48000000 {
8163070d7cSYoshihiro Shimoda		device_type = "memory";
8263070d7cSYoshihiro Shimoda		/* first 128MB is reserved for secure area. */
8363070d7cSYoshihiro Shimoda		reg = <0x0 0x48000000 0x0 0x78000000>;
8463070d7cSYoshihiro Shimoda	};
8563070d7cSYoshihiro Shimoda
8663070d7cSYoshihiro Shimoda	memory@500000000 {
8763070d7cSYoshihiro Shimoda		device_type = "memory";
8863070d7cSYoshihiro Shimoda		reg = <0x5 0x00000000 0x0 0x80000000>;
8963070d7cSYoshihiro Shimoda	};
9063070d7cSYoshihiro Shimoda
9163070d7cSYoshihiro Shimoda	memory@600000000 {
9263070d7cSYoshihiro Shimoda		device_type = "memory";
9363070d7cSYoshihiro Shimoda		reg = <0x6 0x00000000 0x0 0x80000000>;
9463070d7cSYoshihiro Shimoda	};
9563070d7cSYoshihiro Shimoda
9663070d7cSYoshihiro Shimoda	memory@700000000 {
9763070d7cSYoshihiro Shimoda		device_type = "memory";
9863070d7cSYoshihiro Shimoda		reg = <0x7 0x00000000 0x0 0x80000000>;
9963070d7cSYoshihiro Shimoda	};
100ee33cd69STakeshi Saito
101*5a6bca1fSKieran Bingham	mini-dp-con {
102*5a6bca1fSKieran Bingham		compatible = "dp-connector";
103*5a6bca1fSKieran Bingham		label = "CN5";
104*5a6bca1fSKieran Bingham		type = "mini";
105*5a6bca1fSKieran Bingham
106*5a6bca1fSKieran Bingham		port {
107*5a6bca1fSKieran Bingham			mini_dp_con_in: endpoint {
108*5a6bca1fSKieran Bingham				remote-endpoint = <&sn65dsi86_out>;
109*5a6bca1fSKieran Bingham			};
110*5a6bca1fSKieran Bingham		};
111*5a6bca1fSKieran Bingham	};
112*5a6bca1fSKieran Bingham
113*5a6bca1fSKieran Bingham	reg_1p2v: regulator-1p2v {
114*5a6bca1fSKieran Bingham		compatible = "regulator-fixed";
115*5a6bca1fSKieran Bingham		regulator-name = "fixed-1.2V";
116*5a6bca1fSKieran Bingham		regulator-min-microvolt = <1200000>;
117*5a6bca1fSKieran Bingham		regulator-max-microvolt = <1200000>;
118*5a6bca1fSKieran Bingham		regulator-boot-on;
119*5a6bca1fSKieran Bingham		regulator-always-on;
120*5a6bca1fSKieran Bingham	};
121*5a6bca1fSKieran Bingham
122ee33cd69STakeshi Saito	reg_1p8v: regulator-1p8v {
123ee33cd69STakeshi Saito		compatible = "regulator-fixed";
124ee33cd69STakeshi Saito		regulator-name = "fixed-1.8V";
125ee33cd69STakeshi Saito		regulator-min-microvolt = <1800000>;
126ee33cd69STakeshi Saito		regulator-max-microvolt = <1800000>;
127ee33cd69STakeshi Saito		regulator-boot-on;
128ee33cd69STakeshi Saito		regulator-always-on;
129ee33cd69STakeshi Saito	};
130ee33cd69STakeshi Saito
131ee33cd69STakeshi Saito	reg_3p3v: regulator-3p3v {
132ee33cd69STakeshi Saito		compatible = "regulator-fixed";
133ee33cd69STakeshi Saito		regulator-name = "fixed-3.3V";
134ee33cd69STakeshi Saito		regulator-min-microvolt = <3300000>;
135ee33cd69STakeshi Saito		regulator-max-microvolt = <3300000>;
136ee33cd69STakeshi Saito		regulator-boot-on;
137ee33cd69STakeshi Saito		regulator-always-on;
138ee33cd69STakeshi Saito	};
139*5a6bca1fSKieran Bingham
140*5a6bca1fSKieran Bingham	sn65dsi86_refclk: clk-x6 {
141*5a6bca1fSKieran Bingham		compatible = "fixed-clock";
142*5a6bca1fSKieran Bingham		#clock-cells = <0>;
143*5a6bca1fSKieran Bingham		clock-frequency = <38400000>;
144*5a6bca1fSKieran Bingham	};
145*5a6bca1fSKieran Bingham};
146*5a6bca1fSKieran Bingham
147*5a6bca1fSKieran Bingham&dsi0 {
148*5a6bca1fSKieran Bingham	status = "okay";
149*5a6bca1fSKieran Bingham
150*5a6bca1fSKieran Bingham	ports {
151*5a6bca1fSKieran Bingham		port@1 {
152*5a6bca1fSKieran Bingham			dsi0_out: endpoint {
153*5a6bca1fSKieran Bingham				remote-endpoint = <&sn65dsi86_in>;
154*5a6bca1fSKieran Bingham				data-lanes = <1 2 3 4>;
155*5a6bca1fSKieran Bingham			};
156*5a6bca1fSKieran Bingham		};
157*5a6bca1fSKieran Bingham	};
158*5a6bca1fSKieran Bingham};
159*5a6bca1fSKieran Bingham
160*5a6bca1fSKieran Bingham&du {
161*5a6bca1fSKieran Bingham	status = "okay";
16263070d7cSYoshihiro Shimoda};
16363070d7cSYoshihiro Shimoda
16463070d7cSYoshihiro Shimoda&extal_clk {
16563070d7cSYoshihiro Shimoda	clock-frequency = <16666666>;
16663070d7cSYoshihiro Shimoda};
16763070d7cSYoshihiro Shimoda
16863070d7cSYoshihiro Shimoda&extalr_clk {
16963070d7cSYoshihiro Shimoda	clock-frequency = <32768>;
17063070d7cSYoshihiro Shimoda};
17163070d7cSYoshihiro Shimoda
1720e6fb83eSWolfram Sang&i2c0 {
1730e6fb83eSWolfram Sang	pinctrl-0 = <&i2c0_pins>;
1740e6fb83eSWolfram Sang	pinctrl-names = "default";
1750e6fb83eSWolfram Sang
1760e6fb83eSWolfram Sang	status = "okay";
1770e6fb83eSWolfram Sang	clock-frequency = <400000>;
178405daa39SGeert Uytterhoeven
179405daa39SGeert Uytterhoeven	eeprom@50 {
180405daa39SGeert Uytterhoeven		compatible = "rohm,br24g01", "atmel,24c01";
181405daa39SGeert Uytterhoeven		label = "cpu-board";
182405daa39SGeert Uytterhoeven		reg = <0x50>;
183405daa39SGeert Uytterhoeven		pagesize = <8>;
184405daa39SGeert Uytterhoeven	};
1850e6fb83eSWolfram Sang};
1860e6fb83eSWolfram Sang
1870e6fb83eSWolfram Sang&i2c1 {
1880e6fb83eSWolfram Sang	pinctrl-0 = <&i2c1_pins>;
1890e6fb83eSWolfram Sang	pinctrl-names = "default";
1900e6fb83eSWolfram Sang
1910e6fb83eSWolfram Sang	status = "okay";
1920e6fb83eSWolfram Sang	clock-frequency = <400000>;
193*5a6bca1fSKieran Bingham
194*5a6bca1fSKieran Bingham	bridge@2c {
195*5a6bca1fSKieran Bingham		compatible = "ti,sn65dsi86";
196*5a6bca1fSKieran Bingham		reg = <0x2c>;
197*5a6bca1fSKieran Bingham
198*5a6bca1fSKieran Bingham		clocks = <&sn65dsi86_refclk>;
199*5a6bca1fSKieran Bingham		clock-names = "refclk";
200*5a6bca1fSKieran Bingham
201*5a6bca1fSKieran Bingham		interrupt-parent = <&gpio1>;
202*5a6bca1fSKieran Bingham		interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
203*5a6bca1fSKieran Bingham
204*5a6bca1fSKieran Bingham		vccio-supply = <&reg_1p8v>;
205*5a6bca1fSKieran Bingham		vpll-supply = <&reg_1p8v>;
206*5a6bca1fSKieran Bingham		vcca-supply = <&reg_1p2v>;
207*5a6bca1fSKieran Bingham		vcc-supply = <&reg_1p2v>;
208*5a6bca1fSKieran Bingham
209*5a6bca1fSKieran Bingham		ports {
210*5a6bca1fSKieran Bingham			#address-cells = <1>;
211*5a6bca1fSKieran Bingham			#size-cells = <0>;
212*5a6bca1fSKieran Bingham
213*5a6bca1fSKieran Bingham			port@0 {
214*5a6bca1fSKieran Bingham				reg = <0>;
215*5a6bca1fSKieran Bingham				sn65dsi86_in: endpoint {
216*5a6bca1fSKieran Bingham					remote-endpoint = <&dsi0_out>;
217*5a6bca1fSKieran Bingham				};
218*5a6bca1fSKieran Bingham			};
219*5a6bca1fSKieran Bingham
220*5a6bca1fSKieran Bingham			port@1 {
221*5a6bca1fSKieran Bingham				reg = <1>;
222*5a6bca1fSKieran Bingham				sn65dsi86_out: endpoint {
223*5a6bca1fSKieran Bingham					remote-endpoint = <&mini_dp_con_in>;
224*5a6bca1fSKieran Bingham				};
225*5a6bca1fSKieran Bingham			};
226*5a6bca1fSKieran Bingham		};
227*5a6bca1fSKieran Bingham	};
2280e6fb83eSWolfram Sang};
2290e6fb83eSWolfram Sang
2300e6fb83eSWolfram Sang&i2c6 {
2310e6fb83eSWolfram Sang	pinctrl-0 = <&i2c6_pins>;
2320e6fb83eSWolfram Sang	pinctrl-names = "default";
2330e6fb83eSWolfram Sang
2340e6fb83eSWolfram Sang	status = "okay";
2350e6fb83eSWolfram Sang	clock-frequency = <400000>;
2360e6fb83eSWolfram Sang};
2370e6fb83eSWolfram Sang
238ee33cd69STakeshi Saito&mmc0 {
239ee33cd69STakeshi Saito	pinctrl-0 = <&mmc_pins>;
240ee33cd69STakeshi Saito	pinctrl-1 = <&mmc_pins>;
241ee33cd69STakeshi Saito	pinctrl-names = "default", "state_uhs";
242ee33cd69STakeshi Saito
243ee33cd69STakeshi Saito	vmmc-supply = <&reg_3p3v>;
244ee33cd69STakeshi Saito	vqmmc-supply = <&reg_1p8v>;
245ee33cd69STakeshi Saito	mmc-hs200-1_8v;
246ee33cd69STakeshi Saito	mmc-hs400-1_8v;
247ee33cd69STakeshi Saito	bus-width = <8>;
248ee33cd69STakeshi Saito	no-sd;
249ee33cd69STakeshi Saito	no-sdio;
250ee33cd69STakeshi Saito	non-removable;
251ee33cd69STakeshi Saito	full-pwr-cycle-in-suspend;
252ee33cd69STakeshi Saito	status = "okay";
253ee33cd69STakeshi Saito};
254ee33cd69STakeshi Saito
2550e6fb83eSWolfram Sang&pfc {
2569e921faaSWolfram Sang	pinctrl-0 = <&scif_clk_pins>;
2579e921faaSWolfram Sang	pinctrl-names = "default";
2589e921faaSWolfram Sang
2590e6fb83eSWolfram Sang	i2c0_pins: i2c0 {
2600e6fb83eSWolfram Sang		groups = "i2c0";
2610e6fb83eSWolfram Sang		function = "i2c0";
2620e6fb83eSWolfram Sang	};
2630e6fb83eSWolfram Sang
2640e6fb83eSWolfram Sang	i2c1_pins: i2c1 {
2650e6fb83eSWolfram Sang		groups = "i2c1";
2660e6fb83eSWolfram Sang		function = "i2c1";
2670e6fb83eSWolfram Sang	};
2680e6fb83eSWolfram Sang
2690e6fb83eSWolfram Sang	i2c6_pins: i2c6 {
2700e6fb83eSWolfram Sang		groups = "i2c6";
2710e6fb83eSWolfram Sang		function = "i2c6";
2720e6fb83eSWolfram Sang	};
2739e921faaSWolfram Sang
2745e8c83b3SKieran Bingham	keys_pins: keys {
2755e8c83b3SKieran Bingham		pins = "GP_6_18", "GP_6_19", "GP_6_20";
2765e8c83b3SKieran Bingham		bias-pull-up;
2775e8c83b3SKieran Bingham	};
2785e8c83b3SKieran Bingham
279ee33cd69STakeshi Saito	mmc_pins: mmc {
280ee33cd69STakeshi Saito		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
281ee33cd69STakeshi Saito		function = "mmc";
282ee33cd69STakeshi Saito		power-source = <1800>;
283ee33cd69STakeshi Saito	};
284ee33cd69STakeshi Saito
285f28daeedSWolfram Sang	qspi0_pins: qspi0 {
286f28daeedSWolfram Sang		groups = "qspi0_ctrl", "qspi0_data4";
287f28daeedSWolfram Sang		function = "qspi0";
288f28daeedSWolfram Sang	};
289f28daeedSWolfram Sang
2909e921faaSWolfram Sang	scif0_pins: scif0 {
2919e921faaSWolfram Sang		groups = "scif0_data", "scif0_ctrl";
2929e921faaSWolfram Sang		function = "scif0";
2939e921faaSWolfram Sang	};
2949e921faaSWolfram Sang
2959e921faaSWolfram Sang	scif_clk_pins: scif_clk {
2969e921faaSWolfram Sang		groups = "scif_clk";
2979e921faaSWolfram Sang		function = "scif_clk";
2989e921faaSWolfram Sang	};
2990e6fb83eSWolfram Sang};
3000e6fb83eSWolfram Sang
301f28daeedSWolfram Sang&rpc {
302f28daeedSWolfram Sang	pinctrl-0 = <&qspi0_pins>;
303f28daeedSWolfram Sang	pinctrl-names = "default";
304f28daeedSWolfram Sang
305f28daeedSWolfram Sang	status = "okay";
306f28daeedSWolfram Sang
307f28daeedSWolfram Sang	flash@0 {
308f28daeedSWolfram Sang		compatible = "spansion,s25fs512s", "jedec,spi-nor";
309f28daeedSWolfram Sang		reg = <0>;
310f28daeedSWolfram Sang		spi-max-frequency = <40000000>;
311f28daeedSWolfram Sang		spi-rx-bus-width = <4>;
312f28daeedSWolfram Sang
313f28daeedSWolfram Sang		partitions {
314f28daeedSWolfram Sang			compatible = "fixed-partitions";
315f28daeedSWolfram Sang			#address-cells = <1>;
316f28daeedSWolfram Sang			#size-cells = <1>;
317f28daeedSWolfram Sang
318f28daeedSWolfram Sang			boot@0 {
319f28daeedSWolfram Sang				reg = <0x0 0xcc0000>;
320f28daeedSWolfram Sang				read-only;
321f28daeedSWolfram Sang			};
322f28daeedSWolfram Sang			user@cc0000 {
323f28daeedSWolfram Sang				reg = <0xcc0000 0x3340000>;
324f28daeedSWolfram Sang			};
325f28daeedSWolfram Sang		};
326f28daeedSWolfram Sang	};
327f28daeedSWolfram Sang};
328f28daeedSWolfram Sang
3290fc129baSGeert Uytterhoeven&rwdt {
3300fc129baSGeert Uytterhoeven	timeout-sec = <60>;
3310fc129baSGeert Uytterhoeven	status = "okay";
3320fc129baSGeert Uytterhoeven};
3330fc129baSGeert Uytterhoeven
33463070d7cSYoshihiro Shimoda&scif0 {
3359e921faaSWolfram Sang	pinctrl-0 = <&scif0_pins>;
3369e921faaSWolfram Sang	pinctrl-names = "default";
3379e921faaSWolfram Sang
3389e921faaSWolfram Sang	uart-has-rtscts;
33963070d7cSYoshihiro Shimoda	status = "okay";
34063070d7cSYoshihiro Shimoda};
3419e921faaSWolfram Sang
3429e921faaSWolfram Sang&scif_clk {
3439e921faaSWolfram Sang	clock-frequency = <24000000>;
3449e921faaSWolfram Sang};
345