1667dbcd0SMasahiro Yamada /* 2667dbcd0SMasahiro Yamada * Copyright (C) 2016 Socionext Inc. 3667dbcd0SMasahiro Yamada * 4667dbcd0SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 5667dbcd0SMasahiro Yamada */ 6667dbcd0SMasahiro Yamada 7667dbcd0SMasahiro Yamada #include <common.h> 89c5313dcSMasahiro Yamada #include <spl.h> 9667dbcd0SMasahiro Yamada #include <linux/bitops.h> 10667dbcd0SMasahiro Yamada #include <linux/io.h> 11667dbcd0SMasahiro Yamada 12667dbcd0SMasahiro Yamada #include "../init.h" 1376466bd7SMasahiro Yamada #include "../sc64-regs.h" 14667dbcd0SMasahiro Yamada #include "../sg-regs.h" 15667dbcd0SMasahiro Yamada 16*c21f5854SMasahiro Yamada #define SDCTRL_EMMC_HW_RESET 0x59810280 17*c21f5854SMasahiro Yamada 18667dbcd0SMasahiro Yamada void uniphier_ld11_clk_init(void) 19667dbcd0SMasahiro Yamada { 209c5313dcSMasahiro Yamada /* if booted from a device other than USB, without stand-by MPU */ 219c5313dcSMasahiro Yamada if ((readl(SG_PINMON0) & BIT(27)) && 22784548efSMasahiro Yamada uniphier_boot_device_raw() != BOOT_DEVICE_USB) { 23667dbcd0SMasahiro Yamada writel(1, SG_ETPHYPSHUT); 24667dbcd0SMasahiro Yamada writel(1, SG_ETPHYCNT); 25667dbcd0SMasahiro Yamada 26667dbcd0SMasahiro Yamada udelay(1); /* wait for regulator level 1.1V -> 2.5V */ 27667dbcd0SMasahiro Yamada 28667dbcd0SMasahiro Yamada writel(3, SG_ETPHYCNT); 29667dbcd0SMasahiro Yamada writel(3, SG_ETPHYPSHUT); 30667dbcd0SMasahiro Yamada writel(7, SG_ETPHYCNT); 31667dbcd0SMasahiro Yamada } 3276466bd7SMasahiro Yamada 33*c21f5854SMasahiro Yamada /* TODO: use "mmc-pwrseq-emmc" */ 34*c21f5854SMasahiro Yamada writel(1, SDCTRL_EMMC_HW_RESET); 35*c21f5854SMasahiro Yamada 3676466bd7SMasahiro Yamada #ifdef CONFIG_USB_EHCI 3776466bd7SMasahiro Yamada { 3876466bd7SMasahiro Yamada /* FIXME: the current clk driver can not handle parents */ 3976466bd7SMasahiro Yamada u32 tmp; 4076466bd7SMasahiro Yamada tmp = readl(SC_CLKCTRL4); 4176466bd7SMasahiro Yamada tmp |= SC_CLKCTRL4_MIO | SC_CLKCTRL4_STDMAC; 4276466bd7SMasahiro Yamada writel(tmp, SC_CLKCTRL4); 4376466bd7SMasahiro Yamada } 4476466bd7SMasahiro Yamada #endif 45667dbcd0SMasahiro Yamada } 46