]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/arm/mach-uniphier/ph1-ld4/clkrst_init.c
karo: fdt: fix panel-dpi support
[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 #ifdef CONFIG_UNIPHIER_ETH
17         tmp |= SC_RSTCTRL_NRST_ETHER;
18 #endif
19 #ifdef CONFIG_USB_EHCI_UNIPHIER
20         tmp |= SC_RSTCTRL_NRST_STDMAC;
21 #endif
22 #ifdef CONFIG_NAND_DENALI
23         tmp |= SC_RSTCTRL_NRST_NAND;
24 #endif
25         writel(tmp, SC_RSTCTRL);
26         readl(SC_RSTCTRL); /* dummy read */
27
28         /* privide clocks */
29         tmp = readl(SC_CLKCTRL);
30 #ifdef CONFIG_UNIPHIER_ETH
31         tmp |= SC_CLKCTRL_CEN_ETHER;
32 #endif
33 #ifdef CONFIG_USB_EHCI_UNIPHIER
34         tmp |= SC_CLKCTRL_CEN_MIO | SC_CLKCTRL_CEN_STDMAC;
35 #endif
36 #ifdef CONFIG_NAND_DENALI
37         tmp |= SC_CLKCTRL_CEN_NAND;
38 #endif
39         writel(tmp, SC_CLKCTRL);
40         readl(SC_CLKCTRL); /* dummy read */
41 }