xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/mediatek/mediatek,dp.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/display/mediatek/mediatek,dp.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: MediaTek Display Port Controller
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Chun-Kuang Hu <chunkuang.hu@kernel.org>
117ef62cebSEmmanuel Vadot  - Jitao shi <jitao.shi@mediatek.com>
127ef62cebSEmmanuel Vadot
137ef62cebSEmmanuel Vadotdescription: |
147ef62cebSEmmanuel Vadot  MediaTek DP and eDP are different hardwares and there are some features
157ef62cebSEmmanuel Vadot  which are not supported for eDP. For example, audio is not supported for
167ef62cebSEmmanuel Vadot  eDP. Therefore, we need to use two different compatibles to describe them.
177ef62cebSEmmanuel Vadot  In addition, We just need to enable the power domain of DP, so the clock
187ef62cebSEmmanuel Vadot  of DP is generated by itself and we are not using other PLL to generate
197ef62cebSEmmanuel Vadot  clocks.
207ef62cebSEmmanuel Vadot
217ef62cebSEmmanuel Vadotproperties:
227ef62cebSEmmanuel Vadot  compatible:
237ef62cebSEmmanuel Vadot    enum:
24*84943d6fSEmmanuel Vadot      - mediatek,mt8188-dp-tx
25*84943d6fSEmmanuel Vadot      - mediatek,mt8188-edp-tx
267ef62cebSEmmanuel Vadot      - mediatek,mt8195-dp-tx
277ef62cebSEmmanuel Vadot      - mediatek,mt8195-edp-tx
287ef62cebSEmmanuel Vadot
297ef62cebSEmmanuel Vadot  reg:
307ef62cebSEmmanuel Vadot    maxItems: 1
317ef62cebSEmmanuel Vadot
327ef62cebSEmmanuel Vadot  nvmem-cells:
337ef62cebSEmmanuel Vadot    maxItems: 1
347ef62cebSEmmanuel Vadot    description: efuse data for display port calibration
357ef62cebSEmmanuel Vadot
367ef62cebSEmmanuel Vadot  nvmem-cell-names:
377ef62cebSEmmanuel Vadot    const: dp_calibration_data
387ef62cebSEmmanuel Vadot
397ef62cebSEmmanuel Vadot  power-domains:
407ef62cebSEmmanuel Vadot    maxItems: 1
417ef62cebSEmmanuel Vadot
427ef62cebSEmmanuel Vadot  interrupts:
437ef62cebSEmmanuel Vadot    maxItems: 1
447ef62cebSEmmanuel Vadot
457ef62cebSEmmanuel Vadot  ports:
467ef62cebSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
477ef62cebSEmmanuel Vadot    properties:
487ef62cebSEmmanuel Vadot      port@0:
497ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
507ef62cebSEmmanuel Vadot        description: Input endpoint of the controller, usually dp_intf
517ef62cebSEmmanuel Vadot
527ef62cebSEmmanuel Vadot      port@1:
537ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
547ef62cebSEmmanuel Vadot        unevaluatedProperties: false
557ef62cebSEmmanuel Vadot        description: Output endpoint of the controller
567ef62cebSEmmanuel Vadot        properties:
577ef62cebSEmmanuel Vadot          endpoint:
587ef62cebSEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
597ef62cebSEmmanuel Vadot            unevaluatedProperties: false
607ef62cebSEmmanuel Vadot            properties:
617ef62cebSEmmanuel Vadot              data-lanes:
627ef62cebSEmmanuel Vadot                description: |
637ef62cebSEmmanuel Vadot                  number of lanes supported by the hardware.
647ef62cebSEmmanuel Vadot                  The possible values:
657ef62cebSEmmanuel Vadot                  0       - For 1 lane enabled in IP.
667ef62cebSEmmanuel Vadot                  0 1     - For 2 lanes enabled in IP.
677ef62cebSEmmanuel Vadot                  0 1 2 3 - For 4 lanes enabled in IP.
687ef62cebSEmmanuel Vadot                minItems: 1
697ef62cebSEmmanuel Vadot                maxItems: 4
707ef62cebSEmmanuel Vadot            required:
717ef62cebSEmmanuel Vadot              - data-lanes
727ef62cebSEmmanuel Vadot
737ef62cebSEmmanuel Vadot    required:
747ef62cebSEmmanuel Vadot      - port@0
757ef62cebSEmmanuel Vadot      - port@1
767ef62cebSEmmanuel Vadot
777ef62cebSEmmanuel Vadot  max-linkrate-mhz:
787ef62cebSEmmanuel Vadot    enum: [ 1620, 2700, 5400, 8100 ]
797ef62cebSEmmanuel Vadot    description: maximum link rate supported by the hardware.
807ef62cebSEmmanuel Vadot
817ef62cebSEmmanuel Vadotrequired:
827ef62cebSEmmanuel Vadot  - compatible
837ef62cebSEmmanuel Vadot  - reg
847ef62cebSEmmanuel Vadot  - interrupts
857ef62cebSEmmanuel Vadot  - ports
867ef62cebSEmmanuel Vadot  - max-linkrate-mhz
877ef62cebSEmmanuel Vadot
887ef62cebSEmmanuel VadotadditionalProperties: false
897ef62cebSEmmanuel Vadot
907ef62cebSEmmanuel Vadotexamples:
917ef62cebSEmmanuel Vadot  - |
927ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
937ef62cebSEmmanuel Vadot    #include <dt-bindings/power/mt8195-power.h>
947ef62cebSEmmanuel Vadot    dptx@1c600000 {
957ef62cebSEmmanuel Vadot        compatible = "mediatek,mt8195-dp-tx";
967ef62cebSEmmanuel Vadot        reg = <0x1c600000 0x8000>;
977ef62cebSEmmanuel Vadot        power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>;
987ef62cebSEmmanuel Vadot        interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>;
997ef62cebSEmmanuel Vadot        max-linkrate-mhz = <8100>;
1007ef62cebSEmmanuel Vadot
1017ef62cebSEmmanuel Vadot        ports {
1027ef62cebSEmmanuel Vadot            #address-cells = <1>;
1037ef62cebSEmmanuel Vadot            #size-cells = <0>;
1047ef62cebSEmmanuel Vadot
1057ef62cebSEmmanuel Vadot            port@0 {
1067ef62cebSEmmanuel Vadot                reg = <0>;
1077ef62cebSEmmanuel Vadot                dptx_in: endpoint {
1087ef62cebSEmmanuel Vadot                    remote-endpoint = <&dp_intf0_out>;
1097ef62cebSEmmanuel Vadot                };
1107ef62cebSEmmanuel Vadot            };
1117ef62cebSEmmanuel Vadot            port@1 {
1127ef62cebSEmmanuel Vadot                reg = <1>;
1137ef62cebSEmmanuel Vadot                dptx_out: endpoint {
1147ef62cebSEmmanuel Vadot                    data-lanes = <0 1 2 3>;
1157ef62cebSEmmanuel Vadot                };
1167ef62cebSEmmanuel Vadot            };
1177ef62cebSEmmanuel Vadot        };
1187ef62cebSEmmanuel Vadot    };
119