[PATCH] pinctrl: uniphier: set input-enable before pin-muxing
Linus Walleij
linus.walleij at linaro.org
Tue Oct 27 03:09:11 PDT 2015
On Tue, Oct 20, 2015 at 10:25 AM, Masahiro Yamada
<yamada.masahiro at socionext.com> wrote:
> While IECTRL is disabled, input signals are pulled-down internally.
> If pin-muxing is set up first, glitch signals (Low to High transition)
> might be input to hardware blocks.
>
> Bad case scenario:
> [1] The hardware block is already running before pinctrl is handled.
> (the reset is de-asserted by default or by a firmware, for example)
> [2] The pin-muxing is set up. The input signals to hardware block
> are pulled-down by the chip-internal biasing.
> [3] The pins are input-enabled. The signals from the board reach the
> hardware block.
>
> Actually, one invalid character is input to the UART blocks for such
> SoCs as PH1-LD4, PH1-sLD8, where UART devices start to run at the
> power on reset.
>
> To avoid such problems, pins should be input-enabled before muxing.
>
> Fixes: 6e9088920258 ("pinctrl: UniPhier: add UniPhier pinctrl core support")
> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
> Reported-by: Dai Okamura <okamura.dai at socionext.com>
> ---
>
> Hi Linus,
>
> If it is not too late, please apply this fix for Linux 4.3.
It's too late at this point.
Patch is applied for devel and will come into v4.4 and from there
to -stable.
Yours,
Linus Walleij
More information about the linux-arm-kernel
mailing list