diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-10-27 23:47:06 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-10-29 17:24:30 +0900 |
commit | 9c5313dc095ccab69dc9a0e100cdbda62369d4fb (patch) | |
tree | b1b73adcf3e250d52eb2bc29e5a03e0abcd3b3ec /arch/arm/mach-uniphier/clk | |
parent | 76466bd7be58c0059e5d44b31907cd1066b9697b (diff) | |
download | u-boot-9c5313dc095ccab69dc9a0e100cdbda62369d4fb.tar.gz |
ARM: uniphier: do not run harmful code for USB boot mode of LD11 ES3
The USB boot without the stand-by MPU is available on ES3 or later
of LD11 SoC, but the code in this if-conditional block must not be
run when booting from USB. Check if the boot device is USB, and
skip the code in the case.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'arch/arm/mach-uniphier/clk')
-rw-r--r-- | arch/arm/mach-uniphier/clk/clk-ld11.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mach-uniphier/clk/clk-ld11.c b/arch/arm/mach-uniphier/clk/clk-ld11.c index ca8737d2ff..58069cbf15 100644 --- a/arch/arm/mach-uniphier/clk/clk-ld11.c +++ b/arch/arm/mach-uniphier/clk/clk-ld11.c @@ -5,18 +5,20 @@ */ #include <common.h> +#include <spl.h> #include <linux/bitops.h> #include <linux/io.h> +#include "../boot-mode/boot-device.h" #include "../init.h" #include "../sc64-regs.h" #include "../sg-regs.h" void uniphier_ld11_clk_init(void) { - if (readl(SG_PINMON0) & BIT(27)) { - /* if booted without stand-by MPU */ - + /* if booted from a device other than USB, without stand-by MPU */ + if ((readl(SG_PINMON0) & BIT(27)) && + spl_boot_device_raw() != BOOT_DEVICE_USB) { writel(1, SG_ETPHYPSHUT); writel(1, SG_ETPHYCNT); |