coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
fch.c File Reference
#include <amdblocks/acpi.h>
#include <amdblocks/acpimmio.h>
#include <amdblocks/amd_pci_util.h>
#include <amdblocks/gpio.h>
#include <amdblocks/i2c.h>
#include <amdblocks/smi.h>
#include <assert.h>
#include <bootstate.h>
#include <cpu/x86/smm.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <fw_config.h>
#include <soc/amd_pci_int_defs.h>
#include <soc/iomap.h>
#include <soc/i2c.h>
#include <soc/platform_descriptors.h>
#include <soc/smi.h>
#include <soc/southbridge.h>
#include "chip.h"
Include dependency graph for fch.c:

Go to the source code of this file.

Functions

const struct irq_idx_namesb_get_apic_reg_association (size_t *size)
 
static void fch_clk_output_48Mhz (void)
 
static void fch_init_acpi_ports (void)
 
static void fch_init_resets (void)
 
static void gpp_dxio_update_clk_req_config (enum gpp_clk_req *gpp_clk_config, size_t gpp_clk_config_num)
 
static void gpp_clk_setup (void)
 
static void cgpll_clock_gate_init (void)
 
void fch_init (void *chip_info)
 
void fch_final (void *chip_info)
 
static void set_pci_irqs (void *unused)
 
 BOOT_STATE_INIT_ENTRY (BS_DEV_ENABLE, BS_ON_ENTRY, set_pci_irqs, NULL)
 

Variables

static const struct irq_idx_name irq_association []
 

Function Documentation

◆ BOOT_STATE_INIT_ENTRY()

BOOT_STATE_INIT_ENTRY ( BS_DEV_ENABLE  ,
BS_ON_ENTRY  ,
set_pci_irqs  ,
NULL   
)

◆ cgpll_clock_gate_init()

static void cgpll_clock_gate_init ( void  )
static

◆ fch_clk_output_48Mhz()

static void fch_clk_output_48Mhz ( void  )
static

Definition at line 81 of file fch.c.

References BP_X48M0_OUTPUT_EN, BP_X48M0_S0I3_DIS, MISC_CLK_CNTL0, misc_read32(), and misc_write32().

Referenced by bootblock_mainboard_early_init(), and fch_init().

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

◆ fch_final()

void fch_final ( void chip_info)

Definition at line 304 of file fch.c.

◆ fch_init()

void fch_init ( void chip_info)

Definition at line 290 of file fch.c.

References acpi_pm_gpe_add_events_print_events(), cgpll_clock_gate_init(), fch_clk_output_48Mhz(), fch_init_acpi_ports(), fch_init_resets(), gpio_add_events(), gpp_clk_setup(), and i2c_soc_init().

Referenced by soc_init().

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

◆ fch_init_acpi_ports()

◆ fch_init_resets()

static void fch_init_resets ( void  )
static

Definition at line 132 of file fch.c.

References pm_read16(), pm_write16(), PWR_RESET_CFG, and TOGGLE_ALL_PWR_GOOD.

Referenced by fch_init().

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

◆ gpp_clk_setup()

◆ gpp_dxio_update_clk_req_config()

static void gpp_dxio_update_clk_req_config ( enum gpp_clk_req gpp_clk_config,
size_t  gpp_clk_config_num 
)
static

Definition at line 138 of file fch.c.

References BIOS_ERR, BIOS_INFO, BIOS_WARNING, device::enabled, GPP_CLK_OFF, mainboard_get_dxio_ddi_descriptors(), NULL, PCI_DEVFN, pci_read_config32(), PCI_VENDOR_ID, pcidev_path_on_root(), and printk.

Referenced by gpp_clk_setup().

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

◆ sb_get_apic_reg_association()

const struct irq_idx_name* sb_get_apic_reg_association ( size_t size)

Definition at line 75 of file fch.c.

References ARRAY_SIZE, and irq_association.

Referenced by write_pci_cfg_irqs(), and write_pci_int_table().

Here is the caller graph for this function:

◆ set_pci_irqs()

static void set_pci_irqs ( void unused)
static

Definition at line 308 of file fch.c.

References populate_pirq_data(), write_pci_cfg_irqs(), and write_pci_int_table().

Here is the call graph for this function:

Variable Documentation

◆ irq_association

const struct irq_idx_name irq_association[]
static

Definition at line 31 of file fch.c.

Referenced by sb_get_apic_reg_association().