18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci# Copyright 2019 NXP 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/display/imx/nxp,imx8mq-dcss.yaml#" 68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: iMX8MQ Display Controller Subsystem (DCSS) 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Laurentiu Palcu <laurentiu.palcu@nxp.com> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cidescription: 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci The DCSS (display controller sub system) is used to source up to three 168c2ecf20Sopenharmony_ci display buffers, compose them, and drive a display using HDMI 2.0a(with HDCP 178c2ecf20Sopenharmony_ci 2.2) or MIPI-DSI. The DCSS is intended to support up to 4kp60 displays. HDR10 188c2ecf20Sopenharmony_ci image processing capabilities are included to provide a solution capable of 198c2ecf20Sopenharmony_ci driving next generation high dynamic range displays. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciproperties: 228c2ecf20Sopenharmony_ci compatible: 238c2ecf20Sopenharmony_ci const: nxp,imx8mq-dcss 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci reg: 268c2ecf20Sopenharmony_ci items: 278c2ecf20Sopenharmony_ci - description: DCSS base address and size, up to IRQ steer start 288c2ecf20Sopenharmony_ci - description: DCSS BLKCTL base address and size 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci interrupts: 318c2ecf20Sopenharmony_ci items: 328c2ecf20Sopenharmony_ci - description: Context loader completion and error interrupt 338c2ecf20Sopenharmony_ci - description: DTG interrupt used to signal context loader trigger time 348c2ecf20Sopenharmony_ci - description: DTG interrupt for Vblank 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci interrupt-names: 378c2ecf20Sopenharmony_ci items: 388c2ecf20Sopenharmony_ci - const: ctxld 398c2ecf20Sopenharmony_ci - const: ctxld_kick 408c2ecf20Sopenharmony_ci - const: vblank 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci clocks: 438c2ecf20Sopenharmony_ci items: 448c2ecf20Sopenharmony_ci - description: Display APB clock for all peripheral PIO access interfaces 458c2ecf20Sopenharmony_ci - description: Display AXI clock needed by DPR, Scaler, RTRAM_CTRL 468c2ecf20Sopenharmony_ci - description: RTRAM clock 478c2ecf20Sopenharmony_ci - description: Pixel clock, can be driven either by HDMI phy clock or MIPI 488c2ecf20Sopenharmony_ci - description: DTRC clock, needed by video decompressor 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci clock-names: 518c2ecf20Sopenharmony_ci items: 528c2ecf20Sopenharmony_ci - const: apb 538c2ecf20Sopenharmony_ci - const: axi 548c2ecf20Sopenharmony_ci - const: rtrm 558c2ecf20Sopenharmony_ci - const: pix 568c2ecf20Sopenharmony_ci - const: dtrc 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci assigned-clocks: 598c2ecf20Sopenharmony_ci items: 608c2ecf20Sopenharmony_ci - description: Phandle and clock specifier of IMX8MQ_CLK_DISP_AXI_ROOT 618c2ecf20Sopenharmony_ci - description: Phandle and clock specifier of IMX8MQ_CLK_DISP_RTRM 628c2ecf20Sopenharmony_ci - description: Phandle and clock specifier of either IMX8MQ_VIDEO2_PLL1_REF_SEL or 638c2ecf20Sopenharmony_ci IMX8MQ_VIDEO_PLL1_REF_SEL 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci assigned-clock-parents: 668c2ecf20Sopenharmony_ci items: 678c2ecf20Sopenharmony_ci - description: Phandle and clock specifier of IMX8MQ_SYS1_PLL_800M 688c2ecf20Sopenharmony_ci - description: Phandle and clock specifier of IMX8MQ_SYS1_PLL_800M 698c2ecf20Sopenharmony_ci - description: Phandle and clock specifier of IMX8MQ_CLK_27M 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci assigned-clock-rates: 728c2ecf20Sopenharmony_ci items: 738c2ecf20Sopenharmony_ci - description: Must be 800 MHz 748c2ecf20Sopenharmony_ci - description: Must be 400 MHz 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci port: 778c2ecf20Sopenharmony_ci type: object 788c2ecf20Sopenharmony_ci description: 798c2ecf20Sopenharmony_ci A port node pointing to the input port of a HDMI/DP or MIPI display bridge. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciadditionalProperties: false 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ciexamples: 848c2ecf20Sopenharmony_ci - | 858c2ecf20Sopenharmony_ci #include <dt-bindings/clock/imx8mq-clock.h> 868c2ecf20Sopenharmony_ci dcss: display-controller@32e00000 { 878c2ecf20Sopenharmony_ci compatible = "nxp,imx8mq-dcss"; 888c2ecf20Sopenharmony_ci reg = <0x32e00000 0x2d000>, <0x32e2f000 0x1000>; 898c2ecf20Sopenharmony_ci interrupts = <6>, <8>, <9>; 908c2ecf20Sopenharmony_ci interrupt-names = "ctxld", "ctxld_kick", "vblank"; 918c2ecf20Sopenharmony_ci interrupt-parent = <&irqsteer>; 928c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>, <&clk IMX8MQ_CLK_DISP_AXI_ROOT>, 938c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DISP_RTRM_ROOT>, <&clk IMX8MQ_VIDEO2_PLL_OUT>, 948c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DISP_DTRC>; 958c2ecf20Sopenharmony_ci clock-names = "apb", "axi", "rtrm", "pix", "dtrc"; 968c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_DISP_AXI>, <&clk IMX8MQ_CLK_DISP_RTRM>, 978c2ecf20Sopenharmony_ci <&clk IMX8MQ_VIDEO2_PLL1_REF_SEL>; 988c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>, <&clk IMX8MQ_SYS1_PLL_800M>, 998c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_27M>; 1008c2ecf20Sopenharmony_ci assigned-clock-rates = <800000000>, 1018c2ecf20Sopenharmony_ci <400000000>; 1028c2ecf20Sopenharmony_ci port { 1038c2ecf20Sopenharmony_ci dcss_out: endpoint { 1048c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_in>; 1058c2ecf20Sopenharmony_ci }; 1068c2ecf20Sopenharmony_ci }; 1078c2ecf20Sopenharmony_ci }; 1088c2ecf20Sopenharmony_ci 109