140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project/* 240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * YAFFS: Yet another FFS. A NAND-flash specific file system. 340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * yaffs_ramdisk.h: yaffs ram disk component 440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * Copyright (C) 2002 Aleph One Ltd. 640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * Created by Charles Manning <charles@aleph1.co.uk> 840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * This program is free software; you can redistribute it and/or modify 1040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * it under the terms of the GNU General Public License version 2 as 1140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * published by the Free Software Foundation. 1240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 1340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * $Id: yaffs_flashif.h,v 1.1 2004/11/03 08:29:28 charles Exp $ 1440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project */ 1540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 1640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// This provides a rma disk under yaffs. 1740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// NB this is not intended for NAND emulation. 1840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// Use this with dev->useNANDECC enabled, then ECC overheads are not required. 1940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 2040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#ifndef __YAFFS_FLASH_H__ 2140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#define __YAFFS_FLASH_H__ 2240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 2340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 2440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#include "yaffs_guts.h" 2540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_EraseBlockInNAND(yaffs_Device *dev, int blockNumber); 2640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_WriteChunkToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, const yaffs_Spare *spare); 2740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, yaffs_ExtendedTags *tags); 2840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_ReadChunkFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_Spare *spare); 2940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_ExtendedTags *tags); 3040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_EraseBlockInNAND(yaffs_Device *dev, int blockNumber); 3140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_InitialiseNAND(yaffs_Device *dev); 3240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo); 3340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yflash_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, yaffs_BlockState *state, int *sequenceNumber); 3440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 3540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#endif 36