]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/arm/mach-uniphier/ph1-ld4/clkrst_init.c
1bbd9440deb4ac1a20661087d595ed9241bce5fa
[karo-tx-uboot.git] / arch / arm / mach-uniphier / ph1-ld4 / clkrst_init.c
1 /*
2  * Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #include <linux/io.h>
8 #include <mach/sc-regs.h>
9
10 void clkrst_init(void)
11 {
12         u32 tmp;
13
14         /* deassert reset */
15         tmp = readl(SC_RSTCTRL);
16         tmp |= SC_RSTCTRL_NRST_ETHER | SC_RSTCTRL_NRST_UMC1
17                 | SC_RSTCTRL_NRST_UMC0 | SC_RSTCTRL_NRST_NAND;
18         writel(tmp, SC_RSTCTRL);
19         readl(SC_RSTCTRL); /* dummy read */
20
21         /* privide clocks */
22         tmp = readl(SC_CLKCTRL);
23         tmp |= SC_CLKCTRL_CLK_ETHER | SC_CLKCTRL_CLK_MIO | SC_CLKCTRL_CLK_UMC
24              | SC_CLKCTRL_CLK_NAND | SC_CLKCTRL_CLK_SBC | SC_CLKCTRL_CLK_PERI;
25         writel(tmp, SC_CLKCTRL);
26         readl(SC_CLKCTRL); /* dummy read */
27 }