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/infracfg.h>
#include <soc/pll.h>
#include <soc/pmif_spi.h>
#include <soc/pmif_sw.h>
#include <timer.h>
Go to the source code of this file.
Functions | |
static void | pmif_spi_config (struct pmif *arb) |
static int | check_idle (void *addr, u32 expected) |
static int | reset_spislv (void) |
static void | init_reg_clock (struct pmif *arb) |
static void | init_spislv (struct pmif *arb) |
static int | init_sistrobe (struct pmif *arb) |
static void | init_staupd (struct pmif *arb) |
int | pmif_spi_init (struct pmif *arb) |
Definition at line 57 of file pmif_spi.c.
References addr, E_TIMEOUT, PMIF_WAIT_IDLE_US, read32(), stopwatch_expired(), and stopwatch_init_usecs_expire().
Referenced by init_reg_clock(), init_staupd(), and reset_spislv().
Definition at line 116 of file pmif_spi.c.
References BIOS_ERR, check_idle(), mtk_pmicspi_mst_regs::cshext_read, mtk_pmicspi_mst_regs::cshext_write, mtk_pmicspi_mst_regs::cslext_read, mtk_pmicspi_mst_regs::cslext_write, DEFAULT_SLVID, mtk_pmicspi_mst_regs::dio_en, DUMMY_READ_CYCLES, mtk_pmicspi_mst_regs::ext_ck_read, mtk_pmicspi_mst_regs::ext_ck_write, mtk_pmif_regs::inf_busy_sta, mtk_pmicspi_mst, pmif::mtk_pmif, mtk_pmicspi_mst_regs::other_busy_sta_0, mtk_pmif_regs::other_busy_sta_0, PMIC_DEW_DIO_EN, PMIC_DEW_RDDMY_NO, PMIF_CMD_STA, PMIF_SPI_AP, pmif_spi_iocfg(), printk, mtk_pmicspi_mst_regs::rddmy, SPIMST_STA, pmif::write, and write32().
Referenced by pmif_spi_init().
|
static |
Definition at line 168 of file pmif_spi.c.
References ARRAY_SIZE, BIOS_ERR, DEFAULT_SLVID, DEFAULT_VALUE_READ_TEST, E_CLK_EDGE, E_CLK_LAST_SETTING, E_READ_TEST_FAIL, mtk_pmicspi_mst, PMIC_DEW_READ_TEST, PMIC_DEW_WRITE_TEST, PMIC_RG_SPI_CON2, printk, pmif::read, mtk_pmicspi_mst_regs::si_sampling_ctrl, pmif::write, and write32().
Referenced by pmif_spi_init().
Definition at line 154 of file pmif_spi.c.
References DEFAULT_SLVID, PMIC_DRV_CON1, PMIC_FILTER_CON0, PMIC_GPIO_PULLEN0_CLR, PMIC_RG_SPI_CON0, PMIC_SMT_CON1, SPI_DRIVING, SPI_FILTER, SPI_PULL_DISABLE, SPI_SMT, and pmif::write.
Referenced by pmif_spi_init().
Definition at line 232 of file pmif_spi.c.
References BIOS_ERR, check_idle(), mtk_pmif_regs::crc_ctrl, DEFAULT_SLVID, mtk_pmif_regs::inf_busy_sta, mtk_pmicspi_mst, pmif::mtk_pmif, mtk_pmicspi_mst_regs::other_busy_sta_0, mtk_pmif_regs::other_busy_sta_0, PMIC_DEW_CRC_EN, PMIC_DEW_CRC_VAL, mtk_pmif_regs::pmic_eint_sta_addr, PMIC_INT_STA, mtk_pmif_regs::pmic_sig_addr, PMIC_SPISLV_KEY, PMIF_CMD_STA, PMIF_SPI_AP, printk, SET32_BITFIELDS, mtk_pmif_regs::sig_mode, SPIMST_STA, mtk_pmif_regs::staupd_ctrl, pmif::write, and write32().
Referenced by pmif_spi_init().
Definition at line 33 of file pmif_spi.c.
References PMIF_SPI_AP, SET32_BITFIELDS, and write32().
Referenced by pmif_spi_init().
int pmif_spi_init | ( | struct pmif * | arb | ) |
Definition at line 275 of file pmif_spi.c.
References mtk_pmif_regs::arb_en, BIOS_ERR, DEFAULT_SLVID, E_SPI_INIT_RESET_SPI, E_SPI_INIT_SIDLY, mtk_pmif_regs::inf_en, mtk_pmif_regs::init_done, init_reg_clock(), init_sistrobe(), init_spislv(), init_staupd(), mtk_pmicspi_mst, pmif::mtk_pmif, mtk_pmif_regs::other_inf_en, PMIC_SPISLV_KEY, PMIF_SPI_AP, PMIF_SPI_AP_SECURE, pmif_spi_config(), PMIF_SPI_DCXO_HW, PMIF_SPI_HW_INF, PMIF_SPI_MD, PMIF_SPI_STAUPD, PMIF_SPI_TSX_HW, printk, reset_spislv(), SET32_BITFIELDS, mtk_pmif_regs::timer_ctrl, mtk_pmicspi_mst_regs::wrap_en, pmif::write, and write32().
Referenced by mtk_pmif_init().
|
static |
Definition at line 72 of file pmif_spi.c.
References BIOS_ERR, check_idle(), mtk_pmicspi_mst_regs::dio_en, E_TIMEOUT, mtk_pmicspi_mst_regs::man_acc, mtk_pmicspi_mst_regs::man_en, mtk_pmicspi_mst, mtk_pmicspi_mst_regs::mux_sel, OP_CSH, OP_CSL, OP_OUTS, OP_WR, mtk_pmicspi_mst_regs::other_busy_sta_0, printk, read32(), SET32_BITFIELDS, SPIMST_STA, mtk_pmicspi_mst_regs::wrap_en, and write32().
Referenced by pmif_spi_init().