18 #include <soc/soc_util.h>
20 #include <soc/systemagent.h>
21 #include <soc/pci_devs.h>
23 #define CSTATE_RES(address_space, width, offset, address) \
25 .space_id = address_space, \
27 .bit_offset = offset, \
117 { 100, 1000, 0, 0x00, 0 },
118 { 88, 875, 0, 0x1e, 0 },
119 { 75, 750, 0, 0x1c, 0 },
120 { 63, 625, 0, 0x1a, 0 },
121 { 50, 500, 0, 0x18, 0 },
122 { 38, 375, 0, 0x16, 0 },
123 { 25, 250, 0, 0x14, 0 },
124 { 13, 125, 0, 0x12, 0 },
149 unsigned long current,
155 current = (
ALIGN(current, 16));
165 current = (
ALIGN(current, 16));
181 unsigned long tmp = current;
211 unsigned long current,
unsigned long acpi_create_dmar_ds_ioapic(unsigned long current, u8 enumeration_id, u8 bus, u8 dev, u8 fn)
unsigned long acpi_create_dmar_rmrr(unsigned long current, u16 segment, u64 bar, u64 limit)
unsigned long acpi_write_hpet(const struct device *device, unsigned long current, acpi_rsdp_t *rsdp)
__weak void soc_fill_fadt(acpi_fadt_t *fadt)
void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current)
void acpi_add_table(acpi_rsdp_t *rsdp, void *table)
Add an ACPI table to the RSDT (and XSDT) structure, recalculate length and checksum.
unsigned long acpi_create_dmar_ds_msi_hpet(unsigned long current, u8 enumeration_id, u8 bus, u8 dev, u8 fn)
unsigned long acpi_create_dmar_ds_pci(unsigned long current, u8 bus, u8 dev, u8 fn)
void acpi_create_dmar(acpi_dmar_t *dmar, enum dmar_flags flags, unsigned long(*acpi_fill_dmar)(unsigned long))
void acpi_dmar_rmrr_fixup(unsigned long base, unsigned long current)
unsigned long acpi_create_dmar_drhd(unsigned long current, u8 flags, u16 segment, u64 bar)
uint64_t read64(const void *addr)
void * memset(void *dstpp, int c, size_t len)
#define printk(level,...)
#define MWAIT_RES(state, sub_state)
int cpu_phys_address_size(void)
#define ACPI_FADT_LEGACY_DEVICES
static uintptr_t acpi_align_current(uintptr_t current)
#define ACPI_ACCESS_SIZE_DWORD_ACCESS
#define ACPI_ACCESS_SIZE_BYTE_ACCESS
#define ACPI_ADDRESS_SPACE_IO
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
#define ACPI_BASE_ADDRESS
#define RMRR_USB_LIMIT_ADDRESS
#define RMRR_USB_BASE_ADDRESS
uint32_t get_pciebase(void)
uint32_t get_top_of_low_memory(void)
struct device * get_pmc_dev(void)
uint64_t get_top_of_upper_memory(void)
uint32_t get_tseg_memory(void)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define MP_IRQ_POLARITY_LOW
#define MP_IRQ_POLARITY_HIGH
const struct smm_save_state_ops *legacy_ops __weak
const acpi_cstate_t * soc_get_cstate_map(size_t *entries)
int soc_madt_sci_irq_polarity(int sci)
void soc_power_states_generation(int core_id, int cores_per_package)
void soc_fill_gnvs(struct global_nvs *gnvs)
uint32_t soc_read_sci_irq_select(void)
__weak void acpi_create_serialio_ssdt(acpi_header_t *ssdt)
unsigned long southcluster_write_acpi_tables(const struct device *device, unsigned long current, struct acpi_rsdp *rsdp)
#define PCH_IOAPIC_PCI_SLOT
#define PCH_HPET_PCI_SLOT
#define PCH_IOAPIC_PCI_BUS
acpi_tstate_t * soc_get_tss_table(int *entries)
void generate_t_state_entries(int core, int cores_per_package)
void generate_p_state_entries(int core, int cores_per_package)
static const acpi_cstate_t cstate_map[]
#define CSTATE_RES(address_space, width, offset, address)
unsigned long systemagent_write_acpi_tables(const struct device *dev, unsigned long current, struct acpi_rsdp *const rsdp)
static acpi_tstate_t denverton_tss_table[]
static unsigned long acpi_fill_dmar(unsigned long current)
uint16_t get_pmbase(void)
unsigned long long uint64_t
acpi_addr_t x_pm2_cnt_blk