diff options
author | Keith Packard <keithp@keithp.com> | 2010-01-09 09:55:04 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-01-09 09:55:04 -0800 |
commit | c1334f712f01543adb10809bc1a3ca120e27290b (patch) | |
tree | 7b580d1a24a8dc81040ab82e3e727e53172a5619 /src | |
parent | a0d4c1b06d27e850d233f8ddf8fe32912bf0ec8f (diff) |
Add at45db161d.h header file for new flash part.
Forgot to add this when I added the driver.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/at45db161d.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/at45db161d.h b/src/at45db161d.h new file mode 100644 index 00000000..66869733 --- /dev/null +++ b/src/at45db161d.h @@ -0,0 +1,51 @@ +/* + * Copyright © 2010 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * 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. + */ + +/* Defines for the Atmel AT45DB161D 16Mbit SPI Bus DataFlash® */ + +#ifndef _AT45DB161D_H_ +#define _AT45DB161D_H_ + +/* + * We reserve the last block on the device for + * configuration space. Writes and reads in this + * area return errors. + */ + +#define FLASH_BLOCK_SIZE_MAX 512 +#define FLASH_BLOCK_SHIFT (ao_flash_block_shift) +#define FLASH_BLOCK_SIZE (1 << FLASH_BLOCK_SHIFT) +#define FLASH_BLOCK_MASK (FLASH_BLOCK_SIZE - 1) +#define FLASH_DEVICE_SIZE (ao_flash_device_size) +#define FLASH_DATA_SIZE (FLASH_DEVICE_SIZE - (uint32_t) FLASH_BLOCK_SIZE) +#define FLASH_CONFIG_BLOCK ((uint16_t) (FLASH_DATA_SIZE / FLASH_BLOCK_SIZE)) + +#define FLASH_READ 0x03 +#define FLASH_WRITE 0x82 +#define FLASH_READ_STATUS 0xd7 +#define FLASH_SET_CONFIG 0x3d + +#define FLASH_SET_512_BYTE_0 0x2a +#define FLASH_SET_512_BYTE_1 0x80 +#define FLASH_SET_512_BYTE_2 0xa6 + +#define FLASH_STATUS_RDY (1 << 7) +#define FLASH_STATUS_COMP (1 << 6) +#define FLASH_STATUS_PROTECT (1 << 1) +#define FLASH_STATUS_PAGESIZE_512 (1 << 0) + +#endif /* _AT45DB161D_H_ */ |