/* * Copyright (c) 2022, ArtInChip Technology Co., Ltd * * SPDX-License-Identifier: Apache-2.0 * * Authors: weilin.peng@artinchip.com */ #include #include #include "board.h" struct aic_sysclk { unsigned long freq; unsigned int clk_id; unsigned int parent_clk_id; }; struct aic_sysclk aic_sysclk_config[] = { {AIC_CLK_PLL_INT0_FREQ, CLK_PLL_INT0, 0}, /* 480000000 */ {AIC_CLK_PLL_INT1_FREQ, CLK_PLL_INT1, 0}, /* 1200000000 */ {AIC_CLK_PLL_FRA0_FREQ, CLK_PLL_FRA0, 0}, /* 792000000 */ {AIC_CLK_PLL_FRA2_FREQ, CLK_PLL_FRA2, 0}, /* 1188000000 */ {AIC_CLK_CPU_FREQ, CLK_CPU, CLK_CPU_SRC1}, /* 480000000 */ {AIC_CLK_AXI0_FREQ, CLK_AXI0, CLK_AXI_AHB_SRC1}, /* 200000000 */ {AIC_CLK_AHB0_FREQ, CLK_AHB0, CLK_AXI_AHB_SRC1}, /* 200000000 */ {AIC_CLK_APB0_FREQ, CLK_APB0, CLK_APB0_SRC1}, /* 100000000 */ // {24000000, CLK_APB1, 0}, // {25000000, CLK_OUT2, 0}, }; /* * Some Chips may enable USB0 EHCI in Boot ROM, * it is better to disable USB0 EHCI during boot to avoid some side effect. */ static void usb_ehci_disable(void) { hal_clk_disable_assertrst(CLK_USBH0); hal_clk_disable(CLK_USBH0); } void aic_board_sysclk_init(void) { uint32_t i = 0; usb_ehci_disable(); for (i=0; i