xref: /freebsd/sys/contrib/device-tree/Bindings/display/mediatek/mediatek,dsc.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c9ccf3a3SEmmanuel Vadot%YAML 1.2
3c9ccf3a3SEmmanuel Vadot---
4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/display/mediatek/mediatek,dsc.yaml#
5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
7c9ccf3a3SEmmanuel Vadottitle: mediatek display DSC controller
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotmaintainers:
10c9ccf3a3SEmmanuel Vadot  - Chun-Kuang Hu <chunkuang.hu@kernel.org>
11c9ccf3a3SEmmanuel Vadot  - Philipp Zabel <p.zabel@pengutronix.de>
12c9ccf3a3SEmmanuel Vadot
13c9ccf3a3SEmmanuel Vadotdescription: |
14c9ccf3a3SEmmanuel Vadot  The DSC standard is a specification of the algorithms used for
15c9ccf3a3SEmmanuel Vadot  compressing and decompressing image display streams, including
16c9ccf3a3SEmmanuel Vadot  the specification of the syntax and semantics of the compressed
17c9ccf3a3SEmmanuel Vadot  video bit stream. DSC is designed for real-time systems with
18c9ccf3a3SEmmanuel Vadot  real-time compression, transmission, decompression and Display.
19c9ccf3a3SEmmanuel Vadot
20c9ccf3a3SEmmanuel Vadotproperties:
21c9ccf3a3SEmmanuel Vadot  compatible:
22c9ccf3a3SEmmanuel Vadot    oneOf:
23*fac71e4eSEmmanuel Vadot      - enum:
24*fac71e4eSEmmanuel Vadot          - mediatek,mt8195-disp-dsc
25c9ccf3a3SEmmanuel Vadot
26c9ccf3a3SEmmanuel Vadot  reg:
27c9ccf3a3SEmmanuel Vadot    maxItems: 1
28c9ccf3a3SEmmanuel Vadot
29c9ccf3a3SEmmanuel Vadot  interrupts:
30c9ccf3a3SEmmanuel Vadot    maxItems: 1
31c9ccf3a3SEmmanuel Vadot
32c9ccf3a3SEmmanuel Vadot  clocks:
33c9ccf3a3SEmmanuel Vadot    items:
34c9ccf3a3SEmmanuel Vadot      - description: DSC Wrapper Clock
35c9ccf3a3SEmmanuel Vadot
36c9ccf3a3SEmmanuel Vadot  power-domains:
37c9ccf3a3SEmmanuel Vadot    description: A phandle and PM domain specifier as defined by bindings of
38c9ccf3a3SEmmanuel Vadot      the power controller specified by phandle. See
39c9ccf3a3SEmmanuel Vadot      Documentation/devicetree/bindings/power/power-domain.yaml for details.
40c9ccf3a3SEmmanuel Vadot
41c9ccf3a3SEmmanuel Vadot  mediatek,gce-client-reg:
42c9ccf3a3SEmmanuel Vadot    description:
43c9ccf3a3SEmmanuel Vadot      The register of client driver can be configured by gce with 4 arguments
44c9ccf3a3SEmmanuel Vadot      defined in this property, such as phandle of gce, subsys id,
45c9ccf3a3SEmmanuel Vadot      register offset and size.
46c9ccf3a3SEmmanuel Vadot      Each subsys id is mapping to a base address of display function blocks
47c9ccf3a3SEmmanuel Vadot      register which is defined in the gce header
48c9ccf3a3SEmmanuel Vadot      include/dt-bindings/gce/<chip>-gce.h.
49c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
50c9ccf3a3SEmmanuel Vadot    maxItems: 1
51c9ccf3a3SEmmanuel Vadot
52c9ccf3a3SEmmanuel Vadotrequired:
53c9ccf3a3SEmmanuel Vadot  - compatible
54c9ccf3a3SEmmanuel Vadot  - reg
55c9ccf3a3SEmmanuel Vadot  - interrupts
56c9ccf3a3SEmmanuel Vadot  - power-domains
57c9ccf3a3SEmmanuel Vadot  - clocks
58c9ccf3a3SEmmanuel Vadot
59c9ccf3a3SEmmanuel VadotadditionalProperties: false
60c9ccf3a3SEmmanuel Vadot
61c9ccf3a3SEmmanuel Vadotexamples:
62c9ccf3a3SEmmanuel Vadot  - |
63c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
64c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/clock/mt8195-clk.h>
65c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/power/mt8195-power.h>
66c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/gce/mt8195-gce.h>
67c9ccf3a3SEmmanuel Vadot
68c9ccf3a3SEmmanuel Vadot    soc {
69c9ccf3a3SEmmanuel Vadot        #address-cells = <2>;
70c9ccf3a3SEmmanuel Vadot        #size-cells = <2>;
71c9ccf3a3SEmmanuel Vadot
72c9ccf3a3SEmmanuel Vadot        dsc0: disp_dsc_wrap@1c009000 {
73c9ccf3a3SEmmanuel Vadot            compatible = "mediatek,mt8195-disp-dsc";
74c9ccf3a3SEmmanuel Vadot            reg = <0 0x1c009000 0 0x1000>;
75c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>;
76c9ccf3a3SEmmanuel Vadot            power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
77c9ccf3a3SEmmanuel Vadot            clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>;
78c9ccf3a3SEmmanuel Vadot            mediatek,gce-client-reg = <&gce1 SUBSYS_1c00XXXX 0x9000 0x1000>;
79c9ccf3a3SEmmanuel Vadot        };
80c9ccf3a3SEmmanuel Vadot    };
81