diff options
author | Ye Li <ye.li@nxp.com> | 2019-12-24 19:30:45 -0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2022-04-06 18:03:26 +0800 |
commit | 86ddebd6a097e2ab1a3ebf8de58ca3243d2f7a45 (patch) | |
tree | bb64bc49f601b462c20fbe0806a7c471e55cdbce /arch/arm/mach-imx/imx8m | |
parent | 264d5ebf365f493ea76d5adf632ac73264265996 (diff) |
MLK-23165-12 imx8mp: Support imx8mp USB PHY
Update PHY settings to select 24M ref clock
Enable clock in HSIOMIX GPR for SPL which does not call ATF USB domain
power up
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit aa0f45fed58f891e246e6ec743a7de71eb69c911)
(cherry picked from commit 6375056baf59d271a06fdbbb5248706ebe4977fd)
(cherry picked from commit 82661008a4ab3f2c82463d64b5c4af12b8c569dd)
(cherry picked from commit 01ea8acd74f44bf29f0e8f9acb20072104d9e46a)
Diffstat (limited to 'arch/arm/mach-imx/imx8m')
-rw-r--r-- | arch/arm/mach-imx/imx8m/soc.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index b4ce67dbb1..b8bb9e86c9 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -1362,6 +1362,12 @@ int arch_misc_init(void) #endif #ifdef CONFIG_SPL_BUILD +#ifdef CONFIG_IMX8MP +#define HSIO_GPR_BASE (0x32F10000U) +#define HSIO_GPR_REG_0_USB_CLOCK_MODULE_EN_SHIFT (1) +#define HSIO_GPR_REG_0_USB_CLOCK_MODULE_EN (0x1U << HSIO_GPR_REG_0_USB_CLOCK_MODULE_EN_SHIFT) +#endif + static uint32_t gpc_pu_m_core_offset[11] = { 0xc00, 0xc40, 0xc80, 0xcc0, 0xdc0, 0xe00, 0xe40, 0xe80, @@ -1388,6 +1394,15 @@ void imx8m_usb_power_domain(uint32_t domain_id, bool on) uint32_t val; uintptr_t reg; +#ifdef CONFIG_IMX8MP + if (on) { + /* enable usb clock via hsio gpr */ + reg = readl(HSIO_GPR_BASE); + reg |= HSIO_GPR_REG_0_USB_CLOCK_MODULE_EN; + writel(reg, HSIO_GPR_BASE); + } +#endif + imx_gpc_set_m_core_pgc(gpc_pu_m_core_offset[domain_id], true); reg = GPC_BASE_ADDR + (on ? 0xf8 : 0x104); |