Re: [linux-sunxi] [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI

From: Jernej Åkrabec
Date: Thu Jul 26 2018 - 14:03:08 EST


Dne Äetrtek, 26. julij 2018 ob 19:12:57 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
>
> Enable all necessary device tree nodes and add connector node to device
> trees for all supported A64 boards with HDMI.
>
> Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
> [Icenowy: squash all board patches altogether and change supply name]
> Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx>
> ---
> Changes in v3,1:
> - Squash all enablement patches altogether.
> - Change supply name to match DT binding & driver change.
> Changes for v3:
> - Enable all pipeline components
> Changes for v2:
> - none
>
> .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++
> .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++
> .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++
> .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++
> .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++
> .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++
> 6 files changed, 204 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts index
> 094cfed13df9..0d8f5571d574 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
> @@ -60,6 +60,17 @@
> stdout-path = "serial0:115200n8";
> };
>
> + connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +
> leds {
> compatible = "gpio-leds";
>
> @@ -86,6 +97,10 @@
> };
> };
>
> +&de {
> + status = "okay";
> +};
> +
> &ehci0 {
> status = "okay";
> };
> @@ -103,6 +118,17 @@
> status = "okay";
> };
>
> +&hdmi {
> + hdmi-supply = <&reg_dldo1>;
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> &i2c1 {
> pinctrl-names = "default";
> pinctrl-0 = <&i2c1_pins>;
> @@ -120,6 +146,10 @@
> };
> };
>
> +&mixer1 {
> + status = "okay";
> +};
> +
> &mmc0 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> @@ -300,6 +330,10 @@
> vcc-hdmi-supply = <&reg_dldo1>;
> };
>
> +&tcon1 {
> + status = "okay";
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts index
> 98dbff19f5cc..2bcf02f46366 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
> @@ -57,6 +57,21 @@
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +};
> +
> +&de {
> + status = "okay";
> };
>
> &ehci0 {
> @@ -67,6 +82,17 @@
> status = "okay";
> };
>
> +&hdmi {
> + hdmi-supply = <&reg_dldo1>;
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> /* i2c1 connected with gpio headers like pine64, bananapi */
> &i2c1 {
> pinctrl-names = "default";
> @@ -78,6 +104,10 @@
> bias-pull-up;
> };
>
> +&mixer1 {
> + status = "okay";
> +};
> +
> &mmc0 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> @@ -199,6 +229,10 @@
> vcc-hdmi-supply = <&reg_dldo1>;
> };
>
> +&tcon1 {
> + status = "okay";
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts index
> 3f531393eaee..5445a7a1db51 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> @@ -58,12 +58,42 @@
> stdout-path = "serial0:115200n8";
> };
>
> + connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +
> wifi_pwrseq: wifi_pwrseq {
> compatible = "mmc-pwrseq-simple";
> reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
> };
> };
>
> +&de {
> + status = "okay";
> +};
> +
> +&hdmi {
> + hdmi-supply = <&reg_dldo1>;
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> +&mixer1 {
> + status = "okay";
> +};
> +
> &mmc0 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> @@ -218,6 +248,10 @@
> vcc-hdmi-supply = <&reg_dldo1>;
> };
>
> +&tcon1 {
> + status = "okay";
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts index
> 1221764f5719..81a8f92c6c35 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
> @@ -57,12 +57,42 @@
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +};
> +
> +&de {
> + status = "okay";
> };
>
> &ehci1 {
> status = "okay";
> };
>
> +&hdmi {
> + hdmi-supply = <&reg_dldo1>;
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> +&mixer1 {
> + status = "okay";
> +};
> +
> &mmc0 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> @@ -195,6 +225,10 @@
> vcc-hdmi-supply = <&reg_dldo1>;
> };
>
> +&tcon1 {
> + status = "okay";
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts index
> 1b9b92e541d2..1b972bade9f6 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> @@ -62,6 +62,21 @@
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +};
> +
> +&de {
> + status = "okay";
> };
>
> &ehci0 {
> @@ -82,6 +97,17 @@
>
> };
>
> +&hdmi {
> + hdmi-supply = <&reg_dldo1>;
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> &i2c1 {
> pinctrl-names = "default";
> pinctrl-0 = <&i2c1_pins>;
> @@ -99,6 +125,10 @@
> };
> };
>
> +&mixer1 {
> + status = "okay";
> +};
> +
> &mmc0 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> @@ -238,6 +268,10 @@
> status = "disabled";
> };
>
> +&tcon1 {
> + status = "okay";
> +};
> +
> /* On Exp and Euler connectors */
> &uart0 {
> pinctrl-names = "default";
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts index
> c21f2331add6..eff44b069b1d 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> @@ -61,6 +61,17 @@
> stdout-path = "serial0:115200n8";
> };
>
> + connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +
> reg_vcc1v8: vcc1v8 {
> compatible = "regulator-fixed";
> regulator-name = "vcc1v8";
> @@ -69,6 +80,10 @@
> };
> };
>
> +&de {
> + status = "okay";
> +};
> +
> &ehci0 {
> status = "okay";
> };
> @@ -86,6 +101,17 @@
> status = "okay";
> };
>
> +&hdmi {
> + hdmi-supply = <&reg_dldo1>;
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> &mdio {
> ext_rgmii_phy: ethernet-phy@1 {
> compatible = "ethernet-phy-ieee802.3-c22";
> @@ -93,6 +119,10 @@
> };
> };
>
> +&mixer1 {
> + status = "okay";
> +};
> +
> &mmc2 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc2_pins>;
> @@ -138,6 +168,10 @@
> vcc-hdmi-supply = <&reg_dldo1>;

How is it possible to have vcc-hdmi-supply already defined? Did I miss some
patch?

Best regards,
Jernej

> };
>
> +&tcon1 {
> + status = "okay";
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pins_a>;