blob: d8a0c3bc52476fd918e30ee59c9df25fd74374f3 [file] [log] [blame]
/*
* NDA AND NEED-TO-KNOW REQUIRED
*
* Copyright © 2013-2018 Synaptics Incorporated. All rights reserved.
*
* This file contains information that is proprietary to Synaptics
* Incorporated ("Synaptics"). The holder of this file shall treat all
* information contained herein as confidential, shall use the
* information only for its intended purpose, and shall not duplicate,
* disclose, or disseminate any of this information in any manner
* unless Synaptics has otherwise provided express, written
* permission.
*
* Use of the materials may require a license of intellectual property
* from a third party or from Synaptics. This file conveys no express
* or implied licenses to any intellectual property rights belonging
* to Synaptics.
*
* INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND
* SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY
* INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR
* CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE
* OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND
* BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF
* COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT
* DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY
* TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS.
*/
#include "Galois_memmap.h"
#include "global.h"
#include "util.h"
void init_clock(void)
{
T32clkD4_ctrl g1CoreClkCtrl;
// G1 clock: 400 MHz
BFM_HOST_Bus_Read32((MEMMAP_CHIP_CTRL_REG_BASE + RA_Gbl_g1CoreClk), &g1CoreClkCtrl.u32);
g1CoreClkCtrl.uctrl_ClkEn = clkD4_ctrl_ClkEn_enable;
g1CoreClkCtrl.uctrl_ClkPllSel = clkD4_ctrl_ClkPllSel_SYSPLL;
g1CoreClkCtrl.uctrl_ClkPllSwitch = clkD4_ctrl_ClkPllSwitch_SYSPLL;
g1CoreClkCtrl.uctrl_ClkSwitch = clkD4_ctrl_ClkSwitch_DivClk;
g1CoreClkCtrl.uctrl_ClkD3Switch = clkD4_ctrl_ClkD3Switch_NonDiv3Clk;
g1CoreClkCtrl.uctrl_ClkSel = clkD4_ctrl_ClkSel_d2;
BFM_HOST_Bus_Write32((MEMMAP_CHIP_CTRL_REG_BASE + RA_Gbl_g1CoreClk), g1CoreClkCtrl.u32);
}