From 79d76546341424d3b712bfb65c96f5150386da72 Mon Sep 17 00:00:00 2001
From: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Date: Fri, 22 Feb 2019 19:45:04 +0300
Subject: [PATCH 077/122] arm64: dts: Add H3ULCB VideoBox 2.1 support.

This adds VideoBox 2.1 support for H3ULCB and H3ULCB 4x2G boards.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/Makefile               |  1 +
 .../boot/dts/renesas/r8a7795-h3ulcb-4x2g-vb2.1.dts | 68 ++++++++++++++++
 .../boot/dts/renesas/r8a7795-h3ulcb-vb2.1.dts      | 68 ++++++++++++++++
 arch/arm64/boot/dts/renesas/ulcb-vb2.1.dtsi        | 90 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/ulcb-vb2.dtsi          |  2 +-
 5 files changed, 228 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-4x2g-vb2.1.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb2.1.dts
 create mode 100644 arch/arm64/boot/dts/renesas/ulcb-vb2.1.dtsi

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index e7fc36e..f7f8638 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -30,6 +30,7 @@ dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-had-alfa.dtb r8a7795-h3ulcb-had-bet
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-kf.dtb r8a7795-es1-h3ulcb-kf.dtb r8a7795-h3ulcb-4x2g-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-vb.dtb r8a7795-es1-h3ulcb-vb.dtb r8a7795-h3ulcb-4x2g-vb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-vb2.dtb r8a7795-es1-h3ulcb-vb2.dtb r8a7795-h3ulcb-4x2g-vb2.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-vb2.1.dtb r8a7795-h3ulcb-4x2g-vb2.1.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-vbm.dtb r8a7795-es1-h3ulcb-vbm.dtb r8a7795-h3ulcb-4x2g-vbm.dtb
 dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-m3nulcb-kf.dtb
 #dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle-function.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-4x2g-vb2.1.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-4x2g-vb2.1.dts
new file mode 100644
index 0000000..1a9d0be
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-4x2g-vb2.1.dts
@@ -0,0 +1,68 @@
+/*
+ * Device Tree Source for the H3ULCB Videobox board V2.1 on r8a7795
+ *
+ * Copyright (C) 2019 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-h3ulcb-4x2g.dts"
+#include "ulcb-vb2.1.dtsi"
+
+/ {
+	model = "Renesas H3ULCB with 8GiB (4 x 2 GiB) Videobox V2.1 board based on r8a7795";
+
+	hdmi1-out {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi1_con: endpoint {
+				remote-endpoint = <&rcar_dw_hdmi1_out>;
+			};
+		};
+	};
+};
+
+&du {
+	ports {
+		port@2 {
+			endpoint {
+				remote-endpoint = <&rcar_dw_hdmi1_in>;
+			};
+		};
+		port@3 {
+			endpoint {
+				remote-endpoint = <&lvds_in>;
+			};
+		};
+	};
+};
+
+&hdmi1 {
+	status = "okay";
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+			rcar_dw_hdmi1_in: endpoint {
+				remote-endpoint = <&du_out_hdmi1>;
+			};
+		};
+		port@1 {
+			reg = <1>;
+			rcar_dw_hdmi1_out: endpoint {
+				remote-endpoint = <&hdmi1_con>;
+			};
+		};
+	};
+};
+
+&hsusb {
+	status = "okay";
+};
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb2.1.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb2.1.dts
new file mode 100644
index 0000000..43c20b0
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb2.1.dts
@@ -0,0 +1,68 @@
+/*
+ * Device Tree Source for the H3ULCB Videobox board V2.1 on r8a7795
+ *
+ * Copyright (C) 2019 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-h3ulcb.dts"
+#include "ulcb-vb2.1.dtsi"
+
+/ {
+	model = "Renesas H3ULCB Videobox V2.1 board based on r8a7795";
+
+	hdmi1-out {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi1_con: endpoint {
+				remote-endpoint = <&rcar_dw_hdmi1_out>;
+			};
+		};
+	};
+};
+
+&du {
+	ports {
+		port@2 {
+			endpoint {
+				remote-endpoint = <&rcar_dw_hdmi1_in>;
+			};
+		};
+		port@3 {
+			endpoint {
+				remote-endpoint = <&lvds_in>;
+			};
+		};
+	};
+};
+
+&hdmi1 {
+	status = "okay";
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+			rcar_dw_hdmi1_in: endpoint {
+				remote-endpoint = <&du_out_hdmi1>;
+			};
+		};
+		port@1 {
+			reg = <1>;
+			rcar_dw_hdmi1_out: endpoint {
+				remote-endpoint = <&hdmi1_con>;
+			};
+		};
+	};
+};
+
+&hsusb {
+	status = "okay";
+};
diff --git a/arch/arm64/boot/dts/renesas/ulcb-vb2.1.dtsi b/arch/arm64/boot/dts/renesas/ulcb-vb2.1.dtsi
new file mode 100644
index 0000000..0df720d
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/ulcb-vb2.1.dtsi
@@ -0,0 +1,90 @@
+/*
+ * Device Tree Source for the ULCB Videobox V2.1 board
+ *
+ * Copyright (C) 2019 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "ulcb-vb2.dtsi"
+
+/{
+	leds {
+		led_button {
+			gpios = <&gpio_ext_led 9 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "cpu";
+		};
+	};
+
+	gpio_keys_polled {
+		compatible = "gpio-keys-polled";
+		poll-interval = <100>;
+		autorepeat;
+
+		button_pwr {
+			label = "GPIO Key POWER";
+			linux,code = <116>;
+			gpios = <&gpio_ext_led 8 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&i2c_power {
+	adc@48 {
+		reg = <0x48>;
+		compatible = "ti,ads1115";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		wake7_voltage: channel@4 {
+			/* single endded AIN0 */
+			reg = <4>;
+		};
+		wake8_voltage: channel@5 {
+			/* single endded AIN1 */
+			reg = <5>;
+		};
+		dc_prot_voltage: channel@6 {
+			/* single endded AIN2 */
+			reg = <6>;
+		};
+		dcdc_voltage: channel@7 {
+			/* single endded AIN3 */
+			reg = <7>;
+		};
+	};
+};
+
+&gpio6 {
+	/delete-node/m2_0_rst;
+
+	m2_0_rst {
+		gpio-hog;
+		gpios = <6 GPIO_ACTIVE_HIGH>;
+		output-high;
+		line-name = "M.2 0 RST#";
+	};
+};
+
+&pfc {
+	usb1_pins: usb1 {
+		groups = "usb1";
+		function = "usb1";
+	};
+};
+
+&usb2_phy1 {
+	pinctrl-0 = <&usb1_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&ehci1 {
+	status = "okay";
+};
+
+&ohci1 {
+	status = "okay";
+};
diff --git a/arch/arm64/boot/dts/renesas/ulcb-vb2.dtsi b/arch/arm64/boot/dts/renesas/ulcb-vb2.dtsi
index 0f49b44..1610949 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-vb2.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-vb2.dtsi
@@ -1061,7 +1061,7 @@
 			};
 		};
 
-		i2c@2 {
+		i2c_power: i2c@2 {
 			#address-cells = <1>;
 			#size-cells = <0>;
 			reg = <2>;
-- 
2.7.4

