lkml.org 
[lkml]   [2019]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RESEND 3/4] dt-bindings: drm/bridge: analogix-anx78xx: support bypass GPIO
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@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>;
> + };
> + };
> + };
> + };
> +

--
Regards,

Laurent Pinchart

\
 
 \ /
  Last update: 2019-12-09 15:56    [W:0.061 / U:0.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site