1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 29fa32b12SVikas Manocha /* 31537d386SPatrice Chotard * Copyright (C) 2014, STMicroelectronics - All Rights Reserved 41537d386SPatrice Chotard * Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics. 59fa32b12SVikas Manocha */ 69fa32b12SVikas Manocha 79fa32b12SVikas Manocha #include <asm/io.h> 89fa32b12SVikas Manocha #include <asm/arch/hardware.h> 99fa32b12SVikas Manocha #include <asm/arch/stv0991_cgu.h> 109fa32b12SVikas Manocha #include<asm/arch/stv0991_periph.h> 119fa32b12SVikas Manocha 129fa32b12SVikas Manocha static struct stv0991_cgu_regs *const stv0991_cgu_regs = \ 139fa32b12SVikas Manocha (struct stv0991_cgu_regs *) (CGU_BASE_ADDR); 149fa32b12SVikas Manocha enable_pll1(void)152ce4eaf4SVikas Manochavoid enable_pll1(void) 162ce4eaf4SVikas Manocha { 172ce4eaf4SVikas Manocha /* pll1 already configured for 1000Mhz, just need to enable it */ 182ce4eaf4SVikas Manocha writel(readl(&stv0991_cgu_regs->pll1_ctrl) & ~(0x01), 192ce4eaf4SVikas Manocha &stv0991_cgu_regs->pll1_ctrl); 202ce4eaf4SVikas Manocha } 212ce4eaf4SVikas Manocha clock_setup(int peripheral)229fa32b12SVikas Manochavoid clock_setup(int peripheral) 239fa32b12SVikas Manocha { 249fa32b12SVikas Manocha switch (peripheral) { 259fa32b12SVikas Manocha case UART_CLOCK_CFG: 269fa32b12SVikas Manocha writel(UART_CLK_CFG, &stv0991_cgu_regs->uart_freq); 279fa32b12SVikas Manocha break; 289fa32b12SVikas Manocha case ETH_CLOCK_CFG: 292ce4eaf4SVikas Manocha enable_pll1(); 302ce4eaf4SVikas Manocha writel(ETH_CLK_CFG, &stv0991_cgu_regs->eth_freq); 312ce4eaf4SVikas Manocha 322ce4eaf4SVikas Manocha /* Clock selection for ethernet tx_clk & rx_clk*/ 332ce4eaf4SVikas Manocha writel((readl(&stv0991_cgu_regs->eth_ctrl) & ETH_CLK_MASK) 342ce4eaf4SVikas Manocha | ETH_CLK_CTRL, &stv0991_cgu_regs->eth_ctrl); 3554afb500SVikas Manocha break; 3654afb500SVikas Manocha case QSPI_CLOCK_CFG: 3754afb500SVikas Manocha writel(QSPI_CLK_CTRL, &stv0991_cgu_regs->qspi_freq); 389fa32b12SVikas Manocha break; 399fa32b12SVikas Manocha default: 409fa32b12SVikas Manocha break; 419fa32b12SVikas Manocha } 429fa32b12SVikas Manocha } 43