All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	linux-renesas-soc@vger.kernel.org, linux-gpio@vger.kernel.org
Subject: Re: [PATCH/RFC] ARM: dts: armadillo800eva: Split LCD mux and gpio
Date: Wed, 24 May 2017 15:57:49 +0300	[thread overview]
Message-ID: <2806448.cAnmeTWMfp@avalon> (raw)
In-Reply-To: <1495626214-15502-1-git-send-email-geert+renesas@glider.be>

Hi Geert,

Thank you for the patch.

On Wednesday 24 May 2017 13:43:34 Geert Uytterhoeven wrote:
> Configuration of the lcd0 pinmux group and GPIO hog for the external
> GPIO mux are done using a single device node, causing the "output-high"
> property to be applied to both.  This will fail for the pinmux group,
> but doesn't cause any harm, as the failure is ignored silently.
> 
> However, after "pinctrl: sh-pfc: propagate errors on group config", the
> failure will become fatal, leading to a broken display:
> 
>     sh-pfc e6050000.pin-controller: pin_config_group_set op failed for group
> 102 sh-pfc e6050000.pin-controller: Error applying setting, reverse things
> back sh-pfc e6050000.pin-controller: failed to select default state
> 
> Split the configuration in two subnodes, and replace the GPIO hog by a
> pull-up pin bias to fix this.
> 
> Fixes: ffd2f9a5afb730b9 ("ARM: shmobile: armadillo800eva dts: Add pinctrl
> and gpio-hog for lcdc0") Signed-off-by: Geert Uytterhoeven
> <geert+renesas@glider.be>
> ---
> This is a hard dependency for "pinctrl: sh-pfc: propagate errors on
> group config" (https://patchwork.kernel.org/patch/9186713/).
> 
> Notes:
>   1. Just keeping the GPIO hog doesn't work, as the sh-pfc driver
>      requires each pinctrl (sub)node to have at least one "pins" or
>      "groups" property,
>   2. Keeping "output-high" doesn't work, as the sh-pfc driver does not
>      implement PIN_CONFIG_OUTPUT.
> 
> Should I fix 1 and/or 2 instead?
> ---
>  arch/arm/boot/dts/r8a7740-armadillo800eva.dts | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts
> b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts index
> 44b335b9f035436d..7feedc86f6915654 100644
> --- a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts
> +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts
> @@ -267,13 +267,16 @@
>  	};
> 
>  	lcd0_pins: lcd0 {
> -		groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
> -		function = "lcd0";
> +		mux {
> +			groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
> +			function = "lcd0";
> +		};
> 
> -		/* DBGMD/LCDC0/FSIA MUX */
> -		gpio-hog;
> -		gpios = <176 0>;
> -		output-high;
> +		gpio {
> +			/* DBGMD/LCDC0/FSIA MUX */
> +			pins = "PORT176";
> +			bias-pull-up;

The signal is pulled low through a 10kΩ resistor, so a pull-up is a bit weak. 
You'll end up with an intermediate voltage level that could result in meta-
stability and/or latch-up. I think we need to really drive the output to 1.

> +		};
>  	};
>  };

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2017-05-24 12:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-24 11:43 [PATCH/RFC] ARM: dts: armadillo800eva: Split LCD mux and gpio Geert Uytterhoeven
2017-05-24 12:57 ` Laurent Pinchart [this message]
2017-05-24 13:36   ` Geert Uytterhoeven
2017-05-29 11:23     ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2806448.cAnmeTWMfp@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=geert+renesas@glider.be \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.