8 #include <soc/qcom_qup_se.h>
9 #include <soc/addressmap.h>
23 static const char *
const filename[] = {
30 die(
"*ERROR* * INVALID PROTOCOL ***\n");
35 die(
"*ERROR* * cbfs_map failed ***\n");
105 }
else if (mode ==
FIFO) {
192 static const char *
const filename =
"fallback/gsi_fw";
197 die(
"*ERROR* * cbfs_map() failed ***\n");
226 memcpy((&
regs->gsi_inst_ramn), (
void *)fwIRam,
236 regVal =
read32(&
regs->gsi_ee_n_scratch_0_addr);
237 }
while (regVal > 1);
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
void * memcpy(void *dest, const void *src, size_t n)
#define assert(statement)
static void * cbfs_map(const char *name, size_t *size_out)
void __noreturn die(const char *fmt,...)
#define setbits32(addr, set)
#define setbits_le32(addr, set)
#define clrbits_le32(addr, clear)
#define S_RX_FIFO_WR_ERR_EN
#define GENI_DFS_IF_CFG_DFS_IF_EN_BMSK
#define S_RX_FIFO_RD_ERR_EN
#define FW_REV_PROTOCOL_SHFT
#define M_COMMON_GENI_M_IRQ_EN
#define DEFAULT_IO_OUTPUT_CTRL_MSK
#define FW_REV_VERSION_SHFT
static struct elf_se_hdr * fw_list[SE_PROTOCOL_MAX]
void gpi_firmware_load(int addr)
static void qup_common_init(int addr)
void qupv3_se_fw_load_and_init(unsigned int bus, unsigned int protocol, unsigned int mode)
#define GENI_CGC_CTRL_PROG_RAM_HCLK_OFF_BMSK
#define GSI_INST_RAM_n_MAX_n
#define DMA_GENERAL_CFG_AHB_SEC_SLV_CLK_CGC_ON_BMSK
#define GENI_DMA_MODE_EN_GENI_DMA_MODE_EN_BMSK
#define DMA_GENERAL_CFG_DMA_TX_CLK_CGC_ON_BMSK
#define DMA_IF_EN_DMA_IF_EN_BMSK
#define GSI_FW_MAGIC_HEADER
#define GENI_CGC_CTRL_PROG_RAM_SCLK_OFF_BMSK
#define GSI_MCS_CFG_MCS_ENABLE_BMSK
#define DMA_TX_IRQ_EN_SET_RESET_DONE_EN_SET_BMSK
#define GSI_CFG_GSI_ENABLE_BMSK
#define QUPV3_COMMON_CFG_FAST_SWITCH_TO_HIGH_DISABLE_BMSK
#define GSI_CGC_CTRL_REGION_2_HW_CGC_EN_BMSK
#define DMA_RX_IRQ_EN_SET_SBE_EN_SET_BMSK
#define DMA_GENERAL_CFG_DMA_RX_CLK_CGC_ON_BMSK
#define GSI_FW_BYTES_PER_LINE
#define GENI_CLK_CTRL_SER_CLK_SEL_BMSK
#define DMA_RX_IRQ_EN_SET_RESET_DONE_EN_SET_BMSK
#define DMA_GENERAL_CFG_DMA_AHB_SLV_CLK_CGC_ON_BMSK
#define SE_GSI_EVENT_EN_BMSK
#define DMA_RX_IRQ_EN_SET_FLUSH_DONE_EN_SET_BMSK
#define GSI_CFG_DOUBLE_MCS_CLK_FREQ_BMSK
#define DMA_TX_IRQ_EN_SET_DMA_DONE_EN_SET_BMSK
#define QUPV3_SE_AHB_M_CFG_AHB_M_CLK_CGC_ON_BMSK
#define GSI_REG_BASE_SIZE
#define SEFW_MAGIC_HEADER
#define DMA_RX_IRQ_EN_SET_DMA_DONE_EN_SET_BMSK
#define DMA_TX_IRQ_EN_SET_SBE_EN_SET_BMSK
#define MAX_OFFSET_CFG_REG
void clock_enable_qup(int qup)
void clock_configure_dfsr(int qup)
uint16_t cfg_size_in_items
uint16_t fw_size_in_items
uint16_t fw_size_in_items
uint16_t iep_size_in_items
u32 qupv3_se_ahb_m_cfg_reg