ARM: uniphier: do not setup pins for System Bus on NAND boot mode
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 26 Sep 2016 04:13:16 +0000 (13:13 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 10 Oct 2016 01:03:23 +0000 (10:03 +0900)
For LD11 and LD20 SoCs, the System Bus and NAND are multiplexed
in the same I/O pins.  When booting from a NAND device, pin-mux
for the System Bus must not be set-up because they are exclusive
with each other.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
arch/arm/mach-uniphier/init/init-ld11.c
arch/arm/mach-uniphier/init/init-ld20.c

index e324c94700e0409914e82a5f6313324552766bbb..fdb2838503811706adc672dbf52bfb10b1586291 100644 (file)
@@ -15,7 +15,9 @@ int uniphier_ld11_init(const struct uniphier_board_data *bd)
 {
        uniphier_sbc_init_savepin(bd);
        uniphier_pxs2_sbc_init(bd);
-       uniphier_pin_init("system_bus_grp");
+       /* pins for NAND and System Bus are multiplexed */
+       if (spl_boot_device() != BOOT_DEVICE_NAND)
+               uniphier_pin_init("system_bus_grp");
 
        support_card_reset();
 
index cb054212529918b9fc0fa6236efdcee22abb490d..37b860a8b43f1be8eee6c235d8b6f5d4909d19a7 100644 (file)
@@ -15,7 +15,9 @@ int uniphier_ld20_init(const struct uniphier_board_data *bd)
 {
        uniphier_sbc_init_savepin(bd);
        uniphier_pxs2_sbc_init(bd);
-       uniphier_pin_init("system_bus_grp");
+       /* pins for NAND and System Bus are multiplexed */
+       if (spl_boot_device() != BOOT_DEVICE_NAND)
+               uniphier_pin_init("system_bus_grp");
 
        support_card_reset();