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