coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ccplex.c File Reference
#include <device/mmio.h>
#include <console/console.h>
#include <soc/addressmap.h>
#include <soc/clock.h>
#include <soc/clk_rst.h>
#include <soc/ccplex.h>
#include <soc/cpu.h>
#include <soc/flow.h>
#include <soc/mc.h>
#include <soc/pmc.h>
#include <soc/power.h>
#include <soc/romstage.h>
#include <timer.h>
Include dependency graph for ccplex.c:

Go to the source code of this file.

Macros

#define PMC_REGS   (void *)(uintptr_t)(TEGRA_PMC_BASE)
 

Functions

static void enable_cpu_clocks (void)
 
static void enable_cpu_power_partitions (void)
 
static void request_ram_repair (void)
 
static void set_cpu_ack_width (uint32_t val)
 
void ccplex_cpu_prepare (void)
 
static void start_common_clocks (void)
 
void ccplex_cpu_start (void *entry_addr)
 

Macro Definition Documentation

◆ PMC_REGS

#define PMC_REGS   (void *)(uintptr_t)(TEGRA_PMC_BASE)

Definition at line 17 of file ccplex.c.

Function Documentation

◆ ccplex_cpu_prepare()

void ccplex_cpu_prepare ( void  )

Definition at line 81 of file ccplex.c.

References enable_cpu_clocks(), enable_cpu_power_partitions(), mainboard_configure_pmc(), mainboard_enable_vdd_cpu(), request_ram_repair(), and set_cpu_ack_width().

Referenced by romstage().

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

◆ ccplex_cpu_start()

void ccplex_cpu_start ( void entry_addr)

Definition at line 109 of file ccplex.c.

References start_common_clocks(), and start_cpu().

Referenced by platform_prog_run().

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

◆ enable_cpu_clocks()

static void enable_cpu_clocks ( void  )
static

Definition at line 19 of file ccplex.c.

References CLK_ENB_CPU, clock_enable, SET_CLK_ENB_CPUG_ENABLE, and SET_CLK_ENB_CPULP_ENABLE.

Referenced by ccplex_cpu_prepare().

Here is the caller graph for this function:

◆ enable_cpu_power_partitions()

◆ request_ram_repair()

static void request_ram_repair ( void  )
static

Definition at line 48 of file ccplex.c.

References BIOS_DEBUG, flow, printk, flow_ctlr::ram_repair, read32(), stopwatch_duration_usecs(), stopwatch_init(), TEGRA_FLOW_BASE, and write32().

Referenced by ccplex_cpu_prepare().

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

◆ set_cpu_ack_width()

static void set_cpu_ack_width ( uint32_t  val)
static

Definition at line 71 of file ccplex.c.

References CAR2PMC_CPU_ACK_WIDTH_MASK, CLK_RST_REG, read32(), val, and write32().

Referenced by ccplex_cpu_prepare().

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

◆ start_common_clocks()

static void start_common_clocks ( void  )
static

Definition at line 99 of file ccplex.c.

References CLK_RST_REG, CRC_RST_CPUG_CLR_L2, CRC_RST_CPUG_CLR_NONCPU, CRC_RST_CPUG_CLR_PDBG, and write32().

Referenced by ccplex_cpu_start().

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