blob: eb36a9e7ae459c46b715266d061c33f88b158103 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Masahiro Yamada78c627c2017-01-15 14:59:03 +09002/*
3 * Copyright (C) 2011-2014 Panasonic Corporation
4 * Copyright (C) 2015-2017 Socionext Inc.
Masahiro Yamada78c627c2017-01-15 14:59:03 +09005 */
6
7#include <common.h>
8#include <spl.h>
9#include <linux/io.h>
10
11#include "../init.h"
12#include "../sc-regs.h"
13
Masahiro Yamada00aa4532017-08-13 09:01:13 +090014void uniphier_ld4_early_clk_init(void)
Masahiro Yamada78c627c2017-01-15 14:59:03 +090015{
16 u32 tmp;
17
18 /* deassert reset */
19 if (spl_boot_device() != BOOT_DEVICE_NAND) {
20 tmp = readl(SC_RSTCTRL);
21 tmp &= ~SC_RSTCTRL_NRST_NAND;
22 writel(tmp, SC_RSTCTRL);
23 };
24
25 /* provide clocks */
26 tmp = readl(SC_CLKCTRL);
27 tmp |= SC_CLKCTRL_CEN_SBC | SC_CLKCTRL_CEN_PERI;
28 writel(tmp, SC_CLKCTRL);
29 readl(SC_CLKCTRL); /* dummy read */
30}