coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
fch.c File Reference
#include <device/mmio.h>
#include <bootstate.h>
#include <cpu/amd/msr.h>
#include <cpu/x86/smm.h>
#include <cpu/x86/msr.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ops.h>
#include <amdblocks/amd_pci_util.h>
#include <amdblocks/reset.h>
#include <amdblocks/acpimmio.h>
#include <amdblocks/acpi.h>
#include <amdblocks/gpio.h>
#include <amdblocks/i2c.h>
#include <amdblocks/smi.h>
#include <soc/acpi.h>
#include <soc/cpu.h>
#include <soc/i2c.h>
#include <soc/iomap.h>
#include <soc/southbridge.h>
#include <soc/smi.h>
#include <soc/amd_pci_int_defs.h>
#include <soc/pci_devs.h>
#include <types.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 sb_rfmux_config_override (void)
 
static void fch_init_acpi_ports (void)
 
static void al2ahb_clock_gate (void)
 
static void gpp_clk_setup (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

◆ al2ahb_clock_gate()

static void al2ahb_clock_gate ( void  )
static

Definition at line 164 of file fch.c.

References ALINK_AHB_ADDRESS, read8(), and write8().

Referenced by fch_init().

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

◆ BOOT_STATE_INIT_ENTRY()

BOOT_STATE_INIT_ENTRY ( BS_DEV_ENABLE  ,
BS_ON_ENTRY  ,
set_pci_irqs  ,
NULL   
)

◆ fch_clk_output_48Mhz()

static void fch_clk_output_48Mhz ( void  )
static

Definition at line 88 of file fch.c.

References soc_amd_common_config::acp_config, soc_amd_picasso_config::acp_i2s_use_external_48mhz_osc, acp_config::acp_pin_cfg, BP_X48M0_OUTPUT_EN, soc_amd_picasso_config::common_config, config_of_soc, MISC_CLK_CNTL1, misc_read32(), and misc_write32().

Referenced by 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 236 of file fch.c.

◆ fch_init()

void fch_init ( void chip_info)

◆ fch_init_acpi_ports()

◆ gpp_clk_setup()

◆ sb_get_apic_reg_association()

const struct irq_idx_name* sb_get_apic_reg_association ( size_t size)

Definition at line 82 of file fch.c.

References ARRAY_SIZE, and irq_association.

◆ sb_rfmux_config_override()

static void sb_rfmux_config_override ( void  )
static

Definition at line 103 of file fch.c.

References config_of_soc, PD_PORT_MUX_OFFSET, usb_pd_control::rfmux_config, usb_pd_control::rfmux_override_en, soc_amd_picasso_config::usb_pd_config_override, USB_PD_PORT_CONTROL, USB_PD_PORT_COUNT, USB_PD_RFMUX_OVERRIDE, and write32().

Referenced by fch_init().

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

◆ set_pci_irqs()

static void set_pci_irqs ( void unused)
static

Definition at line 244 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 36 of file fch.c.

Referenced by sb_get_apic_reg_association().