[PATCH v1 1/4] arm64: dts: mediatek: mt8188: Add base display controller graph

Chen-Yu Tsai wenst at chromium.org
Mon Feb 24 02:50:41 PST 2025


On Thu, Feb 20, 2025 at 7:13 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno at collabora.com> wrote:
>
> The display related IPs in MT8188 are flexible and support being
> interconnected with different instances of DDP IPs and/or with
> different DDP IPs, forming a full Display Data Path that ends
> with an actual display output, which is board specific.
>
> Add a common graph in the main mt8188.dtsi devicetree, which is
> shared between all of the currently supported boards.
> All boards featuring any display functionality will extend this
> common graph to hook the display controller of the SoC to their
> specific output port(s).
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>

Tested-by: Chen-Yu Tsai <wenst at chromium.org> # On MT8188 Ciri (int. and ext.)

> ---
>  arch/arm64/boot/dts/mediatek/mt8188.dtsi | 140 +++++++++++++++++++++++
>  1 file changed, 140 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
> index c226998b7e47..4437b1820f26 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
> @@ -2868,6 +2868,23 @@ ovl0: ovl at 1c000000 {
>                         iommus = <&vdo_iommu M4U_PORT_L0_DISP_OVL0_RDMA0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       ovl0_in: endpoint { };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       ovl0_out: endpoint {
> +                                               remote-endpoint = <&rdma0_in>;
> +                                       };
> +                               };
> +                       };
>                 };
>
>                 rdma0: rdma at 1c002000 {
> @@ -2878,6 +2895,25 @@ rdma0: rdma at 1c002000 {
>                         iommus = <&vdo_iommu M4U_PORT_L1_DISP_RDMA0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       rdma0_in: endpoint {
> +                                               remote-endpoint = <&ovl0_out>;
> +                                       };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       rdma0_out: endpoint {
> +                                               remote-endpoint = <&color0_in>;
> +                                       };
> +                               };
> +                       };
>                 };
>
>                 color0: color at 1c003000 {
> @@ -2887,6 +2923,25 @@ color0: color at 1c003000 {
>                         interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       color0_in: endpoint {
> +                                               remote-endpoint = <&rdma0_out>;
> +                                       };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       color0_out: endpoint {
> +                                               remote-endpoint = <&ccorr0_in>;
> +                                       };
> +                               };
> +                       };
>                 };
>
>                 ccorr0: ccorr at 1c004000 {
> @@ -2896,6 +2951,25 @@ ccorr0: ccorr at 1c004000 {
>                         interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       ccorr0_in: endpoint {
> +                                               remote-endpoint = <&color0_out>;
> +                                       };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       ccorr0_out: endpoint {
> +                                               remote-endpoint = <&aal0_in>;
> +                                       };
> +                               };
> +                       };
>                 };
>
>                 aal0: aal at 1c005000 {
> @@ -2905,6 +2979,25 @@ aal0: aal at 1c005000 {
>                         interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       aal0_in: endpoint {
> +                                               remote-endpoint = <&ccorr0_out>;
> +                                       };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       aal0_out: endpoint {
> +                                               remote-endpoint = <&gamma0_in>;
> +                                       };
> +                               };
> +                       };
>                 };
>
>                 gamma0: gamma at 1c006000 {
> @@ -2914,6 +3007,23 @@ gamma0: gamma at 1c006000 {
>                         interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       gamma0_in: endpoint {
> +                                               remote-endpoint = <&aal0_out>;
> +                                       };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       gamma0_out: endpoint { };
> +                               };
> +                       };
>                 };
>
>                 dither0: dither at 1c007000 {
> @@ -2923,6 +3033,21 @@ dither0: dither at 1c007000 {
>                         interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       dither0_in: endpoint { };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       dither0_out: endpoint { };
> +                               };
> +                       };
>                 };
>
>                 disp_dsi0: dsi at 1c008000 {
> @@ -3005,6 +3130,21 @@ postmask0: postmask at 1c01a000 {
>                         interrupts = <GIC_SPI 661 IRQ_TYPE_LEVEL_HIGH 0>;
>                         power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS0>;
>                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0xa000 0x1000>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port at 0 {
> +                                       reg = <0>;
> +                                       postmask0_in: endpoint { };
> +                               };
> +
> +                               port at 1 {
> +                                       reg = <1>;
> +                                       postmask0_out: endpoint { };
> +                               };
> +                       };
>                 };
>
>                 vdosys0: syscon at 1c01d000 {
> --
> 2.48.1
>
>



More information about the linux-arm-kernel mailing list