blob: 4ae6328cde64dcfc954fd978ab6f1d99d12f91d3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2019 NXP
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/display/imx/nxp,imx8mq-dcss.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: iMX8MQ Display Controller Subsystem (DCSS)
9
10maintainers:
11 - Laurentiu Palcu <laurentiu.palcu@nxp.com>
12
13description:
14
15 The DCSS (display controller sub system) is used to source up to three
16 display buffers, compose them, and drive a display using HDMI 2.0a(with HDCP
17 2.2) or MIPI-DSI. The DCSS is intended to support up to 4kp60 displays. HDR10
18 image processing capabilities are included to provide a solution capable of
19 driving next generation high dynamic range displays.
20
21properties:
22 compatible:
23 const: nxp,imx8mq-dcss
24
25 reg:
26 items:
27 - description: DCSS base address and size, up to IRQ steer start
28 - description: DCSS BLKCTL base address and size
29
30 interrupts:
31 items:
32 - description: Context loader completion and error interrupt
33 - description: DTG interrupt used to signal context loader trigger time
34 - description: DTG interrupt for Vblank
35
36 interrupt-names:
37 items:
38 - const: ctxld
39 - const: ctxld_kick
40 - const: vblank
41
42 clocks:
43 items:
44 - description: Display APB clock for all peripheral PIO access interfaces
45 - description: Display AXI clock needed by DPR, Scaler, RTRAM_CTRL
46 - description: RTRAM clock
47 - description: Pixel clock, can be driven either by HDMI phy clock or MIPI
48 - description: DTRC clock, needed by video decompressor
49
50 clock-names:
51 items:
52 - const: apb
53 - const: axi
54 - const: rtrm
55 - const: pix
56 - const: dtrc
57
58 assigned-clocks:
59 items:
60 - description: Phandle and clock specifier of IMX8MQ_CLK_DISP_AXI_ROOT
61 - description: Phandle and clock specifier of IMX8MQ_CLK_DISP_RTRM
62 - description: Phandle and clock specifier of either IMX8MQ_VIDEO2_PLL1_REF_SEL or
63 IMX8MQ_VIDEO_PLL1_REF_SEL
64
65 assigned-clock-parents:
66 items:
67 - description: Phandle and clock specifier of IMX8MQ_SYS1_PLL_800M
68 - description: Phandle and clock specifier of IMX8MQ_SYS1_PLL_800M
69 - description: Phandle and clock specifier of IMX8MQ_CLK_27M
70
71 assigned-clock-rates:
72 items:
73 - description: Must be 800 MHz
74 - description: Must be 400 MHz
75
76 port:
77 $ref: /schemas/graph.yaml#/properties/port
78 description:
79 A port node pointing to the input port of a HDMI/DP or MIPI display bridge.
80
81additionalProperties: false
82
83examples:
84 - |
85 #include <dt-bindings/clock/imx8mq-clock.h>
86 dcss: display-controller@32e00000 {
87 compatible = "nxp,imx8mq-dcss";
88 reg = <0x32e00000 0x2d000>, <0x32e2f000 0x1000>;
89 interrupts = <6>, <8>, <9>;
90 interrupt-names = "ctxld", "ctxld_kick", "vblank";
91 interrupt-parent = <&irqsteer>;
92 clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>, <&clk IMX8MQ_CLK_DISP_AXI_ROOT>,
93 <&clk IMX8MQ_CLK_DISP_RTRM_ROOT>, <&clk IMX8MQ_VIDEO2_PLL_OUT>,
94 <&clk IMX8MQ_CLK_DISP_DTRC>;
95 clock-names = "apb", "axi", "rtrm", "pix", "dtrc";
96 assigned-clocks = <&clk IMX8MQ_CLK_DISP_AXI>, <&clk IMX8MQ_CLK_DISP_RTRM>,
97 <&clk IMX8MQ_VIDEO2_PLL1_REF_SEL>;
98 assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>, <&clk IMX8MQ_SYS1_PLL_800M>,
99 <&clk IMX8MQ_CLK_27M>;
100 assigned-clock-rates = <800000000>,
101 <400000000>;
102 port {
103 dcss_out: endpoint {
104 remote-endpoint = <&hdmi_in>;
105 };
106 };
107 };