xref: /linux/arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1116a12f7SSergei Shtylyov// SPDX-License-Identifier: GPL-2.0
2116a12f7SSergei Shtylyov/*
3116a12f7SSergei Shtylyov * Device Tree Source for the V3H Starter Kit board
4116a12f7SSergei Shtylyov *
5116a12f7SSergei Shtylyov * Copyright (C) 2018 Renesas Electronics Corp.
6116a12f7SSergei Shtylyov * Copyright (C) 2018 Cogent Embedded, Inc.
7116a12f7SSergei Shtylyov */
8116a12f7SSergei Shtylyov
9116a12f7SSergei Shtylyov/dts-v1/;
10116a12f7SSergei Shtylyov#include "r8a77980.dtsi"
11732e8ee0SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h>
12116a12f7SSergei Shtylyov
13116a12f7SSergei Shtylyov/ {
14116a12f7SSergei Shtylyov	model = "Renesas V3H Starter Kit board";
15116a12f7SSergei Shtylyov	compatible = "renesas,v3hsk", "renesas,r8a77980";
16116a12f7SSergei Shtylyov
17116a12f7SSergei Shtylyov	aliases {
18efab8210SWolfram Sang		i2c0 = &i2c0;
19efab8210SWolfram Sang		i2c1 = &i2c1;
20efab8210SWolfram Sang		i2c2 = &i2c2;
21efab8210SWolfram Sang		i2c3 = &i2c3;
22efab8210SWolfram Sang		i2c4 = &i2c4;
23efab8210SWolfram Sang		i2c5 = &i2c5;
24116a12f7SSergei Shtylyov		serial0 = &scif0;
25c0f91cacSSergei Shtylyov		ethernet0 = &gether;
26116a12f7SSergei Shtylyov	};
27116a12f7SSergei Shtylyov
28116a12f7SSergei Shtylyov	chosen {
29116a12f7SSergei Shtylyov		stdout-path = "serial0:115200n8";
30116a12f7SSergei Shtylyov	};
31116a12f7SSergei Shtylyov
3270fd8b6aSSergei Shtylyov	hdmi-out {
3370fd8b6aSSergei Shtylyov		compatible = "hdmi-connector";
3470fd8b6aSSergei Shtylyov		type = "a";
3570fd8b6aSSergei Shtylyov
3670fd8b6aSSergei Shtylyov		port {
3770fd8b6aSSergei Shtylyov			hdmi_con: endpoint {
3870fd8b6aSSergei Shtylyov				remote-endpoint = <&adv7511_out>;
3970fd8b6aSSergei Shtylyov			};
4070fd8b6aSSergei Shtylyov		};
4170fd8b6aSSergei Shtylyov	};
4270fd8b6aSSergei Shtylyov
4370fd8b6aSSergei Shtylyov	lvds-decoder {
4470fd8b6aSSergei Shtylyov		compatible = "thine,thc63lvd1024";
4570fd8b6aSSergei Shtylyov		vcc-supply = <&vcc3v3_d5>;
4670fd8b6aSSergei Shtylyov
4770fd8b6aSSergei Shtylyov		ports {
4870fd8b6aSSergei Shtylyov			#address-cells = <1>;
4970fd8b6aSSergei Shtylyov			#size-cells = <0>;
5070fd8b6aSSergei Shtylyov
5170fd8b6aSSergei Shtylyov			port@0 {
5270fd8b6aSSergei Shtylyov				reg = <0>;
5370fd8b6aSSergei Shtylyov				thc63lvd1024_in: endpoint {
5470fd8b6aSSergei Shtylyov					remote-endpoint = <&lvds0_out>;
5570fd8b6aSSergei Shtylyov				};
5670fd8b6aSSergei Shtylyov			};
5770fd8b6aSSergei Shtylyov
5870fd8b6aSSergei Shtylyov			port@2 {
5970fd8b6aSSergei Shtylyov				reg = <2>;
6070fd8b6aSSergei Shtylyov				thc63lvd1024_out: endpoint {
6170fd8b6aSSergei Shtylyov					remote-endpoint = <&adv7511_in>;
6270fd8b6aSSergei Shtylyov				};
6370fd8b6aSSergei Shtylyov			};
6470fd8b6aSSergei Shtylyov		};
6570fd8b6aSSergei Shtylyov	};
6670fd8b6aSSergei Shtylyov
6752f95a09SYoshihiro Kaneko	memory@48000000 {
6852f95a09SYoshihiro Kaneko		device_type = "memory";
6952f95a09SYoshihiro Kaneko		/* first 128MB is reserved for secure area. */
7052f95a09SYoshihiro Kaneko		reg = <0 0x48000000 0 0x78000000>;
7152f95a09SYoshihiro Kaneko	};
7252f95a09SYoshihiro Kaneko
7370fd8b6aSSergei Shtylyov	osc1_clk: osc1-clock {
7470fd8b6aSSergei Shtylyov		compatible = "fixed-clock";
7570fd8b6aSSergei Shtylyov		#clock-cells = <0>;
7670fd8b6aSSergei Shtylyov		clock-frequency = <148500000>;
7770fd8b6aSSergei Shtylyov	};
7870fd8b6aSSergei Shtylyov
7970fd8b6aSSergei Shtylyov	vcc1v8_d4: regulator-0 {
8070fd8b6aSSergei Shtylyov		compatible = "regulator-fixed";
8170fd8b6aSSergei Shtylyov		regulator-name = "VCC1V8_D4";
8270fd8b6aSSergei Shtylyov		regulator-min-microvolt = <1800000>;
8370fd8b6aSSergei Shtylyov		regulator-max-microvolt = <1800000>;
8470fd8b6aSSergei Shtylyov		regulator-boot-on;
8570fd8b6aSSergei Shtylyov		regulator-always-on;
8670fd8b6aSSergei Shtylyov	};
8770fd8b6aSSergei Shtylyov
8870fd8b6aSSergei Shtylyov	vcc3v3_d5: regulator-1 {
8970fd8b6aSSergei Shtylyov		compatible = "regulator-fixed";
9070fd8b6aSSergei Shtylyov		regulator-name = "VCC3V3_D5";
9170fd8b6aSSergei Shtylyov		regulator-min-microvolt = <3300000>;
9270fd8b6aSSergei Shtylyov		regulator-max-microvolt = <3300000>;
9370fd8b6aSSergei Shtylyov		regulator-boot-on;
9470fd8b6aSSergei Shtylyov		regulator-always-on;
9570fd8b6aSSergei Shtylyov	};
9670fd8b6aSSergei Shtylyov};
9770fd8b6aSSergei Shtylyov
9870fd8b6aSSergei Shtylyov&du {
9970fd8b6aSSergei Shtylyov	clocks = <&cpg CPG_MOD 724>,
10070fd8b6aSSergei Shtylyov		 <&osc1_clk>;
10170fd8b6aSSergei Shtylyov	clock-names = "du.0", "dclkin.0";
10270fd8b6aSSergei Shtylyov	status = "okay";
103116a12f7SSergei Shtylyov};
104116a12f7SSergei Shtylyov
105116a12f7SSergei Shtylyov&extal_clk {
106116a12f7SSergei Shtylyov	clock-frequency = <16666666>;
107116a12f7SSergei Shtylyov};
108116a12f7SSergei Shtylyov
109116a12f7SSergei Shtylyov&extalr_clk {
110116a12f7SSergei Shtylyov	clock-frequency = <32768>;
111116a12f7SSergei Shtylyov};
112116a12f7SSergei Shtylyov
113c0f91cacSSergei Shtylyov&gether {
114c0f91cacSSergei Shtylyov	pinctrl-0 = <&gether_pins>;
115c0f91cacSSergei Shtylyov	pinctrl-names = "default";
116c0f91cacSSergei Shtylyov
117c0f91cacSSergei Shtylyov	phy-mode = "rgmii";
118c0f91cacSSergei Shtylyov	phy-handle = <&phy0>;
119c0f91cacSSergei Shtylyov	renesas,no-ether-link;
120c0f91cacSSergei Shtylyov	status = "okay";
121c0f91cacSSergei Shtylyov
122c0f91cacSSergei Shtylyov	phy0: ethernet-phy@0 {
123722d55f3SGeert Uytterhoeven		compatible = "ethernet-phy-id0022.1622",
124722d55f3SGeert Uytterhoeven			     "ethernet-phy-ieee802.3-c22";
125*79d9cfa9SNam Nguyen		rxc-skew-ps = <1500>;
126c0f91cacSSergei Shtylyov		reg = <0>;
127ffbd5235SSergei Shtylyov		interrupt-parent = <&gpio4>;
128ffbd5235SSergei Shtylyov		interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
129732e8ee0SGeert Uytterhoeven		reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
130c0f91cacSSergei Shtylyov	};
131c0f91cacSSergei Shtylyov};
132c0f91cacSSergei Shtylyov
13370fd8b6aSSergei Shtylyov&i2c0 {
13470fd8b6aSSergei Shtylyov	pinctrl-0 = <&i2c0_pins>;
13570fd8b6aSSergei Shtylyov	pinctrl-names = "default";
13670fd8b6aSSergei Shtylyov
13770fd8b6aSSergei Shtylyov	status = "okay";
13870fd8b6aSSergei Shtylyov	clock-frequency = <400000>;
13970fd8b6aSSergei Shtylyov
14070fd8b6aSSergei Shtylyov	hdmi@39 {
14170fd8b6aSSergei Shtylyov		compatible = "adi,adv7511w";
14270fd8b6aSSergei Shtylyov		#sound-dai-cells = <0>;
14370fd8b6aSSergei Shtylyov		reg = <0x39>;
14470fd8b6aSSergei Shtylyov		interrupt-parent = <&gpio1>;
14570fd8b6aSSergei Shtylyov		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
14670fd8b6aSSergei Shtylyov		avdd-supply = <&vcc1v8_d4>;
14770fd8b6aSSergei Shtylyov		dvdd-supply = <&vcc1v8_d4>;
14870fd8b6aSSergei Shtylyov		pvdd-supply = <&vcc1v8_d4>;
14970fd8b6aSSergei Shtylyov		bgvdd-supply = <&vcc1v8_d4>;
15070fd8b6aSSergei Shtylyov		dvdd-3v-supply = <&vcc3v3_d5>;
15170fd8b6aSSergei Shtylyov
15270fd8b6aSSergei Shtylyov		adi,input-depth = <8>;
15370fd8b6aSSergei Shtylyov		adi,input-colorspace = "rgb";
15470fd8b6aSSergei Shtylyov		adi,input-clock = "1x";
15570fd8b6aSSergei Shtylyov
15670fd8b6aSSergei Shtylyov		ports {
15770fd8b6aSSergei Shtylyov			#address-cells = <1>;
15870fd8b6aSSergei Shtylyov			#size-cells = <0>;
15970fd8b6aSSergei Shtylyov
16070fd8b6aSSergei Shtylyov			port@0 {
16170fd8b6aSSergei Shtylyov				reg = <0>;
16270fd8b6aSSergei Shtylyov				adv7511_in: endpoint {
16370fd8b6aSSergei Shtylyov					remote-endpoint = <&thc63lvd1024_out>;
16470fd8b6aSSergei Shtylyov				};
16570fd8b6aSSergei Shtylyov			};
16670fd8b6aSSergei Shtylyov
16770fd8b6aSSergei Shtylyov			port@1 {
16870fd8b6aSSergei Shtylyov				reg = <1>;
16970fd8b6aSSergei Shtylyov				adv7511_out: endpoint {
17070fd8b6aSSergei Shtylyov					remote-endpoint = <&hdmi_con>;
17170fd8b6aSSergei Shtylyov				};
17270fd8b6aSSergei Shtylyov			};
17370fd8b6aSSergei Shtylyov		};
17470fd8b6aSSergei Shtylyov	};
17570fd8b6aSSergei Shtylyov};
17670fd8b6aSSergei Shtylyov
17747d7f682SGeert Uytterhoeven&lvds0 {
17847d7f682SGeert Uytterhoeven	status = "okay";
17947d7f682SGeert Uytterhoeven
18047d7f682SGeert Uytterhoeven	ports {
18147d7f682SGeert Uytterhoeven		port@1 {
18247d7f682SGeert Uytterhoeven			lvds0_out: endpoint {
18347d7f682SGeert Uytterhoeven				remote-endpoint = <&thc63lvd1024_in>;
18447d7f682SGeert Uytterhoeven			};
18547d7f682SGeert Uytterhoeven		};
18647d7f682SGeert Uytterhoeven	};
18747d7f682SGeert Uytterhoeven};
18847d7f682SGeert Uytterhoeven
189116a12f7SSergei Shtylyov&pfc {
190c0f91cacSSergei Shtylyov	gether_pins: gether {
191c0f91cacSSergei Shtylyov		groups = "gether_mdio_a", "gether_rgmii",
192c0f91cacSSergei Shtylyov			 "gether_txcrefclk", "gether_txcrefclk_mega";
193c0f91cacSSergei Shtylyov		function = "gether";
194c0f91cacSSergei Shtylyov	};
195c0f91cacSSergei Shtylyov
19670fd8b6aSSergei Shtylyov	i2c0_pins: i2c0 {
19770fd8b6aSSergei Shtylyov		groups = "i2c0";
19870fd8b6aSSergei Shtylyov		function = "i2c0";
19970fd8b6aSSergei Shtylyov	};
20070fd8b6aSSergei Shtylyov
2019d3f2e7eSSergei Shtylyov	qspi0_pins: qspi0 {
2029d3f2e7eSSergei Shtylyov		groups = "qspi0_ctrl", "qspi0_data4";
2039d3f2e7eSSergei Shtylyov		function = "qspi0";
2049d3f2e7eSSergei Shtylyov	};
2059d3f2e7eSSergei Shtylyov
206116a12f7SSergei Shtylyov	scif0_pins: scif0 {
207116a12f7SSergei Shtylyov		groups = "scif0_data";
208116a12f7SSergei Shtylyov		function = "scif0";
209116a12f7SSergei Shtylyov	};
210116a12f7SSergei Shtylyov
211116a12f7SSergei Shtylyov	scif_clk_pins: scif_clk {
212116a12f7SSergei Shtylyov		groups = "scif_clk_b";
213116a12f7SSergei Shtylyov		function = "scif_clk";
214116a12f7SSergei Shtylyov	};
215116a12f7SSergei Shtylyov};
216116a12f7SSergei Shtylyov
2179d3f2e7eSSergei Shtylyov&rpc {
2189d3f2e7eSSergei Shtylyov	pinctrl-0 = <&qspi0_pins>;
2199d3f2e7eSSergei Shtylyov	pinctrl-names = "default";
2209d3f2e7eSSergei Shtylyov
2219d3f2e7eSSergei Shtylyov	status = "okay";
2229d3f2e7eSSergei Shtylyov
2239d3f2e7eSSergei Shtylyov	flash@0 {
2249d3f2e7eSSergei Shtylyov		compatible = "spansion,s25fs512s", "jedec,spi-nor";
2259d3f2e7eSSergei Shtylyov		reg = <0>;
2269d3f2e7eSSergei Shtylyov		spi-max-frequency = <50000000>;
2279d3f2e7eSSergei Shtylyov		spi-rx-bus-width = <4>;
2289d3f2e7eSSergei Shtylyov
2299d3f2e7eSSergei Shtylyov		partitions {
2309d3f2e7eSSergei Shtylyov			compatible = "fixed-partitions";
2319d3f2e7eSSergei Shtylyov			#address-cells = <1>;
2329d3f2e7eSSergei Shtylyov			#size-cells = <1>;
2339d3f2e7eSSergei Shtylyov
2349d3f2e7eSSergei Shtylyov			bootparam@0 {
2359d3f2e7eSSergei Shtylyov				reg = <0x00000000 0x040000>;
2369d3f2e7eSSergei Shtylyov				read-only;
2379d3f2e7eSSergei Shtylyov			};
2389d3f2e7eSSergei Shtylyov			cr7@40000 {
2399d3f2e7eSSergei Shtylyov				reg = <0x00040000 0x080000>;
2409d3f2e7eSSergei Shtylyov				read-only;
2419d3f2e7eSSergei Shtylyov			};
2429d3f2e7eSSergei Shtylyov			cert_header_sa3@c0000 {
2439d3f2e7eSSergei Shtylyov				reg = <0x000c0000 0x080000>;
2449d3f2e7eSSergei Shtylyov				read-only;
2459d3f2e7eSSergei Shtylyov			};
2469d3f2e7eSSergei Shtylyov			bl2@140000 {
2479d3f2e7eSSergei Shtylyov				reg = <0x00140000 0x040000>;
2489d3f2e7eSSergei Shtylyov				read-only;
2499d3f2e7eSSergei Shtylyov			};
2509d3f2e7eSSergei Shtylyov			cert_header_sa6@180000 {
2519d3f2e7eSSergei Shtylyov				reg = <0x00180000 0x040000>;
2529d3f2e7eSSergei Shtylyov				read-only;
2539d3f2e7eSSergei Shtylyov			};
2549d3f2e7eSSergei Shtylyov			bl31@1c0000 {
2559d3f2e7eSSergei Shtylyov				reg = <0x001c0000 0x460000>;
2569d3f2e7eSSergei Shtylyov				read-only;
2579d3f2e7eSSergei Shtylyov			};
2589d3f2e7eSSergei Shtylyov			uboot@640000 {
2599d3f2e7eSSergei Shtylyov				reg = <0x00640000 0x0c0000>;
2609d3f2e7eSSergei Shtylyov				read-only;
2619d3f2e7eSSergei Shtylyov			};
2629d3f2e7eSSergei Shtylyov			uboot-env@700000 {
2639d3f2e7eSSergei Shtylyov				reg = <0x00700000 0x040000>;
2649d3f2e7eSSergei Shtylyov				read-only;
2659d3f2e7eSSergei Shtylyov			};
2669d3f2e7eSSergei Shtylyov			dtb@740000 {
2679d3f2e7eSSergei Shtylyov				reg = <0x00740000 0x080000>;
2689d3f2e7eSSergei Shtylyov			};
2699d3f2e7eSSergei Shtylyov			kernel@7c0000 {
2709d3f2e7eSSergei Shtylyov				reg = <0x007c0000 0x1400000>;
2719d3f2e7eSSergei Shtylyov			};
2729d3f2e7eSSergei Shtylyov			user@1bc0000 {
2739d3f2e7eSSergei Shtylyov				reg = <0x01bc0000 0x2440000>;
2749d3f2e7eSSergei Shtylyov			};
2759d3f2e7eSSergei Shtylyov		};
2769d3f2e7eSSergei Shtylyov	};
2779d3f2e7eSSergei Shtylyov};
2789d3f2e7eSSergei Shtylyov
279bcee502cSSergei Shtylyov&rwdt {
280bcee502cSSergei Shtylyov	timeout-sec = <60>;
281bcee502cSSergei Shtylyov	status = "okay";
282bcee502cSSergei Shtylyov};
283bcee502cSSergei Shtylyov
284116a12f7SSergei Shtylyov&scif0 {
285116a12f7SSergei Shtylyov	pinctrl-0 = <&scif0_pins>, <&scif_clk_pins>;
286116a12f7SSergei Shtylyov	pinctrl-names = "default";
287116a12f7SSergei Shtylyov
288116a12f7SSergei Shtylyov	status = "okay";
289116a12f7SSergei Shtylyov};
290116a12f7SSergei Shtylyov
291116a12f7SSergei Shtylyov&scif_clk {
292116a12f7SSergei Shtylyov	clock-frequency = <14745600>;
293116a12f7SSergei Shtylyov};
294