| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| # Copyright 2019 NXP |
| %YAML 1.2 |
| --- |
| $id: "http://devicetree.org/schemas/display/imx/nxp,imx8mq-dcss.yaml#" |
| $schema: "http://devicetree.org/meta-schemas/core.yaml#" |
| |
| title: iMX8MQ Display Controller Subsystem (DCSS) |
| |
| maintainers: |
| - Laurentiu Palcu <laurentiu.palcu@nxp.com> |
| |
| description: |
| |
| The DCSS (display controller sub system) is used to source up to three |
| display buffers, compose them, and drive a display using HDMI 2.0a(with HDCP |
| 2.2) or MIPI-DSI. The DCSS is intended to support up to 4kp60 displays. HDR10 |
| image processing capabilities are included to provide a solution capable of |
| driving next generation high dynamic range displays. |
| |
| properties: |
| compatible: |
| const: nxp,imx8mq-dcss |
| |
| reg: |
| items: |
| - description: DCSS base address and size, up to IRQ steer start |
| - description: DCSS BLKCTL base address and size |
| |
| interrupts: |
| items: |
| - description: Context loader completion and error interrupt |
| - description: DTG interrupt used to signal context loader trigger time |
| - description: DTG interrupt for Vblank |
| |
| interrupt-names: |
| items: |
| - const: ctxld |
| - const: ctxld_kick |
| - const: vblank |
| |
| clocks: |
| items: |
| - description: Display APB clock for all peripheral PIO access interfaces |
| - description: Display AXI clock needed by DPR, Scaler, RTRAM_CTRL |
| - description: RTRAM clock |
| - description: Pixel clock, can be driven either by HDMI phy clock or MIPI |
| - description: DTRC clock, needed by video decompressor |
| |
| clock-names: |
| items: |
| - const: apb |
| - const: axi |
| - const: rtrm |
| - const: pix |
| - const: dtrc |
| |
| assigned-clocks: |
| items: |
| - description: Phandle and clock specifier of IMX8MQ_CLK_DISP_AXI_ROOT |
| - description: Phandle and clock specifier of IMX8MQ_CLK_DISP_RTRM |
| - description: Phandle and clock specifier of either IMX8MQ_VIDEO2_PLL1_REF_SEL or |
| IMX8MQ_VIDEO_PLL1_REF_SEL |
| |
| assigned-clock-parents: |
| items: |
| - description: Phandle and clock specifier of IMX8MQ_SYS1_PLL_800M |
| - description: Phandle and clock specifier of IMX8MQ_SYS1_PLL_800M |
| - description: Phandle and clock specifier of IMX8MQ_CLK_27M |
| |
| assigned-clock-rates: |
| items: |
| - description: Must be 800 MHz |
| - description: Must be 400 MHz |
| |
| port: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: |
| A port node pointing to the input port of a HDMI/DP or MIPI display bridge. |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/imx8mq-clock.h> |
| dcss: display-controller@32e00000 { |
| compatible = "nxp,imx8mq-dcss"; |
| reg = <0x32e00000 0x2d000>, <0x32e2f000 0x1000>; |
| interrupts = <6>, <8>, <9>; |
| interrupt-names = "ctxld", "ctxld_kick", "vblank"; |
| interrupt-parent = <&irqsteer>; |
| clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>, <&clk IMX8MQ_CLK_DISP_AXI_ROOT>, |
| <&clk IMX8MQ_CLK_DISP_RTRM_ROOT>, <&clk IMX8MQ_VIDEO2_PLL_OUT>, |
| <&clk IMX8MQ_CLK_DISP_DTRC>; |
| clock-names = "apb", "axi", "rtrm", "pix", "dtrc"; |
| assigned-clocks = <&clk IMX8MQ_CLK_DISP_AXI>, <&clk IMX8MQ_CLK_DISP_RTRM>, |
| <&clk IMX8MQ_VIDEO2_PLL1_REF_SEL>; |
| assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>, <&clk IMX8MQ_SYS1_PLL_800M>, |
| <&clk IMX8MQ_CLK_27M>; |
| assigned-clock-rates = <800000000>, |
| <400000000>; |
| port { |
| dcss_out: endpoint { |
| remote-endpoint = <&hdmi_in>; |
| }; |
| }; |
| }; |