1 /*
2  * Copyright (C) 2017 Socionext Inc.
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #include <linux/bitops.h>
8 #include <linux/io.h>
9 
10 #include "../init.h"
11 #include "../sc64-regs.h"
12 
13 #define SDCTRL_EMMC_HW_RESET	0x59810280
14 
15 void uniphier_ld20_clk_init(void)
16 {
17 	u32 tmp;
18 
19 	tmp = readl(SC_RSTCTRL6);
20 	tmp |= BIT(8);			/* Mali */
21 	writel(tmp, SC_RSTCTRL6);
22 
23 	tmp = readl(SC_CLKCTRL6);
24 	tmp |= BIT(8);			/* Mali */
25 	writel(tmp, SC_CLKCTRL6);
26 
27 	/* TODO: use "mmc-pwrseq-emmc" */
28 	writel(1, SDCTRL_EMMC_HW_RESET);
29 }
30