Exemplo n.º 1
0
int spi_flash_cmd_write_status_config(u8 *srcr)
{
	u8 cmd;
	int ret;
	size_t cmd_len = 1;
	size_t data_len = 2;

	ret = spi_flash_cmd(CMD_WRITE_ENABLE, NULL, 0);
	if (ret < 0) {
		print("SF: enabling write failed\n");
		return ret;
	}

	cmd = CMD_WRITE_STATUS;
	ret = spi_flash_read_write(&cmd, cmd_len, srcr, NULL, data_len);
	if (ret) {
		print("SF: fail to write status and config register\n");
		return ret;
	}
	
	ret = spi_flash_cmd_poll_bit(SPI_FLASH_PROG_TIMEOUT, CMD_READ_STATUS, STATUS_WIP);
	if (ret < 0) {
		print("SF: write status register timed out\n");
		return ret;
	}

	return 0;
}
int spi_flash_cmd_write(struct spi_slave *spi, const u8 *cmd, size_t cmd_len,
		const void *data, size_t data_len)
{
	return spi_flash_read_write(spi, cmd, cmd_len, data, NULL, data_len);
}
Exemplo n.º 3
0
int spi_flash_cmd_read(u8 *cmd,	size_t cmd_len, void *data, size_t data_len)
{
	return spi_flash_read_write(cmd, cmd_len, NULL, data, data_len);
}
Exemplo n.º 4
0
static inline int spi_flash_cmd_read(const u8 *cmd, u32 cmd_len,
					void *data, u32 data_len)
{
	return spi_flash_read_write(cmd, cmd_len, NULL, data, data_len);
}