# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/cdns,mhdp8546.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cadence MHDP8546 bridge

maintainers:
  - Swapnil Jakhade <sjakhade@cadence.com>
  - Yuti Amonkar <yamonkar@cadence.com>

properties:
  compatible:
    enum:
      - cdns,mhdp8546
      - ti,j721e-mhdp8546

  reg:
    minItems: 1
    items:
      - description:
          Register block of mhdptx apb registers up to PHY mapped area (AUX_CONFIG_P).
          The AUX and PMA registers are not part of this range, they are instead
          included in the associated PHY.
      - description:
          Register block for DSS_EDP0_INTG_CFG_VP registers in case of TI J7 SoCs.
      - description:
          Register block of mhdptx sapb registers.

  reg-names:
    minItems: 1
    items:
      - const: mhdptx
      - const: j721e-intg
      - const: mhdptx-sapb

  clocks:
    maxItems: 1
    description:
      DP bridge clock, used by the IP to know how to translate a number of
      clock cycles into a time (which is used to comply with DP standard timings
      and delays).

  phys:
    maxItems: 1
    description:
      phandle to the DisplayPort PHY.

  phy-names:
    items:
      - const: dpphy

  power-domains:
    maxItems: 1

  interrupts:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          First input port representing the DP bridge input.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Second input port representing the DP bridge input.

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Third input port representing the DP bridge input.

      port@3:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Fourth input port representing the DP bridge input.

      port@4:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Output port representing the DP bridge output.

    required:
      - port@0
      - port@4

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: ti,j721e-mhdp8546
    then:
      properties:
        reg:
          minItems: 2
          maxItems: 3
        reg-names:
          minItems: 2
          maxItems: 3
    else:
      properties:
        reg:
          minItems: 1
          maxItems: 2
        reg-names:
          minItems: 1
          maxItems: 2

required:
  - compatible
  - clocks
  - reg
  - reg-names
  - phys
  - phy-names
  - interrupts
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        mhdp: dp-bridge@f0fb000000 {
            compatible = "cdns,mhdp8546";
            reg = <0xf0 0xfb000000 0x0 0x1000000>;
            reg-names = "mhdptx";
            clocks = <&mhdp_clock>;
            phys = <&dp_phy>;
            phy-names = "dpphy";
            interrupts = <GIC_SPI 614 IRQ_TYPE_LEVEL_HIGH>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    dp_bridge_input: endpoint {
                        remote-endpoint = <&xxx_dpi_output>;
                    };
                };

                port@4 {
                    reg = <4>;
                    dp_bridge_output: endpoint {
                        remote-endpoint = <&xxx_dp_connector_input>;
                    };
                };
            };
        };
    };
...
