示例#1
0
void
EXT_MEM_write_byte(uint8_t module, uint32_t addr, uint8_t byte)
{
    MEM_CS(module, 0);
    spiWrite(0, EXT_MEM_CMD_WRITE);
    spiWrite(0, (uint8_t)((addr>>16)&0xFF));
    spiWrite(0, (uint8_t)((addr>>8)&0xFF));
    spiWrite(0, (uint8_t)(addr&0xFF));
    spiWrite(0, byte);
    MEM_CS(module, 1);
}
示例#2
0
uint8_t
EXT_MEM_read_byte(uint8_t module, uint32_t addr)
{
    uint8_t rx;
    MEM_CS(module, 0);
    spiWrite(0, EXT_MEM_CMD_READ);
    spiWrite(0, (uint8_t)((addr>>16)&0xFF));
    spiWrite(0, (uint8_t)((addr>>8)&0xFF));
    spiWrite(0, (uint8_t)(addr&0xFF));
    rx = spiWrite(0, 0xFF);
    MEM_CS(module, 1);
    return rx;
}
示例#3
0
void
EXT_MEM_write_buffer(uint8_t module, uint32_t addr, uint32_t len, uint8_t *buff)
{
    uint8_t i = 0;
    MEM_CS(module, 0);
    spiWrite(0, EXT_MEM_CMD_WRITE);
    spiWrite(0, (uint8_t)((addr>>16)&0xFF));
    spiWrite(0, (uint8_t)((addr>>8)&0xFF));
    spiWrite(0, (uint8_t)(addr&0xFF));
    for (i = 0; i < len; i++){
        spiWrite(0, buff[i]);
    }
    MEM_CS(module, 1);
}
示例#4
0
void
EXT_MEM_read_buffer(uint8_t module, uint32_t addr, uint32_t len, uint8_t *buff)
{
    uint8_t i = 0;
    MEM_CS(module, 0);;
    spiWrite(0, EXT_MEM_CMD_READ);
    spiWrite(0, (uint8_t)((addr>>16)&0xFF));
    spiWrite(0, (uint8_t)((addr>>8)&0xFF));
    spiWrite(0, (uint8_t)(addr&0xFF));
    for (i = 0; i < len; i++){
        buff[i] = spiWrite(0, 0xFF);
    }
    MEM_CS(module, 1);
}
示例#5
0
文件: ti_qspi.c 项目: Noltari/u-boot
static void ti_qspi_ctrl_mode_mmap(void *ctrl_mod_mmap, int cs, bool enable)
{
	u32 val;

	val = readl(ctrl_mod_mmap);
	if (enable)
		val |= MEM_CS(cs);
	else
		val &= MEM_CS_UNSELECT;
	writel(val, ctrl_mod_mmap);
}