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 /* Interface to emulated NAND functions (2k page size) */ 170e8cc8bdSWilliam Juul 180e8cc8bdSWilliam Juul #ifndef __YAFFS_NANDEMUL2K_H__ 190e8cc8bdSWilliam Juul #define __YAFFS_NANDEMUL2K_H__ 200e8cc8bdSWilliam Juul 210e8cc8bdSWilliam Juul #include "yaffs_guts.h" 220e8cc8bdSWilliam Juul 23*753ac610SCharles Manning int nandemul2k_WriteChunkWithTagsToNAND(struct yaffs_dev *dev, 24*753ac610SCharles Manning int nand_chunk, const u8 *data, 25*753ac610SCharles Manning const struct yaffs_ext_tags *tags); 26*753ac610SCharles Manning int nandemul2k_ReadChunkWithTagsFromNAND(struct yaffs_dev *dev, 27*753ac610SCharles Manning int nand_chunk, u8 *data, 28*753ac610SCharles Manning struct yaffs_ext_tags *tags); 29*753ac610SCharles Manning int nandemul2k_MarkNANDBlockBad(struct yaffs_dev *dev, int block_no); 30*753ac610SCharles Manning int nandemul2k_QueryNANDBlock(struct yaffs_dev *dev, int block_no, 31*753ac610SCharles Manning enum yaffs_block_state *state, u32 *seq_number); 32*753ac610SCharles Manning int nandemul2k_EraseBlockInNAND(struct yaffs_dev *dev, 33*753ac610SCharles Manning int flash_block); 34*753ac610SCharles Manning int nandemul2k_InitialiseNAND(struct yaffs_dev *dev); 350e8cc8bdSWilliam Juul int nandemul2k_GetBytesPerChunk(void); 360e8cc8bdSWilliam Juul int nandemul2k_GetChunksPerBlock(void); 370e8cc8bdSWilliam Juul int nandemul2k_GetNumberOfBlocks(void); 380e8cc8bdSWilliam Juul 390e8cc8bdSWilliam Juul #endif 40