xref: /linux/arch/arm64/boot/dts/renesas/r8a77980-condor.dts (revision cfd7bf66b2a3f399ecdf67bbdf03d3c3c9078fad)
1b9edbce9SSergei Shtylyov// SPDX-License-Identifier: GPL-2.0
2b9edbce9SSergei Shtylyov/*
3*cfd7bf66SGeert Uytterhoeven * Device Tree Source for the Condor board with R-Car V3H
4b9edbce9SSergei Shtylyov *
5b9edbce9SSergei Shtylyov * Copyright (C) 2018 Renesas Electronics Corp.
6b9edbce9SSergei Shtylyov * Copyright (C) 2018 Cogent Embedded, Inc.
7b9edbce9SSergei Shtylyov */
8b9edbce9SSergei Shtylyov
9b9edbce9SSergei Shtylyov/dts-v1/;
10b9edbce9SSergei Shtylyov#include "r8a77980.dtsi"
11b9edbce9SSergei Shtylyov
12b9edbce9SSergei Shtylyov/ {
13b9edbce9SSergei Shtylyov	model = "Renesas Condor board based on r8a77980";
14b9edbce9SSergei Shtylyov	compatible = "renesas,condor", "renesas,r8a77980";
15b9edbce9SSergei Shtylyov
16b9edbce9SSergei Shtylyov	aliases {
17b9edbce9SSergei Shtylyov		serial0 = &scif0;
18eab53fdfSSergei Shtylyov		ethernet0 = &gether;
19b9edbce9SSergei Shtylyov	};
20b9edbce9SSergei Shtylyov
21b9edbce9SSergei Shtylyov	chosen {
22b9edbce9SSergei Shtylyov		stdout-path = "serial0:115200n8";
23b9edbce9SSergei Shtylyov	};
24b9edbce9SSergei Shtylyov
258ccb4c97SYoshihiro Kaneko	d1_8v: regulator-2 {
268ccb4c97SYoshihiro Kaneko		compatible = "regulator-fixed";
278ccb4c97SYoshihiro Kaneko		regulator-name = "D1.8V";
288ccb4c97SYoshihiro Kaneko		regulator-min-microvolt = <1800000>;
298ccb4c97SYoshihiro Kaneko		regulator-max-microvolt = <1800000>;
308ccb4c97SYoshihiro Kaneko		regulator-boot-on;
318ccb4c97SYoshihiro Kaneko		regulator-always-on;
32b9edbce9SSergei Shtylyov	};
33cc922244SSergei Shtylyov
34cc922244SSergei Shtylyov	d3_3v: regulator-0 {
35cc922244SSergei Shtylyov		compatible = "regulator-fixed";
36cc922244SSergei Shtylyov		regulator-name = "D3.3V";
37cc922244SSergei Shtylyov		regulator-min-microvolt = <3300000>;
38cc922244SSergei Shtylyov		regulator-max-microvolt = <3300000>;
39cc922244SSergei Shtylyov		regulator-boot-on;
40cc922244SSergei Shtylyov		regulator-always-on;
41cc922244SSergei Shtylyov	};
42cc922244SSergei Shtylyov
4370fd8b6aSSergei Shtylyov	hdmi-out {
4470fd8b6aSSergei Shtylyov		compatible = "hdmi-connector";
4570fd8b6aSSergei Shtylyov		type = "a";
4670fd8b6aSSergei Shtylyov
4770fd8b6aSSergei Shtylyov		port {
4870fd8b6aSSergei Shtylyov			hdmi_con: endpoint {
4970fd8b6aSSergei Shtylyov				remote-endpoint = <&adv7511_out>;
5070fd8b6aSSergei Shtylyov			};
5170fd8b6aSSergei Shtylyov		};
5270fd8b6aSSergei Shtylyov	};
5370fd8b6aSSergei Shtylyov
5470fd8b6aSSergei Shtylyov	lvds-decoder {
5570fd8b6aSSergei Shtylyov		compatible = "thine,thc63lvd1024";
5670fd8b6aSSergei Shtylyov		vcc-supply = <&d3_3v>;
5770fd8b6aSSergei Shtylyov
5870fd8b6aSSergei Shtylyov		ports {
5970fd8b6aSSergei Shtylyov			#address-cells = <1>;
6070fd8b6aSSergei Shtylyov			#size-cells = <0>;
6170fd8b6aSSergei Shtylyov
6270fd8b6aSSergei Shtylyov			port@0 {
6370fd8b6aSSergei Shtylyov				reg = <0>;
6470fd8b6aSSergei Shtylyov				thc63lvd1024_in: endpoint {
6570fd8b6aSSergei Shtylyov					remote-endpoint = <&lvds0_out>;
6670fd8b6aSSergei Shtylyov				};
6770fd8b6aSSergei Shtylyov			};
6870fd8b6aSSergei Shtylyov
6970fd8b6aSSergei Shtylyov			port@2 {
7070fd8b6aSSergei Shtylyov				reg = <2>;
7170fd8b6aSSergei Shtylyov				thc63lvd1024_out: endpoint {
7270fd8b6aSSergei Shtylyov					remote-endpoint = <&adv7511_in>;
7370fd8b6aSSergei Shtylyov				};
7470fd8b6aSSergei Shtylyov			};
7570fd8b6aSSergei Shtylyov		};
7670fd8b6aSSergei Shtylyov	};
7770fd8b6aSSergei Shtylyov
788ccb4c97SYoshihiro Kaneko	memory@48000000 {
798ccb4c97SYoshihiro Kaneko		device_type = "memory";
808ccb4c97SYoshihiro Kaneko		/* first 128MB is reserved for secure area. */
818ccb4c97SYoshihiro Kaneko		reg = <0 0x48000000 0 0x78000000>;
828ccb4c97SYoshihiro Kaneko	};
838ccb4c97SYoshihiro Kaneko
848ccb4c97SYoshihiro Kaneko	vddq_vin01: regulator-1 {
858ccb4c97SYoshihiro Kaneko		compatible = "regulator-fixed";
868ccb4c97SYoshihiro Kaneko		regulator-name = "VDDQ_VIN01";
878ccb4c97SYoshihiro Kaneko		regulator-min-microvolt = <1800000>;
888ccb4c97SYoshihiro Kaneko		regulator-max-microvolt = <1800000>;
898ccb4c97SYoshihiro Kaneko		regulator-boot-on;
908ccb4c97SYoshihiro Kaneko		regulator-always-on;
918ccb4c97SYoshihiro Kaneko	};
928ccb4c97SYoshihiro Kaneko
9370fd8b6aSSergei Shtylyov	x1_clk: x1-clock {
9470fd8b6aSSergei Shtylyov		compatible = "fixed-clock";
9570fd8b6aSSergei Shtylyov		#clock-cells = <0>;
9670fd8b6aSSergei Shtylyov		clock-frequency = <148500000>;
9770fd8b6aSSergei Shtylyov	};
98b9edbce9SSergei Shtylyov};
99b9edbce9SSergei Shtylyov
1007a9706d2SSergei Shtylyov&canfd {
1017a9706d2SSergei Shtylyov	pinctrl-0 = <&canfd0_pins>;
1027a9706d2SSergei Shtylyov	pinctrl-names = "default";
1037a9706d2SSergei Shtylyov	status = "okay";
1047a9706d2SSergei Shtylyov
1057a9706d2SSergei Shtylyov	channel0 {
1067a9706d2SSergei Shtylyov		status = "okay";
1077a9706d2SSergei Shtylyov	};
1087a9706d2SSergei Shtylyov};
1097a9706d2SSergei Shtylyov
11070fd8b6aSSergei Shtylyov&du {
11170fd8b6aSSergei Shtylyov	clocks = <&cpg CPG_MOD 724>,
11270fd8b6aSSergei Shtylyov		 <&x1_clk>;
11370fd8b6aSSergei Shtylyov	clock-names = "du.0", "dclkin.0";
11470fd8b6aSSergei Shtylyov	status = "okay";
11570fd8b6aSSergei Shtylyov};
11670fd8b6aSSergei Shtylyov
117b9edbce9SSergei Shtylyov&extal_clk {
118b9edbce9SSergei Shtylyov	clock-frequency = <16666666>;
119b9edbce9SSergei Shtylyov};
120b9edbce9SSergei Shtylyov
121b9edbce9SSergei Shtylyov&extalr_clk {
122b9edbce9SSergei Shtylyov	clock-frequency = <32768>;
123b9edbce9SSergei Shtylyov};
124b9edbce9SSergei Shtylyov
125eab53fdfSSergei Shtylyov&gether {
126eab53fdfSSergei Shtylyov	pinctrl-0 = <&gether_pins>;
127eab53fdfSSergei Shtylyov	pinctrl-names = "default";
128eab53fdfSSergei Shtylyov
129eab53fdfSSergei Shtylyov	phy-mode = "rgmii-id";
130eab53fdfSSergei Shtylyov	phy-handle = <&phy0>;
131eab53fdfSSergei Shtylyov	renesas,no-ether-link;
132eab53fdfSSergei Shtylyov	status = "okay";
133eab53fdfSSergei Shtylyov
134eab53fdfSSergei Shtylyov	phy0: ethernet-phy@0 {
135eab53fdfSSergei Shtylyov		rxc-skew-ps = <1500>;
136eab53fdfSSergei Shtylyov		reg = <0>;
137eab53fdfSSergei Shtylyov		interrupt-parent = <&gpio4>;
138eab53fdfSSergei Shtylyov		interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
139eab53fdfSSergei Shtylyov	};
140eab53fdfSSergei Shtylyov};
141eab53fdfSSergei Shtylyov
14245fde0d4SSergei Shtylyov&i2c0 {
14345fde0d4SSergei Shtylyov	pinctrl-0 = <&i2c0_pins>;
14445fde0d4SSergei Shtylyov	pinctrl-names = "default";
14545fde0d4SSergei Shtylyov
14645fde0d4SSergei Shtylyov	status = "okay";
14745fde0d4SSergei Shtylyov	clock-frequency = <400000>;
14845fde0d4SSergei Shtylyov
14945fde0d4SSergei Shtylyov	io_expander0: gpio@20 {
15045fde0d4SSergei Shtylyov		compatible = "onnn,pca9654";
15145fde0d4SSergei Shtylyov		reg = <0x20>;
15245fde0d4SSergei Shtylyov		gpio-controller;
15345fde0d4SSergei Shtylyov		#gpio-cells = <2>;
15445fde0d4SSergei Shtylyov	};
15545fde0d4SSergei Shtylyov
15645fde0d4SSergei Shtylyov	io_expander1: gpio@21 {
15745fde0d4SSergei Shtylyov		compatible = "onnn,pca9654";
15845fde0d4SSergei Shtylyov		reg = <0x21>;
15945fde0d4SSergei Shtylyov		gpio-controller;
16045fde0d4SSergei Shtylyov		#gpio-cells = <2>;
16145fde0d4SSergei Shtylyov	};
16270fd8b6aSSergei Shtylyov
16370fd8b6aSSergei Shtylyov	hdmi@39 {
16470fd8b6aSSergei Shtylyov		compatible = "adi,adv7511w";
16570fd8b6aSSergei Shtylyov		reg = <0x39>;
16670fd8b6aSSergei Shtylyov		interrupt-parent = <&gpio1>;
16770fd8b6aSSergei Shtylyov		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
16870fd8b6aSSergei Shtylyov		avdd-supply = <&d1_8v>;
16970fd8b6aSSergei Shtylyov		dvdd-supply = <&d1_8v>;
17070fd8b6aSSergei Shtylyov		pvdd-supply = <&d1_8v>;
17170fd8b6aSSergei Shtylyov		bgvdd-supply = <&d1_8v>;
17270fd8b6aSSergei Shtylyov		dvdd-3v-supply = <&d3_3v>;
17370fd8b6aSSergei Shtylyov
17470fd8b6aSSergei Shtylyov		adi,input-depth = <8>;
17570fd8b6aSSergei Shtylyov		adi,input-colorspace = "rgb";
17670fd8b6aSSergei Shtylyov		adi,input-clock = "1x";
17770fd8b6aSSergei Shtylyov
17870fd8b6aSSergei Shtylyov		ports {
17970fd8b6aSSergei Shtylyov			#address-cells = <1>;
18070fd8b6aSSergei Shtylyov			#size-cells = <0>;
18170fd8b6aSSergei Shtylyov
18270fd8b6aSSergei Shtylyov			port@0 {
18370fd8b6aSSergei Shtylyov				reg = <0>;
18470fd8b6aSSergei Shtylyov				adv7511_in: endpoint {
18570fd8b6aSSergei Shtylyov					remote-endpoint = <&thc63lvd1024_out>;
18670fd8b6aSSergei Shtylyov				};
18770fd8b6aSSergei Shtylyov			};
18870fd8b6aSSergei Shtylyov
18970fd8b6aSSergei Shtylyov			port@1 {
19070fd8b6aSSergei Shtylyov				reg = <1>;
19170fd8b6aSSergei Shtylyov				adv7511_out: endpoint {
19270fd8b6aSSergei Shtylyov					remote-endpoint = <&hdmi_con>;
19370fd8b6aSSergei Shtylyov				};
19470fd8b6aSSergei Shtylyov			};
19570fd8b6aSSergei Shtylyov		};
19670fd8b6aSSergei Shtylyov	};
19770fd8b6aSSergei Shtylyov};
19870fd8b6aSSergei Shtylyov
19970fd8b6aSSergei Shtylyov&lvds0 {
20070fd8b6aSSergei Shtylyov	status = "okay";
20170fd8b6aSSergei Shtylyov
20270fd8b6aSSergei Shtylyov	ports {
20370fd8b6aSSergei Shtylyov		port@1 {
20470fd8b6aSSergei Shtylyov			lvds0_out: endpoint {
20570fd8b6aSSergei Shtylyov				remote-endpoint = <&thc63lvd1024_in>;
20670fd8b6aSSergei Shtylyov			};
20770fd8b6aSSergei Shtylyov		};
20870fd8b6aSSergei Shtylyov	};
20945fde0d4SSergei Shtylyov};
21045fde0d4SSergei Shtylyov
211cc922244SSergei Shtylyov&mmc0 {
212cc922244SSergei Shtylyov	pinctrl-0 = <&mmc_pins>;
213b6810bafSWolfram Sang	pinctrl-1 = <&mmc_pins>;
214cc922244SSergei Shtylyov	pinctrl-names = "default", "state_uhs";
215cc922244SSergei Shtylyov
216cc922244SSergei Shtylyov	vmmc-supply = <&d3_3v>;
217cc922244SSergei Shtylyov	vqmmc-supply = <&vddq_vin01>;
218cc922244SSergei Shtylyov	mmc-hs200-1_8v;
219cc922244SSergei Shtylyov	bus-width = <8>;
220d68c9edfSWolfram Sang	no-sd;
221d68c9edfSWolfram Sang	no-sdio;
222cc922244SSergei Shtylyov	non-removable;
223cc922244SSergei Shtylyov	status = "okay";
224cc922244SSergei Shtylyov};
225cc922244SSergei Shtylyov
226c6eb2047SSergei Shtylyov&pciec {
227c6eb2047SSergei Shtylyov	status = "okay";
228c6eb2047SSergei Shtylyov};
229c6eb2047SSergei Shtylyov
230c6eb2047SSergei Shtylyov&pcie_bus_clk {
231c6eb2047SSergei Shtylyov	clock-frequency = <100000000>;
232c6eb2047SSergei Shtylyov};
233c6eb2047SSergei Shtylyov
234c6eb2047SSergei Shtylyov&pcie_phy {
235c6eb2047SSergei Shtylyov	status = "okay";
236c6eb2047SSergei Shtylyov};
237c6eb2047SSergei Shtylyov
238a824e63cSSergei Shtylyov&pfc {
2397a9706d2SSergei Shtylyov	canfd0_pins: canfd0 {
2407a9706d2SSergei Shtylyov		groups = "canfd0_data_a";
2417a9706d2SSergei Shtylyov		function = "canfd0";
2427a9706d2SSergei Shtylyov	};
2437a9706d2SSergei Shtylyov
244eab53fdfSSergei Shtylyov	gether_pins: gether {
245eab53fdfSSergei Shtylyov		groups = "gether_mdio_a", "gether_rgmii",
246eab53fdfSSergei Shtylyov			 "gether_txcrefclk", "gether_txcrefclk_mega";
247eab53fdfSSergei Shtylyov		function = "gether";
248eab53fdfSSergei Shtylyov	};
249eab53fdfSSergei Shtylyov
25045fde0d4SSergei Shtylyov	i2c0_pins: i2c0 {
25145fde0d4SSergei Shtylyov		groups = "i2c0";
25245fde0d4SSergei Shtylyov		function = "i2c0";
25345fde0d4SSergei Shtylyov	};
25445fde0d4SSergei Shtylyov
255cc922244SSergei Shtylyov	mmc_pins: mmc {
256cc922244SSergei Shtylyov		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
257cc922244SSergei Shtylyov		function = "mmc";
258cc922244SSergei Shtylyov		power-source = <1800>;
259cc922244SSergei Shtylyov	};
260cc922244SSergei Shtylyov
2619d3f2e7eSSergei Shtylyov	qspi0_pins: qspi0 {
2629d3f2e7eSSergei Shtylyov		groups = "qspi0_ctrl", "qspi0_data4";
2639d3f2e7eSSergei Shtylyov		function = "qspi0";
2649d3f2e7eSSergei Shtylyov	};
2659d3f2e7eSSergei Shtylyov
266a824e63cSSergei Shtylyov	scif0_pins: scif0 {
267a824e63cSSergei Shtylyov		groups = "scif0_data";
268a824e63cSSergei Shtylyov		function = "scif0";
269a824e63cSSergei Shtylyov	};
270a824e63cSSergei Shtylyov
271a824e63cSSergei Shtylyov	scif_clk_pins: scif_clk {
272a824e63cSSergei Shtylyov		groups = "scif_clk_b";
273a824e63cSSergei Shtylyov		function = "scif_clk";
274a824e63cSSergei Shtylyov	};
275a824e63cSSergei Shtylyov};
276a824e63cSSergei Shtylyov
2779d3f2e7eSSergei Shtylyov&rpc {
2789d3f2e7eSSergei Shtylyov	pinctrl-0 = <&qspi0_pins>;
2799d3f2e7eSSergei Shtylyov	pinctrl-names = "default";
2809d3f2e7eSSergei Shtylyov
2819d3f2e7eSSergei Shtylyov	status = "okay";
2829d3f2e7eSSergei Shtylyov
2839d3f2e7eSSergei Shtylyov	flash@0 {
2849d3f2e7eSSergei Shtylyov		compatible = "spansion,s25fs512s", "jedec,spi-nor";
2859d3f2e7eSSergei Shtylyov		reg = <0>;
2869d3f2e7eSSergei Shtylyov		spi-max-frequency = <50000000>;
2879d3f2e7eSSergei Shtylyov		spi-rx-bus-width = <4>;
2889d3f2e7eSSergei Shtylyov
2899d3f2e7eSSergei Shtylyov		partitions {
2909d3f2e7eSSergei Shtylyov			compatible = "fixed-partitions";
2919d3f2e7eSSergei Shtylyov			#address-cells = <1>;
2929d3f2e7eSSergei Shtylyov			#size-cells = <1>;
2939d3f2e7eSSergei Shtylyov
2949d3f2e7eSSergei Shtylyov			bootparam@0 {
2959d3f2e7eSSergei Shtylyov				reg = <0x00000000 0x040000>;
2969d3f2e7eSSergei Shtylyov				read-only;
2979d3f2e7eSSergei Shtylyov			};
2989d3f2e7eSSergei Shtylyov			cr7@40000 {
2999d3f2e7eSSergei Shtylyov				reg = <0x00040000 0x080000>;
3009d3f2e7eSSergei Shtylyov				read-only;
3019d3f2e7eSSergei Shtylyov			};
3029d3f2e7eSSergei Shtylyov			cert_header_sa3@c0000 {
3039d3f2e7eSSergei Shtylyov				reg = <0x000c0000 0x080000>;
3049d3f2e7eSSergei Shtylyov				read-only;
3059d3f2e7eSSergei Shtylyov			};
3069d3f2e7eSSergei Shtylyov			bl2@140000 {
3079d3f2e7eSSergei Shtylyov				reg = <0x00140000 0x040000>;
3089d3f2e7eSSergei Shtylyov				read-only;
3099d3f2e7eSSergei Shtylyov			};
3109d3f2e7eSSergei Shtylyov			cert_header_sa6@180000 {
3119d3f2e7eSSergei Shtylyov				reg = <0x00180000 0x040000>;
3129d3f2e7eSSergei Shtylyov				read-only;
3139d3f2e7eSSergei Shtylyov			};
3149d3f2e7eSSergei Shtylyov			bl31@1c0000 {
3159d3f2e7eSSergei Shtylyov				reg = <0x001c0000 0x460000>;
3169d3f2e7eSSergei Shtylyov				read-only;
3179d3f2e7eSSergei Shtylyov			};
3189d3f2e7eSSergei Shtylyov			uboot@640000 {
3199d3f2e7eSSergei Shtylyov				reg = <0x00640000 0x0c0000>;
3209d3f2e7eSSergei Shtylyov				read-only;
3219d3f2e7eSSergei Shtylyov			};
3229d3f2e7eSSergei Shtylyov			uboot-env@700000 {
3239d3f2e7eSSergei Shtylyov				reg = <0x00700000 0x040000>;
3249d3f2e7eSSergei Shtylyov				read-only;
3259d3f2e7eSSergei Shtylyov			};
3269d3f2e7eSSergei Shtylyov			dtb@740000 {
3279d3f2e7eSSergei Shtylyov				reg = <0x00740000 0x080000>;
3289d3f2e7eSSergei Shtylyov			};
3299d3f2e7eSSergei Shtylyov			kernel@7c0000 {
3309d3f2e7eSSergei Shtylyov				reg = <0x007c0000 0x1400000>;
3319d3f2e7eSSergei Shtylyov			};
3329d3f2e7eSSergei Shtylyov			user@1bc0000 {
3339d3f2e7eSSergei Shtylyov				reg = <0x01bc0000 0x2440000>;
3349d3f2e7eSSergei Shtylyov			};
3359d3f2e7eSSergei Shtylyov		};
3369d3f2e7eSSergei Shtylyov	};
3379d3f2e7eSSergei Shtylyov};
3389d3f2e7eSSergei Shtylyov
339bcee502cSSergei Shtylyov&rwdt {
340bcee502cSSergei Shtylyov	timeout-sec = <60>;
341bcee502cSSergei Shtylyov	status = "okay";
342bcee502cSSergei Shtylyov};
343bcee502cSSergei Shtylyov
344b9edbce9SSergei Shtylyov&scif0 {
345a824e63cSSergei Shtylyov	pinctrl-0 = <&scif0_pins>, <&scif_clk_pins>;
346a824e63cSSergei Shtylyov	pinctrl-names = "default";
347a824e63cSSergei Shtylyov
348b9edbce9SSergei Shtylyov	status = "okay";
349b9edbce9SSergei Shtylyov};
350b9edbce9SSergei Shtylyov
351b9edbce9SSergei Shtylyov&scif_clk {
352b9edbce9SSergei Shtylyov	clock-frequency = <14745600>;
353b9edbce9SSergei Shtylyov};
354