xref: /openbmc/u-boot/fs/yaffs2/yaffs_nand.h (revision 753ac610)
10e8cc8bdSWilliam Juul /*
20e8cc8bdSWilliam Juul  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
30e8cc8bdSWilliam Juul  *
4*753ac610SCharles Manning  * Copyright (C) 2002-2011 Aleph One Ltd.
50e8cc8bdSWilliam Juul  *   for Toby Churchill Ltd and Brightstar Engineering
60e8cc8bdSWilliam Juul  *
70e8cc8bdSWilliam Juul  * Created by Charles Manning <charles@aleph1.co.uk>
80e8cc8bdSWilliam Juul  *
90e8cc8bdSWilliam Juul  * This program is free software; you can redistribute it and/or modify
100e8cc8bdSWilliam Juul  * it under the terms of the GNU Lesser General Public License version 2.1 as
110e8cc8bdSWilliam Juul  * published by the Free Software Foundation.
120e8cc8bdSWilliam Juul  *
130e8cc8bdSWilliam Juul  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
140e8cc8bdSWilliam Juul  */
150e8cc8bdSWilliam Juul 
160e8cc8bdSWilliam Juul #ifndef __YAFFS_NAND_H__
170e8cc8bdSWilliam Juul #define __YAFFS_NAND_H__
180e8cc8bdSWilliam Juul #include "yaffs_guts.h"
190e8cc8bdSWilliam Juul 
20*753ac610SCharles Manning int yaffs_rd_chunk_tags_nand(struct yaffs_dev *dev, int nand_chunk,
21*753ac610SCharles Manning 			     u8 *buffer, struct yaffs_ext_tags *tags);
220e8cc8bdSWilliam Juul 
23*753ac610SCharles Manning int yaffs_wr_chunk_tags_nand(struct yaffs_dev *dev,
24*753ac610SCharles Manning 			     int nand_chunk,
25*753ac610SCharles Manning 			     const u8 *buffer, struct yaffs_ext_tags *tags);
260e8cc8bdSWilliam Juul 
27*753ac610SCharles Manning int yaffs_mark_bad(struct yaffs_dev *dev, int block_no);
280e8cc8bdSWilliam Juul 
29*753ac610SCharles Manning int yaffs_query_init_block_state(struct yaffs_dev *dev,
30*753ac610SCharles Manning 				 int block_no,
31*753ac610SCharles Manning 				 enum yaffs_block_state *state,
32*753ac610SCharles Manning 				 unsigned *seq_number);
330e8cc8bdSWilliam Juul 
34*753ac610SCharles Manning int yaffs_erase_block(struct yaffs_dev *dev, int flash_block);
350e8cc8bdSWilliam Juul 
36*753ac610SCharles Manning int yaffs_init_nand(struct yaffs_dev *dev);
370e8cc8bdSWilliam Juul 
380e8cc8bdSWilliam Juul #endif
39