]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/mach-uniphier/early-clk/early-clk-ld20.c
ARM: uniphier: add PH1-LD20 SoC support
[people/ms/u-boot.git] / arch / arm / mach-uniphier / early-clk / early-clk-ld20.c
1 /*
2 * Copyright (C) 2016 Masahiro Yamada <yamada.masahiro@socionext.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7 #include <linux/io.h>
8
9 #include "../init.h"
10 #include "../sc64-regs.h"
11
12 int uniphier_ld20_early_clk_init(const struct uniphier_board_data *bd)
13 {
14 u32 tmp;
15
16 /* deassert reset */
17 tmp = readl(SC_RSTCTRL7);
18 tmp |= SC_RSTCTRL7_UMCSB | SC_RSTCTRL7_UMCA2 | SC_RSTCTRL7_UMCA1 |
19 SC_RSTCTRL7_UMCA0 | SC_RSTCTRL7_UMC32 | SC_RSTCTRL7_UMC31 |
20 SC_RSTCTRL7_UMC30;
21 writel(tmp, SC_RSTCTRL7);
22
23 /* provide clocks */
24 tmp = readl(SC_CLKCTRL7);
25 tmp |= SC_CLKCTRL7_UMCSB | SC_CLKCTRL7_UMC32 | SC_CLKCTRL7_UMC31 |
26 SC_CLKCTRL7_UMC30;
27 writel(tmp, SC_CLKCTRL7);
28
29 return 0;
30 }