lkml.org 
[lkml]   [2023]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9 4/9] dt-bindings: display: bridge: anx7625: Add mode-switch support
    Date
    Analogix 7625 can be used in systems to switch the DP traffic between
    two downstreams, which can be USB Type-C DisplayPort alternate mode
    lane or regular DisplayPort output ports.

    Update the binding to accommodate this usage by introducing a
    data-lanes and a mode-switch property on endpoints.

    Also include the link to the product brief in the bindings.

    Signed-off-by: Pin-yen Lin <treapking@chromium.org>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

    ---

    Changes in v9:
    - Collected Reviewed-by tag

    Changes in v8:
    - Updated anx7625 bindings for data-lane property
    - Fixed the subject prefix

    Changes in v7:
    - Fixed issues reported by dt_binding_check
    - Updated the schema and the example dts for data-lanes.
    - Changed to generic naming for the example dts node.

    Changes in v6:
    - Remove switches node and use endpoints and data-lanes property to
    describe the connections.

    .../display/bridge/analogix,anx7625.yaml | 99 ++++++++++++++++++-
    1 file changed, 96 insertions(+), 3 deletions(-)

    diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
    index 4590186c4a0b..b49a350c40e3 100644
    --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
    +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
    @@ -12,7 +12,8 @@ maintainers:

    description: |
    The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
    - designed for portable devices.
    + designed for portable devices. Product brief is available at
    + https://www.analogix.com/en/system/files/AA-002291-PB-6-ANX7625_ProductBrief.pdf

    properties:
    compatible:
    @@ -112,10 +113,48 @@ properties:
    data-lanes: true

    port@1:
    - $ref: /schemas/graph.yaml#/properties/port
    + $ref: /schemas/graph.yaml#/$defs/port-base
    description:
    Video port for panel or connector.

    + patternProperties:
    + "^endpoint@[01]$":
    + $ref: /schemas/graph.yaml#/$defs/endpoint-base
    + unevaluatedProperties: false
    +
    + properties:
    + reg:
    + maxItems: 1
    +
    + remote-endpoint: true
    +
    + data-lanes:
    + oneOf:
    + - items:
    + - enum: [0, 1, 2, 3]
    +
    + - items:
    + - const: 0
    + - const: 1
    +
    + - items:
    + - const: 2
    + - const: 3
    +
    + - items:
    + - const: 0
    + - const: 1
    + - const: 2
    + - const: 3
    +
    + mode-switch:
    + type: boolean
    + description: Register this node as a Type-C mode switch or not.
    +
    + required:
    + - reg
    + - remote-endpoint
    +
    required:
    - port@0
    - port@1
    @@ -164,8 +203,12 @@ examples:
    };

    mipi2dp_bridge_out: port@1 {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    reg = <1>;
    - anx7625_out: endpoint {
    + anx7625_out: endpoint@0 {
    + reg = <0>;
    remote-endpoint = <&panel_in>;
    };
    };
    @@ -186,3 +229,53 @@ examples:
    };
    };
    };
    + - |
    + i2c3 {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + encoder@58 {
    + compatible = "analogix,anx7625";
    + reg = <0x58>;
    + pinctrl-names = "default";
    + pinctrl-0 = <&anx7625_dp_pins>;
    + enable-gpios = <&pio 176 GPIO_ACTIVE_HIGH>;
    + reset-gpios = <&pio 177 GPIO_ACTIVE_HIGH>;
    + vdd10-supply = <&pp1100_dpbrdg>;
    + vdd18-supply = <&pp1800_dpbrdg_dx>;
    + vdd33-supply = <&pp3300_dpbrdg_dx>;
    + analogix,audio-enable;
    +
    + ports {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + port@0 {
    + reg = <0>;
    + anx7625_dp_in: endpoint {
    + bus-type = <7>;
    + remote-endpoint = <&dpi_out>;
    + };
    + };
    +
    + port@1 {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + reg = <1>;
    + anx_typec0: endpoint@0 {
    + reg = <0>;
    + mode-switch;
    + data-lanes = <0 1>;
    + remote-endpoint = <&typec_port0>;
    + };
    + anx_typec1: endpoint@1 {
    + reg = <1>;
    + mode-switch;
    + data-lanes = <2 3>;
    + remote-endpoint = <&typec_port1>;
    + };
    + };
    + };
    + };
    + };
    --
    2.39.0.314.g84b9a713c41-goog
    \
     
     \ /
      Last update: 2023-03-26 23:32    [W:3.738 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site