]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-uniphier/clk/clk-ld20.c
Merge git://git.denx.de/u-boot-uniphier
[u-boot] / arch / arm / mach-uniphier / clk / clk-ld20.c
index 556a30ae01d54f3f193caca91107c37ae0555a2f..f79fb38535cdffde48967ad50292da063fd13708 100644 (file)
@@ -1,14 +1,29 @@
 /*
- * Copyright (C) 2016 Masahiro Yamada <yamada.masahiro@socionext.com>
+ * Copyright (C) 2017 Socionext Inc.
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
+#include <linux/bitops.h>
 #include <linux/io.h>
 
 #include "../init.h"
 #include "../sc64-regs.h"
 
+#define SDCTRL_EMMC_HW_RESET   0x59810280
+
 void uniphier_ld20_clk_init(void)
 {
+       u32 tmp;
+
+       tmp = readl(SC_RSTCTRL6);
+       tmp |= BIT(8);                  /* Mali */
+       writel(tmp, SC_RSTCTRL6);
+
+       tmp = readl(SC_CLKCTRL6);
+       tmp |= BIT(8);                  /* Mali */
+       writel(tmp, SC_CLKCTRL6);
+
+       /* TODO: use "mmc-pwrseq-emmc" */
+       writel(1, SDCTRL_EMMC_HW_RESET);
 }