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@chromium.org --- .../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>; + }; + }; + }; + }; +