xref: /src/sys/contrib/device-tree/src/arm64/renesas/r8a779f4-s4sk.dts (revision 8ccc0d235c226d84112561d453c49904398d085c)
11fcc28bcSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
21fcc28bcSEmmanuel Vadot/*
31fcc28bcSEmmanuel Vadot * Device Tree Source for the R-Car S4 Starter Kit board
41fcc28bcSEmmanuel Vadot *
51fcc28bcSEmmanuel Vadot * Copyright (C) 2023 Renesas Electronics Corp.
61fcc28bcSEmmanuel Vadot */
71fcc28bcSEmmanuel Vadot
81fcc28bcSEmmanuel Vadot/dts-v1/;
91fcc28bcSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
101fcc28bcSEmmanuel Vadot#include "r8a779f4.dtsi"
111fcc28bcSEmmanuel Vadot
121fcc28bcSEmmanuel Vadot/ {
131fcc28bcSEmmanuel Vadot	model = "R-Car S4 Starter Kit board";
141fcc28bcSEmmanuel Vadot	compatible = "renesas,s4sk", "renesas,r8a779f4", "renesas,r8a779f0";
151fcc28bcSEmmanuel Vadot
161fcc28bcSEmmanuel Vadot	aliases {
17beb6e748SEmmanuel Vadot		i2c0 = &i2c0;
18beb6e748SEmmanuel Vadot		i2c1 = &i2c1;
19beb6e748SEmmanuel Vadot		i2c2 = &i2c2;
20beb6e748SEmmanuel Vadot		i2c3 = &i2c3;
21beb6e748SEmmanuel Vadot		i2c4 = &i2c4;
22beb6e748SEmmanuel Vadot		i2c5 = &i2c5;
231fcc28bcSEmmanuel Vadot		serial0 = &hscif0;
241fcc28bcSEmmanuel Vadot		serial1 = &hscif1;
253721eb5aSEmmanuel Vadot		ethernet0 = &rswitch_port0;
263721eb5aSEmmanuel Vadot		ethernet1 = &rswitch_port1;
271fcc28bcSEmmanuel Vadot	};
281fcc28bcSEmmanuel Vadot
291fcc28bcSEmmanuel Vadot	chosen {
301fcc28bcSEmmanuel Vadot		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
311fcc28bcSEmmanuel Vadot		stdout-path = "serial0:921600n8";
321fcc28bcSEmmanuel Vadot	};
331fcc28bcSEmmanuel Vadot
341fcc28bcSEmmanuel Vadot	memory@48000000 {
351fcc28bcSEmmanuel Vadot		device_type = "memory";
361fcc28bcSEmmanuel Vadot		/* first 128MB is reserved for secure area. */
371fcc28bcSEmmanuel Vadot		/* The last 512MB is reserved for CR. */
381fcc28bcSEmmanuel Vadot		reg = <0x0 0x48000000 0x0 0x58000000>;
391fcc28bcSEmmanuel Vadot	};
401fcc28bcSEmmanuel Vadot
411fcc28bcSEmmanuel Vadot	memory@480000000 {
421fcc28bcSEmmanuel Vadot		device_type = "memory";
431fcc28bcSEmmanuel Vadot		reg = <0x4 0x80000000 0x0 0x80000000>;
441fcc28bcSEmmanuel Vadot	};
451fcc28bcSEmmanuel Vadot
461fcc28bcSEmmanuel Vadot	vcc_sdhi: regulator-vcc-sdhi {
471fcc28bcSEmmanuel Vadot		compatible = "regulator-fixed";
481fcc28bcSEmmanuel Vadot		regulator-name = "SDHI Vcc";
491fcc28bcSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
501fcc28bcSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
511fcc28bcSEmmanuel Vadot		gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
521fcc28bcSEmmanuel Vadot		enable-active-high;
531fcc28bcSEmmanuel Vadot	};
541fcc28bcSEmmanuel Vadot};
551fcc28bcSEmmanuel Vadot
561fcc28bcSEmmanuel Vadot&eth_serdes {
571fcc28bcSEmmanuel Vadot	status = "okay";
581fcc28bcSEmmanuel Vadot};
591fcc28bcSEmmanuel Vadot
601fcc28bcSEmmanuel Vadot&extal_clk {
611fcc28bcSEmmanuel Vadot	clock-frequency = <20000000>;
621fcc28bcSEmmanuel Vadot};
631fcc28bcSEmmanuel Vadot
641fcc28bcSEmmanuel Vadot&extalr_clk {
651fcc28bcSEmmanuel Vadot	clock-frequency = <32768>;
661fcc28bcSEmmanuel Vadot};
671fcc28bcSEmmanuel Vadot
681fcc28bcSEmmanuel Vadot&hscif0 {
691fcc28bcSEmmanuel Vadot	pinctrl-0 = <&hscif0_pins>;
701fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
713721eb5aSEmmanuel Vadot	bootph-all;
721fcc28bcSEmmanuel Vadot
731fcc28bcSEmmanuel Vadot	uart-has-rtscts;
741fcc28bcSEmmanuel Vadot	status = "okay";
751fcc28bcSEmmanuel Vadot};
761fcc28bcSEmmanuel Vadot
771fcc28bcSEmmanuel Vadot&hscif1 {
781fcc28bcSEmmanuel Vadot	pinctrl-0 = <&hscif1_pins>;
791fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
801fcc28bcSEmmanuel Vadot
811fcc28bcSEmmanuel Vadot	uart-has-rtscts;
821fcc28bcSEmmanuel Vadot	status = "okay";
831fcc28bcSEmmanuel Vadot};
841fcc28bcSEmmanuel Vadot
851fcc28bcSEmmanuel Vadot&i2c2 {
861fcc28bcSEmmanuel Vadot	pinctrl-0 = <&i2c2_pins>;
871fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
881fcc28bcSEmmanuel Vadot
891fcc28bcSEmmanuel Vadot	status = "okay";
901fcc28bcSEmmanuel Vadot	clock-frequency = <400000>;
911fcc28bcSEmmanuel Vadot};
921fcc28bcSEmmanuel Vadot
931fcc28bcSEmmanuel Vadot&i2c4 {
941fcc28bcSEmmanuel Vadot	pinctrl-0 = <&i2c4_pins>;
951fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
961fcc28bcSEmmanuel Vadot
971fcc28bcSEmmanuel Vadot	status = "okay";
981fcc28bcSEmmanuel Vadot	clock-frequency = <400000>;
991fcc28bcSEmmanuel Vadot};
1001fcc28bcSEmmanuel Vadot
1011fcc28bcSEmmanuel Vadot&i2c5 {
1021fcc28bcSEmmanuel Vadot	pinctrl-0 = <&i2c5_pins>;
1031fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
1041fcc28bcSEmmanuel Vadot
1051fcc28bcSEmmanuel Vadot	status = "okay";
1061fcc28bcSEmmanuel Vadot	clock-frequency = <400000>;
1071fcc28bcSEmmanuel Vadot
1081fcc28bcSEmmanuel Vadot	eeprom@50 {
1091fcc28bcSEmmanuel Vadot		compatible = "st,24c16", "atmel,24c16";
1101fcc28bcSEmmanuel Vadot		reg = <0x50>;
1111fcc28bcSEmmanuel Vadot		pagesize = <16>;
1121fcc28bcSEmmanuel Vadot	};
1131fcc28bcSEmmanuel Vadot};
1141fcc28bcSEmmanuel Vadot
1151fcc28bcSEmmanuel Vadot&mmc0 {
1161fcc28bcSEmmanuel Vadot	pinctrl-0 = <&sd_pins>;
1171fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
1181fcc28bcSEmmanuel Vadot
1191fcc28bcSEmmanuel Vadot	vmmc-supply = <&vcc_sdhi>;
1201fcc28bcSEmmanuel Vadot	cd-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
1211fcc28bcSEmmanuel Vadot	bus-width = <4>;
1221fcc28bcSEmmanuel Vadot	status = "okay";
1231fcc28bcSEmmanuel Vadot};
1241fcc28bcSEmmanuel Vadot
1251fcc28bcSEmmanuel Vadot&pfc {
1261fcc28bcSEmmanuel Vadot	pinctrl-0 = <&scif_clk_pins>;
1271fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
1281fcc28bcSEmmanuel Vadot
1291fcc28bcSEmmanuel Vadot	hscif0_pins: hscif0 {
1301fcc28bcSEmmanuel Vadot		groups = "hscif0_data", "hscif0_ctrl";
1311fcc28bcSEmmanuel Vadot		function = "hscif0";
1321fcc28bcSEmmanuel Vadot	};
1331fcc28bcSEmmanuel Vadot
1341fcc28bcSEmmanuel Vadot	hscif1_pins: hscif1 {
1351fcc28bcSEmmanuel Vadot		groups = "hscif1_data", "hscif1_ctrl";
1361fcc28bcSEmmanuel Vadot		function = "hscif1";
1371fcc28bcSEmmanuel Vadot	};
1381fcc28bcSEmmanuel Vadot
1391fcc28bcSEmmanuel Vadot	i2c2_pins: i2c2 {
1401fcc28bcSEmmanuel Vadot		groups = "i2c2";
1411fcc28bcSEmmanuel Vadot		function = "i2c2";
1421fcc28bcSEmmanuel Vadot	};
1431fcc28bcSEmmanuel Vadot
1441fcc28bcSEmmanuel Vadot	i2c4_pins: i2c4 {
1451fcc28bcSEmmanuel Vadot		groups = "i2c4";
1461fcc28bcSEmmanuel Vadot		function = "i2c4";
1471fcc28bcSEmmanuel Vadot	};
1481fcc28bcSEmmanuel Vadot
1491fcc28bcSEmmanuel Vadot	i2c5_pins: i2c5 {
1501fcc28bcSEmmanuel Vadot		groups = "i2c5";
1511fcc28bcSEmmanuel Vadot		function = "i2c5";
1521fcc28bcSEmmanuel Vadot	};
1531fcc28bcSEmmanuel Vadot
1541fcc28bcSEmmanuel Vadot	scif_clk_pins: scif_clk {
1551fcc28bcSEmmanuel Vadot		groups = "scif_clk";
1561fcc28bcSEmmanuel Vadot		function = "scif_clk";
1571fcc28bcSEmmanuel Vadot	};
1581fcc28bcSEmmanuel Vadot
1591fcc28bcSEmmanuel Vadot	sd_pins: sd {
1601fcc28bcSEmmanuel Vadot		groups = "mmc_data4", "mmc_ctrl";
1611fcc28bcSEmmanuel Vadot		function = "mmc";
1621fcc28bcSEmmanuel Vadot		power-source = <3300>;
1631fcc28bcSEmmanuel Vadot	};
1641fcc28bcSEmmanuel Vadot
1651fcc28bcSEmmanuel Vadot	tsn0_pins: tsn0 {
1661fcc28bcSEmmanuel Vadot		groups = "tsn0_mdio_b", "tsn0_link_b";
1671fcc28bcSEmmanuel Vadot		function = "tsn0";
1681fcc28bcSEmmanuel Vadot		drive-strength = <18>;
1691fcc28bcSEmmanuel Vadot		power-source = <3300>;
1701fcc28bcSEmmanuel Vadot	};
1711fcc28bcSEmmanuel Vadot
1721fcc28bcSEmmanuel Vadot	tsn1_pins: tsn1 {
1731fcc28bcSEmmanuel Vadot		groups = "tsn1_mdio_b", "tsn1_link_b";
1741fcc28bcSEmmanuel Vadot		function = "tsn1";
1751fcc28bcSEmmanuel Vadot		drive-strength = <18>;
1761fcc28bcSEmmanuel Vadot		power-source = <3300>;
1771fcc28bcSEmmanuel Vadot	};
1781fcc28bcSEmmanuel Vadot};
1791fcc28bcSEmmanuel Vadot
1801fcc28bcSEmmanuel Vadot&rswitch {
1811fcc28bcSEmmanuel Vadot	pinctrl-0 = <&tsn0_pins>, <&tsn1_pins>;
1821fcc28bcSEmmanuel Vadot	pinctrl-names = "default";
1831fcc28bcSEmmanuel Vadot	status = "okay";
1843721eb5aSEmmanuel Vadot};
1851fcc28bcSEmmanuel Vadot
1863721eb5aSEmmanuel Vadot&rswitch_port0 {
1871fcc28bcSEmmanuel Vadot	reg = <0>;
1881fcc28bcSEmmanuel Vadot	phy-handle = <&ic99>;
1891fcc28bcSEmmanuel Vadot	phy-mode = "sgmii";
1901fcc28bcSEmmanuel Vadot	phys = <&eth_serdes 0>;
1913721eb5aSEmmanuel Vadot	status = "okay";
1921fcc28bcSEmmanuel Vadot
1931fcc28bcSEmmanuel Vadot	mdio {
1941fcc28bcSEmmanuel Vadot		#address-cells = <1>;
1951fcc28bcSEmmanuel Vadot		#size-cells = <0>;
1961fcc28bcSEmmanuel Vadot
1971fcc28bcSEmmanuel Vadot		ic99: ethernet-phy@1 {
1981fcc28bcSEmmanuel Vadot			reg = <1>;
1991fcc28bcSEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c45";
2002aa9fc59SEmmanuel Vadot			interrupts-extended = <&gpio3 10 IRQ_TYPE_LEVEL_LOW>;
2011fcc28bcSEmmanuel Vadot		};
2021fcc28bcSEmmanuel Vadot	};
2031fcc28bcSEmmanuel Vadot};
2041fcc28bcSEmmanuel Vadot
2053721eb5aSEmmanuel Vadot&rswitch_port1 {
2061fcc28bcSEmmanuel Vadot	reg = <1>;
2071fcc28bcSEmmanuel Vadot	phy-handle = <&ic102>;
2081fcc28bcSEmmanuel Vadot	phy-mode = "sgmii";
2091fcc28bcSEmmanuel Vadot	phys = <&eth_serdes 1>;
2103721eb5aSEmmanuel Vadot	status = "okay";
2111fcc28bcSEmmanuel Vadot
2121fcc28bcSEmmanuel Vadot	mdio {
2131fcc28bcSEmmanuel Vadot		#address-cells = <1>;
2141fcc28bcSEmmanuel Vadot		#size-cells = <0>;
2151fcc28bcSEmmanuel Vadot
2161fcc28bcSEmmanuel Vadot		ic102: ethernet-phy@2 {
2171fcc28bcSEmmanuel Vadot			reg = <2>;
2181fcc28bcSEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c45";
2192aa9fc59SEmmanuel Vadot			interrupts-extended = <&gpio3 11 IRQ_TYPE_LEVEL_LOW>;
2201fcc28bcSEmmanuel Vadot		};
2211fcc28bcSEmmanuel Vadot	};
2221fcc28bcSEmmanuel Vadot};
2231fcc28bcSEmmanuel Vadot
2241fcc28bcSEmmanuel Vadot&rwdt {
2251fcc28bcSEmmanuel Vadot	timeout-sec = <60>;
2261fcc28bcSEmmanuel Vadot	status = "okay";
2271fcc28bcSEmmanuel Vadot};
2281fcc28bcSEmmanuel Vadot
2291fcc28bcSEmmanuel Vadot&scif_clk {
2301fcc28bcSEmmanuel Vadot	clock-frequency = <24000000>;
2311fcc28bcSEmmanuel Vadot};
2321fcc28bcSEmmanuel Vadot
2331fcc28bcSEmmanuel Vadot&ufs {
2341fcc28bcSEmmanuel Vadot	status = "okay";
2351fcc28bcSEmmanuel Vadot};
2361fcc28bcSEmmanuel Vadot
2371fcc28bcSEmmanuel Vadot&ufs30_clk {
2381fcc28bcSEmmanuel Vadot	clock-frequency = <38400000>;
2391fcc28bcSEmmanuel Vadot};
240