coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <types.h>
Go to the source code of this file.
Data Structures | |
struct | pmc_ipc_buffer |
Macros | |
#define | PMC_IPC_BUF_COUNT 4 |
#define | PMC_IPC_CMD_COMMAND_SHIFT 0 |
#define | PMC_IPC_CMD_COMMAND_MASK 0xff |
#define | PMC_IPC_CMD_MSI_SHIFT 8 |
#define | PMC_IPC_CMD_MSI_MASK 0x01 |
#define | PMC_IPC_CMD_SUB_COMMAND_SHIFT 12 |
#define | PMC_IPC_CMD_SUB_COMMAND_MASK 0x0f |
#define | PMC_IPC_CMD_SIZE_SHIFT 16 |
#define | PMC_IPC_CMD_SIZE_MASK 0xff |
#define | PMC_IPC_CMD_COMMAND_FIVR 0xA3 |
#define | PMC_IPC_CMD_CMD_ID_FIVR_READ 0x00 |
#define | PMC_IPC_CMD_CMD_ID_FIVR_WRITE 0x01 |
#define | PMC_IPC_SUBCMD_RFI_CTRL0_LOGIC 0 |
#define | PMC_IPC_SUBCMD_RFI_CTRL4_LOGIC 1 |
#define | PMC_IPC_SUBCMD_EMI_CTRL0_LOGIC 2 |
#define | PMC_IPC_SUBCMD_FFFC_FAULT_STATUS 3 |
#define | PMC_IPC_SUBCMD_FFFC_RFI_STATUS 4 |
#define | PMC_IPC_CMD_FIELD(name, val) ((((val) & PMC_IPC_CMD_##name##_MASK) << PMC_IPC_CMD_##name##_SHIFT)) |
#define | PMC_IPC_CMD_NO_MSI 0 |
#define | PMC_IPC_CMD_RD_PMC_REG 0xA0 |
#define | PMC_IPC_CMD_SUBCMD_RD_PMC_REG 0x02 |
#define | PMC_IPC_CMD_ID_SET_PCIE_CLOCK 0xAC |
#define | PMC_IPC_SUCCESS 0 |
#define | PMC_IPC_ERROR 1 |
#define | PMC_IPC_TIMEOUT 2 |
Functions | |
static uint32_t | pmc_make_ipc_cmd (uint32_t cmd, uint32_t subcmd, uint32_t size) |
enum cb_err | pmc_send_ipc_cmd (uint32_t cmd, const struct pmc_ipc_buffer *wbuf, struct pmc_ipc_buffer *rbuf) |
void | pmc_ipc_acpi_fill_ssdt (void) |
void | pmc_ipc_acpi_set_pci_clock (unsigned int pcie_rp, unsigned int clock_pin, bool enable) |
Definition at line 100 of file pmc_ipc.c.
References acpigen_emit_byte(), acpigen_pop_len(), acpigen_set_package_element_int(), acpigen_set_package_element_namestr(), acpigen_write_debug_namestr(), acpigen_write_debug_string(), acpigen_write_field(), acpigen_write_if_lequal_namestr_int(), acpigen_write_integer(), acpigen_write_len_f(), acpigen_write_method_serialized(), acpigen_write_name(), acpigen_write_opregion(), acpigen_write_package(), acpigen_write_return_namestr(), acpigen_write_shiftleft_op_int(), acpigen_write_sleep(), acpigen_write_store_int_to_op(), acpigen_write_store_op_to_namestr(), ADD_OP, ARG0_OP, ARG1_OP, ARG2_OP, ARG3_OP, ARG4_OP, ARG5_OP, ARG6_OP, ARRAY_SIZE, DECREMENT_OP, FIELD_DWORDACC, FIELD_NOLOCK, FIELD_PRESERVE, FIELDLIST_NAMESTR, FIELDLIST_OFFSET, FIELDLIST_RESERVED, IPC_RBUF0, IPC_WBUF0, LGREATER_OP, LOCAL0_OP, LOCAL1_OP, OPREGION, PMC_IPC_CMD_COMMAND_SHIFT, PMC_IPC_CMD_MSI_SHIFT, PMC_IPC_CMD_NO_MSI, PMC_IPC_CMD_OFFSET, PMC_IPC_CMD_SIZE_SHIFT, PMC_IPC_CMD_SUB_COMMAND_SHIFT, PMC_IPC_ERROR, PMC_IPC_STS_OFFSET, PMC_IPC_SUCCESS, PMC_IPC_TIMEOUT, PMC_IPC_XFER_TIMEOUT_MS, soc_read_pmc_base(), SYSTEMMEMORY, WHILE_OP, and ZERO_OP.
Referenced by soc_pmc_fill_ssdt().
Definition at line 219 of file pmc_ipc.c.
References acpi_device_path_join(), acpigen_emit_namestring(), acpigen_write_dword(), acpigen_write_integer(), BIOS_ERR, PCH_DEVFN_PMC, pcidev_path_on_root(), PMC_IPC_CMD_ID_SET_PCIE_CLOCK, and printk.
Referenced by pcie_rtd3_acpi_method_off(), pcie_rtd3_acpi_method_on(), and pcie_rtd3_acpi_method_srck().
Definition at line 56 of file pmc_ipc.h.
References PMC_IPC_CMD_FIELD, and PMC_IPC_CMD_NO_MSI.
Referenced by cl_pmc_clear(), cl_pmc_en_gen_on_all_reboot(), cl_pmc_re_arm_after_reset(), cse_disable_mei_devices(), pmc_cl_discovery(), read_pmc_lpm_requirements(), and send_pmc_req().
enum cb_err pmc_send_ipc_cmd | ( | uint32_t | cmd, |
const struct pmc_ipc_buffer * | wbuf, | ||
struct pmc_ipc_buffer * | rbuf | ||
) |
Definition at line 57 of file pmc_ipc.c.
Referenced by cl_pmc_clear(), cl_pmc_en_gen_on_all_reboot(), cl_pmc_re_arm_after_reset(), cse_disable_mei_devices(), pmc_cl_discovery(), read_pmc_lpm_requirements(), and send_pmc_req().