summaryrefslogtreecommitdiff
path: root/arch/arm/mach-uniphier/clk/clk-ld11.c
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2017-02-17 10:17:22 +0300
committerMasahiro Yamada <yamada.masahiro@socionext.com>2017-02-23 02:37:56 +0300
commitc21f58548c812032207d986ca7b5baa0bb4a5972 (patch)
tree49f43cb06d48b8a4a9f4a23e3d38f649e95d3878 /arch/arm/mach-uniphier/clk/clk-ld11.c
parent04f3da393667b094adc4fef37db71c7327d5ed7d (diff)
downloadu-boot-c21f58548c812032207d986ca7b5baa0bb4a5972.tar.xz
ARM: uniphier: deassert RST_n of eMMC device for LD11/LD20
For LD11 and LD20 SoCs, the RST_n pin is asserted by default. If the EXT_CSD[162], bit[1:0] (RST_n_ENABLE) is fused, the eMMC device would stay in the reset state until its RST_n pin is deasserted by software. Currently, this is cared by an ad-hoc way because the eMMC hardware reset provider is not supported in U-Boot for now. This code should be re-written once the "mmc-pwrseq-emmc" binding is supported. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'arch/arm/mach-uniphier/clk/clk-ld11.c')
-rw-r--r--arch/arm/mach-uniphier/clk/clk-ld11.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-uniphier/clk/clk-ld11.c b/arch/arm/mach-uniphier/clk/clk-ld11.c
index b1e82a150a..a4dcde743b 100644
--- a/arch/arm/mach-uniphier/clk/clk-ld11.c
+++ b/arch/arm/mach-uniphier/clk/clk-ld11.c
@@ -13,6 +13,8 @@
#include "../sc64-regs.h"
#include "../sg-regs.h"
+#define SDCTRL_EMMC_HW_RESET 0x59810280
+
void uniphier_ld11_clk_init(void)
{
/* if booted from a device other than USB, without stand-by MPU */
@@ -28,6 +30,9 @@ void uniphier_ld11_clk_init(void)
writel(7, SG_ETPHYCNT);
}
+ /* TODO: use "mmc-pwrseq-emmc" */
+ writel(1, SDCTRL_EMMC_HW_RESET);
+
#ifdef CONFIG_USB_EHCI
{
/* FIXME: the current clk driver can not handle parents */