blob: 4449f987bf7ffb22adf79208b2b9b31866a3041e [file] [log] [blame]
Kyungmin Parkaf3d11c2007-09-10 17:15:14 +09001/*
2 * Header file for OneNAND support for U-Boot
3 *
4 * Adaptation from kernel to U-Boot
5 *
6 * Copyright (C) 2005-2007 Samsung Electronics
7 * Kyungmin Park <kyungmin.park@samsung.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14#ifndef __UBOOT_ONENAND_H
15#define __UBOOT_ONENAND_H
16
Scott Wood8b759262008-05-22 10:49:00 -050017#include <linux/types.h>
18
Kyungmin Parkaf3d11c2007-09-10 17:15:14 +090019struct kvec {
20 void *iov_base;
21 size_t iov_len;
22};
23
24typedef int spinlock_t;
25typedef int wait_queue_head_t;
26
Scott Wood8b759262008-05-22 10:49:00 -050027struct mtd_info;
28struct erase_info;
29
Kyungmin Parkaf3d11c2007-09-10 17:15:14 +090030/* Functions */
31extern void onenand_init(void);
32extern int onenand_read(struct mtd_info *mtd, loff_t from, size_t len,
33 size_t * retlen, u_char * buf);
34extern int onenand_read_oob(struct mtd_info *mtd, loff_t from, size_t len,
35 size_t * retlen, u_char * buf);
36extern int onenand_write(struct mtd_info *mtd, loff_t from, size_t len,
37 size_t * retlen, const u_char * buf);
38extern int onenand_erase(struct mtd_info *mtd, struct erase_info *instr);
39
40extern int onenand_unlock(struct mtd_info *mtd, loff_t ofs, size_t len);
41
42extern void onenand_print_device_info(int device, int verbose);
43
44#endif /* __UBOOT_ONENAND_H */