xref: /openbmc/linux/arch/arm64/boot/dts/renesas/r8a779f0-spider-cpu.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*05c618f3SKrzysztof Kozlowski// SPDX-License-Identifier: (GPL-2.0 OR MIT)
208b8699eSYoshihiro Shimoda/*
308b8699eSYoshihiro Shimoda * Device Tree Source for the Spider CPU board
408b8699eSYoshihiro Shimoda *
508b8699eSYoshihiro Shimoda * Copyright (C) 2021 Renesas Electronics Corp.
608b8699eSYoshihiro Shimoda */
708b8699eSYoshihiro Shimoda
8c3b8f309SYoshihiro Shimoda#include <dt-bindings/gpio/gpio.h>
9406b5af4SGeert Uytterhoeven#include <dt-bindings/leds/common.h>
10406b5af4SGeert Uytterhoeven
1108b8699eSYoshihiro Shimoda#include "r8a779f0.dtsi"
1208b8699eSYoshihiro Shimoda
1308b8699eSYoshihiro Shimoda/ {
1408b8699eSYoshihiro Shimoda	model = "Renesas Spider CPU board";
1508b8699eSYoshihiro Shimoda	compatible = "renesas,spider-cpu", "renesas,r8a779f0";
1608b8699eSYoshihiro Shimoda
175c2b5a28SGeert Uytterhoeven	aliases {
18872f9184SWolfram Sang		serial0 = &hscif0;
195c2b5a28SGeert Uytterhoeven		serial1 = &scif0;
205c2b5a28SGeert Uytterhoeven	};
215c2b5a28SGeert Uytterhoeven
225c2b5a28SGeert Uytterhoeven	chosen {
23567934a8SKuninori Morimoto		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
24872f9184SWolfram Sang		stdout-path = "serial0:1843200n8";
255c2b5a28SGeert Uytterhoeven	};
265c2b5a28SGeert Uytterhoeven
27406b5af4SGeert Uytterhoeven	leds {
28406b5af4SGeert Uytterhoeven		compatible = "gpio-leds";
29406b5af4SGeert Uytterhoeven
30406b5af4SGeert Uytterhoeven		led-7 {
31406b5af4SGeert Uytterhoeven			gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
32406b5af4SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
33406b5af4SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
34406b5af4SGeert Uytterhoeven			function-enumerator = <7>;
35406b5af4SGeert Uytterhoeven		};
36406b5af4SGeert Uytterhoeven
37406b5af4SGeert Uytterhoeven		led-8 {
38406b5af4SGeert Uytterhoeven			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
39406b5af4SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
40406b5af4SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
41406b5af4SGeert Uytterhoeven			function-enumerator = <8>;
42406b5af4SGeert Uytterhoeven		};
43406b5af4SGeert Uytterhoeven	};
44406b5af4SGeert Uytterhoeven
4508b8699eSYoshihiro Shimoda	memory@48000000 {
4608b8699eSYoshihiro Shimoda		device_type = "memory";
4708b8699eSYoshihiro Shimoda		/* first 128MB is reserved for secure area. */
4808b8699eSYoshihiro Shimoda		reg = <0x0 0x48000000 0x0 0x78000000>;
4908b8699eSYoshihiro Shimoda	};
5008b8699eSYoshihiro Shimoda
5108b8699eSYoshihiro Shimoda	memory@480000000 {
5208b8699eSYoshihiro Shimoda		device_type = "memory";
5308b8699eSYoshihiro Shimoda		reg = <0x4 0x80000000 0x0 0x80000000>;
5408b8699eSYoshihiro Shimoda	};
551ada3e53SWolfram Sang
56c3b8f309SYoshihiro Shimoda	rc21012_ufs: clk-rc21012-ufs {
57c3b8f309SYoshihiro Shimoda		compatible = "fixed-clock";
58c3b8f309SYoshihiro Shimoda		clock-frequency = <38400000>;
59c3b8f309SYoshihiro Shimoda		#clock-cells = <0>;
60c3b8f309SYoshihiro Shimoda	};
61c3b8f309SYoshihiro Shimoda
621ada3e53SWolfram Sang	reg_1p8v: regulator-1p8v {
631ada3e53SWolfram Sang		compatible = "regulator-fixed";
641ada3e53SWolfram Sang		regulator-name = "fixed-1.8V";
651ada3e53SWolfram Sang		regulator-min-microvolt = <1800000>;
661ada3e53SWolfram Sang		regulator-max-microvolt = <1800000>;
671ada3e53SWolfram Sang		regulator-boot-on;
681ada3e53SWolfram Sang		regulator-always-on;
691ada3e53SWolfram Sang	};
701ada3e53SWolfram Sang
711ada3e53SWolfram Sang	reg_3p3v: regulator-3p3v {
721ada3e53SWolfram Sang		compatible = "regulator-fixed";
731ada3e53SWolfram Sang		regulator-name = "fixed-3.3V";
741ada3e53SWolfram Sang		regulator-min-microvolt = <3300000>;
751ada3e53SWolfram Sang		regulator-max-microvolt = <3300000>;
761ada3e53SWolfram Sang		regulator-boot-on;
771ada3e53SWolfram Sang		regulator-always-on;
781ada3e53SWolfram Sang	};
7908b8699eSYoshihiro Shimoda};
8008b8699eSYoshihiro Shimoda
8108b8699eSYoshihiro Shimoda&extal_clk {
8208b8699eSYoshihiro Shimoda	clock-frequency = <20000000>;
8308b8699eSYoshihiro Shimoda};
8408b8699eSYoshihiro Shimoda
8508b8699eSYoshihiro Shimoda&extalr_clk {
8608b8699eSYoshihiro Shimoda	clock-frequency = <32768>;
8708b8699eSYoshihiro Shimoda};
8808b8699eSYoshihiro Shimoda
89872f9184SWolfram Sang&hscif0 {
90872f9184SWolfram Sang	pinctrl-0 = <&hscif0_pins>;
91872f9184SWolfram Sang	pinctrl-names = "default";
92872f9184SWolfram Sang
93872f9184SWolfram Sang	uart-has-rtscts;
94872f9184SWolfram Sang	status = "okay";
95872f9184SWolfram Sang};
96872f9184SWolfram Sang
97c3b8f309SYoshihiro Shimoda&i2c0 {
98c3b8f309SYoshihiro Shimoda	pinctrl-0 = <&i2c0_pins>;
99c3b8f309SYoshihiro Shimoda	pinctrl-names = "default";
100c3b8f309SYoshihiro Shimoda
101c3b8f309SYoshihiro Shimoda	status = "okay";
102c3b8f309SYoshihiro Shimoda	clock-frequency = <400000>;
103c3b8f309SYoshihiro Shimoda
104c3b8f309SYoshihiro Shimoda	gpio_exp_20: gpio@20 {
105c3b8f309SYoshihiro Shimoda		compatible = "ti,tca9554";
106c3b8f309SYoshihiro Shimoda		reg = <0x20>;
107c3b8f309SYoshihiro Shimoda		gpio-controller;
108c3b8f309SYoshihiro Shimoda		#gpio-cells = <2>;
109c3b8f309SYoshihiro Shimoda	};
110c3b8f309SYoshihiro Shimoda};
111c3b8f309SYoshihiro Shimoda
112b74d5d65SGeert Uytterhoeven&i2c4 {
113b74d5d65SGeert Uytterhoeven	pinctrl-0 = <&i2c4_pins>;
114b74d5d65SGeert Uytterhoeven	pinctrl-names = "default";
115b74d5d65SGeert Uytterhoeven
116b74d5d65SGeert Uytterhoeven	status = "okay";
117b74d5d65SGeert Uytterhoeven	clock-frequency = <400000>;
118b74d5d65SGeert Uytterhoeven
119b74d5d65SGeert Uytterhoeven	eeprom@50 {
120b74d5d65SGeert Uytterhoeven		compatible = "rohm,br24g01", "atmel,24c01";
121b74d5d65SGeert Uytterhoeven		label = "cpu-board";
122b74d5d65SGeert Uytterhoeven		reg = <0x50>;
123b74d5d65SGeert Uytterhoeven		pagesize = <8>;
124b74d5d65SGeert Uytterhoeven	};
125b74d5d65SGeert Uytterhoeven};
126b74d5d65SGeert Uytterhoeven
1271ada3e53SWolfram Sang/*
1281ada3e53SWolfram Sang * This board also has a microSD slot which we will not support upstream
1291ada3e53SWolfram Sang * because we cannot directly switch voltages in software.
1301ada3e53SWolfram Sang */
1311ada3e53SWolfram Sang&mmc0 {
1321ada3e53SWolfram Sang	pinctrl-0 = <&mmc_pins>;
1331ada3e53SWolfram Sang	pinctrl-1 = <&mmc_pins>;
1341ada3e53SWolfram Sang	pinctrl-names = "default", "state_uhs";
1351ada3e53SWolfram Sang
1361ada3e53SWolfram Sang	vmmc-supply = <&reg_3p3v>;
1371ada3e53SWolfram Sang	vqmmc-supply = <&reg_1p8v>;
1381ada3e53SWolfram Sang	mmc-hs200-1_8v;
1391ada3e53SWolfram Sang	mmc-hs400-1_8v;
1401ada3e53SWolfram Sang	bus-width = <8>;
1411ada3e53SWolfram Sang	no-sd;
1421ada3e53SWolfram Sang	no-sdio;
1431ada3e53SWolfram Sang	non-removable;
1441ada3e53SWolfram Sang	full-pwr-cycle-in-suspend;
1451ada3e53SWolfram Sang	status = "okay";
1461ada3e53SWolfram Sang};
1471ada3e53SWolfram Sang
1481ef36224SGeert Uytterhoeven&pfc {
1491ef36224SGeert Uytterhoeven	pinctrl-0 = <&scif_clk_pins>;
1501ef36224SGeert Uytterhoeven	pinctrl-names = "default";
1511ef36224SGeert Uytterhoeven
152872f9184SWolfram Sang	hscif0_pins: hscif0 {
153872f9184SWolfram Sang		groups = "hscif0_data", "hscif0_ctrl";
154872f9184SWolfram Sang		function = "hscif0";
155872f9184SWolfram Sang	};
156872f9184SWolfram Sang
157c3b8f309SYoshihiro Shimoda	i2c0_pins: i2c0 {
158c3b8f309SYoshihiro Shimoda		groups = "i2c0";
159c3b8f309SYoshihiro Shimoda		function = "i2c0";
160c3b8f309SYoshihiro Shimoda	};
161c3b8f309SYoshihiro Shimoda
162b74d5d65SGeert Uytterhoeven	i2c4_pins: i2c4 {
163b74d5d65SGeert Uytterhoeven		groups = "i2c4";
164b74d5d65SGeert Uytterhoeven		function = "i2c4";
165b74d5d65SGeert Uytterhoeven	};
166b74d5d65SGeert Uytterhoeven
1671ada3e53SWolfram Sang	mmc_pins: mmc {
1681ada3e53SWolfram Sang		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
1691ada3e53SWolfram Sang		function = "mmc";
1701ada3e53SWolfram Sang		power-source = <1800>;
1711ada3e53SWolfram Sang	};
1721ada3e53SWolfram Sang
1731614c862SWolfram Sang	scif0_pins: scif0 {
1741614c862SWolfram Sang		groups = "scif0_data", "scif0_ctrl";
1751614c862SWolfram Sang		function = "scif0";
1761614c862SWolfram Sang	};
1771614c862SWolfram Sang
1781ef36224SGeert Uytterhoeven	scif_clk_pins: scif_clk {
1791ef36224SGeert Uytterhoeven		groups = "scif_clk";
1801ef36224SGeert Uytterhoeven		function = "scif_clk";
1811ef36224SGeert Uytterhoeven	};
1821ef36224SGeert Uytterhoeven};
1831ef36224SGeert Uytterhoeven
18410690504SGeert Uytterhoeven&rwdt {
18510690504SGeert Uytterhoeven	timeout-sec = <60>;
18610690504SGeert Uytterhoeven	status = "okay";
18710690504SGeert Uytterhoeven};
18810690504SGeert Uytterhoeven
1893896b8f0SGeert Uytterhoeven&scif0 {
1903896b8f0SGeert Uytterhoeven	pinctrl-0 = <&scif0_pins>;
1911ef36224SGeert Uytterhoeven	pinctrl-names = "default";
1921ef36224SGeert Uytterhoeven
1931ef36224SGeert Uytterhoeven	uart-has-rtscts;
19408b8699eSYoshihiro Shimoda	status = "okay";
19508b8699eSYoshihiro Shimoda};
1961ef36224SGeert Uytterhoeven
1971ef36224SGeert Uytterhoeven&scif_clk {
1981ef36224SGeert Uytterhoeven	clock-frequency = <24000000>;
1991ef36224SGeert Uytterhoeven};
200c3b8f309SYoshihiro Shimoda
201c3b8f309SYoshihiro Shimoda&ufs {
202c3b8f309SYoshihiro Shimoda	status = "okay";
203c3b8f309SYoshihiro Shimoda};
204c3b8f309SYoshihiro Shimoda
205c3b8f309SYoshihiro Shimoda&ufs30_clk {
206c3b8f309SYoshihiro Shimoda	compatible = "gpio-gate-clock";
207c3b8f309SYoshihiro Shimoda	clocks = <&rc21012_ufs>;
208c3b8f309SYoshihiro Shimoda	enable-gpios = <&gpio_exp_20 4 GPIO_ACTIVE_LOW>;
209c3b8f309SYoshihiro Shimoda	/delete-property/ clock-frequency;
210c3b8f309SYoshihiro Shimoda};
211