Files
thead-uboot/include/thead/clock_config.h
2022-11-22 15:50:04 +08:00

50 lines
1.1 KiB
C

/*
* Copyright (C) 2020-2021 Alibaba Group Holding Limited
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _CLOCK_CONFIG_H
#define _CLOCK_CONFIG_H
enum clk_device_type {
CLK_DEV_ROOT,
CLK_DEV_FIXED,
CLK_DEV_MUX,
CLK_DEV_DIV,
CLK_DEV_PLL,
CLK_DEV_FACTOR,
CLK_DEV_GATE,
};
enum light_pll_clktype {
LIGHT_AUDIO_PLL,
LIGHT_SYS_PLL,
LIGHT_CPU_PLL0,
LIGHT_CPU_PLL1,
LIGHT_GMAC_PLL,
LIGHT_VIDEO_PLL,
LIGHT_DDR_PLL,
LIGHT_DPU0_PLL,
LIGHT_DPU1_PLL,
};
struct clk_info {
const char *clk_name;
enum clk_device_type clk_dev_type;
};
int clk_config(void);
int clk_light_set_rate(const char *clk_name, enum clk_device_type clk_dev_type, unsigned long rate);
unsigned long clk_light_get_rate(const char *clk_name, enum clk_device_type clk_dev_type);
int clk_light_set_parent(const char *clk_name, const char *parent);
const struct clk_info *clk_light_get_parent(const char *clk_name);
void ap_dpu_clk_endisable(bool en);
void ap_hdmi_clk_endisable(bool en);
void ap_mipi_dsi0_clk_endisable(bool en);
void ap_mipi_dsi1_clk_endisable(bool en);
void ap_peri_clk_disable(void);
#endif