| /******************************************************************************* |
| * |
| * Filename: spi_flash.h |
| * |
| * Definition of flash control routines supporting AT45DB161B |
| * |
| * Revision information: |
| * |
| * 17JAN2005 kb_admin initial creation |
| * |
| * BEGIN_KBDD_BLOCK |
| * No warranty, expressed or implied, is included with this software. It is |
| * provided "AS IS" and no warranty of any kind including statutory or aspects |
| * relating to merchantability or fitness for any purpose is provided. All |
| * intellectual property rights of others is maintained with the respective |
| * owners. This software is not copyrighted and is intended for reference |
| * only. |
| * END_BLOCK |
| * |
| * $FreeBSD$ |
| ******************************************************************************/ |
| |
| #ifndef _SPI_FLASH_H_ |
| #define _SPI_FLASH_H_ |
| |
| typedef struct { |
| char *tx_cmd; |
| unsigned tx_cmd_size; |
| char *rx_cmd; |
| unsigned rx_cmd_size; |
| char *tx_data; |
| unsigned tx_data_size; |
| char *rx_data; |
| unsigned rx_data_size; |
| } spiCommand_t; |
| |
| void SPI_ReadFlash(unsigned flash_addr, char *dest_addr, unsigned size); |
| void SPI_WriteFlash(unsigned flash_addr, char *dest_addr, unsigned size); |
| void SPI_InitFlash(void); |
| |
| void SPI_GetId(unsigned *id); |
| |
| #ifdef BOOT_BWCT |
| #define FLASH_PAGE_SIZE 528 |
| #else |
| #define FLASH_PAGE_SIZE 1056 |
| #endif |
| |
| // Flash commands |
| |
| #define CONTINUOUS_ARRAY_READ 0xE8 |
| #define CONTINUOUS_ARRAY_READ_HF 0x0B |
| #define CONTINUOUS_ARRAY_READ_LF 0x03 |
| #define STATUS_REGISTER_READ 0xD7 |
| #define PROGRAM_THROUGH_BUFFER 0x82 |
| #define MANUFACTURER_ID 0x9F |
| |
| #endif |