flash: rename CamelCase symbols
Each driver is almost self-contained, with no cross dependency. Changing symbol names in one drive does not impact the other. Change-Id: Ic09f844f922a35cf0a9dc23fcd61d035b38308b3 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/6299 Tested-by: jenkins Reviewed-by: Marc Schink <dev@zapb.de>
This commit is contained in:
@@ -25,13 +25,13 @@
|
||||
#include "imp.h"
|
||||
#include "arm_io.h"
|
||||
|
||||
#define AT91C_PIOx_SODR (0x30) /**< Offset to PIO SODR. */
|
||||
#define AT91C_PIOx_CODR (0x34) /**< Offset to PIO CODR. */
|
||||
#define AT91C_PIOx_PDSR (0x3C) /**< Offset to PIO PDSR. */
|
||||
#define AT91C_ECCx_CR (0x00) /**< Offset to ECC CR. */
|
||||
#define AT91C_ECCx_SR (0x08) /**< Offset to ECC SR. */
|
||||
#define AT91C_ECCx_PR (0x0C) /**< Offset to ECC PR. */
|
||||
#define AT91C_ECCx_NPR (0x10) /**< Offset to ECC NPR. */
|
||||
#define AT91C_PIOX_SODR (0x30) /**< Offset to PIO SODR. */
|
||||
#define AT91C_PIOX_CODR (0x34) /**< Offset to PIO CODR. */
|
||||
#define AT91C_PIOX_PDSR (0x3C) /**< Offset to PIO PDSR. */
|
||||
#define AT91C_ECCX_CR (0x00) /**< Offset to ECC CR. */
|
||||
#define AT91C_ECCX_SR (0x08) /**< Offset to ECC SR. */
|
||||
#define AT91C_ECCX_PR (0x0C) /**< Offset to ECC PR. */
|
||||
#define AT91C_ECCX_NPR (0x10) /**< Offset to ECC NPR. */
|
||||
|
||||
/**
|
||||
* Representation of a pin on an AT91SAM9 chip.
|
||||
@@ -113,7 +113,7 @@ static int at91sam9_enable(struct nand_device *nand)
|
||||
struct at91sam9_nand *info = nand->controller_priv;
|
||||
struct target *target = nand->target;
|
||||
|
||||
return target_write_u32(target, info->ce.pioc + AT91C_PIOx_CODR, 1 << info->ce.num);
|
||||
return target_write_u32(target, info->ce.pioc + AT91C_PIOX_CODR, 1 << info->ce.num);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -127,7 +127,7 @@ static int at91sam9_disable(struct nand_device *nand)
|
||||
struct at91sam9_nand *info = nand->controller_priv;
|
||||
struct target *target = nand->target;
|
||||
|
||||
return target_write_u32(target, info->ce.pioc + AT91C_PIOx_SODR, 1 << info->ce.num);
|
||||
return target_write_u32(target, info->ce.pioc + AT91C_PIOX_SODR, 1 << info->ce.num);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -237,7 +237,7 @@ static int at91sam9_nand_ready(struct nand_device *nand, int timeout)
|
||||
return 0;
|
||||
|
||||
do {
|
||||
target_read_u32(target, info->busy.pioc + AT91C_PIOx_PDSR, &status);
|
||||
target_read_u32(target, info->busy.pioc + AT91C_PIOX_PDSR, &status);
|
||||
|
||||
if (status & (1 << info->busy.num))
|
||||
return 1;
|
||||
@@ -311,7 +311,7 @@ static int at91sam9_ecc_init(struct target *target, struct at91sam9_nand *info)
|
||||
}
|
||||
|
||||
/* reset ECC parity registers */
|
||||
return target_write_u32(target, info->ecc + AT91C_ECCx_CR, 1);
|
||||
return target_write_u32(target, info->ecc + AT91C_ECCX_CR, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -384,7 +384,7 @@ static int at91sam9_read_page(struct nand_device *nand, uint32_t page,
|
||||
oob_data = at91sam9_oob_init(nand, oob, &oob_size);
|
||||
retval = nand_read_data_page(nand, oob_data, oob_size);
|
||||
if (ERROR_OK == retval && data) {
|
||||
target_read_u32(target, info->ecc + AT91C_ECCx_SR, &status);
|
||||
target_read_u32(target, info->ecc + AT91C_ECCX_SR, &status);
|
||||
if (status & 1) {
|
||||
LOG_ERROR("Error detected!");
|
||||
if (status & 4)
|
||||
@@ -394,7 +394,7 @@ static int at91sam9_read_page(struct nand_device *nand, uint32_t page,
|
||||
uint32_t parity;
|
||||
|
||||
target_read_u32(target,
|
||||
info->ecc + AT91C_ECCx_PR,
|
||||
info->ecc + AT91C_ECCX_PR,
|
||||
&parity);
|
||||
uint32_t word = (parity & 0x0000FFF0) >> 4;
|
||||
uint32_t bit = parity & 0x0F;
|
||||
@@ -462,8 +462,8 @@ static int at91sam9_write_page(struct nand_device *nand, uint32_t page,
|
||||
|
||||
if (!oob) {
|
||||
/* no OOB given, so read in the ECC parity from the ECC controller */
|
||||
target_read_u32(target, info->ecc + AT91C_ECCx_PR, &parity);
|
||||
target_read_u32(target, info->ecc + AT91C_ECCx_NPR, &nparity);
|
||||
target_read_u32(target, info->ecc + AT91C_ECCX_PR, &parity);
|
||||
target_read_u32(target, info->ecc + AT91C_ECCX_NPR, &nparity);
|
||||
|
||||
oob_data[0] = (uint8_t) parity;
|
||||
oob_data[1] = (uint8_t) (parity >> 8);
|
||||
|
||||
@@ -90,7 +90,7 @@ NAND_DEVICE_COMMAND_HANDLER(lpc32xx_nand_device_command)
|
||||
"1000 and 20000 kHz, was %i",
|
||||
lpc32xx_info->osc_freq);
|
||||
|
||||
lpc32xx_info->selected_controller = LPC32xx_NO_CONTROLLER;
|
||||
lpc32xx_info->selected_controller = LPC32XX_NO_CONTROLLER;
|
||||
lpc32xx_info->sw_write_protection = 0;
|
||||
lpc32xx_info->sw_wp_lower_bound = 0x0;
|
||||
lpc32xx_info->sw_wp_upper_bound = 0x0;
|
||||
@@ -222,13 +222,13 @@ static int lpc32xx_init(struct nand_device *nand)
|
||||
}
|
||||
|
||||
/* select MLC controller if none is currently selected */
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_DEBUG("no LPC32xx NAND flash controller selected, "
|
||||
"using default 'slc'");
|
||||
lpc32xx_info->selected_controller = LPC32xx_SLC_CONTROLLER;
|
||||
lpc32xx_info->selected_controller = LPC32XX_SLC_CONTROLLER;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
uint32_t mlc_icr_value = 0x0;
|
||||
float cycle;
|
||||
int twp, twh, trp, treh, trhz, trbwb, tcea;
|
||||
@@ -304,7 +304,7 @@ static int lpc32xx_init(struct nand_device *nand)
|
||||
retval = lpc32xx_reset(nand);
|
||||
if (ERROR_OK != retval)
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
float cycle;
|
||||
int r_setup, r_hold, r_width, r_rdy;
|
||||
int w_setup, w_hold, w_width, w_rdy;
|
||||
@@ -401,10 +401,10 @@ static int lpc32xx_reset(struct nand_device *nand)
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
/* MLC_CMD = 0xff (reset controller and NAND device) */
|
||||
retval = target_write_u32(target, 0x200b8000, 0xff);
|
||||
if (ERROR_OK != retval) {
|
||||
@@ -417,7 +417,7 @@ static int lpc32xx_reset(struct nand_device *nand)
|
||||
"after reset");
|
||||
return ERROR_NAND_OPERATION_TIMEOUT;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
/* SLC_CTRL = 0x6 (ECC_CLEAR, SW_RESET) */
|
||||
retval = target_write_u32(target, 0x20020010, 0x6);
|
||||
if (ERROR_OK != retval) {
|
||||
@@ -447,17 +447,17 @@ static int lpc32xx_command(struct nand_device *nand, uint8_t command)
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
/* MLC_CMD = command */
|
||||
retval = target_write_u32(target, 0x200b8000, command);
|
||||
if (ERROR_OK != retval) {
|
||||
LOG_ERROR("could not set MLC_CMD");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
/* SLC_CMD = command */
|
||||
retval = target_write_u32(target, 0x20020008, command);
|
||||
if (ERROR_OK != retval) {
|
||||
@@ -481,17 +481,17 @@ static int lpc32xx_address(struct nand_device *nand, uint8_t address)
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
/* MLC_ADDR = address */
|
||||
retval = target_write_u32(target, 0x200b8004, address);
|
||||
if (ERROR_OK != retval) {
|
||||
LOG_ERROR("could not set MLC_ADDR");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
/* SLC_ADDR = address */
|
||||
retval = target_write_u32(target, 0x20020004, address);
|
||||
if (ERROR_OK != retval) {
|
||||
@@ -515,17 +515,17 @@ static int lpc32xx_write_data(struct nand_device *nand, uint16_t data)
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
/* MLC_DATA = data */
|
||||
retval = target_write_u32(target, 0x200b0000, data);
|
||||
if (ERROR_OK != retval) {
|
||||
LOG_ERROR("could not set MLC_DATA");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
/* SLC_DATA = data */
|
||||
retval = target_write_u32(target, 0x20020000, data);
|
||||
if (ERROR_OK != retval) {
|
||||
@@ -549,10 +549,10 @@ static int lpc32xx_read_data(struct nand_device *nand, void *data)
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
/* data = MLC_DATA, use sized access */
|
||||
if (nand->bus_width == 8) {
|
||||
uint8_t *data8 = data;
|
||||
@@ -565,7 +565,7 @@ static int lpc32xx_read_data(struct nand_device *nand, void *data)
|
||||
LOG_ERROR("could not read MLC_DATA");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
uint32_t data32;
|
||||
|
||||
/* data = SLC_DATA, must use 32-bit access */
|
||||
@@ -1233,10 +1233,10 @@ static int lpc32xx_write_page(struct nand_device *nand, uint32_t page,
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
if (!data && oob) {
|
||||
LOG_ERROR("LPC32xx MLC controller can't write "
|
||||
"OOB data only");
|
||||
@@ -1256,7 +1256,7 @@ static int lpc32xx_write_page(struct nand_device *nand, uint32_t page,
|
||||
|
||||
retval = lpc32xx_write_page_mlc(nand, page, data, data_size,
|
||||
oob, oob_size);
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
struct working_area *pworking_area;
|
||||
if (!data && oob) {
|
||||
/*
|
||||
@@ -1584,17 +1584,17 @@ static int lpc32xx_read_page(struct nand_device *nand, uint32_t page,
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_NO_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_NO_CONTROLLER) {
|
||||
LOG_ERROR("BUG: no LPC32xx NAND flash controller selected");
|
||||
return ERROR_NAND_OPERATION_FAILED;
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
if (data_size > (uint32_t)nand->page_size) {
|
||||
LOG_ERROR("data size exceeds page size");
|
||||
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
|
||||
}
|
||||
retval = lpc32xx_read_page_mlc(nand, page, data, data_size,
|
||||
oob, oob_size);
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
struct working_area *pworking_area;
|
||||
|
||||
retval = target_alloc_working_area(target,
|
||||
@@ -1628,7 +1628,7 @@ static int lpc32xx_controller_ready(struct nand_device *nand, int timeout)
|
||||
LOG_DEBUG("lpc32xx_controller_ready count start=%d", timeout);
|
||||
|
||||
do {
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
uint8_t status;
|
||||
|
||||
/* Read MLC_ISR, wait for controller to become ready */
|
||||
@@ -1643,7 +1643,7 @@ static int lpc32xx_controller_ready(struct nand_device *nand, int timeout)
|
||||
timeout);
|
||||
return 1;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
uint32_t status;
|
||||
|
||||
/* Read SLC_STAT and check READY bit */
|
||||
@@ -1681,7 +1681,7 @@ static int lpc32xx_nand_ready(struct nand_device *nand, int timeout)
|
||||
LOG_DEBUG("lpc32xx_nand_ready count start=%d", timeout);
|
||||
|
||||
do {
|
||||
if (lpc32xx_info->selected_controller == LPC32xx_MLC_CONTROLLER) {
|
||||
if (lpc32xx_info->selected_controller == LPC32XX_MLC_CONTROLLER) {
|
||||
uint8_t status = 0x0;
|
||||
|
||||
/* Read MLC_ISR, wait for NAND flash device to
|
||||
@@ -1697,7 +1697,7 @@ static int lpc32xx_nand_ready(struct nand_device *nand, int timeout)
|
||||
timeout);
|
||||
return 1;
|
||||
}
|
||||
} else if (lpc32xx_info->selected_controller == LPC32xx_SLC_CONTROLLER) {
|
||||
} else if (lpc32xx_info->selected_controller == LPC32XX_SLC_CONTROLLER) {
|
||||
uint32_t status = 0x0;
|
||||
|
||||
/* Read SLC_STAT and check READY bit */
|
||||
@@ -1770,10 +1770,10 @@ COMMAND_HANDLER(handle_lpc32xx_select_command)
|
||||
if (CMD_ARGC >= 2) {
|
||||
if (strcmp(CMD_ARGV[1], "mlc") == 0) {
|
||||
lpc32xx_info->selected_controller =
|
||||
LPC32xx_MLC_CONTROLLER;
|
||||
LPC32XX_MLC_CONTROLLER;
|
||||
} else if (strcmp(CMD_ARGV[1], "slc") == 0) {
|
||||
lpc32xx_info->selected_controller =
|
||||
LPC32xx_SLC_CONTROLLER;
|
||||
LPC32XX_SLC_CONTROLLER;
|
||||
} else
|
||||
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||
}
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
#define OPENOCD_FLASH_NAND_LPC32XX_H
|
||||
|
||||
enum lpc32xx_selected_controller {
|
||||
LPC32xx_NO_CONTROLLER,
|
||||
LPC32xx_MLC_CONTROLLER,
|
||||
LPC32xx_SLC_CONTROLLER,
|
||||
LPC32XX_NO_CONTROLLER,
|
||||
LPC32XX_MLC_CONTROLLER,
|
||||
LPC32XX_SLC_CONTROLLER,
|
||||
};
|
||||
|
||||
struct lpc32xx_nand_controller {
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
#define S3C2410_NFCONF_512BYTE (1 << 14)
|
||||
#define S3C2410_NFCONF_4STEP (1 << 13)
|
||||
#define S3C2410_NFCONF_INITECC (1 << 12)
|
||||
#define S3C2410_NFCONF_nFCE (1 << 11)
|
||||
#define S3C2410_NFCONF_NFCE (1 << 11)
|
||||
#define S3C2410_NFCONF_TACLS(x) ((x) << 8)
|
||||
#define S3C2410_NFCONF_TWRPH0(x) ((x) << 4)
|
||||
#define S3C2410_NFCONF_TWRPH1(x) ((x) << 0)
|
||||
@@ -83,12 +83,12 @@
|
||||
#define S3C2440_NFCONT_SPARE_ECCLOCK (1 << 6)
|
||||
#define S3C2440_NFCONT_MAIN_ECCLOCK (1 << 5)
|
||||
#define S3C2440_NFCONT_INITECC (1 << 4)
|
||||
#define S3C2440_NFCONT_nFCE (1 << 1)
|
||||
#define S3C2440_NFCONT_NFCE (1 << 1)
|
||||
#define S3C2440_NFCONT_ENABLE (1 << 0)
|
||||
|
||||
#define S3C2440_NFSTAT_READY (1 << 0)
|
||||
#define S3C2440_NFSTAT_nCE (1 << 1)
|
||||
#define S3C2440_NFSTAT_RnB_CHANGE (1 << 2)
|
||||
#define S3C2440_NFSTAT_NCE (1 << 1)
|
||||
#define S3C2440_NFSTAT_RNB_CHANGE (1 << 2)
|
||||
#define S3C2440_NFSTAT_ILLEGAL_ACCESS (1 << 3)
|
||||
|
||||
#define S3C2412_NFCONF_NANDBOOT (1 << 31)
|
||||
@@ -103,16 +103,16 @@
|
||||
#define S3C2412_NFCONT_ECC4_DECINT (1 << 12)
|
||||
#define S3C2412_NFCONT_MAIN_ECC_LOCK (1 << 7)
|
||||
#define S3C2412_NFCONT_INIT_MAIN_ECC (1 << 5)
|
||||
#define S3C2412_NFCONT_nFCE1 (1 << 2)
|
||||
#define S3C2412_NFCONT_nFCE0 (1 << 1)
|
||||
#define S3C2412_NFCONT_NFCE1 (1 << 2)
|
||||
#define S3C2412_NFCONT_NFCE0 (1 << 1)
|
||||
|
||||
#define S3C2412_NFSTAT_ECC_ENCDONE (1 << 7)
|
||||
#define S3C2412_NFSTAT_ECC_DECDONE (1 << 6)
|
||||
#define S3C2412_NFSTAT_ILLEGAL_ACCESS (1 << 5)
|
||||
#define S3C2412_NFSTAT_RnB_CHANGE (1 << 4)
|
||||
#define S3C2412_NFSTAT_nFCE1 (1 << 3)
|
||||
#define S3C2412_NFSTAT_nFCE0 (1 << 2)
|
||||
#define S3C2412_NFSTAT_Res1 (1 << 1)
|
||||
#define S3C2412_NFSTAT_RNB_CHANGE (1 << 4)
|
||||
#define S3C2412_NFSTAT_NFCE1 (1 << 3)
|
||||
#define S3C2412_NFSTAT_NFCE0 (1 << 2)
|
||||
#define S3C2412_NFSTAT_RES1 (1 << 1)
|
||||
#define S3C2412_NFSTAT_READY (1 << 0)
|
||||
|
||||
#define S3C2412_NFECCERR_SERRDATA(x) (((x) >> 21) & 0xf)
|
||||
|
||||
Reference in New Issue
Block a user