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>
963070d7cSYoshihiro Shimoda#include "r8a779a0.dtsi"
1063070d7cSYoshihiro Shimoda
1163070d7cSYoshihiro Shimoda/ {
1263070d7cSYoshihiro Shimoda	model = "Renesas Falcon CPU board";
1363070d7cSYoshihiro Shimoda	compatible = "renesas,falcon-cpu", "renesas,r8a779a0";
1463070d7cSYoshihiro Shimoda
1563070d7cSYoshihiro Shimoda	memory@48000000 {
1663070d7cSYoshihiro Shimoda		device_type = "memory";
1763070d7cSYoshihiro Shimoda		/* first 128MB is reserved for secure area. */
1863070d7cSYoshihiro Shimoda		reg = <0x0 0x48000000 0x0 0x78000000>;
1963070d7cSYoshihiro Shimoda	};
2063070d7cSYoshihiro Shimoda
2163070d7cSYoshihiro Shimoda	memory@500000000 {
2263070d7cSYoshihiro Shimoda		device_type = "memory";
2363070d7cSYoshihiro Shimoda		reg = <0x5 0x00000000 0x0 0x80000000>;
2463070d7cSYoshihiro Shimoda	};
2563070d7cSYoshihiro Shimoda
2663070d7cSYoshihiro Shimoda	memory@600000000 {
2763070d7cSYoshihiro Shimoda		device_type = "memory";
2863070d7cSYoshihiro Shimoda		reg = <0x6 0x00000000 0x0 0x80000000>;
2963070d7cSYoshihiro Shimoda	};
3063070d7cSYoshihiro Shimoda
3163070d7cSYoshihiro Shimoda	memory@700000000 {
3263070d7cSYoshihiro Shimoda		device_type = "memory";
3363070d7cSYoshihiro Shimoda		reg = <0x7 0x00000000 0x0 0x80000000>;
3463070d7cSYoshihiro Shimoda	};
35ee33cd69STakeshi Saito
36ee33cd69STakeshi Saito	reg_1p8v: regulator-1p8v {
37ee33cd69STakeshi Saito		compatible = "regulator-fixed";
38ee33cd69STakeshi Saito		regulator-name = "fixed-1.8V";
39ee33cd69STakeshi Saito		regulator-min-microvolt = <1800000>;
40ee33cd69STakeshi Saito		regulator-max-microvolt = <1800000>;
41ee33cd69STakeshi Saito		regulator-boot-on;
42ee33cd69STakeshi Saito		regulator-always-on;
43ee33cd69STakeshi Saito	};
44ee33cd69STakeshi Saito
45ee33cd69STakeshi Saito	reg_3p3v: regulator-3p3v {
46ee33cd69STakeshi Saito		compatible = "regulator-fixed";
47ee33cd69STakeshi Saito		regulator-name = "fixed-3.3V";
48ee33cd69STakeshi Saito		regulator-min-microvolt = <3300000>;
49ee33cd69STakeshi Saito		regulator-max-microvolt = <3300000>;
50ee33cd69STakeshi Saito		regulator-boot-on;
51ee33cd69STakeshi Saito		regulator-always-on;
52ee33cd69STakeshi Saito	};
5363070d7cSYoshihiro Shimoda};
5463070d7cSYoshihiro Shimoda
55e8ac55a5SWolfram Sang&avb0 {
56e8ac55a5SWolfram Sang	pinctrl-0 = <&avb0_pins>;
57e8ac55a5SWolfram Sang	pinctrl-names = "default";
58e8ac55a5SWolfram Sang	phy-handle = <&phy0>;
59e8ac55a5SWolfram Sang	tx-internal-delay-ps = <2000>;
60e8ac55a5SWolfram Sang	status = "okay";
61e8ac55a5SWolfram Sang
62e8ac55a5SWolfram Sang	phy0: ethernet-phy@0 {
63e8ac55a5SWolfram Sang		rxc-skew-ps = <1500>;
64e8ac55a5SWolfram Sang		reg = <0>;
65e8ac55a5SWolfram Sang		interrupt-parent = <&gpio4>;
66e8ac55a5SWolfram Sang		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
67e8ac55a5SWolfram Sang		reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
68e8ac55a5SWolfram Sang	};
69e8ac55a5SWolfram Sang};
70e8ac55a5SWolfram Sang
7163070d7cSYoshihiro Shimoda&extal_clk {
7263070d7cSYoshihiro Shimoda	clock-frequency = <16666666>;
7363070d7cSYoshihiro Shimoda};
7463070d7cSYoshihiro Shimoda
7563070d7cSYoshihiro Shimoda&extalr_clk {
7663070d7cSYoshihiro Shimoda	clock-frequency = <32768>;
7763070d7cSYoshihiro Shimoda};
7863070d7cSYoshihiro Shimoda
790e6fb83eSWolfram Sang&i2c0 {
800e6fb83eSWolfram Sang	pinctrl-0 = <&i2c0_pins>;
810e6fb83eSWolfram Sang	pinctrl-names = "default";
820e6fb83eSWolfram Sang
830e6fb83eSWolfram Sang	status = "okay";
840e6fb83eSWolfram Sang	clock-frequency = <400000>;
85*405daa39SGeert Uytterhoeven
86*405daa39SGeert Uytterhoeven	eeprom@50 {
87*405daa39SGeert Uytterhoeven		compatible = "rohm,br24g01", "atmel,24c01";
88*405daa39SGeert Uytterhoeven		label = "cpu-board";
89*405daa39SGeert Uytterhoeven		reg = <0x50>;
90*405daa39SGeert Uytterhoeven		pagesize = <8>;
91*405daa39SGeert Uytterhoeven	};
920e6fb83eSWolfram Sang};
930e6fb83eSWolfram Sang
940e6fb83eSWolfram Sang&i2c1 {
950e6fb83eSWolfram Sang	pinctrl-0 = <&i2c1_pins>;
960e6fb83eSWolfram Sang	pinctrl-names = "default";
970e6fb83eSWolfram Sang
980e6fb83eSWolfram Sang	status = "okay";
990e6fb83eSWolfram Sang	clock-frequency = <400000>;
1000e6fb83eSWolfram Sang};
1010e6fb83eSWolfram Sang
1020e6fb83eSWolfram Sang&i2c6 {
1030e6fb83eSWolfram Sang	pinctrl-0 = <&i2c6_pins>;
1040e6fb83eSWolfram Sang	pinctrl-names = "default";
1050e6fb83eSWolfram Sang
1060e6fb83eSWolfram Sang	status = "okay";
1070e6fb83eSWolfram Sang	clock-frequency = <400000>;
1080e6fb83eSWolfram Sang};
1090e6fb83eSWolfram Sang
110ee33cd69STakeshi Saito&mmc0 {
111ee33cd69STakeshi Saito	pinctrl-0 = <&mmc_pins>;
112ee33cd69STakeshi Saito	pinctrl-1 = <&mmc_pins>;
113ee33cd69STakeshi Saito	pinctrl-names = "default", "state_uhs";
114ee33cd69STakeshi Saito
115ee33cd69STakeshi Saito	vmmc-supply = <&reg_3p3v>;
116ee33cd69STakeshi Saito	vqmmc-supply = <&reg_1p8v>;
117ee33cd69STakeshi Saito	mmc-hs200-1_8v;
118ee33cd69STakeshi Saito	mmc-hs400-1_8v;
119ee33cd69STakeshi Saito	bus-width = <8>;
120ee33cd69STakeshi Saito	no-sd;
121ee33cd69STakeshi Saito	no-sdio;
122ee33cd69STakeshi Saito	non-removable;
123ee33cd69STakeshi Saito	full-pwr-cycle-in-suspend;
124ee33cd69STakeshi Saito	status = "okay";
125ee33cd69STakeshi Saito};
126ee33cd69STakeshi Saito
1270e6fb83eSWolfram Sang&pfc {
1289e921faaSWolfram Sang	pinctrl-0 = <&scif_clk_pins>;
1299e921faaSWolfram Sang	pinctrl-names = "default";
1309e921faaSWolfram Sang
131e8ac55a5SWolfram Sang	avb0_pins: avb0 {
132e8ac55a5SWolfram Sang		mux {
133e8ac55a5SWolfram Sang			groups = "avb0_link", "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
134e8ac55a5SWolfram Sang			function = "avb0";
135e8ac55a5SWolfram Sang		};
136e8ac55a5SWolfram Sang
137e8ac55a5SWolfram Sang		pins_mdio {
138e8ac55a5SWolfram Sang			groups = "avb0_mdio";
139e8ac55a5SWolfram Sang			drive-strength = <21>;
140e8ac55a5SWolfram Sang		};
141e8ac55a5SWolfram Sang
142e8ac55a5SWolfram Sang		pins_mii {
143e8ac55a5SWolfram Sang			groups = "avb0_rgmii";
144e8ac55a5SWolfram Sang			drive-strength = <21>;
145e8ac55a5SWolfram Sang		};
146e8ac55a5SWolfram Sang
147e8ac55a5SWolfram Sang	};
148e8ac55a5SWolfram Sang
1490e6fb83eSWolfram Sang	i2c0_pins: i2c0 {
1500e6fb83eSWolfram Sang		groups = "i2c0";
1510e6fb83eSWolfram Sang		function = "i2c0";
1520e6fb83eSWolfram Sang	};
1530e6fb83eSWolfram Sang
1540e6fb83eSWolfram Sang	i2c1_pins: i2c1 {
1550e6fb83eSWolfram Sang		groups = "i2c1";
1560e6fb83eSWolfram Sang		function = "i2c1";
1570e6fb83eSWolfram Sang	};
1580e6fb83eSWolfram Sang
1590e6fb83eSWolfram Sang	i2c6_pins: i2c6 {
1600e6fb83eSWolfram Sang		groups = "i2c6";
1610e6fb83eSWolfram Sang		function = "i2c6";
1620e6fb83eSWolfram Sang	};
1639e921faaSWolfram Sang
164ee33cd69STakeshi Saito	mmc_pins: mmc {
165ee33cd69STakeshi Saito		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
166ee33cd69STakeshi Saito		function = "mmc";
167ee33cd69STakeshi Saito		power-source = <1800>;
168ee33cd69STakeshi Saito	};
169ee33cd69STakeshi Saito
1709e921faaSWolfram Sang	scif0_pins: scif0 {
1719e921faaSWolfram Sang		groups = "scif0_data", "scif0_ctrl";
1729e921faaSWolfram Sang		function = "scif0";
1739e921faaSWolfram Sang	};
1749e921faaSWolfram Sang
1759e921faaSWolfram Sang	scif_clk_pins: scif_clk {
1769e921faaSWolfram Sang		groups = "scif_clk";
1779e921faaSWolfram Sang		function = "scif_clk";
1789e921faaSWolfram Sang	};
1790e6fb83eSWolfram Sang};
1800e6fb83eSWolfram Sang
18163070d7cSYoshihiro Shimoda&scif0 {
1829e921faaSWolfram Sang	pinctrl-0 = <&scif0_pins>;
1839e921faaSWolfram Sang	pinctrl-names = "default";
1849e921faaSWolfram Sang
1859e921faaSWolfram Sang	uart-has-rtscts;
18663070d7cSYoshihiro Shimoda	status = "okay";
18763070d7cSYoshihiro Shimoda};
1889e921faaSWolfram Sang
1899e921faaSWolfram Sang&scif_clk {
1909e921faaSWolfram Sang	clock-frequency = <24000000>;
1919e921faaSWolfram Sang};
192