Hi Sascha,

Something with port and endpoint gives notifications.
Somehow with the conversion of rockchip,dw-hdmi.txt to YAML not all SoC
options were checked/covered (see rk3328 and rk3568).

Allow multiple vop:
port or
port@0
1x vop -> endpoint

2x vop -> endpoint@0
       -> endpoint@1

Also allow for connector:
(not all existing DT have this yet)
port@1
      -> endpoint

See also at graph.yaml
===

dtc -I dtb -O dts rk3568-evb1-v10.dtb
<stdout>: Warning (avoid_unnecessary_addr_size):
/hdmi@fe0a0000/ports/port@1: unnecessary #address-cells/#size-cells
without "ranges" or child "reg" property
<stdout>: Warning (graph_child_address): /hdmi@fe0a0000/ports/port@0:
graph node has single child node 'endpoint@0',
#address-cells/#size-cells are not necessary
<stdout>: Warning (graph_child_address): /hdmi@fe0a0000/ports/port@1:
graph node has single child node 'endpoint', #address-cells/#size-cells
are not necessary

===

ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml

  DTC     arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dt.yaml
  CHECK   arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dt.yaml
/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dt.yaml: hdmi@fe0a0000:
ports: 'port' is a required property
        From schema:
/home/user/Downloads/linux-next-20220202/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml
  DTC     arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dt.yaml
  CHECK   arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dt.yaml
/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dt.yaml: hdmi@fe0a0000:
ports: 'port' is a required property
        From schema:
/home/user/Downloads/linux-next-20220202/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml

===

On 2/9/22 10:53, Sascha Hauer wrote:
> This enabled the VOP2 display controller along with hdmi and the
> required port routes which is enough to get a picture out of the
> hdmi port of the board.
> 
> Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
> ---
> 
> Notes:
>     Changes since v4:
>     - Sort nodes alphabetically
>     
>     Changes since v3:
>     - Fix HDMI connector type
> 
>  .../boot/dts/rockchip/rk3568-evb1-v10.dts     | 48 +++++++++++++++++++
>  1 file changed, 48 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts 
> b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> index 184e2aa2416a..18f0f5abddcf 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> @@ -7,6 +7,7 @@
>  /dts-v1/;
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/pinctrl/rockchip.h>
> +#include <dt-bindings/soc/rockchip,vop2.h>
>  #include "rk3568.dtsi"
>  
>  / {
> @@ -33,6 +34,17 @@ dc_12v: dc-12v {
>               regulator-max-microvolt = <12000000>;
>       };
>  
> +     hdmi-con {
> +             compatible = "hdmi-connector";
> +             type = "a";
> +
> +             port {
> +                     hdmi_con_in: endpoint {
> +                             remote-endpoint = <&hdmi_out_con>;
> +                     };
> +             };
> +     };
> +
>       vcc3v3_sys: vcc3v3-sys {
>               compatible = "regulator-fixed";
>               regulator-name = "vcc3v3_sys";
> @@ -106,6 +118,25 @@ &gmac1m1_rgmii_clk
>       status = "okay";
>  };
>  
> +&hdmi {
> +     avdd-0v9-supply = <&vdda0v9_image>;
> +     avdd-1v8-supply = <&vcca1v8_image>;
> +     status = "okay";
> +};
> +
> +&hdmi_in {
> +     hdmi_in_vp0: endpoint@0 {
> +             reg = <0>;
> +             remote-endpoint = <&vp0_out_hdmi>;
> +     };
> +};
> +
> +&hdmi_out {
> +     hdmi_out_con: endpoint {
> +             remote-endpoint = <&hdmi_con_in>;
> +     };
> +};
> +
>  &i2c0 {
>       status = "okay";
>  
> @@ -390,3 +421,20 @@ &sdmmc0 {
>  &uart2 {
>       status = "okay";
>  };
> +
> +&vop {
> +     assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
> +     assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
> +     status = "okay";
> +};
> +
> +&vop_mmu {
> +     status = "okay";
> +};
> +
> +&vp0 {
> +     vp0_out_hdmi: endpoint@RK3568_VOP2_EP_HDMI {
> +             reg = <RK3568_VOP2_EP_HDMI>;
> +             remote-endpoint = <&hdmi_in_vp0>;
> +     };
> +};

Reply via email to