![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <acpi/acpi.h>
#include <acpi/acpi_gnvs.h>
#include <acpi/acpigen.h>
#include <console/console.h>
#include <device/device.h>
#include <device/mmio.h>
#include <arch/smp/mpspec.h>
#include <assert.h>
#include <device/pci_ops.h>
#include <gpio.h>
#include <intelblocks/acpi.h>
#include <intelblocks/pmclib.h>
#include <intelblocks/p2sb.h>
#include <soc/iomap.h>
#include <soc/pm.h>
#include <soc/nvs.h>
#include <soc/pci_devs.h>
#include <soc/systemagent.h>
#include "chip.h"
Go to the source code of this file.
Macros | |
#define | CSTATE_RES(address_space, width, offset, address) |
Functions | |
uint32_t | soc_read_sci_irq_select (void) |
void | soc_write_sci_irq_select (uint32_t scis) |
const acpi_cstate_t * | soc_get_cstate_map (size_t *entries) |
void | soc_fill_gnvs (struct global_nvs *gnvs) |
int | soc_madt_sci_irq_polarity (int sci) |
void | soc_fill_fadt (acpi_fadt_t *fadt) |
static unsigned long | soc_fill_dmar (unsigned long current) |
unsigned long | sa_write_acpi_tables (const struct device *const dev, unsigned long current, struct acpi_rsdp *const rsdp) |
void | soc_power_states_generation (int core_id, int cores_per_package) |
static void | acpigen_soc_get_dw0_in_local5 (uintptr_t addr) |
static int | acpigen_soc_get_gpio_val (unsigned int gpio_num, uint32_t mask) |
static int | acpigen_soc_set_gpio_val (unsigned int gpio_num, uint32_t val) |
int | acpigen_soc_read_rx_gpio (unsigned int gpio_num) |
int | acpigen_soc_get_tx_gpio (unsigned int gpio_num) |
int | acpigen_soc_set_tx_gpio (unsigned int gpio_num) |
int | acpigen_soc_clear_tx_gpio (unsigned int gpio_num) |
Variables | |
static const acpi_cstate_t | cstate_map [] |
int acpigen_soc_clear_tx_gpio | ( | unsigned int | gpio_num | ) |
Definition at line 288 of file acpi.c.
References acpigen_soc_set_gpio_val().
Definition at line 206 of file acpi.c.
References acpigen_emit_byte(), acpigen_emit_namestring(), acpigen_write_integer(), acpigen_write_store(), addr, and LOCAL5_OP.
Referenced by acpigen_soc_get_gpio_val(), and acpigen_soc_set_gpio_val().
Definition at line 219 of file acpi.c.
References acpigen_pop_len(), acpigen_soc_get_dw0_in_local5(), acpigen_write_else(), acpigen_write_if_and(), acpigen_write_store_ops(), addr, assert, gpio_dwx_address(), LOCAL0_OP, LOCAL5_OP, mask, ONE_OP, TOTAL_PADS, and ZERO_OP.
Referenced by acpigen_soc_get_tx_gpio(), and acpigen_soc_read_rx_gpio().
int acpigen_soc_get_tx_gpio | ( | unsigned int | gpio_num | ) |
Definition at line 278 of file acpi.c.
References acpigen_soc_get_gpio_val(), and PAD_CFG0_TX_STATE.
int acpigen_soc_read_rx_gpio | ( | unsigned int | gpio_num | ) |
Definition at line 273 of file acpi.c.
References acpigen_soc_get_gpio_val(), and PAD_CFG0_RX_STATE.
Definition at line 243 of file acpi.c.
References acpigen_emit_byte(), acpigen_emit_namestring(), acpigen_soc_get_dw0_in_local5(), acpigen_write_and(), acpigen_write_integer(), acpigen_write_not(), acpigen_write_or(), addr, assert, gpio_dwx_address(), LOCAL5_OP, LOCAL6_OP, PAD_CFG0_TX_STATE, TOTAL_PADS, and val.
Referenced by acpigen_soc_clear_tx_gpio(), and acpigen_soc_set_tx_gpio().
int acpigen_soc_set_tx_gpio | ( | unsigned int | gpio_num | ) |
Definition at line 283 of file acpi.c.
References acpigen_soc_set_gpio_val().
unsigned long sa_write_acpi_tables | ( | const struct device *const | dev, |
unsigned long | current, | ||
struct acpi_rsdp *const | rsdp | ||
) |
Definition at line 167 of file acpi.c.
References acpi_add_table(), acpi_align_current(), acpi_create_dmar(), BIOS_DEBUG, CAPID0_A, DEFVTBAR, p2sb_bdf::dev, DMAR_INTR_REMAP, acpi_dmar::header, acpi_table_header::length, MCHBAR32, pci_read_config32(), printk, soc_fill_dmar(), VTBAR_ENABLED, and VTD_DISABLE.
Definition at line 119 of file acpi.c.
References acpi_create_dmar_drhd(), acpi_create_dmar_ds_ioapic(), acpi_create_dmar_ds_msi_hpet(), acpi_create_dmar_ds_pci(), acpi_create_dmar_rmrr(), acpi_dmar_drhd_fixup(), acpi_dmar_rmrr_fixup(), p2sb_bdf::bus, DEFVTBAR, p2sb_bdf::dev, DRHD_INCLUDE_PCI_ALL, p2sb_bdf::fn, GFXVTBAR, is_devfn_enabled(), MCHBAR32, MCHBAR64, p2sb_get_hpet_bdf(), p2sb_get_ioapic_bdf(), p2sb_hide(), SA_DEVFN_IGD, sa_get_gsm_base(), sa_get_tolud_base(), VTBAR_ENABLED, and VTBAR_MASK.
Referenced by sa_write_acpi_tables().
void soc_fill_fadt | ( | acpi_fadt_t * | fadt | ) |
Definition at line 99 of file acpi.c.
References acpi_gen_regaddr::access_size, ACPI_ACCESS_SIZE_DWORD_ACCESS, ACPI_ADDRESS_SPACE_IO, ACPI_BASE_ADDRESS, ACPI_FADT_8042, ACPI_FADT_LEGACY_DEVICES, ACPI_FADT_LOW_PWR_IDLE_S0, acpi_gen_regaddr::addrl, acpi_gen_regaddr::bit_width, config_of_soc, acpi_fadt::flags, acpi_fadt::iapc_boot_arch, soc_intel_apollolake_config::lpss_s0ix_enable, PM1_TMR, acpi_fadt::pm_tmr_blk, acpi_fadt::pm_tmr_len, acpi_gen_regaddr::space_id, and acpi_fadt::x_pm_tmr_blk.
void soc_fill_gnvs | ( | struct global_nvs * | gnvs | ) |
Definition at line 70 of file acpi.c.
References config_of_soc, global_nvs::dpte, soc_intel_apollolake_config::dptf_enable, gnvs, gpio_acpi_pin(), gpio_dwx_address(), gpio_get_pad_portid(), GPIO_PRT0_UDEF, global_nvs::prt0, soc_intel_apollolake_config::prt0_gpio, sa_fill_gnvs(), global_nvs::scdo, global_nvs::scdp, and soc_intel_apollolake_config::sdcard_cd_gpio.
const acpi_cstate_t* soc_get_cstate_map | ( | size_t * | entries | ) |
Definition at line 64 of file acpi.c.
References ARRAY_SIZE, and cstate_map.
int soc_madt_sci_irq_polarity | ( | int | sci | ) |
Definition at line 94 of file acpi.c.
References MP_IRQ_POLARITY_LOW.
void soc_power_states_generation | ( | int | core_id, |
int | cores_per_package | ||
) |
Definition at line 197 of file acpi.c.
References generate_p_state_entries(), and generate_t_state_entries().
Definition at line 54 of file acpi.c.
References IRQ_REG, read32p(), and soc_read_pmc_base().
Definition at line 59 of file acpi.c.
References IRQ_REG, soc_read_pmc_base(), and write32p().
Referenced by set_sci_irq().
|
static |
Definition at line 32 of file acpi.c.
Referenced by soc_get_cstate_map().