Mention branches and keyring.
[releases.git] / bindings / display / bridge / analogix,anx7625.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 Analogix Semiconductor, Inc.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Analogix ANX7625 SlimPort (4K Mobile HD Transmitter)
9
10 maintainers:
11   - Xin Ji <xji@analogixsemi.com>
12
13 description: |
14   The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
15   designed for portable devices.
16
17 properties:
18   compatible:
19     const: analogix,anx7625
20
21   reg:
22     maxItems: 1
23
24   interrupts:
25     description: used for interrupt pin B8.
26     maxItems: 1
27
28   enable-gpios:
29     description: used for power on chip control, POWER_EN pin D2.
30     maxItems: 1
31
32   reset-gpios:
33     description: used for reset chip control, RESET_N pin B7.
34     maxItems: 1
35
36   vdd10-supply:
37     description: Regulator that provides the supply 1.0V power.
38
39   vdd18-supply:
40     description: Regulator that provides the supply 1.8V power.
41
42   vdd33-supply:
43     description: Regulator that provides the supply 3.3V power.
44
45   analogix,lane0-swing:
46     $ref: /schemas/types.yaml#/definitions/uint8-array
47     minItems: 1
48     maxItems: 20
49     description:
50       an array of swing register setting for DP tx lane0 PHY.
51       Registers 0~9 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0,
52       Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2,
53       Swing1_Pre2, Swing0_Pre3, they are for [Boost control] and
54       [Swing control] setting.
55       Registers 0~9, bit 3:0 is [Boost control], these bits control
56       post cursor manual, increase the [Boost control] to increase
57       Pre-emphasis value.
58       Registers 0~9, bit 6:4 is [Swing control], these bits control
59       swing manual, increase [Swing control] setting to add Vp-p value
60       for each Swing, Pre.
61       Registers 10~19 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0,
62       Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2,
63       Swing1_Pre2, Swing0_Pre3, they are for [R select control] and
64       [R Termination control] setting.
65       Registers 10~19, bit 4:0 is [R select control], these bits are
66       compensation manual, increase it can enhance IO driven strength
67       and Vp-p.
68       Registers 10~19, bit 5:6 is [R termination control], these bits
69       adjust 50ohm impedance of DP tx termination. 00:55 ohm,
70       01:50 ohm(default), 10:45 ohm, 11:40 ohm.
71
72   analogix,lane1-swing:
73     $ref: /schemas/types.yaml#/definitions/uint8-array
74     minItems: 1
75     maxItems: 20
76     description:
77       an array of swing register setting for DP tx lane1 PHY.
78       DP TX lane1 swing register setting same with lane0
79       swing, please refer lane0-swing property description.
80
81   analogix,audio-enable:
82     type: boolean
83     description: let the driver enable audio HDMI codec function or not.
84
85   aux-bus:
86     $ref: /schemas/display/dp-aux-bus.yaml#
87
88   ports:
89     $ref: /schemas/graph.yaml#/properties/ports
90
91     properties:
92       port@0:
93         $ref: /schemas/graph.yaml#/$defs/port-base
94         unevaluatedProperties: false
95         description:
96           MIPI DSI/DPI input.
97
98         properties:
99           endpoint:
100             $ref: /schemas/media/video-interfaces.yaml#
101             type: object
102             additionalProperties: false
103
104             properties:
105               remote-endpoint: true
106
107               bus-type:
108                 enum: [7]
109                 default: 1
110
111               data-lanes: true
112
113       port@1:
114         $ref: /schemas/graph.yaml#/properties/port
115         description:
116           Video port for panel or connector.
117
118     required:
119       - port@0
120       - port@1
121
122 required:
123   - compatible
124   - reg
125   - vdd10-supply
126   - vdd18-supply
127   - vdd33-supply
128   - ports
129
130 additionalProperties: false
131
132 examples:
133   - |
134     #include <dt-bindings/gpio/gpio.h>
135
136     i2c {
137         #address-cells = <1>;
138         #size-cells = <0>;
139
140         encoder@58 {
141             compatible = "analogix,anx7625";
142             reg = <0x58>;
143             enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
144             reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
145             vdd10-supply = <&pp1000_mipibrdg>;
146             vdd18-supply = <&pp1800_mipibrdg>;
147             vdd33-supply = <&pp3300_mipibrdg>;
148             analogix,audio-enable;
149             analogix,lane0-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
150             analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
151
152             ports {
153                 #address-cells = <1>;
154                 #size-cells = <0>;
155
156                 mipi2dp_bridge_in: port@0 {
157                     reg = <0>;
158                     anx7625_in: endpoint {
159                         remote-endpoint = <&mipi_dsi>;
160                         bus-type = <7>;
161                         data-lanes = <0 1 2 3>;
162                     };
163                 };
164
165                 mipi2dp_bridge_out: port@1 {
166                     reg = <1>;
167                     anx7625_out: endpoint {
168                         remote-endpoint = <&panel_in>;
169                     };
170                 };
171             };
172
173             aux-bus {
174                 panel {
175                     compatible = "innolux,n125hce-gn1";
176                     power-supply = <&pp3300_disp_x>;
177                     backlight = <&backlight_lcd0>;
178
179                     port {
180                         panel_in: endpoint {
181                             remote-endpoint = <&anx7625_out>;
182                         };
183                     };
184                 };
185             };
186         };
187     };