![Arve Hjønnevåg](/assets/img/avatar_default.png)
Fold together the NAND driver for Goldfish from Arve with cleanups by Jun Nakajima and a tidy up to 3.7 and checkpatch. This provides a virtual flash driver for the Goldfish Android Virtual Platform, and which is normally used as the root file system when testing emulated devices. Signed-off-by: Mike A. Chan <mikechan@google.com> Signed-off-by: Arve Hjønnevåg <arve@android.com> [Ported to handle x86] Signed-off-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> [Ported to 3.4] Signed-off-by: Tom Keel <thomas.keel@intel.com> [Ported to 3.7 and tided for checkpatch etc] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
73 lines
1.8 KiB
C
73 lines
1.8 KiB
C
/* drivers/mtd/devices/goldfish_nand_reg.h
|
|
**
|
|
** Copyright (C) 2007 Google, Inc.
|
|
**
|
|
** This software is licensed under the terms of the GNU General Public
|
|
** License version 2, as published by the Free Software Foundation, and
|
|
** may be copied, distributed, and modified under those terms.
|
|
**
|
|
** This program is distributed in the hope that it will be useful,
|
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
** GNU General Public License for more details.
|
|
**
|
|
*/
|
|
|
|
#ifndef GOLDFISH_NAND_REG_H
|
|
#define GOLDFISH_NAND_REG_H
|
|
|
|
enum nand_cmd {
|
|
NAND_CMD_GET_DEV_NAME, /* Write device name for NAND_DEV to NAND_DATA (vaddr) */
|
|
NAND_CMD_READ,
|
|
NAND_CMD_WRITE,
|
|
NAND_CMD_ERASE,
|
|
NAND_CMD_BLOCK_BAD_GET, /* NAND_RESULT is 1 if block is bad, 0 if it is not */
|
|
NAND_CMD_BLOCK_BAD_SET,
|
|
NAND_CMD_READ_WITH_PARAMS,
|
|
NAND_CMD_WRITE_WITH_PARAMS,
|
|
NAND_CMD_ERASE_WITH_PARAMS
|
|
};
|
|
|
|
enum nand_dev_flags {
|
|
NAND_DEV_FLAG_READ_ONLY = 0x00000001,
|
|
NAND_DEV_FLAG_CMD_PARAMS_CAP = 0x00000002,
|
|
};
|
|
|
|
#define NAND_VERSION_CURRENT (1)
|
|
|
|
enum nand_reg {
|
|
/* Global */
|
|
NAND_VERSION = 0x000,
|
|
NAND_NUM_DEV = 0x004,
|
|
NAND_DEV = 0x008,
|
|
|
|
/* Dev info */
|
|
NAND_DEV_FLAGS = 0x010,
|
|
NAND_DEV_NAME_LEN = 0x014,
|
|
NAND_DEV_PAGE_SIZE = 0x018,
|
|
NAND_DEV_EXTRA_SIZE = 0x01c,
|
|
NAND_DEV_ERASE_SIZE = 0x020,
|
|
NAND_DEV_SIZE_LOW = 0x028,
|
|
NAND_DEV_SIZE_HIGH = 0x02c,
|
|
|
|
/* Command */
|
|
NAND_RESULT = 0x040,
|
|
NAND_COMMAND = 0x044,
|
|
NAND_DATA = 0x048,
|
|
NAND_TRANSFER_SIZE = 0x04c,
|
|
NAND_ADDR_LOW = 0x050,
|
|
NAND_ADDR_HIGH = 0x054,
|
|
NAND_CMD_PARAMS_ADDR_LOW = 0x058,
|
|
NAND_CMD_PARAMS_ADDR_HIGH = 0x05c,
|
|
};
|
|
|
|
struct cmd_params {
|
|
uint32_t dev;
|
|
uint32_t addr_low;
|
|
uint32_t addr_high;
|
|
uint32_t transfer_size;
|
|
uint32_t data;
|
|
uint32_t result;
|
|
};
|
|
#endif
|