spi_flash.h revision 161197
1250323Sdteske/******************************************************************************* 2250323Sdteske * 3250323Sdteske * Filename: spi_flash.h 4250323Sdteske * 5250323Sdteske * Definition of flash control routines supporting AT45DB161B 6250323Sdteske * 7250323Sdteske * Revision information: 8250323Sdteske * 9250323Sdteske * 17JAN2005 kb_admin initial creation 10250323Sdteske * 11250323Sdteske * BEGIN_KBDD_BLOCK 12250323Sdteske * No warranty, expressed or implied, is included with this software. It is 13250323Sdteske * provided "AS IS" and no warranty of any kind including statutory or aspects 14250323Sdteske * relating to merchantability or fitness for any purpose is provided. All 15250323Sdteske * intellectual property rights of others is maintained with the respective 16250323Sdteske * owners. This software is not copyrighted and is intended for reference 17250323Sdteske * only. 18250323Sdteske * END_BLOCK 19250323Sdteske * 20250323Sdteske * $FreeBSD: head/sys/boot/arm/at91/libat91/spi_flash.h 161197 2006-08-10 18:14:35Z imp $ 21250323Sdteske ******************************************************************************/ 22250323Sdteske 23250323Sdteske#ifndef _SPI_FLASH_H_ 24250323Sdteske#define _SPI_FLASH_H_ 25250323Sdteske 26250323Sdtesketypedef struct { 27250323Sdteske char *tx_cmd; 28250323Sdteske unsigned tx_cmd_size; 29250323Sdteske char *rx_cmd; 30250323Sdteske unsigned rx_cmd_size; 31250323Sdteske char *tx_data; 32250323Sdteske unsigned tx_data_size; 33250323Sdteske char *rx_data; 34250323Sdteske unsigned rx_data_size; 35250323Sdteske} spiCommand_t; 36250323Sdteske 37250323Sdteskevoid SPI_ReadFlash(unsigned flash_addr, char *dest_addr, unsigned size); 38250323Sdteskevoid SPI_WriteFlash(unsigned flash_addr, char *dest_addr, unsigned size); 39250323Sdteskevoid SPI_InitFlash(void); 40250323Sdteske 41250323Sdteskevoid SPI_GetId(unsigned *id); 42250323Sdteske 43250323Sdteske#define FLASH_PAGE_SIZE 1056 44250323Sdteske 45250323Sdteske// Flash commands 46250323Sdteske 47250323Sdteske#define CONTINUOUS_ARRAY_READ 0xE8 48250323Sdteske#define CONTINUOUS_ARRAY_READ_HF 0x0B 49250323Sdteske#define CONTINUOUS_ARRAY_READ_LF 0x03 50250323Sdteske#define STATUS_REGISTER_READ 0xD7 51250323Sdteske#define PROGRAM_THROUGH_BUFFER 0x82 52250323Sdteske#define MANUFACTURER_ID 0x9F 53250323Sdteske 54250323Sdteske#endif 55250323Sdteske