nand.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #ifndef __NAND_H__
  11. #define __NAND_H__
  12. #include <rtthread.h>
  13. #define IO_NF_PFR FM3_GPIO->PFR3
  14. #define IO_NF_DDR FM3_GPIO->DDR3
  15. #define IO_NF_PDOR FM3_GPIO->PDOR3
  16. #define NF_EN 0x0008
  17. #define NF_DATA_DIR 0x0004
  18. #define EXT_BUS_BASE_ADDR 0x60000000
  19. #define EXT_CS7_OFFSET 0x0E000000
  20. #define EXT_CS7_SIZE 0x02000000
  21. #define NF_FLASH_BASE_ADDR (EXT_BUS_BASE_ADDR+EXT_CS7_OFFSET)
  22. #define NF_ALE_OFFSET 0x00003000
  23. #define NF_ADDR_OFFSET 0x00002000
  24. #define NF_CMD_OFFSET 0x00001000
  25. #define NF_DATA_OFFSET 0x00000000
  26. /* NAND command */
  27. #define NAND_CMD_READ0 0x00
  28. #define NAND_CMD_READ1 0x01
  29. #define NAND_CMD_PAGEPROG 0x10
  30. #define NAND_CMD_READOOB 0x50
  31. #define NAND_CMD_ERASE1 0x60
  32. #define NAND_CMD_STATUS 0x70
  33. #define NAND_CMD_SEQIN 0x80
  34. #define NAND_CMD_READID 0x90
  35. #define NAND_CMD_READID1 0x91
  36. #define NAND_CMD_ERASE2 0xd0
  37. #define NAND_CMD_RESET 0xff
  38. #define FLASH_OK 0
  39. #define FLASH_NG 1
  40. /* nand flash device initialization */
  41. void rt_hw_nand_init(void);
  42. #endif