ARM: uniphier: fix glitch signal problem for low-level debug
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 21 Sep 2015 15:27:36 +0000 (00:27 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 24 Sep 2015 15:27:53 +0000 (00:27 +0900)
commitfcbcd59730255018dbe78af9294598273a85a0de
tree6ca5a91bea033ed8545fa9566d765627bdb266ab
parent257b11f32d0ba451b8b7eba72f0db5e182d425dd
ARM: uniphier: fix glitch signal problem for low-level debug

Currently, IECTRL is enabled after pin-mux settings for the low-level
debugging for PH1-LD4 and PH1-sLD8.  While IECTRL is disabled, input
signals are pulled-down, i.e. glitch signal (Low to High transition)
problem occurs if pin-mux is set up first.  As a result, one invalid
character is input to the UART block and the auto-boot counting is
terminated immediately.

The correct initialization procedure is:
 [1] Enable IECTRL (if IECTRL exists for the pins)
 [2] Set up pin-muxing
 [3] Deassert the reset of the hardware block

Currently, the low-level debugging is working for PH1-sLD3 and
PH1-Pro4, but just in case, follow the sequence for all the SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
arch/arm/mach-uniphier/ph1-ld4/lowlevel_debug.S
arch/arm/mach-uniphier/ph1-pro4/lowlevel_debug.S
arch/arm/mach-uniphier/ph1-sld3/lowlevel_debug.S
arch/arm/mach-uniphier/ph1-sld8/lowlevel_debug.S