Linux Audio

Check our new training course

Yocto distribution development and maintenance

Need a Yocto distribution for your embedded project?
Loading...
  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    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    };