Add nand driver that works with a nand simulator
[yaffs2.git] / direct / test-framework / nand_chip.h
1 /*
2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
3  *
4  * Copyright (C) 2002-2011 Aleph One Ltd.
5  *
6  * Created by Charles Manning <charles@aleph1.co.uk>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1 as
10  * published by the Free Software Foundation.
11  *
12  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
13  */
14
15 #ifndef __NAND_CHIP_H__
16 #define __NAND_CHIP_H__
17
18 #include <stdint.h>
19
20 struct nand_chip {
21         void *private_data;
22
23         void (*set_ale)(struct nand_chip * this, int high);
24         void (*set_cle)(struct nand_chip * this, int high);
25
26         unsigned (*read_cycle)(struct nand_chip * this);
27         void (*write_cycle)(struct nand_chip * this, unsigned b);
28
29         int (*check_busy)(struct nand_chip * this);
30         void (*idle_fn) (struct nand_chip *this);
31         int (*power_check) (struct nand_chip *this);
32
33         int blocks;
34         int pages_per_block;
35         int data_bytes_per_page;
36         int spare_bytes_per_page;
37         int bus_width_shift;
38 };
39 #endif