blob: a1ed1004651b9a8c13474d8a3cda153a4ae6d210 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
8title: Analogix ANX7625 SlimPort (4K Mobile HD Transmitter)
9
10maintainers:
11 - Xin Ji <xji@analogixsemi.com>
12
13description: |
14 The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
15 designed for portable devices.
16
17properties:
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
122required:
123 - compatible
124 - reg
125 - vdd10-supply
126 - vdd18-supply
127 - vdd33-supply
128 - ports
129
130additionalProperties: false
131
132examples:
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 };