Merge branch 'master' of git://www.denx.de/git/u-boot-mpc86xx
[kernel/u-boot.git] / onenand_ipl / onenand_ipl.h
1 /*
2  * (C) Copyright 2005-2008 Samsung Electronics
3  * Kyungmin Park <kyungmin.park@samsung.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation; either version 2 of
8  * the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
18  * MA 02111-1307 USA
19  */
20
21 #ifndef _ONENAND_IPL_H
22 #define _ONENAND_IPL_H
23
24 #include <linux/mtd/onenand_regs.h>
25
26 #define ONENAND_START_BLOCK             0
27 #define ONENAND_BLOCK_SIZE              2048
28
29 #ifndef CFG_PRINTF
30 #define printf(format, args...)
31 #endif
32
33 #define onenand_readw(a)        readw(a)
34 #define onenand_writew(v, a)    writew(v, a)
35
36 #define THIS_ONENAND(a)         (CFG_ONENAND_BASE + (a))
37
38 #define READ_INTERRUPT()                                                \
39         onenand_readw(THIS_ONENAND(ONENAND_REG_INTERRUPT))
40
41 #define ONENAND_PAGE_SIZE                       2048
42
43 extern int onenand_read_block(unsigned char *buf, ulong block);
44 #endif