xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r8a779a0-falcon-cpu.dtsi (revision 9a4259e59694136add708608fce861a1beff9635)
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
1015a6bca1fSKieran Bingham	mini-dp-con {
1025a6bca1fSKieran Bingham		compatible = "dp-connector";
1035a6bca1fSKieran Bingham		label = "CN5";
1045a6bca1fSKieran Bingham		type = "mini";
1055a6bca1fSKieran Bingham
1065a6bca1fSKieran Bingham		port {
1075a6bca1fSKieran Bingham			mini_dp_con_in: endpoint {
1085a6bca1fSKieran Bingham				remote-endpoint = <&sn65dsi86_out>;
1095a6bca1fSKieran Bingham			};
1105a6bca1fSKieran Bingham		};
1115a6bca1fSKieran Bingham	};
1125a6bca1fSKieran Bingham
1135a6bca1fSKieran Bingham	reg_1p2v: regulator-1p2v {
1145a6bca1fSKieran Bingham		compatible = "regulator-fixed";
1155a6bca1fSKieran Bingham		regulator-name = "fixed-1.2V";
1165a6bca1fSKieran Bingham		regulator-min-microvolt = <1200000>;
1175a6bca1fSKieran Bingham		regulator-max-microvolt = <1200000>;
1185a6bca1fSKieran Bingham		regulator-boot-on;
1195a6bca1fSKieran Bingham		regulator-always-on;
1205a6bca1fSKieran Bingham	};
1215a6bca1fSKieran 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	};
1395a6bca1fSKieran Bingham
1405a6bca1fSKieran Bingham	sn65dsi86_refclk: clk-x6 {
1415a6bca1fSKieran Bingham		compatible = "fixed-clock";
1425a6bca1fSKieran Bingham		#clock-cells = <0>;
1435a6bca1fSKieran Bingham		clock-frequency = <38400000>;
1445a6bca1fSKieran Bingham	};
1455a6bca1fSKieran Bingham};
1465a6bca1fSKieran Bingham
1475a6bca1fSKieran Bingham&dsi0 {
1485a6bca1fSKieran Bingham	status = "okay";
1495a6bca1fSKieran Bingham
1505a6bca1fSKieran Bingham	ports {
1515a6bca1fSKieran Bingham		port@1 {
1525a6bca1fSKieran Bingham			dsi0_out: endpoint {
1535a6bca1fSKieran Bingham				remote-endpoint = <&sn65dsi86_in>;
1545a6bca1fSKieran Bingham				data-lanes = <1 2 3 4>;
1555a6bca1fSKieran Bingham			};
1565a6bca1fSKieran Bingham		};
1575a6bca1fSKieran Bingham	};
1585a6bca1fSKieran Bingham};
1595a6bca1fSKieran Bingham
1605a6bca1fSKieran Bingham&du {
1615a6bca1fSKieran 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>;
1935a6bca1fSKieran Bingham
1945a6bca1fSKieran Bingham	bridge@2c {
195*9a4259e5SKieran Bingham		pinctrl-0 = <&irq0_pins>;
196*9a4259e5SKieran Bingham		pinctrl-names = "default";
197*9a4259e5SKieran Bingham
1985a6bca1fSKieran Bingham		compatible = "ti,sn65dsi86";
1995a6bca1fSKieran Bingham		reg = <0x2c>;
2005a6bca1fSKieran Bingham
2015a6bca1fSKieran Bingham		clocks = <&sn65dsi86_refclk>;
2025a6bca1fSKieran Bingham		clock-names = "refclk";
2035a6bca1fSKieran Bingham
204*9a4259e5SKieran Bingham		interrupt-parent = <&intc_ex>;
205*9a4259e5SKieran Bingham		interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
2065a6bca1fSKieran Bingham
2075a6bca1fSKieran Bingham		vccio-supply = <&reg_1p8v>;
2085a6bca1fSKieran Bingham		vpll-supply = <&reg_1p8v>;
2095a6bca1fSKieran Bingham		vcca-supply = <&reg_1p2v>;
2105a6bca1fSKieran Bingham		vcc-supply = <&reg_1p2v>;
2115a6bca1fSKieran Bingham
2125a6bca1fSKieran Bingham		ports {
2135a6bca1fSKieran Bingham			#address-cells = <1>;
2145a6bca1fSKieran Bingham			#size-cells = <0>;
2155a6bca1fSKieran Bingham
2165a6bca1fSKieran Bingham			port@0 {
2175a6bca1fSKieran Bingham				reg = <0>;
2185a6bca1fSKieran Bingham				sn65dsi86_in: endpoint {
2195a6bca1fSKieran Bingham					remote-endpoint = <&dsi0_out>;
2205a6bca1fSKieran Bingham				};
2215a6bca1fSKieran Bingham			};
2225a6bca1fSKieran Bingham
2235a6bca1fSKieran Bingham			port@1 {
2245a6bca1fSKieran Bingham				reg = <1>;
2255a6bca1fSKieran Bingham				sn65dsi86_out: endpoint {
2265a6bca1fSKieran Bingham					remote-endpoint = <&mini_dp_con_in>;
2275a6bca1fSKieran Bingham				};
2285a6bca1fSKieran Bingham			};
2295a6bca1fSKieran Bingham		};
2305a6bca1fSKieran Bingham	};
2310e6fb83eSWolfram Sang};
2320e6fb83eSWolfram Sang
2330e6fb83eSWolfram Sang&i2c6 {
2340e6fb83eSWolfram Sang	pinctrl-0 = <&i2c6_pins>;
2350e6fb83eSWolfram Sang	pinctrl-names = "default";
2360e6fb83eSWolfram Sang
2370e6fb83eSWolfram Sang	status = "okay";
2380e6fb83eSWolfram Sang	clock-frequency = <400000>;
2390e6fb83eSWolfram Sang};
2400e6fb83eSWolfram Sang
241ee33cd69STakeshi Saito&mmc0 {
242ee33cd69STakeshi Saito	pinctrl-0 = <&mmc_pins>;
243ee33cd69STakeshi Saito	pinctrl-1 = <&mmc_pins>;
244ee33cd69STakeshi Saito	pinctrl-names = "default", "state_uhs";
245ee33cd69STakeshi Saito
246ee33cd69STakeshi Saito	vmmc-supply = <&reg_3p3v>;
247ee33cd69STakeshi Saito	vqmmc-supply = <&reg_1p8v>;
248ee33cd69STakeshi Saito	mmc-hs200-1_8v;
249ee33cd69STakeshi Saito	mmc-hs400-1_8v;
250ee33cd69STakeshi Saito	bus-width = <8>;
251ee33cd69STakeshi Saito	no-sd;
252ee33cd69STakeshi Saito	no-sdio;
253ee33cd69STakeshi Saito	non-removable;
254ee33cd69STakeshi Saito	full-pwr-cycle-in-suspend;
255ee33cd69STakeshi Saito	status = "okay";
256ee33cd69STakeshi Saito};
257ee33cd69STakeshi Saito
2580e6fb83eSWolfram Sang&pfc {
2599e921faaSWolfram Sang	pinctrl-0 = <&scif_clk_pins>;
2609e921faaSWolfram Sang	pinctrl-names = "default";
2619e921faaSWolfram Sang
2620e6fb83eSWolfram Sang	i2c0_pins: i2c0 {
2630e6fb83eSWolfram Sang		groups = "i2c0";
2640e6fb83eSWolfram Sang		function = "i2c0";
2650e6fb83eSWolfram Sang	};
2660e6fb83eSWolfram Sang
2670e6fb83eSWolfram Sang	i2c1_pins: i2c1 {
2680e6fb83eSWolfram Sang		groups = "i2c1";
2690e6fb83eSWolfram Sang		function = "i2c1";
2700e6fb83eSWolfram Sang	};
2710e6fb83eSWolfram Sang
2720e6fb83eSWolfram Sang	i2c6_pins: i2c6 {
2730e6fb83eSWolfram Sang		groups = "i2c6";
2740e6fb83eSWolfram Sang		function = "i2c6";
2750e6fb83eSWolfram Sang	};
2769e921faaSWolfram Sang
277*9a4259e5SKieran Bingham	irq0_pins: irq0 {
278*9a4259e5SKieran Bingham		groups = "intc_ex_irq0";
279*9a4259e5SKieran Bingham		function = "intc_ex";
280*9a4259e5SKieran Bingham	};
281*9a4259e5SKieran Bingham
2825e8c83b3SKieran Bingham	keys_pins: keys {
2835e8c83b3SKieran Bingham		pins = "GP_6_18", "GP_6_19", "GP_6_20";
2845e8c83b3SKieran Bingham		bias-pull-up;
2855e8c83b3SKieran Bingham	};
2865e8c83b3SKieran Bingham
287ee33cd69STakeshi Saito	mmc_pins: mmc {
288ee33cd69STakeshi Saito		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
289ee33cd69STakeshi Saito		function = "mmc";
290ee33cd69STakeshi Saito		power-source = <1800>;
291ee33cd69STakeshi Saito	};
292ee33cd69STakeshi Saito
293f28daeedSWolfram Sang	qspi0_pins: qspi0 {
294f28daeedSWolfram Sang		groups = "qspi0_ctrl", "qspi0_data4";
295f28daeedSWolfram Sang		function = "qspi0";
296f28daeedSWolfram Sang	};
297f28daeedSWolfram Sang
2989e921faaSWolfram Sang	scif0_pins: scif0 {
2999e921faaSWolfram Sang		groups = "scif0_data", "scif0_ctrl";
3009e921faaSWolfram Sang		function = "scif0";
3019e921faaSWolfram Sang	};
3029e921faaSWolfram Sang
3039e921faaSWolfram Sang	scif_clk_pins: scif_clk {
3049e921faaSWolfram Sang		groups = "scif_clk";
3059e921faaSWolfram Sang		function = "scif_clk";
3069e921faaSWolfram Sang	};
3070e6fb83eSWolfram Sang};
3080e6fb83eSWolfram Sang
309f28daeedSWolfram Sang&rpc {
310f28daeedSWolfram Sang	pinctrl-0 = <&qspi0_pins>;
311f28daeedSWolfram Sang	pinctrl-names = "default";
312f28daeedSWolfram Sang
313f28daeedSWolfram Sang	status = "okay";
314f28daeedSWolfram Sang
315f28daeedSWolfram Sang	flash@0 {
316f28daeedSWolfram Sang		compatible = "spansion,s25fs512s", "jedec,spi-nor";
317f28daeedSWolfram Sang		reg = <0>;
318f28daeedSWolfram Sang		spi-max-frequency = <40000000>;
319f28daeedSWolfram Sang		spi-rx-bus-width = <4>;
320f28daeedSWolfram Sang
321f28daeedSWolfram Sang		partitions {
322f28daeedSWolfram Sang			compatible = "fixed-partitions";
323f28daeedSWolfram Sang			#address-cells = <1>;
324f28daeedSWolfram Sang			#size-cells = <1>;
325f28daeedSWolfram Sang
326f28daeedSWolfram Sang			boot@0 {
327f28daeedSWolfram Sang				reg = <0x0 0xcc0000>;
328f28daeedSWolfram Sang				read-only;
329f28daeedSWolfram Sang			};
330f28daeedSWolfram Sang			user@cc0000 {
331f28daeedSWolfram Sang				reg = <0xcc0000 0x3340000>;
332f28daeedSWolfram Sang			};
333f28daeedSWolfram Sang		};
334f28daeedSWolfram Sang	};
335f28daeedSWolfram Sang};
336f28daeedSWolfram Sang
3370fc129baSGeert Uytterhoeven&rwdt {
3380fc129baSGeert Uytterhoeven	timeout-sec = <60>;
3390fc129baSGeert Uytterhoeven	status = "okay";
3400fc129baSGeert Uytterhoeven};
3410fc129baSGeert Uytterhoeven
34263070d7cSYoshihiro Shimoda&scif0 {
3439e921faaSWolfram Sang	pinctrl-0 = <&scif0_pins>;
3449e921faaSWolfram Sang	pinctrl-names = "default";
3459e921faaSWolfram Sang
3469e921faaSWolfram Sang	uart-has-rtscts;
34763070d7cSYoshihiro Shimoda	status = "okay";
34863070d7cSYoshihiro Shimoda};
3499e921faaSWolfram Sang
3509e921faaSWolfram Sang&scif_clk {
3519e921faaSWolfram Sang	clock-frequency = <24000000>;
3529e921faaSWolfram Sang};
353