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>;
> +};
>