1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * Copyright (C) 2011-2014 Panasonic Corporation 4 * Copyright (C) 2015-2017 Socionext Inc. 5 */ 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 14 void uniphier_ld4_early_clk_init(void) 15 { 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 } 31