]>
Commit | Line | Data |
---|---|---|
198a97a6 | 1 | /* |
f6e7f07c | 2 | * Copyright (C) 2011-2015 Masahiro Yamada <yamada.m@jp.panasonic.com> |
198a97a6 MY |
3 | * |
4 | * SPDX-License-Identifier: GPL-2.0+ | |
5 | */ | |
6 | ||
d3384bf7 MY |
7 | #include <common.h> |
8 | #include <spl.h> | |
f6e7f07c | 9 | #include <linux/io.h> |
107b3fb4 MY |
10 | |
11 | #include "../init.h" | |
12 | #include "../sc-regs.h" | |
198a97a6 | 13 | |
323d1f9d | 14 | int ph1_ld4_early_clk_init(const struct uniphier_board_data *bd) |
198a97a6 MY |
15 | { |
16 | u32 tmp; | |
17 | ||
18 | /* deassert reset */ | |
19 | tmp = readl(SC_RSTCTRL); | |
d3384bf7 | 20 | |
198a97a6 | 21 | tmp |= SC_RSTCTRL_NRST_UMC1 | SC_RSTCTRL_NRST_UMC0; |
d3384bf7 MY |
22 | if (spl_boot_device() != BOOT_DEVICE_NAND) |
23 | tmp &= ~SC_RSTCTRL_NRST_NAND; | |
198a97a6 MY |
24 | writel(tmp, SC_RSTCTRL); |
25 | readl(SC_RSTCTRL); /* dummy read */ | |
26 | ||
27 | /* privide clocks */ | |
28 | tmp = readl(SC_CLKCTRL); | |
29 | tmp |= SC_CLKCTRL_CEN_UMC | SC_CLKCTRL_CEN_SBC | SC_CLKCTRL_CEN_PERI; | |
30 | writel(tmp, SC_CLKCTRL); | |
31 | readl(SC_CLKCTRL); /* dummy read */ | |
323d1f9d MY |
32 | |
33 | return 0; | |
198a97a6 | 34 | } |