coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <assert.h>
#include <console/console.h>
#include <device/mmio.h>
#include <soc/addressmap.h>
#include <soc/pmif.h>
#include <soc/pmif_spi.h>
#include <soc/pmif_spmi.h>
#include <soc/pmif_sw.h>
#include <soc/spmi.h>
#include <timer.h>
Go to the source code of this file.
Functions | |
static int | pmif_check_swinf (struct pmif *arb, long timeout_us, u32 expected_status) |
static void | pmif_send_cmd (struct pmif *arb, int write, u32 opc, u32 slvid, u32 addr, u32 *rdata, u32 wdata, u32 len) |
static void | pmif_spmi_read (struct pmif *arb, u32 slvid, u32 reg, u32 *data) |
static void | pmif_spmi_write (struct pmif *arb, u32 slvid, u32 reg, u32 data) |
static u32 | pmif_spmi_read_field (struct pmif *arb, u32 slvid, u32 reg, u32 mask, u32 shift) |
static void | pmif_spmi_write_field (struct pmif *arb, u32 slvid, u32 reg, u32 val, u32 mask, u32 shift) |
static void | pmif_spi_read (struct pmif *arb, u32 slvid, u32 reg, u32 *data) |
static void | pmif_spi_write (struct pmif *arb, u32 slvid, u32 reg, u32 data) |
static u32 | pmif_spi_read_field (struct pmif *arb, u32 slvid, u32 reg, u32 mask, u32 shift) |
static void | pmif_spi_write_field (struct pmif *arb, u32 slvid, u32 reg, u32 val, u32 mask, u32 shift) |
static int | is_pmif_init_done (struct pmif *arb) |
struct pmif * | get_pmif_controller (int inf, int mstid) |
static void | pmif_select (enum pmic_interface mode) |
void | pmwrap_interface_init (void) |
int | mtk_pmif_init (void) |
Variables | |
static const struct pmif | pmif_spmi_arb [] |
static const struct pmif | pmif_spi_arb [] |
struct pmif* get_pmif_controller | ( | int | inf, |
int | mstid | ||
) |
Definition at line 168 of file pmif.c.
References ARRAY_SIZE, die(), pmif::mstid, NULL, PMIF_SPI, pmif_spi_arb, PMIF_SPMI, and pmif_spmi_arb.
Referenced by buf_read(), buf_write(), init_pmif_arb(), mtk_pmif_init(), pmic_read(), pmif_spmi_enable(), pmif_spmi_enable_cmdIssue(), pmif_spmi_enable_swinf(), pmif_spmi_force_normal_mode(), rtc_read(), and rtc_write().
|
static |
Definition at line 133 of file pmif.c.
References E_NODEV, mtk_pmif_regs::init_done, pmif::mtk_pmif, and read32().
int mtk_pmif_init | ( | void | ) |
Definition at line 293 of file pmif.c.
References get_pmif_controller(), pmif_clk_init(), PMIF_SPI, pmif_spi_init(), PMIF_SPMI, pmif_spmi_init(), and SPMI_MASTER_0.
Referenced by platform_romstage_main().
Definition at line 14 of file pmif.c.
References pmif::ch, chan_regs::ch_sta, E_TIMEOUT, GET_SWINF_0_FSM, read32(), stopwatch_expired(), and stopwatch_init_usecs_expire().
Referenced by pmif_send_cmd().
|
static |
Definition at line 179 of file pmif.c.
References mtk_pmif_regs::arb_en, die(), mtk_pmif_regs::inf_en, pmif::mtk_pmif, mtk_pmif_regs::other_inf_en, PMIF_SLP_REQ, pmif_spi_arb, pmif_spmi_arb, PMIF_VLD_RDY, SET32_BITFIELDS, mtk_pmif_regs::sleep_protection_ctrl, and mtk_pmif_regs::spi_mode_ctrl.
Referenced by pmwrap_interface_init().
|
static |
Definition at line 29 of file pmif.c.
References addr, BIOS_ERR, pmif::ch, chan_regs::ch_rdy, chan_regs::ch_send, pmif_check_swinf(), PMIF_READ_US, PMIF_WAIT_IDLE_US, printk, chan_regs::rdata, read32(), SWINF_FSM_IDLE, SWINF_FSM_WFVLDCLR, chan_regs::wdata, and write32().
Referenced by pmif_spi_read(), pmif_spi_write(), pmif_spmi_read(), and pmif_spmi_write().
Definition at line 100 of file pmif.c.
References PMIF_CMD_REG_0, and pmif_send_cmd().
Referenced by pmif_spi_read_field(), and pmif_spi_write_field().
|
static |
Definition at line 111 of file pmif.c.
References mask, and pmif_spi_read().
Definition at line 106 of file pmif.c.
References NULL, PMIF_CMD_REG_0, and pmif_send_cmd().
Referenced by pmif_spi_write_field().
|
static |
Definition at line 122 of file pmif.c.
References mask, pmif_spi_read(), pmif_spi_write(), and val.
Definition at line 67 of file pmif.c.
References PMIF_CMD_EXT_REG_LONG, and pmif_send_cmd().
Referenced by pmif_spmi_read_field(), and pmif_spmi_write_field().
|
static |
Definition at line 78 of file pmif.c.
References mask, and pmif_spmi_read().
Definition at line 73 of file pmif.c.
References NULL, PMIF_CMD_EXT_REG_LONG, and pmif_send_cmd().
Referenced by pmif_spmi_write_field().
|
static |
Definition at line 89 of file pmif.c.
References mask, pmif_spmi_read(), pmif_spmi_write(), and val.
Definition at line 282 of file pmif.c.
References BIOS_INFO, CONFIG, pmif_select(), PMIF_SLP_REQ, PMIF_VLD_RDY, and printk.
|
static |
Definition at line 133 of file pmif.c.
Referenced by get_pmif_controller(), and pmif_select().
|
static |
Definition at line 133 of file pmif.c.
Referenced by get_pmif_controller(), and pmif_select().