.wait_ready   = spi_general_wait_ready,
	.write_enable = spi_general_write_enable,
	.entry_4addr  = spi_n25q256a_entry_4addr,
	.bus_prepare  = spi_general_bus_prepare,
};
/*****************************************************************************/

struct spi_info hisfc350_spi_info_table[] =
{

	{
		"EN25QH256", {0x1C, 0x70, 0x19}, 3, (_64K * 512), _64K, 4,
		{
			&READ_STD(0, INFINITE, 50),
			&READ_FAST(1, INFINITE, 50),
			&READ_DUAL(1, INFINITE, 54),
			&READ_DUAL_ADDR(1, INFINITE, 54),
			0
		},

		{
			&WRITE_STD(0 , 256, 75),
			0
		},

		{
			&ERASE_SECTOR_64K(0, _64K, 75),
			0
		},

		&spi_driver_general,
Example #2
0
		{&ERASE_SECTOR(0, SPI_IF_ERASE_SECTOR, 0), 0}
	},

	/* Macronix */
	{
		"mx25l4005a",  {0xc2, 0x20, 0x13}, 3, _512K,  _64K, 3,
		{&READ_STD(0, INFINITE, 0), 0},  {&WRITE_STD(0, 256, 0), 0},
		{&ERASE_SECTOR(0, SPI_IF_ERASE_SECTOR, 0), 0}
	},

	{
		"MX25L8006E",  {0xc2, 0x20, 0x14}, 3, _1M,    _64K, 3,
		{
			&READ_STD(0, INFINITE, 33),
			&READ_FAST(1, INFINITE, 86),
			&READ_DUAL(1, INFINITE, 80),
			0
		},
		{&WRITE_STD(0, 256, 86), 0},
		{&ERASE_SECTOR(0, SPI_IF_ERASE_SECTOR, 86), 0}
	},

	{
		"MX25L1606E",  {0xc2, 0x20, 0x15}, 3, _2M,    _64K, 3,
		{
			&READ_STD(0, INFINITE, 33),
			&READ_FAST(1, INFINITE, 86),
			&READ_DUAL(1, INFINITE, 80),
			0
		},
		{&WRITE_STD(0, 256, 86), 0},