Support optional feature: bypass GPIO. Some SoC (eg. mt8173) have a hardware mux that connects to 2 ports: anx7688 and hdmi. When the GPIO is active, the bridge is bypassed. Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> --- .../bindings/display/bridge/anx7688.txt | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/bridge/anx7688.txt b/Documentation/devicetree/bindings/display/bridge/anx7688.txt index 78b55bdb18f7..44185dcac839 100644 --- a/Documentation/devicetree/bindings/display/bridge/anx7688.txt +++ b/Documentation/devicetree/bindings/display/bridge/anx7688.txt @@ -15,10 +15,13 @@ Required properties: Optional properties: - Video port for HDMI input, using the DT bindings defined in [1]. + - bypass-gpios : External GPIO. If this GPIO is active, we assume + the bridge is bypassed (e.g. by a mux). + - pinctrl-0, pinctrl-names: the pincontrol settings to configure bypass GPIO. [1]: Documentation/devicetree/bindings/media/video-interfaces.txt -Example: +Example 1: anx7688: anx7688@2c { compatible = "analogix,anx7688"; @@ -30,3 +33,38 @@ Example: }; }; }; + +Example 2: + + anx7688: anx7688@2c { + compatible = "analogix,anx7688"; + status = "okay"; + reg = <0x2c>; + ddc-i2c-bus = <&hdmiddc0>; + + bypass-gpios = <&pio 36 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&hdmi_mux_pins>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { /* input */ + reg = <0>; + + anx7688_in: endpoint { + remote-endpoint = <&hdmi_out_anx>; + }; + }; + + port@1 { /* output */ + reg = <1>; + + anx7688_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; + -- 2.24.0.393.g34dc348eaf-goog