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