coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
bootblock.c File Reference
#include <device/mmio.h>
#include <bootblock_common.h>
#include <device/i2c_simple.h>
#include <soc/addressmap.h>
#include <soc/clk_rst.h>
#include <soc/clock.h>
#include <soc/funitcfg.h>
#include <soc/nvidia/tegra/i2c.h>
#include <soc/padconfig.h>
#include <soc/spi.h>
#include "pmic.h"
Include dependency graph for bootblock.c:

Go to the source code of this file.

Functions

void bootblock_mainboard_early_init (void)
 
static void set_clock_sources (void)
 
void bootblock_mainboard_init (void)
 

Variables

static const struct pad_config pmic_pads []
 
static const struct pad_config spiflash_pads []
 
static const struct pad_config tpm_pads []
 
static const struct funit_cfg funits []
 
static const struct pad_config uart_console_pads []
 

Function Documentation

◆ bootblock_mainboard_early_init()

void bootblock_mainboard_early_init ( void  )

Definition at line 54 of file bootblock.c.

References ARRAY_SIZE, soc_configure_pads(), and uart_console_pads.

Here is the call graph for this function:

◆ bootblock_mainboard_init()

void bootblock_mainboard_init ( void  )

Definition at line 65 of file bootblock.c.

References ARRAY_SIZE, funits, I2C3_BUS, i2c_init(), I2CPWR_BUS, pmic_init(), set_clock_sources(), and soc_configure_funits().

Here is the call graph for this function:

◆ set_clock_sources()

static void set_clock_sources ( void  )
static

Definition at line 59 of file bootblock.c.

References CLK_RST_REG, CLK_SOURCE_SHIFT, PLLP, and write32().

Referenced by bootblock_mainboard_init().

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

Variable Documentation

◆ funits

const struct funit_cfg funits[]
static
Initial value:
= {
}
#define ARRAY_SIZE(a)
Definition: helpers.h:12
#define FUNIT_CFG(_funit, _clk_src, _clk_freq, _cfg, _cfg_size)
Definition: funitcfg.h:55
static const struct pad_config spiflash_pads[]
Definition: bootblock.c:21
static const struct pad_config pmic_pads[]
Definition: bootblock.c:16
static const struct pad_config tpm_pads[]
Definition: bootblock.c:32
@ I2C5
Definition: i2c.h:55
@ I2C3
Definition: i2c.h:53
@ PLLP
Definition: clock.h:245

Definition at line 1 of file bootblock.c.

Referenced by bootblock_mainboard_init().

◆ pmic_pads

const struct pad_config pmic_pads[]
static
Initial value:
= {
PAD_CFG_SFIO(PWR_I2C_SCL, PINMUX_INPUT_ENABLE, I2CPMU),
PAD_CFG_SFIO(PWR_I2C_SDA, PINMUX_INPUT_ENABLE, I2CPMU),
}
@ PINMUX_INPUT_ENABLE
Definition: pinmux.h:17
#define PAD_CFG_SFIO(ball_, pinmux_flgs_, sfio_)
Definition: padconfig.h:50

Definition at line 1 of file bootblock.c.

◆ spiflash_pads

const struct pad_config spiflash_pads[]
static
Initial value:

Definition at line 1 of file bootblock.c.

◆ tpm_pads

const struct pad_config tpm_pads[]
static
Initial value:

Definition at line 1 of file bootblock.c.

◆ uart_console_pads

const struct pad_config uart_console_pads[]
static
Initial value:
= {
PAD_CFG_SFIO(UART1_TX, PINMUX_PULL_NONE, UARTA),
PAD_CFG_SFIO(UART1_RTS, PINMUX_PULL_UP, UARTA),
PAD_CFG_SFIO(UART1_CTS, PINMUX_PULL_UP, UARTA),
}
@ PINMUX_PULL_NONE
Definition: pinmux.h:12

Definition at line 1 of file bootblock.c.

Referenced by bootblock_mainboard_early_init().