Re: Re: Re: [PATCH v2 1/5] drm/mediatek: config component output by device node port

From: Frank Wunderlich
Date: Mon Aug 03 2020 - 14:03:16 EST

Am 3. August 2020 18:27:02 MESZ schrieb Chun-Kuang Hu <>:

>But now I have a solution that you need not to modify binding document.
>Because now mt7623 has a different routing than mt2701, and this
>patch's approach is to use different port setting in each device tree.
>My solution is that these two SoC has different compatible string:
>"mediatek,mt7623-mmsys" and "mediatek,mt2701-mmsys". For now,
>"mediatek,mt2701-mmsys" has its data as
>static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = {
>.main_path = mt2701_mtk_ddp_main,
>.main_len = ARRAY_SIZE(mt2701_mtk_ddp_main),
>.ext_path = mt2701_mtk_ddp_ext,
>.ext_len = ARRAY_SIZE(mt2701_mtk_ddp_ext),
>.shadow_register = true,
>I think you could create a data for "mediatek,mt7623-mmsys" which has
>a different routing.

The paths are defined as this:

static enum mtk_ddp_comp_id mt2701_mtk_ddp_main[] = { DDP_COMPONENT_OVL0, DDP_COMPONENT_RDMA0, DDP_COMPONENT_COLOR0, DDP_COMPONENT_BLS, DDP_COMPONENT_DSI0,};

static enum mtk_ddp_comp_id mt2701_mtk_ddp_ext[] = { DDP_COMPONENT_RDMA1, DDP_COMPONENT_DPI0,};

First thing i notice is that main=dsi and ext=dpi (hdmi). I guess dpi should be main,right? And bls is actually routed to about the other components?

The 2 loops are not really clear to me (except 1st overwrites mt2701 main-path and second ext_path based on ports/endpoints) but this only applies from bls-dpi-hdmi-connector,not xdma/color or similar.
Or should be main-path (or external) only bls and dpi? It looks like it only swappes dpi and dsi in my case.

@Ryder Lee can you explain it?
regards Frank