Merge branch 'for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / bridge / cdns,mhdp8546.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/display/bridge/cdns,mhdp8546.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: Cadence MHDP8546 bridge
8
9 maintainers:
10   - Swapnil Jakhade <sjakhade@cadence.com>
11   - Yuti Amonkar <yamonkar@cadence.com>
12
13 properties:
14   compatible:
15     enum:
16       - cdns,mhdp8546
17       - ti,j721e-mhdp8546
18
19   reg:
20     minItems: 1
21     maxItems: 3
22     items:
23       - description:
24           Register block of mhdptx apb registers up to PHY mapped area (AUX_CONFIG_P).
25           The AUX and PMA registers are not part of this range, they are instead
26           included in the associated PHY.
27       - description:
28           Register block for DSS_EDP0_INTG_CFG_VP registers in case of TI J7 SoCs.
29       - description:
30           Register block of mhdptx sapb registers.
31
32   reg-names:
33     minItems: 1
34     maxItems: 3
35     items:
36       - const: mhdptx
37       - const: j721e-intg
38       - const: mhdptx-sapb
39
40   clocks:
41     maxItems: 1
42     description:
43       DP bridge clock, used by the IP to know how to translate a number of
44       clock cycles into a time (which is used to comply with DP standard timings
45       and delays).
46
47   phys:
48     maxItems: 1
49     description:
50       phandle to the DisplayPort PHY.
51
52   phy-names:
53     items:
54       - const: dpphy
55
56   power-domains:
57     maxItems: 1
58
59   interrupts:
60     maxItems: 1
61
62   ports:
63     $ref: /schemas/graph.yaml#/properties/ports
64
65     properties:
66       port@0:
67         $ref: /schemas/graph.yaml#/properties/port
68         description:
69           First input port representing the DP bridge input.
70
71       port@1:
72         $ref: /schemas/graph.yaml#/properties/port
73         description:
74           Second input port representing the DP bridge input.
75
76       port@2:
77         $ref: /schemas/graph.yaml#/properties/port
78         description:
79           Third input port representing the DP bridge input.
80
81       port@3:
82         $ref: /schemas/graph.yaml#/properties/port
83         description:
84           Fourth input port representing the DP bridge input.
85
86       port@4:
87         $ref: /schemas/graph.yaml#/properties/port
88         description:
89           Output port representing the DP bridge output.
90
91     required:
92       - port@0
93       - port@4
94
95 allOf:
96   - if:
97       properties:
98         compatible:
99           contains:
100             const: ti,j721e-mhdp8546
101     then:
102       properties:
103         reg:
104           minItems: 2
105           maxItems: 3
106         reg-names:
107           minItems: 2
108           maxItems: 3
109     else:
110       properties:
111         reg:
112           minItems: 1
113           maxItems: 2
114         reg-names:
115           minItems: 1
116           maxItems: 2
117
118 required:
119   - compatible
120   - clocks
121   - reg
122   - reg-names
123   - phys
124   - phy-names
125   - interrupts
126   - ports
127
128 additionalProperties: false
129
130 examples:
131   - |
132     #include <dt-bindings/interrupt-controller/arm-gic.h>
133     bus {
134         #address-cells = <2>;
135         #size-cells = <2>;
136
137         mhdp: dp-bridge@f0fb000000 {
138             compatible = "cdns,mhdp8546";
139             reg = <0xf0 0xfb000000 0x0 0x1000000>;
140             reg-names = "mhdptx";
141             clocks = <&mhdp_clock>;
142             phys = <&dp_phy>;
143             phy-names = "dpphy";
144             interrupts = <GIC_SPI 614 IRQ_TYPE_LEVEL_HIGH>;
145
146             ports {
147                 #address-cells = <1>;
148                 #size-cells = <0>;
149
150                 port@0 {
151                     reg = <0>;
152                     dp_bridge_input: endpoint {
153                         remote-endpoint = <&xxx_dpi_output>;
154                     };
155                 };
156
157                 port@4 {
158                     reg = <4>;
159                     dp_bridge_output: endpoint {
160                         remote-endpoint = <&xxx_dp_connector_input>;
161                     };
162                 };
163             };
164         };
165     };
166 ...