/* * Interface to SPI flash * * Copyright (C) 2008 Atmel Corporation * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ #ifndef _SPI_FLASH_H_ #define _SPI_FLASH_H_ #include #include #include #include #include struct spi_flash { struct spi_slave *spi; const char *name; u32 size; u32 sector_size; u8 erase_cmd; u8 status_cmd; int (*read)(struct spi_flash *flash, u32 offset, size_t len, void *buf); int (*write)(struct spi_flash *flash, u32 offset, size_t len, const void *buf); int (*erase)(struct spi_flash *flash, u32 offset, size_t len); int (*status)(struct spi_flash *flash, u8 *reg); }; struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs); void lb_spi_flash(struct lb_header *header); #endif /* _SPI_FLASH_H_ */