1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2011-05-25 Bernard first version 9 */ 10 11 #ifndef __NAND_H__ 12 #define __NAND_H__ 13 14 #include <rtthread.h> 15 16 #define IO_NF_PFR FM3_GPIO->PFR3 17 #define IO_NF_DDR FM3_GPIO->DDR3 18 #define IO_NF_PDOR FM3_GPIO->PDOR3 19 20 #define NF_EN 0x0008 21 #define NF_DATA_DIR 0x0004 22 23 #define EXT_BUS_BASE_ADDR 0x60000000 24 #define EXT_CS7_OFFSET 0x0E000000 25 #define EXT_CS7_SIZE 0x02000000 26 27 #define NF_FLASH_BASE_ADDR (EXT_BUS_BASE_ADDR+EXT_CS7_OFFSET) 28 29 #define NF_ALE_OFFSET 0x00003000 30 #define NF_ADDR_OFFSET 0x00002000 31 #define NF_CMD_OFFSET 0x00001000 32 #define NF_DATA_OFFSET 0x00000000 33 34 /* NAND command */ 35 #define NAND_CMD_READ0 0x00 36 #define NAND_CMD_READ1 0x01 37 #define NAND_CMD_PAGEPROG 0x10 38 #define NAND_CMD_READOOB 0x50 39 #define NAND_CMD_ERASE1 0x60 40 #define NAND_CMD_STATUS 0x70 41 #define NAND_CMD_SEQIN 0x80 42 #define NAND_CMD_READID 0x90 43 #define NAND_CMD_READID1 0x91 44 #define NAND_CMD_ERASE2 0xd0 45 #define NAND_CMD_RESET 0xff 46 47 #define FLASH_OK 0 48 #define FLASH_NG 1 49 50 /* nand flash device initialization */ 51 void rt_hw_nand_init(void); 52 53 #endif 54