162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for the V3H Starter Kit board
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2018 Renesas Electronics Corp.
662306a36Sopenharmony_ci * Copyright (C) 2018 Cogent Embedded, Inc.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci#include "r8a77980.dtsi"
1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Renesas V3H Starter Kit board";
1562306a36Sopenharmony_ci	compatible = "renesas,v3hsk", "renesas,r8a77980";
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	aliases {
1862306a36Sopenharmony_ci		i2c0 = &i2c0;
1962306a36Sopenharmony_ci		i2c1 = &i2c1;
2062306a36Sopenharmony_ci		i2c2 = &i2c2;
2162306a36Sopenharmony_ci		i2c3 = &i2c3;
2262306a36Sopenharmony_ci		i2c4 = &i2c4;
2362306a36Sopenharmony_ci		i2c5 = &i2c5;
2462306a36Sopenharmony_ci		serial0 = &scif0;
2562306a36Sopenharmony_ci		ethernet0 = &gether;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	chosen {
2962306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	hdmi-out {
3362306a36Sopenharmony_ci		compatible = "hdmi-connector";
3462306a36Sopenharmony_ci		type = "a";
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		port {
3762306a36Sopenharmony_ci			hdmi_con: endpoint {
3862306a36Sopenharmony_ci				remote-endpoint = <&adv7511_out>;
3962306a36Sopenharmony_ci			};
4062306a36Sopenharmony_ci		};
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	lvds-decoder {
4462306a36Sopenharmony_ci		compatible = "thine,thc63lvd1024";
4562306a36Sopenharmony_ci		vcc-supply = <&vcc3v3_d5>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		ports {
4862306a36Sopenharmony_ci			#address-cells = <1>;
4962306a36Sopenharmony_ci			#size-cells = <0>;
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci			port@0 {
5262306a36Sopenharmony_ci				reg = <0>;
5362306a36Sopenharmony_ci				thc63lvd1024_in: endpoint {
5462306a36Sopenharmony_ci					remote-endpoint = <&lvds0_out>;
5562306a36Sopenharmony_ci				};
5662306a36Sopenharmony_ci			};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci			port@2 {
5962306a36Sopenharmony_ci				reg = <2>;
6062306a36Sopenharmony_ci				thc63lvd1024_out: endpoint {
6162306a36Sopenharmony_ci					remote-endpoint = <&adv7511_in>;
6262306a36Sopenharmony_ci				};
6362306a36Sopenharmony_ci			};
6462306a36Sopenharmony_ci		};
6562306a36Sopenharmony_ci	};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	memory@48000000 {
6862306a36Sopenharmony_ci		device_type = "memory";
6962306a36Sopenharmony_ci		/* first 128MB is reserved for secure area. */
7062306a36Sopenharmony_ci		reg = <0 0x48000000 0 0x78000000>;
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	osc1_clk: osc1-clock {
7462306a36Sopenharmony_ci		compatible = "fixed-clock";
7562306a36Sopenharmony_ci		#clock-cells = <0>;
7662306a36Sopenharmony_ci		clock-frequency = <148500000>;
7762306a36Sopenharmony_ci	};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	vcc1v8_d4: regulator-0 {
8062306a36Sopenharmony_ci		compatible = "regulator-fixed";
8162306a36Sopenharmony_ci		regulator-name = "VCC1V8_D4";
8262306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
8362306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
8462306a36Sopenharmony_ci		regulator-boot-on;
8562306a36Sopenharmony_ci		regulator-always-on;
8662306a36Sopenharmony_ci	};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	vcc3v3_d5: regulator-1 {
8962306a36Sopenharmony_ci		compatible = "regulator-fixed";
9062306a36Sopenharmony_ci		regulator-name = "VCC3V3_D5";
9162306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
9262306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
9362306a36Sopenharmony_ci		regulator-boot-on;
9462306a36Sopenharmony_ci		regulator-always-on;
9562306a36Sopenharmony_ci	};
9662306a36Sopenharmony_ci};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci&du {
9962306a36Sopenharmony_ci	clocks = <&cpg CPG_MOD 724>,
10062306a36Sopenharmony_ci		 <&osc1_clk>;
10162306a36Sopenharmony_ci	clock-names = "du.0", "dclkin.0";
10262306a36Sopenharmony_ci	status = "okay";
10362306a36Sopenharmony_ci};
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci&extal_clk {
10662306a36Sopenharmony_ci	clock-frequency = <16666666>;
10762306a36Sopenharmony_ci};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci&extalr_clk {
11062306a36Sopenharmony_ci	clock-frequency = <32768>;
11162306a36Sopenharmony_ci};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci&gether {
11462306a36Sopenharmony_ci	pinctrl-0 = <&gether_pins>;
11562306a36Sopenharmony_ci	pinctrl-names = "default";
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci	phy-mode = "rgmii";
11862306a36Sopenharmony_ci	phy-handle = <&phy0>;
11962306a36Sopenharmony_ci	renesas,no-ether-link;
12062306a36Sopenharmony_ci	status = "okay";
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	phy0: ethernet-phy@0 {
12362306a36Sopenharmony_ci		compatible = "ethernet-phy-id0022.1622",
12462306a36Sopenharmony_ci			     "ethernet-phy-ieee802.3-c22";
12562306a36Sopenharmony_ci		rxc-skew-ps = <1500>;
12662306a36Sopenharmony_ci		reg = <0>;
12762306a36Sopenharmony_ci		interrupt-parent = <&gpio4>;
12862306a36Sopenharmony_ci		interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
12962306a36Sopenharmony_ci		reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
13062306a36Sopenharmony_ci	};
13162306a36Sopenharmony_ci};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci&i2c0 {
13462306a36Sopenharmony_ci	pinctrl-0 = <&i2c0_pins>;
13562306a36Sopenharmony_ci	pinctrl-names = "default";
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci	status = "okay";
13862306a36Sopenharmony_ci	clock-frequency = <400000>;
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci	hdmi@39 {
14162306a36Sopenharmony_ci		compatible = "adi,adv7511w";
14262306a36Sopenharmony_ci		#sound-dai-cells = <0>;
14362306a36Sopenharmony_ci		reg = <0x39>;
14462306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
14562306a36Sopenharmony_ci		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
14662306a36Sopenharmony_ci		avdd-supply = <&vcc1v8_d4>;
14762306a36Sopenharmony_ci		dvdd-supply = <&vcc1v8_d4>;
14862306a36Sopenharmony_ci		pvdd-supply = <&vcc1v8_d4>;
14962306a36Sopenharmony_ci		bgvdd-supply = <&vcc1v8_d4>;
15062306a36Sopenharmony_ci		dvdd-3v-supply = <&vcc3v3_d5>;
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		adi,input-depth = <8>;
15362306a36Sopenharmony_ci		adi,input-colorspace = "rgb";
15462306a36Sopenharmony_ci		adi,input-clock = "1x";
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci		ports {
15762306a36Sopenharmony_ci			#address-cells = <1>;
15862306a36Sopenharmony_ci			#size-cells = <0>;
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci			port@0 {
16162306a36Sopenharmony_ci				reg = <0>;
16262306a36Sopenharmony_ci				adv7511_in: endpoint {
16362306a36Sopenharmony_ci					remote-endpoint = <&thc63lvd1024_out>;
16462306a36Sopenharmony_ci				};
16562306a36Sopenharmony_ci			};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci			port@1 {
16862306a36Sopenharmony_ci				reg = <1>;
16962306a36Sopenharmony_ci				adv7511_out: endpoint {
17062306a36Sopenharmony_ci					remote-endpoint = <&hdmi_con>;
17162306a36Sopenharmony_ci				};
17262306a36Sopenharmony_ci			};
17362306a36Sopenharmony_ci		};
17462306a36Sopenharmony_ci	};
17562306a36Sopenharmony_ci};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci&lvds0 {
17862306a36Sopenharmony_ci	status = "okay";
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	ports {
18162306a36Sopenharmony_ci		port@1 {
18262306a36Sopenharmony_ci			lvds0_out: endpoint {
18362306a36Sopenharmony_ci				remote-endpoint = <&thc63lvd1024_in>;
18462306a36Sopenharmony_ci			};
18562306a36Sopenharmony_ci		};
18662306a36Sopenharmony_ci	};
18762306a36Sopenharmony_ci};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci&pfc {
19062306a36Sopenharmony_ci	gether_pins: gether {
19162306a36Sopenharmony_ci		groups = "gether_mdio_a", "gether_rgmii",
19262306a36Sopenharmony_ci			 "gether_txcrefclk", "gether_txcrefclk_mega";
19362306a36Sopenharmony_ci		function = "gether";
19462306a36Sopenharmony_ci	};
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci	i2c0_pins: i2c0 {
19762306a36Sopenharmony_ci		groups = "i2c0";
19862306a36Sopenharmony_ci		function = "i2c0";
19962306a36Sopenharmony_ci	};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	qspi0_pins: qspi0 {
20262306a36Sopenharmony_ci		groups = "qspi0_ctrl", "qspi0_data4";
20362306a36Sopenharmony_ci		function = "qspi0";
20462306a36Sopenharmony_ci	};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci	scif0_pins: scif0 {
20762306a36Sopenharmony_ci		groups = "scif0_data";
20862306a36Sopenharmony_ci		function = "scif0";
20962306a36Sopenharmony_ci	};
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci	scif_clk_pins: scif_clk {
21262306a36Sopenharmony_ci		groups = "scif_clk_b";
21362306a36Sopenharmony_ci		function = "scif_clk";
21462306a36Sopenharmony_ci	};
21562306a36Sopenharmony_ci};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci&rpc {
21862306a36Sopenharmony_ci	pinctrl-0 = <&qspi0_pins>;
21962306a36Sopenharmony_ci	pinctrl-names = "default";
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci	status = "okay";
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci	flash@0 {
22462306a36Sopenharmony_ci		compatible = "spansion,s25fs512s", "jedec,spi-nor";
22562306a36Sopenharmony_ci		reg = <0>;
22662306a36Sopenharmony_ci		spi-max-frequency = <50000000>;
22762306a36Sopenharmony_ci		spi-rx-bus-width = <4>;
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci		partitions {
23062306a36Sopenharmony_ci			compatible = "fixed-partitions";
23162306a36Sopenharmony_ci			#address-cells = <1>;
23262306a36Sopenharmony_ci			#size-cells = <1>;
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci			bootparam@0 {
23562306a36Sopenharmony_ci				reg = <0x00000000 0x040000>;
23662306a36Sopenharmony_ci				read-only;
23762306a36Sopenharmony_ci			};
23862306a36Sopenharmony_ci			cr7@40000 {
23962306a36Sopenharmony_ci				reg = <0x00040000 0x080000>;
24062306a36Sopenharmony_ci				read-only;
24162306a36Sopenharmony_ci			};
24262306a36Sopenharmony_ci			cert_header_sa3@c0000 {
24362306a36Sopenharmony_ci				reg = <0x000c0000 0x080000>;
24462306a36Sopenharmony_ci				read-only;
24562306a36Sopenharmony_ci			};
24662306a36Sopenharmony_ci			bl2@140000 {
24762306a36Sopenharmony_ci				reg = <0x00140000 0x040000>;
24862306a36Sopenharmony_ci				read-only;
24962306a36Sopenharmony_ci			};
25062306a36Sopenharmony_ci			cert_header_sa6@180000 {
25162306a36Sopenharmony_ci				reg = <0x00180000 0x040000>;
25262306a36Sopenharmony_ci				read-only;
25362306a36Sopenharmony_ci			};
25462306a36Sopenharmony_ci			bl31@1c0000 {
25562306a36Sopenharmony_ci				reg = <0x001c0000 0x460000>;
25662306a36Sopenharmony_ci				read-only;
25762306a36Sopenharmony_ci			};
25862306a36Sopenharmony_ci			uboot@640000 {
25962306a36Sopenharmony_ci				reg = <0x00640000 0x0c0000>;
26062306a36Sopenharmony_ci				read-only;
26162306a36Sopenharmony_ci			};
26262306a36Sopenharmony_ci			uboot-env@700000 {
26362306a36Sopenharmony_ci				reg = <0x00700000 0x040000>;
26462306a36Sopenharmony_ci				read-only;
26562306a36Sopenharmony_ci			};
26662306a36Sopenharmony_ci			dtb@740000 {
26762306a36Sopenharmony_ci				reg = <0x00740000 0x080000>;
26862306a36Sopenharmony_ci			};
26962306a36Sopenharmony_ci			kernel@7c0000 {
27062306a36Sopenharmony_ci				reg = <0x007c0000 0x1400000>;
27162306a36Sopenharmony_ci			};
27262306a36Sopenharmony_ci			user@1bc0000 {
27362306a36Sopenharmony_ci				reg = <0x01bc0000 0x2440000>;
27462306a36Sopenharmony_ci			};
27562306a36Sopenharmony_ci		};
27662306a36Sopenharmony_ci	};
27762306a36Sopenharmony_ci};
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ci&rwdt {
28062306a36Sopenharmony_ci	timeout-sec = <60>;
28162306a36Sopenharmony_ci	status = "okay";
28262306a36Sopenharmony_ci};
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci&scif0 {
28562306a36Sopenharmony_ci	pinctrl-0 = <&scif0_pins>, <&scif_clk_pins>;
28662306a36Sopenharmony_ci	pinctrl-names = "default";
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci	status = "okay";
28962306a36Sopenharmony_ci};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci&scif_clk {
29262306a36Sopenharmony_ci	clock-frequency = <14745600>;
29362306a36Sopenharmony_ci};
294