xref: /linux/Documentation/devicetree/bindings/display/mediatek/mediatek,dsc.yaml (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
1b9c15721Sjason-jh.lin# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b9c15721Sjason-jh.lin%YAML 1.2
3b9c15721Sjason-jh.lin---
4b9c15721Sjason-jh.lin$id: http://devicetree.org/schemas/display/mediatek/mediatek,dsc.yaml#
5b9c15721Sjason-jh.lin$schema: http://devicetree.org/meta-schemas/core.yaml#
6b9c15721Sjason-jh.lin
7b9c15721Sjason-jh.lintitle: mediatek display DSC controller
8b9c15721Sjason-jh.lin
9b9c15721Sjason-jh.linmaintainers:
10b9c15721Sjason-jh.lin  - Chun-Kuang Hu <chunkuang.hu@kernel.org>
11b9c15721Sjason-jh.lin  - Philipp Zabel <p.zabel@pengutronix.de>
12b9c15721Sjason-jh.lin
13b9c15721Sjason-jh.lindescription: |
14b9c15721Sjason-jh.lin  The DSC standard is a specification of the algorithms used for
15b9c15721Sjason-jh.lin  compressing and decompressing image display streams, including
16b9c15721Sjason-jh.lin  the specification of the syntax and semantics of the compressed
17b9c15721Sjason-jh.lin  video bit stream. DSC is designed for real-time systems with
18b9c15721Sjason-jh.lin  real-time compression, transmission, decompression and Display.
19b9c15721Sjason-jh.lin
20b9c15721Sjason-jh.linproperties:
21b9c15721Sjason-jh.lin  compatible:
22b9c15721Sjason-jh.lin    oneOf:
23112d5560SKrzysztof Kozlowski      - enum:
24112d5560SKrzysztof Kozlowski          - mediatek,mt8195-disp-dsc
25*9e918c86SAngeloGioacchino Del Regno      - items:
26*9e918c86SAngeloGioacchino Del Regno          - const: mediatek,mt8188-disp-dsc
27*9e918c86SAngeloGioacchino Del Regno          - const: mediatek,mt8195-disp-dsc
28b9c15721Sjason-jh.lin
29b9c15721Sjason-jh.lin  reg:
30b9c15721Sjason-jh.lin    maxItems: 1
31b9c15721Sjason-jh.lin
32b9c15721Sjason-jh.lin  interrupts:
33b9c15721Sjason-jh.lin    maxItems: 1
34b9c15721Sjason-jh.lin
35b9c15721Sjason-jh.lin  clocks:
36b9c15721Sjason-jh.lin    items:
37b9c15721Sjason-jh.lin      - description: DSC Wrapper Clock
38b9c15721Sjason-jh.lin
39b9c15721Sjason-jh.lin  power-domains:
40b9c15721Sjason-jh.lin    description: A phandle and PM domain specifier as defined by bindings of
41b9c15721Sjason-jh.lin      the power controller specified by phandle. See
42b9c15721Sjason-jh.lin      Documentation/devicetree/bindings/power/power-domain.yaml for details.
43b9c15721Sjason-jh.lin
44b9c15721Sjason-jh.lin  mediatek,gce-client-reg:
45b9c15721Sjason-jh.lin    description:
46b9c15721Sjason-jh.lin      The register of client driver can be configured by gce with 4 arguments
47b9c15721Sjason-jh.lin      defined in this property, such as phandle of gce, subsys id,
48b9c15721Sjason-jh.lin      register offset and size.
49b9c15721Sjason-jh.lin      Each subsys id is mapping to a base address of display function blocks
50b9c15721Sjason-jh.lin      register which is defined in the gce header
51b9c15721Sjason-jh.lin      include/dt-bindings/gce/<chip>-gce.h.
52b9c15721Sjason-jh.lin    $ref: /schemas/types.yaml#/definitions/phandle-array
53b9c15721Sjason-jh.lin    maxItems: 1
54b9c15721Sjason-jh.lin
552b6433f3SAngeloGioacchino Del Regno  ports:
562b6433f3SAngeloGioacchino Del Regno    $ref: /schemas/graph.yaml#/properties/ports
572b6433f3SAngeloGioacchino Del Regno    description:
582b6433f3SAngeloGioacchino Del Regno      Input and output ports can have multiple endpoints, each of those
592b6433f3SAngeloGioacchino Del Regno      connects to either the primary, secondary, etc, display pipeline.
602b6433f3SAngeloGioacchino Del Regno
612b6433f3SAngeloGioacchino Del Regno    properties:
622b6433f3SAngeloGioacchino Del Regno      port@0:
632b6433f3SAngeloGioacchino Del Regno        $ref: /schemas/graph.yaml#/properties/port
642b6433f3SAngeloGioacchino Del Regno        description:
652b6433f3SAngeloGioacchino Del Regno          Display Stream Compression input, usually from one of the DITHER
662b6433f3SAngeloGioacchino Del Regno          or MERGE blocks.
672b6433f3SAngeloGioacchino Del Regno
682b6433f3SAngeloGioacchino Del Regno      port@1:
692b6433f3SAngeloGioacchino Del Regno        $ref: /schemas/graph.yaml#/properties/port
702b6433f3SAngeloGioacchino Del Regno        description:
712b6433f3SAngeloGioacchino Del Regno          Display Stream Compression output to the input of the next desired
722b6433f3SAngeloGioacchino Del Regno          component in the display pipeline, for example to MERGE, DP_INTF,
732b6433f3SAngeloGioacchino Del Regno          DPI or DSI.
742b6433f3SAngeloGioacchino Del Regno
752b6433f3SAngeloGioacchino Del Regno    required:
762b6433f3SAngeloGioacchino Del Regno      - port@0
772b6433f3SAngeloGioacchino Del Regno      - port@1
782b6433f3SAngeloGioacchino Del Regno
79b9c15721Sjason-jh.linrequired:
80b9c15721Sjason-jh.lin  - compatible
81b9c15721Sjason-jh.lin  - reg
82b9c15721Sjason-jh.lin  - interrupts
83b9c15721Sjason-jh.lin  - power-domains
84b9c15721Sjason-jh.lin  - clocks
85b9c15721Sjason-jh.lin
86b9c15721Sjason-jh.linadditionalProperties: false
87b9c15721Sjason-jh.lin
88b9c15721Sjason-jh.linexamples:
89b9c15721Sjason-jh.lin  - |
90bff4e302SAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/arm-gic.h>
91bff4e302SAngeloGioacchino Del Regno    #include <dt-bindings/clock/mt8195-clk.h>
92bff4e302SAngeloGioacchino Del Regno    #include <dt-bindings/power/mt8195-power.h>
93bff4e302SAngeloGioacchino Del Regno    #include <dt-bindings/gce/mt8195-gce.h>
94bff4e302SAngeloGioacchino Del Regno
95bff4e302SAngeloGioacchino Del Regno    soc {
96bff4e302SAngeloGioacchino Del Regno        #address-cells = <2>;
97bff4e302SAngeloGioacchino Del Regno        #size-cells = <2>;
98b9c15721Sjason-jh.lin
99b9c15721Sjason-jh.lin        dsc0: disp_dsc_wrap@1c009000 {
100b9c15721Sjason-jh.lin            compatible = "mediatek,mt8195-disp-dsc";
101b9c15721Sjason-jh.lin            reg = <0 0x1c009000 0 0x1000>;
102b9c15721Sjason-jh.lin            interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>;
103b9c15721Sjason-jh.lin            power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
104b9c15721Sjason-jh.lin            clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>;
105b9c15721Sjason-jh.lin            mediatek,gce-client-reg = <&gce1 SUBSYS_1c00XXXX 0x9000 0x1000>;
106b9c15721Sjason-jh.lin        };
107bff4e302SAngeloGioacchino Del Regno    };
108