On 8/26/26 8:09 AM, Julien Stephan wrote:
> The mt8188 SoC provides an HDMI encoder and PHY fed through the DPI1
> interface attached to the vdosys1 display data path.
> 
> Add the U-Boot specific bits to mt8390-genio-common-u-boot.dtsi:
> - a "memory-region" phandle on the hdmi node pointing at the framebuffer
>   reserved-memory region;
> - aliases for the pipeline resources that have no upstream alias (the
>   vdosys1 syscon and the larb2/larb3 SMI larbs), which the video driver
>   resolves directly since U-Boot has no DRM framework to walk the graph.
> 
> Signed-off-by: Julien Stephan <[email protected]>
> ---
>  arch/arm/dts/mt8390-genio-common-u-boot.dtsi | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/arch/arm/dts/mt8390-genio-common-u-boot.dtsi 
> b/arch/arm/dts/mt8390-genio-common-u-boot.dtsi
> index 95b2f66973c..9485315b79b 100644
> --- a/arch/arm/dts/mt8390-genio-common-u-boot.dtsi
> +++ b/arch/arm/dts/mt8390-genio-common-u-boot.dtsi
> @@ -5,6 +5,18 @@
>   */
>  
>  / {
> +     /*
> +      * U-Boot specific: the video driver looks up every pipeline component
> +      * by alias. These resources have no upstream alias, so add one here:
> +      * the vdosys1 syscon (whose register block holds the display routing
> +      * muxes) and the SMI larbs feeding the display data path.
> +      */
> +     aliases {
> +             larb2 = &larb2;
> +             larb3 = &larb3;
> +             vdosys1 = &vdosys1;
> +     };
> +

It would be nice to avoid these aliases if we can. For example, we can
get vdosys1 with of_node_by_compatible().

The larbs are a bit more complicated but still doable with
dev_read_phandle_with_args(rdma, "iommus", "#iommu-cells", ...) to get
the node with the mediatek,larbs property. Then ofnode_parse_phandle()
on that property to get the larbs.

>       reserved-memory {
>               /*
>                * Keep these regions clear of the board reserved-memory
> @@ -24,3 +36,8 @@
>               };
>       };
>  };
> +
> +&hdmi {
> +     /* U-Boot specific: the framebuffer lives in this reserved region */
> +     memory-region = <&framebuffer>;
> +};
> 

Reply via email to