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