[PATCH] arm64: dts: renesas: ulcb-kf: add KF HDMI output

From: Nikita Yushchenko
Date: Sat Dec 25 2021 - 06:55:37 EST


This patch adds nodes needed to enable DRM video output over HDMI
connector located on KF board.

Signed-off-by: Nikita Yushchenko <nikita.yoush@xxxxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 93 ++++++++++++++++++++++++
1 file changed, 93 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 61bd4df09df0..a66301a4081d 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -51,6 +51,31 @@ wlan_en: regulator-wlan_en {
startup-delay-us = <70000>;
enable-active-high;
};
+
+ hdmi_1v8: regulator-hdmi-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "hdmi-1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ hdmi_3v3: regulator-hdmi-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "hdmi-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ hdmi1-out {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi1_con: endpoint {
+ remote-endpoint = <&adv7513_out>;
+ };
+ };
+ };
};

&can0 {
@@ -91,6 +116,58 @@ i2cswitch2: i2c-switch@71 {
reg = <0x71>;
reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;

+ /* HDMIoSDA, HDMIoSCL */
+ i2c@4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <4>;
+
+ hdmi@3d {
+ compatible = "adi,adv7513";
+ reg = <0x3d>;
+
+ pinctrl-0 = <&hdmi1_pins>;
+ pinctrl-names = "default";
+
+ interrupt-parent = <&gpio2>;
+ interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+
+ clocks = <&cs2000>;
+ clock-names = "cec";
+
+ pd-gpios = <&gpio_exp_75 5 GPIO_ACTIVE_LOW>;
+
+ avdd-supply = <&hdmi_1v8>;
+ dvdd-supply = <&hdmi_1v8>;
+ pvdd-supply = <&hdmi_1v8>;
+ dvdd-3v-supply = <&hdmi_3v3>;
+ bgvdd-supply = <&hdmi_1v8>;
+
+ adi,input-depth = <8>;
+ adi,input-colorspace = "rgb";
+ adi,input-clock = "1x";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ adv7513_in: endpoint {
+ remote-endpoint = <&du_out_rgb>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ adv7513_out: endpoint {
+ remote-endpoint = <&hdmi1_con>;
+ };
+ };
+ };
+ };
+ };
+
/* Audio_SDA, Audio_SCL */
i2c@7 {
#address-cells = <1>;
@@ -236,6 +313,10 @@ gpio_exp_77: gpio@77 {
};
};

+&du_out_rgb {
+ remote-endpoint = <&adv7513_in>;
+};
+
&ohci0 {
dr_mode = "otg";
status = "okay";
@@ -289,6 +370,18 @@ usb0_pins: usb0 {
groups = "usb0";
function = "usb0";
};
+
+ hdmi1_pins: hdmi1 {
+ du {
+ groups = "du_rgb888", "du_sync", "du_clk_out_0", "du_disp";
+ function = "du";
+ };
+
+ adv7513-interrupt {
+ pins = "GP_2_14";
+ bias-pull-up;
+ };
+ };
};

&rcar_sound {
--
2.30.2