185649cc8SYuti Amonkar# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
285649cc8SYuti Amonkar%YAML 1.2
385649cc8SYuti Amonkar---
485649cc8SYuti Amonkar$id: "http://devicetree.org/schemas/display/bridge/cdns,mhdp8546.yaml#"
585649cc8SYuti Amonkar$schema: "http://devicetree.org/meta-schemas/core.yaml#"
685649cc8SYuti Amonkar
785649cc8SYuti Amonkartitle: Cadence MHDP8546 bridge
885649cc8SYuti Amonkar
985649cc8SYuti Amonkarmaintainers:
1085649cc8SYuti Amonkar  - Swapnil Jakhade <sjakhade@cadence.com>
1185649cc8SYuti Amonkar  - Yuti Amonkar <yamonkar@cadence.com>
1285649cc8SYuti Amonkar
1385649cc8SYuti Amonkarproperties:
1485649cc8SYuti Amonkar  compatible:
1585649cc8SYuti Amonkar    enum:
1685649cc8SYuti Amonkar      - cdns,mhdp8546
1785649cc8SYuti Amonkar      - ti,j721e-mhdp8546
1885649cc8SYuti Amonkar
1985649cc8SYuti Amonkar  reg:
2085649cc8SYuti Amonkar    minItems: 1
2185649cc8SYuti Amonkar    maxItems: 2
2285649cc8SYuti Amonkar    items:
2385649cc8SYuti Amonkar      - description:
2485649cc8SYuti Amonkar          Register block of mhdptx apb registers up to PHY mapped area (AUX_CONFIG_P).
2585649cc8SYuti Amonkar          The AUX and PMA registers are not part of this range, they are instead
2685649cc8SYuti Amonkar          included in the associated PHY.
2785649cc8SYuti Amonkar      - description:
2885649cc8SYuti Amonkar          Register block for DSS_EDP0_INTG_CFG_VP registers in case of TI J7 SoCs.
2985649cc8SYuti Amonkar
3085649cc8SYuti Amonkar  reg-names:
3185649cc8SYuti Amonkar    minItems: 1
3285649cc8SYuti Amonkar    maxItems: 2
3385649cc8SYuti Amonkar    items:
3485649cc8SYuti Amonkar      - const: mhdptx
3585649cc8SYuti Amonkar      - const: j721e-intg
3685649cc8SYuti Amonkar
3785649cc8SYuti Amonkar  clocks:
3885649cc8SYuti Amonkar    maxItems: 1
3985649cc8SYuti Amonkar    description:
4085649cc8SYuti Amonkar      DP bridge clock, used by the IP to know how to translate a number of
4185649cc8SYuti Amonkar      clock cycles into a time (which is used to comply with DP standard timings
4285649cc8SYuti Amonkar      and delays).
4385649cc8SYuti Amonkar
4485649cc8SYuti Amonkar  phys:
4585649cc8SYuti Amonkar    maxItems: 1
4685649cc8SYuti Amonkar    description:
4785649cc8SYuti Amonkar      phandle to the DisplayPort PHY.
4885649cc8SYuti Amonkar
4985649cc8SYuti Amonkar  phy-names:
5085649cc8SYuti Amonkar    items:
5185649cc8SYuti Amonkar      - const: dpphy
5285649cc8SYuti Amonkar
5385649cc8SYuti Amonkar  power-domains:
5485649cc8SYuti Amonkar    maxItems: 1
5585649cc8SYuti Amonkar
5685649cc8SYuti Amonkar  interrupts:
5785649cc8SYuti Amonkar    maxItems: 1
5885649cc8SYuti Amonkar
5985649cc8SYuti Amonkar  ports:
60*b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
6185649cc8SYuti Amonkar
6285649cc8SYuti Amonkar    properties:
6385649cc8SYuti Amonkar      port@0:
64*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
6585649cc8SYuti Amonkar        description:
6685649cc8SYuti Amonkar          First input port representing the DP bridge input.
6785649cc8SYuti Amonkar
6885649cc8SYuti Amonkar      port@1:
69*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
7085649cc8SYuti Amonkar        description:
7185649cc8SYuti Amonkar          Second input port representing the DP bridge input.
7285649cc8SYuti Amonkar
7385649cc8SYuti Amonkar      port@2:
74*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
7585649cc8SYuti Amonkar        description:
7685649cc8SYuti Amonkar          Third input port representing the DP bridge input.
7785649cc8SYuti Amonkar
7885649cc8SYuti Amonkar      port@3:
79*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
8085649cc8SYuti Amonkar        description:
8185649cc8SYuti Amonkar          Fourth input port representing the DP bridge input.
8285649cc8SYuti Amonkar
8385649cc8SYuti Amonkar      port@4:
84*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
8585649cc8SYuti Amonkar        description:
8685649cc8SYuti Amonkar          Output port representing the DP bridge output.
8785649cc8SYuti Amonkar
8885649cc8SYuti Amonkar    required:
8985649cc8SYuti Amonkar      - port@0
9085649cc8SYuti Amonkar      - port@4
9185649cc8SYuti Amonkar
9285649cc8SYuti AmonkarallOf:
9385649cc8SYuti Amonkar  - if:
9485649cc8SYuti Amonkar      properties:
9585649cc8SYuti Amonkar        compatible:
9685649cc8SYuti Amonkar          contains:
9785649cc8SYuti Amonkar            const: ti,j721e-mhdp8546
9885649cc8SYuti Amonkar    then:
9985649cc8SYuti Amonkar      properties:
10085649cc8SYuti Amonkar        reg:
10185649cc8SYuti Amonkar          minItems: 2
10285649cc8SYuti Amonkar        reg-names:
10385649cc8SYuti Amonkar          minItems: 2
10485649cc8SYuti Amonkar    else:
10585649cc8SYuti Amonkar      properties:
10685649cc8SYuti Amonkar        reg:
10785649cc8SYuti Amonkar          maxItems: 1
10885649cc8SYuti Amonkar        reg-names:
10985649cc8SYuti Amonkar          maxItems: 1
11085649cc8SYuti Amonkar
11185649cc8SYuti Amonkarrequired:
11285649cc8SYuti Amonkar  - compatible
11385649cc8SYuti Amonkar  - clocks
11485649cc8SYuti Amonkar  - reg
11585649cc8SYuti Amonkar  - reg-names
11685649cc8SYuti Amonkar  - phys
11785649cc8SYuti Amonkar  - phy-names
11885649cc8SYuti Amonkar  - interrupts
11985649cc8SYuti Amonkar  - ports
12085649cc8SYuti Amonkar
12185649cc8SYuti AmonkaradditionalProperties: false
12285649cc8SYuti Amonkar
12385649cc8SYuti Amonkarexamples:
12485649cc8SYuti Amonkar  - |
12585649cc8SYuti Amonkar    #include <dt-bindings/interrupt-controller/arm-gic.h>
12685649cc8SYuti Amonkar    bus {
12785649cc8SYuti Amonkar        #address-cells = <2>;
12885649cc8SYuti Amonkar        #size-cells = <2>;
12985649cc8SYuti Amonkar
13085649cc8SYuti Amonkar        mhdp: dp-bridge@f0fb000000 {
13185649cc8SYuti Amonkar            compatible = "cdns,mhdp8546";
13285649cc8SYuti Amonkar            reg = <0xf0 0xfb000000 0x0 0x1000000>;
13385649cc8SYuti Amonkar            reg-names = "mhdptx";
13485649cc8SYuti Amonkar            clocks = <&mhdp_clock>;
13585649cc8SYuti Amonkar            phys = <&dp_phy>;
13685649cc8SYuti Amonkar            phy-names = "dpphy";
13785649cc8SYuti Amonkar            interrupts = <GIC_SPI 614 IRQ_TYPE_LEVEL_HIGH>;
13885649cc8SYuti Amonkar
13985649cc8SYuti Amonkar            ports {
14085649cc8SYuti Amonkar                #address-cells = <1>;
14185649cc8SYuti Amonkar                #size-cells = <0>;
14285649cc8SYuti Amonkar
14385649cc8SYuti Amonkar                port@0 {
14485649cc8SYuti Amonkar                    reg = <0>;
14585649cc8SYuti Amonkar                    dp_bridge_input: endpoint {
14685649cc8SYuti Amonkar                        remote-endpoint = <&xxx_dpi_output>;
14785649cc8SYuti Amonkar                    };
14885649cc8SYuti Amonkar                };
14985649cc8SYuti Amonkar
15085649cc8SYuti Amonkar                port@4 {
15185649cc8SYuti Amonkar                    reg = <4>;
15285649cc8SYuti Amonkar                    dp_bridge_output: endpoint {
15385649cc8SYuti Amonkar                        remote-endpoint = <&xxx_dp_connector_input>;
15485649cc8SYuti Amonkar                    };
15585649cc8SYuti Amonkar                };
15685649cc8SYuti Amonkar            };
15785649cc8SYuti Amonkar        };
15885649cc8SYuti Amonkar    };
15985649cc8SYuti Amonkar...
160