summaryrefslogtreecommitdiff
path: root/bsp/fujitsu/mb9x/mb9bf506r/drivers/nand.h
blob: d00909ddceb0d58beb77d4214f9795ec5dd67220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2011-05-25     Bernard      first version
 */

#ifndef __NAND_H__
#define __NAND_H__

#include <rtthread.h>

#define IO_NF_PFR     FM3_GPIO->PFR3
#define IO_NF_DDR     FM3_GPIO->DDR3
#define IO_NF_PDOR    FM3_GPIO->PDOR3

#define NF_EN         0x0008
#define NF_DATA_DIR   0x0004

#define EXT_BUS_BASE_ADDR    0x60000000
#define EXT_CS7_OFFSET       0x0E000000
#define EXT_CS7_SIZE         0x02000000

#define NF_FLASH_BASE_ADDR   (EXT_BUS_BASE_ADDR+EXT_CS7_OFFSET)

#define NF_ALE_OFFSET        0x00003000
#define NF_ADDR_OFFSET       0x00002000
#define NF_CMD_OFFSET        0x00001000
#define NF_DATA_OFFSET       0x00000000

/* NAND command */
#define NAND_CMD_READ0     0x00
#define NAND_CMD_READ1     0x01
#define NAND_CMD_PAGEPROG  0x10
#define NAND_CMD_READOOB   0x50
#define NAND_CMD_ERASE1    0x60
#define NAND_CMD_STATUS    0x70
#define NAND_CMD_SEQIN     0x80
#define NAND_CMD_READID    0x90
#define NAND_CMD_READID1   0x91
#define NAND_CMD_ERASE2    0xd0
#define NAND_CMD_RESET     0xff

#define FLASH_OK           0
#define FLASH_NG           1

/* nand flash device initialization */
void rt_hw_nand_init(void);

#endif