1*667dbcd0SMasahiro Yamada /*
2*667dbcd0SMasahiro Yamada  * Copyright (C) 2016 Socionext Inc.
3*667dbcd0SMasahiro Yamada  *
4*667dbcd0SMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
5*667dbcd0SMasahiro Yamada  */
6*667dbcd0SMasahiro Yamada 
7*667dbcd0SMasahiro Yamada #include <common.h>
8*667dbcd0SMasahiro Yamada #include <linux/bitops.h>
9*667dbcd0SMasahiro Yamada #include <linux/io.h>
10*667dbcd0SMasahiro Yamada 
11*667dbcd0SMasahiro Yamada #include "../init.h"
12*667dbcd0SMasahiro Yamada #include "../sg-regs.h"
13*667dbcd0SMasahiro Yamada 
14*667dbcd0SMasahiro Yamada void uniphier_ld11_clk_init(void)
15*667dbcd0SMasahiro Yamada {
16*667dbcd0SMasahiro Yamada 	if (readl(SG_PINMON0) & BIT(27)) {
17*667dbcd0SMasahiro Yamada 		/* if booted without stand-by MPU */
18*667dbcd0SMasahiro Yamada 
19*667dbcd0SMasahiro Yamada 		writel(1, SG_ETPHYPSHUT);
20*667dbcd0SMasahiro Yamada 		writel(1, SG_ETPHYCNT);
21*667dbcd0SMasahiro Yamada 
22*667dbcd0SMasahiro Yamada 		udelay(1); /* wait for regulator level 1.1V -> 2.5V */
23*667dbcd0SMasahiro Yamada 
24*667dbcd0SMasahiro Yamada 		writel(3, SG_ETPHYCNT);
25*667dbcd0SMasahiro Yamada 		writel(3, SG_ETPHYPSHUT);
26*667dbcd0SMasahiro Yamada 		writel(7, SG_ETPHYCNT);
27*667dbcd0SMasahiro Yamada 	}
28*667dbcd0SMasahiro Yamada }
29