coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
clock.c File Reference
#include <assert.h>
#include <commonlib/helpers.h>
#include <device/mmio.h>
#include <soc/clock.h>
#include <types.h>
Include dependency graph for clock.c:

Go to the source code of this file.

Functions

static int clock_configure_gpll0 (void)
 
void clock_configure_qspi (uint32_t hz)
 
void clock_configure_dfsr (int qup)
 
void clock_enable_qup (int qup)
 
static enum cb_err pll_init_and_set (struct sc7180_apss_clock *apss, u32 l_val)
 
static void speed_up_boot_cpu (void)
 
enum cb_err mdss_clock_configure (enum mdss_clock clk_type, uint32_t source, uint32_t divider, uint32_t m, uint32_t n, uint32_t d_2)
 
int mdss_clock_enable (enum mdss_clock clk_type)
 
void clock_init (void)
 

Variables

static struct clock_freq_config qspi_core_cfg []
 
static struct clock_freq_config qupv3_wrap_cfg []
 
static struct clock_rcg_mndmdss_clock [MDSS_CLK_COUNT]
 
static u32mdss_cbcr [MDSS_CLK_COUNT]
 

Function Documentation

◆ clock_configure_dfsr()

void clock_configure_dfsr ( int  qup)

Definition at line 126 of file clock.c.

References ARRAY_SIZE, clock_configure_dfsr_table(), and qupv3_wrap_cfg.

Referenced by qupv3_se_fw_load_and_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clock_configure_gpll0()

◆ clock_configure_qspi()

void clock_configure_qspi ( uint32_t  hz)

Definition at line 117 of file clock.c.

◆ clock_enable_qup()

void clock_enable_qup ( int  qup)

Definition at line 132 of file clock.c.

References qupv3_clock::cbcr, clock_enable_vote(), gcc, QUP_WRAP1_S0, QUPV3_WRAP0_CLK_ENA_S, QUPV3_WRAP1_CLK_ENA_S, and s.

Referenced by i2c_init(), qup_spi_init(), qupv3_fw_init(), and uart_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clock_init()

◆ mdss_clock_configure()

enum cb_err mdss_clock_configure ( enum mdss_clock  clk_type,
uint32_t  source,
uint32_t  divider,
uint32_t  m,
uint32_t  n,
uint32_t  d_2 
)

Definition at line 180 of file clock.c.

References apss_l3, apss_silver, BIOS_DEBUG, L_VAL_1209P6MHz, L_VAL_1516P8MHz, pll_init_and_set(), and printk.

Here is the call graph for this function:

◆ mdss_clock_enable()

int mdss_clock_enable ( enum mdss_clock  clk_type)

Definition at line 220 of file clock.c.

References CB_ERR, clock_enable(), mdss_cbcr, and MDSS_CLK_COUNT.

Here is the call graph for this function:

◆ pll_init_and_set()

static enum cb_err pll_init_and_set ( struct sc7180_apss_clock apss,
u32  l_val 
)
static

Definition at line 132 of file clock.c.

Referenced by mdss_clock_configure().

Here is the caller graph for this function:

◆ speed_up_boot_cpu()

static void speed_up_boot_cpu ( void  )
static

Definition at line 180 of file clock.c.

Referenced by clock_init().

Here is the caller graph for this function:

Variable Documentation

◆ mdss_cbcr

u32* mdss_cbcr[MDSS_CLK_COUNT]
static
Initial value:
= {
}
@ MDSS_CLK_ESC0
Definition: clock.h:124
@ MDSS_CLK_BYTE0
Definition: clock.h:126
@ MDSS_CLK_BYTE0_INTF
Definition: clock.h:127
@ MDSS_CLK_PCLK0
Definition: clock.h:125
static struct sc7180_disp_cc *const mdss
Definition: clock.h:190
u32 byte0_cbcr
Definition: clock.h:108
u32 esc0_cbcr
Definition: clock.h:111
u32 pclk0_cbcr
Definition: clock.h:106
u32 byte0_intf_cbcr
Definition: clock.h:109

Definition at line 94 of file clock.c.

Referenced by mdss_clock_enable().

◆ mdss_clock

Initial value:
= {
}
struct clock_rcg_mnd byte0
Definition: clock.h:115
struct clock_rcg_mnd pclk0
Definition: clock.h:113
struct clock_rcg_mnd esc0
Definition: clock.h:117

Definition at line 87 of file clock.c.

◆ qspi_core_cfg

struct clock_freq_config qspi_core_cfg[]
static
Initial value:
= {
{
.hz = SRC_XO_HZ,
.div = QCOM_CLOCK_DIV(1),
},
{
.hz = 100 * MHz,
.div = QCOM_CLOCK_DIV(3),
},
{
.hz = 150 * MHz,
.div = QCOM_CLOCK_DIV(2),
},
{
.hz = GPLL0_EVEN_HZ,
.div = QCOM_CLOCK_DIV(1),
}
}
#define MHz
Definition: helpers.h:80
#define QCOM_CLOCK_DIV(div)
Definition: clock_common.h:6
#define SRC_XO_19_2MHZ
Definition: clock.h:10
#define GPLL0_EVEN_HZ
Definition: clock.h:11
@ SRC_GPLL0_EVEN_300MHZ
Definition: clock.h:31
#define SRC_XO_HZ
Definition: clock.h:10

Definition at line 1 of file clock.c.

Referenced by clock_configure_qspi().

◆ qupv3_wrap_cfg

struct clock_freq_config qupv3_wrap_cfg[]
static

Definition at line 1 of file clock.c.

Referenced by clock_configure_dfsr().