coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <console/console.h>
#include <device/mmio.h>
#include <soc/addressmap.h>
#include <soc/pmif.h>
#include <soc/pmif_spmi.h>
#include <soc/pmif_sw.h>
#include <soc/spmi.h>
Go to the source code of this file.
Macros | |
#define | PMIF_CMD_PER_3 (0x1 << PMIF_CMD_EXT_REG_LONG) |
#define | PMIF_CMD_PER_1_3 ((0x1 << PMIF_CMD_REG) | (0x1 << PMIF_CMD_EXT_REG_LONG)) |
Functions | |
static int | spmi_read_check (struct pmif *pmif_arb, int slvid) |
static int | spmi_cali_rd_clock_polarity (struct pmif *pmif_arb, const struct spmi_device *dev) |
static int | spmi_mst_init (struct pmif *pmif_arb) |
static void | pmif_spmi_force_normal_mode (int mstid) |
static void | pmif_spmi_enable_swinf (int mstid) |
static void | pmif_spmi_enable_cmdIssue (int mstid, bool en) |
static void | pmif_spmi_enable (int mstid) |
int | pmif_spmi_init (struct pmif *arb) |
Variables | |
static const struct spmi_device | spmi_dev [] |
#define PMIF_CMD_PER_1_3 ((0x1 << PMIF_CMD_REG) | (0x1 << PMIF_CMD_EXT_REG_LONG)) |
Definition at line 12 of file pmif_spmi.c.
#define PMIF_CMD_PER_3 (0x1 << PMIF_CMD_EXT_REG_LONG) |
Definition at line 11 of file pmif_spmi.c.
|
static |
Definition at line 139 of file pmif_spmi.c.
References mtk_pmif_regs::arb_en, get_pmif_controller(), mtk_pmif_regs::inf_cmd_per_0, mtk_pmif_regs::inf_cmd_per_1, mtk_pmif_regs::inf_cmd_per_2, mtk_pmif_regs::inf_cmd_per_3, mtk_pmif_regs::inf_en, mtk_pmif_regs::inf_max_bytecnt_per_0, mtk_pmif_regs::inf_max_bytecnt_per_1, mtk_pmif_regs::inf_max_bytecnt_per_2, mtk_pmif_regs::inf_max_bytecnt_per_3, mtk_pmif_regs::init_done, mtk_pmif_regs::lat_cnter_en, mtk_pmif_regs::lat_limit_0, mtk_pmif_regs::lat_limit_1, mtk_pmif_regs::lat_limit_2, mtk_pmif_regs::lat_limit_4, mtk_pmif_regs::lat_limit_6, mtk_pmif_regs::lat_limit_9, mtk_pmif_regs::lat_limit_loading, pmif::mstid, pmif::mtk_pmif, PMIF_CMD_PER_1_3, PMIF_CMD_PER_3, PMIF_SPMI, PMIF_SPMI_INF, mtk_pmif_regs::timer_ctrl, and write32().
Referenced by pmif_spmi_init().
Definition at line 131 of file pmif_spmi.c.
References mtk_pmif_regs::cmdissue_en, get_pmif_controller(), pmif::mstid, pmif::mtk_pmif, PMIF_SPMI, and write32().
Referenced by pmif_spmi_init().
|
static |
Definition at line 123 of file pmif_spmi.c.
References mtk_pmif_regs::arb_en, get_pmif_controller(), mtk_pmif_regs::inf_en, pmif::mstid, pmif::mtk_pmif, PMIF_SPMI, PMIF_SPMI_SW_CHAN, and write32().
Referenced by pmif_spmi_init().
|
static |
Definition at line 107 of file pmif_spmi.c.
References get_pmif_controller(), pmif::mstid, pmif::mtk_pmif, PMIF_SPMI, SET32_BITFIELDS, mtk_pmif_regs::sleep_protection_ctrl, and mtk_pmif_regs::spi_mode_ctrl.
Referenced by pmif_spmi_init().
int pmif_spmi_init | ( | struct pmif * | arb | ) |
Definition at line 186 of file pmif_spmi.c.
References BIOS_ERR, E_NODEV, pmif::is_pmif_init_done, pmif::mstid, pmif_spmi_enable(), pmif_spmi_enable_cmdIssue(), pmif_spmi_enable_swinf(), pmif_spmi_force_normal_mode(), printk, and spmi_mst_init().
Referenced by mtk_pmif_init().
|
static |
Definition at line 62 of file pmif_spmi.c.
References ARRAY_SIZE, die(), cali::dly, mtk_spmi_mst, pmif_arb, cali::pol, SET32_BITFIELDS, spmi_device::slvid, SPMI_CK_DLY_1T, SPMI_CK_NO_DLY, SPMI_CK_POL_NEG, SPMI_CK_POL_POS, and spmi_read_check().
Referenced by spmi_mst_init().
|
static |
Definition at line 89 of file pmif_spmi.c.
References ARRAY_SIZE, BIOS_ERR, E_INVAL, pmif_arb, pmif_spmi_iocfg(), printk, spmi_cali_rd_clock_polarity(), spmi_config_master(), and spmi_dev.
Referenced by pmif_spmi_init().
|
static |
Definition at line 41 of file pmif_spmi.c.
References BIOS_ERR, E_NODEV, MT6315_DEFAULT_VALUE_READ, MT6315_READ_TEST, MT6315_READ_TEST_1, pmif_arb, printk, and pmif::read.
Referenced by spmi_cali_rd_clock_polarity().
|
static |
Definition at line 1 of file pmif_spmi.c.
Referenced by spmi_mst_init().