154558Sbp# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
266479Sbp# Copyright 2019 Analogix Semiconductor, Inc.
354558Sbp%YAML 1.2
454558Sbp---
554558Sbp$id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
654558Sbp$schema: http://devicetree.org/meta-schemas/core.yaml#
754558Sbp
854558Sbptitle: Analogix ANX7625 SlimPort (4K Mobile HD Transmitter)
954558Sbp
1054558Sbpmaintainers:
1154558Sbp  - Xin Ji <xji@analogixsemi.com>
1254558Sbp
1354558Sbpdescription: |
1454558Sbp  The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
1554558Sbp  designed for portable devices.
1654558Sbp
1754558Sbpproperties:
1854558Sbp  compatible:
1954558Sbp    const: analogix,anx7625
2054558Sbp
2154558Sbp  reg:
2254558Sbp    maxItems: 1
2354558Sbp
2454558Sbp  interrupts:
2554558Sbp    description: used for interrupt pin B8.
2654558Sbp    maxItems: 1
2754558Sbp
2854558Sbp  enable-gpios:
2954558Sbp    description: used for power on chip control, POWER_EN pin D2.
3054558Sbp    maxItems: 1
3156424Sbp
3254558Sbp  reset-gpios:
3354558Sbp    description: used for reset chip control, RESET_N pin B7.
3454558Sbp    maxItems: 1
3554558Sbp
3654558Sbp  vdd10-supply:
3754558Sbp    description: Regulator that provides the supply 1.0V power.
3854558Sbp
3954558Sbp  vdd18-supply:
4054558Sbp    description: Regulator that provides the supply 1.8V power.
4154558Sbp
4254558Sbp  vdd33-supply:
4354558Sbp    description: Regulator that provides the supply 3.3V power.
4454558Sbp
4554558Sbp  analogix,lane0-swing:
4654558Sbp    $ref: /schemas/types.yaml#/definitions/uint8-array
4754558Sbp    minItems: 1
4854558Sbp    maxItems: 20
4954558Sbp    description:
5054558Sbp      an array of swing register setting for DP tx lane0 PHY.
5154558Sbp      Registers 0~9 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0,
5254558Sbp      Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2,
5354558Sbp      Swing1_Pre2, Swing0_Pre3, they are for [Boost control] and
5454558Sbp      [Swing control] setting.
5554558Sbp      Registers 0~9, bit 3:0 is [Boost control], these bits control
5654558Sbp      post cursor manual, increase the [Boost control] to increase
5754558Sbp      Pre-emphasis value.
5854558Sbp      Registers 0~9, bit 6:4 is [Swing control], these bits control
5954558Sbp      swing manual, increase [Swing control] setting to add Vp-p value
6054558Sbp      for each Swing, Pre.
6154558Sbp      Registers 10~19 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0,
6254558Sbp      Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2,
6354558Sbp      Swing1_Pre2, Swing0_Pre3, they are for [R select control] and
6454558Sbp      [R Termination control] setting.
6554558Sbp      Registers 10~19, bit 4:0 is [R select control], these bits are
6654558Sbp      compensation manual, increase it can enhance IO driven strength
6754558Sbp      and Vp-p.
6854558Sbp      Registers 10~19, bit 5:6 is [R termination control], these bits
6954558Sbp      adjust 50ohm impedance of DP tx termination. 00:55 ohm,
7054558Sbp      01:50 ohm(default), 10:45 ohm, 11:40 ohm.
7154558Sbp
7287599Sobrien  analogix,lane1-swing:
7354558Sbp    $ref: /schemas/types.yaml#/definitions/uint8-array
7454558Sbp    minItems: 1
7554558Sbp    maxItems: 20
7654558Sbp    description:
7787599Sobrien      an array of swing register setting for DP tx lane1 PHY.
7854558Sbp      DP TX lane1 swing register setting same with lane0
7954558Sbp      swing, please refer lane0-swing property description.
8054558Sbp
8154558Sbp  analogix,audio-enable:
82121816Sbrooks    type: boolean
8354558Sbp    description: let the driver enable audio HDMI codec function or not.
8454558Sbp
8554558Sbp  aux-bus:
8660938Sjake    $ref: /schemas/display/dp-aux-bus.yaml#
8754558Sbp
8854558Sbp  ports:
8954558Sbp    $ref: /schemas/graph.yaml#/properties/ports
9054558Sbp
9160938Sjake    properties:
9254558Sbp      port@0:
9354558Sbp        $ref: /schemas/graph.yaml#/$defs/port-base
9454558Sbp        unevaluatedProperties: false
9559681Sbp        description:
9666479Sbp          MIPI DSI/DPI input.
9754558Sbp
9854558Sbp        properties:
9954558Sbp          endpoint:
10054558Sbp            $ref: /schemas/media/video-interfaces.yaml#
10154558Sbp            type: object
10254558Sbp            additionalProperties: false
10354558Sbp
10454558Sbp            properties:
10554558Sbp              remote-endpoint: true
10654558Sbp
10759681Sbp              bus-type:
10866479Sbp                enum: [7]
10954558Sbp                default: 1
11054558Sbp
11154558Sbp              data-lanes: true
11254558Sbp
11354558Sbp      port@1:
11454558Sbp        $ref: /schemas/graph.yaml#/properties/port
11554558Sbp        description:
11654558Sbp          Video port for panel or connector.
11754558Sbp
11854558Sbp    required:
11954558Sbp      - port@0
120106939Ssam      - port@1
121106939Ssam
12254558Sbprequired:
12354558Sbp  - compatible
12454558Sbp  - reg
12554558Sbp  - vdd10-supply
12654558Sbp  - vdd18-supply
12754558Sbp  - vdd33-supply
12854558Sbp  - ports
12954558Sbp
13054558SbpadditionalProperties: false
131106939Ssam
132106939Ssamexamples:
133106939Ssam  - |
13454558Sbp    #include <dt-bindings/gpio/gpio.h>
13554558Sbp
13654558Sbp    i2c {
13754558Sbp        #address-cells = <1>;
13854558Sbp        #size-cells = <0>;
13954558Sbp
14054558Sbp        encoder@58 {
141121816Sbrooks            compatible = "analogix,anx7625";
14254558Sbp            reg = <0x58>;
14354558Sbp            enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
14454558Sbp            reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
14554558Sbp            vdd10-supply = <&pp1000_mipibrdg>;
14654558Sbp            vdd18-supply = <&pp1800_mipibrdg>;
14754558Sbp            vdd33-supply = <&pp3300_mipibrdg>;
14854558Sbp            analogix,audio-enable;
14954558Sbp            analogix,lane0-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
15054558Sbp            analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
15154558Sbp
15254558Sbp            ports {
15354558Sbp                #address-cells = <1>;
15454558Sbp                #size-cells = <0>;
15554558Sbp
15654558Sbp                mipi2dp_bridge_in: port@0 {
15754558Sbp                    reg = <0>;
15854558Sbp                    anx7625_in: endpoint {
15954558Sbp                        remote-endpoint = <&mipi_dsi>;
16054558Sbp                        bus-type = <7>;
16172012Sphk                        data-lanes = <0 1 2 3>;
16254558Sbp                    };
16354558Sbp                };
16454558Sbp
16554558Sbp                mipi2dp_bridge_out: port@1 {
166108172Shsu                    reg = <1>;
16754558Sbp                    anx7625_out: endpoint {
168108172Shsu                        remote-endpoint = <&panel_in>;
16954558Sbp                    };
17054558Sbp                };
17154558Sbp            };
17254558Sbp
17354558Sbp            aux-bus {
17454558Sbp                panel {
17554558Sbp                    compatible = "innolux,n125hce-gn1";
17654558Sbp                    power-supply = <&pp3300_disp_x>;
17754558Sbp                    backlight = <&backlight_lcd0>;
17854558Sbp
17954558Sbp                    port {
18054558Sbp                        panel_in: endpoint {
181121816Sbrooks                            remote-endpoint = <&anx7625_out>;
18254558Sbp                        };
18354558Sbp                    };
18454558Sbp                };
185121816Sbrooks            };
18654558Sbp        };
18754558Sbp    };
18854558Sbp