OpenCores
URL https://opencores.org/ocsvn/usb_nand_reader/usb_nand_reader/trunk

Subversion Repositories usb_nand_reader

[/] [usb_nand_reader/] [trunk/] [mini32/] [CMD.h] - Rev 7

Compare with Previous | Blame | View Log

#ifndef CMD_H
#define CMD_H
 
/* Communication protocol commands */
#define NAND_CHIP_ENABLE                1
#define NAND_CHIP_DISABLE               2
#define NAND_CHIP_RESET                 3
#define NAND_CHIP_READ_ID               4
#define NAND_CHIP_READ_ID_ONFI          5
#define NAND_CHIP_READ_PARAM_PAGE       6
#define NAND_CHIP_READ_PAGE             7
#define NAND_SET_CONFIG_DATA            8
#define NAND_CHIP_READ_CACHE_SEQ        9       // READ_PAGE_CACHE_SEQUENTIAL
#define NAND_CHIP_READ_STATUS           10
#define NAND_CHIP_READ_UNIQUE_ID        11
#define NAND_CHIP_BLOCK_ERASE           12
#define NAND_CHIP_TOGGLE_WP             13
#define NAND_CHIP_PAGE_PROGRAM          14
#define NAND_CHIP_READ_STATUS_ENHANCED  15
 
 
/* Chip commands (ONFI) */
#define NC_RESET                        0xFF
#define NC_READ_ID                      0x90
#define NC_READ_PARAM_PAGE              0xEC
#define NC_READ_MODE                    0x00
#define NC_READ_PAGE                    0x30
#define NC_READ_PAGE_CACHE_SEQ          0x31
#define NC_READ_PAGE_CACHE_LAST         0x3F
#define NC_READ_STATUS                  0x70
#define NC_READ_UNIQUE_ID               0xED
#define NC_BLOCK_ERASE1                 0x60
#define NC_BLOCK_ERASE2                 0xD0
#define NC_PAGE_PROGRAM_START           0x80
#define NC_PAGE_PROGRAM_END             0x10
#define NC_READ_STATUS_ENHANCED         0x78
 
void do_delay(int cycles);
 
void cmd_chip_enable(unsigned char* cmd);
void cmd_chip_disable();
void cmd_chip_reset();
void cmd_chip_read_id(unsigned char* outBuffer, int addr);
void cmd_chip_read_param_page(unsigned char* outBuffer);
void cmd_chip_read_page(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles);
void cmd_chip_read_page_cache_sequential(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCylces);
unsigned char cmd_chip_read_status();
unsigned char cmd_chip_read_status_enhanced(unsigned char* inBuffer, int addressCycles);
void cmd_chip_read_unique_id(unsigned char* outBuffer);
void cmd_chip_block_erase(unsigned char* inBuffer);
unsigned char cmd_chip_page_program(unsigned char* inBuffer, int addressCycles, int pageSize);
 
#endif  /*  CMD_H   */

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.