Commit 1d753244 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

dt-bindings: drm/bridge: anx7625: describe Type-C connector



ANX7625 can be used to mux converted video stream with the USB signals
on a Type-C connector. Describe the optional connector subnode, make it
exclusive with the AUX bus and port@1 as it is impossible to have both
eDP panel and USB-C connector.

Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260121-anx7625-typec-v2-1-d14f31256a17@oss.qualcomm.com


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
parent e19cc5ab
Loading
Loading
Loading
Loading
+97 −1
Original line number Diff line number Diff line
@@ -85,6 +85,11 @@ properties:
  aux-bus:
    $ref: /schemas/display/dp-aux-bus.yaml#

  connector:
    type: object
    $ref: /schemas/connector/usb-connector.yaml#
    unevaluatedProperties: false

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

@@ -117,7 +122,6 @@ properties:

    required:
      - port@0
      - port@1

required:
  - compatible
@@ -127,6 +131,28 @@ required:
  - vdd33-supply
  - ports

allOf:
  - if:
      required:
        - aux-bus
        - connector
    then:
      false

  - if:
      required:
        - connector
    then:
      properties:
        ports:
          properties:
            port@1: false
    else:
      properties:
        ports:
          required:
            - port@1

additionalProperties: false

examples:
@@ -185,3 +211,73 @@ examples:
            };
        };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        encoder@58 {
            compatible = "analogix,anx7625";
            reg = <0x58>;
            enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
            vdd10-supply = <&pp1000_mipibrdg>;
            vdd18-supply = <&pp1800_mipibrdg>;
            vdd33-supply = <&pp3300_mipibrdg>;
            analogix,audio-enable;
            analogix,lane0-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
            analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;

            connector {
                compatible = "usb-c-connector";
                power-role = "dual";
                data-role = "dual";
                vbus-supply = <&vbus_reg>;

                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;

                    port@0 {
                        reg = <0>;

                        endpoint {
                            remote-endpoint = <&usb_hs>;
                        };
                    };

                    port@1 {
                        reg = <1>;

                        endpoint {
                            remote-endpoint = <&usb_ss>;
                        };
                    };

                    port@2 {
                        reg = <2>;

                        endpoint {
                            remote-endpoint = <&usb_sbu>;
                        };
                    };
                };
            };

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    endpoint {
                        remote-endpoint = <&mipi_dsi>;
                        bus-type = <7>;
                        data-lanes = <0 1 2 3>;
                    };
                };
            };
        };
    };