[PATCH RESEND 3/4] dt-bindings: drm/bridge: analogix-anx78xx: support bypass GPIO
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Dec 9 14:55:52 UTC 2019
Hi Hsin-Yi,
Thank you for the patch.
On Mon, Dec 09, 2019 at 10:50:15PM +0800, Hsin-Yi Wang wrote:
> 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.
This doesn't look like the right place to fix this, as the mux is
unrelated to the bridge. You would have to duplicate this logic in every
bridge driver otherwise.
Could you describe the hardware topology in a bit more details ? I can
then try to advise on how to best support it.
> Signed-off-by: Hsin-Yi Wang <hsinyi at 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 at 2c {
> compatible = "analogix,anx7688";
> @@ -30,3 +33,38 @@ Example:
> };
> };
> };
> +
> +Example 2:
> +
> + anx7688: anx7688 at 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 at 0 { /* input */
> + reg = <0>;
> +
> + anx7688_in: endpoint {
> + remote-endpoint = <&hdmi_out_anx>;
> + };
> + };
> +
> + port at 1 { /* output */
> + reg = <1>;
> +
> + anx7688_out: endpoint {
> + remote-endpoint = <&hdmi_connector_in>;
> + };
> + };
> + };
> + };
> +
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list