From 16be2aab83744fb26063dd3375de000e04e220c4 Mon Sep 17 00:00:00 2001 From: Shakti Bhatnagar Date: Mon, 12 Jan 2015 19:01:28 +0530 Subject: [PATCH] nandps8_v2_0: Modified Bbt Signature and Version Offset. Modified Bbt Signature and Version Offset for Oob and No-Oob region. Signed-off-by: Shakti Bhatnagar --- .../drivers/nandps8_v2_0/src/xnandps8.c | 20 ++++++++++++++++++- .../drivers/nandps8_v2_0/src/xnandps8.h | 4 +++- .../drivers/nandps8_v2_0/src/xnandps8_bbm.c | 4 +++- .../drivers/nandps8_v2_0/src/xnandps8_bbm.h | 14 ++++++++++--- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.c b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.c index 0524ffe5..5d77ec7a 100644 --- a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.c +++ b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.c @@ -50,7 +50,7 @@ * Ver Who Date Changes * ----- ---- ---------- ----------------------------------------------- * 1.0 nm 05/06/2014 First release -* 2.0 sb 12/19/2014 Removed Null checks for Buffer passed +* 2.0 sb 01/12/2015 Removed Null checks for Buffer passed * as parameter to Read API's * - XNandPs8_Read() * - XNandPs8_ReadPage @@ -91,6 +91,8 @@ * XNandPs8_OnfiReset call. * Modified XNandPs8_ChangeTimingMode API supporting * SDR and NVDDR interface for timing modes 0 to 5. +* Modified Bbt Signature and Version Offset value for +* Oob and No-Oob region. * * ******************************************************************************/ @@ -814,6 +816,13 @@ void XNandPs8_EnableBbtOobMode(XNandPs8 *InstancePtr) Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); InstancePtr->BbtDesc.Option = XNANDPS8_BBT_OOB; InstancePtr->BbtMirrorDesc.Option = XNANDPS8_BBT_OOB; + /* + * Setting the Signature and Version Offset + */ + InstancePtr->BbtDesc.SigOffset = XNANDPS8_BBT_DESC_SIG_OFFSET; + InstancePtr->BbtMirrorDesc.SigOffset = XNANDPS8_BBT_DESC_SIG_OFFSET; + InstancePtr->BbtDesc.VerOffset = XNANDPS8_BBT_DESC_VER_OFFSET; + InstancePtr->BbtMirrorDesc.VerOffset = XNANDPS8_BBT_DESC_VER_OFFSET; } /*****************************************************************************/ @@ -838,6 +847,15 @@ void XNandPs8_DisableBbtOobMode(XNandPs8 *InstancePtr) Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); InstancePtr->BbtDesc.Option = XNANDPS8_BBT_NO_OOB; InstancePtr->BbtMirrorDesc.Option = XNANDPS8_BBT_NO_OOB; + /* + * Setting the Signature and Version Offset + */ + InstancePtr->BbtDesc.SigOffset = XNANDPS8_NO_OOB_BBT_DESC_SIG_OFFSET; + InstancePtr->BbtMirrorDesc.SigOffset = + XNANDPS8_NO_OOB_BBT_DESC_SIG_OFFSET; + InstancePtr->BbtDesc.VerOffset = XNANDPS8_NO_OOB_BBT_DESC_VER_OFFSET; + InstancePtr->BbtMirrorDesc.VerOffset = + XNANDPS8_NO_OOB_BBT_DESC_VER_OFFSET; } /*****************************************************************************/ diff --git a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.h b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.h index 6ccd2de1..eeebddd9 100644 --- a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.h +++ b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8.h @@ -106,7 +106,7 @@ * Ver Who Date Changes * ----- ---- ---------- ----------------------------------------------- * 1.0 nm 05/06/2014 First release -* 2.0 sb 12/19/2014 Removed Null checks for Buffer passed +* 2.0 sb 01/12/2015 Removed Null checks for Buffer passed * as parameter to Read API's * - XNandPs8_Read() * - XNandPs8_ReadPage @@ -149,6 +149,8 @@ * XNandPs8_OnfiReset call. * Modified XNandPs8_ChangeTimingMode API supporting * SDR and NVDDR interface for timing modes 0 to 5. +* Modified Bbt Signature and Version Offset value for +* Oob and No-Oob region. * * ******************************************************************************/ diff --git a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.c b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.c index eac0919d..5caa2b65 100644 --- a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.c +++ b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.c @@ -45,8 +45,10 @@ * Ver Who Date Changes * ----- ---- ---------- ----------------------------------------------- * 1.0 nm 05/06/2014 First release -* 2.0 sb 11/04/2014 Added support for writing BBT signature and version +* 2.0 sb 01/12/2015 Added support for writing BBT signature and version * in page section by enabling XNANDPS8_BBT_NO_OOB. +* Modified Bbt Signature and Version Offset value for +* Oob and No-Oob region. * * ******************************************************************************/ diff --git a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.h b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.h index 0c1801e9..083351fc 100644 --- a/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.h +++ b/XilinxProcessorIPLib/drivers/nandps8_v2_0/src/xnandps8_bbm.h @@ -84,8 +84,10 @@ * Ver Who Date Changes * ----- ---- ---------- ----------------------------------------------- * 1.0 nm 05/06/2014 First release -* 2.0 sb 11/04/2014 Added support for writing BBT signature and version +* 2.0 sb 01/12/2015 Added support for writing BBT signature and version * in page section by enabling XNANDPS8_BBT_NO_OOB. +* Modified Bbt Signature and Version Offset value for +* Oob and No-Oob region. * * ******************************************************************************/ @@ -124,10 +126,16 @@ extern "C" { */ #define XNANDPS8_BBT_DESC_PAGE_OFFSET 0U /**< Page offset of Bad Block Table Desc */ -#define XNANDPS8_BBT_DESC_SIG_OFFSET 2U /**< Bad Block Table +#define XNANDPS8_BBT_DESC_SIG_OFFSET 8U /**< Bad Block Table signature offset */ -#define XNANDPS8_BBT_DESC_VER_OFFSET 6U /**< Bad block Table +#define XNANDPS8_BBT_DESC_VER_OFFSET 12U /**< Bad block Table version offset */ +#define XNANDPS8_NO_OOB_BBT_DESC_SIG_OFFSET 0U /**< Bad Block Table + signature offset in + page memory */ +#define XNANDPS8_NO_OOB_BBT_DESC_VER_OFFSET 4U /**< Bad block Table + version offset in + page memory */ #define XNANDPS8_BBT_DESC_SIG_LEN 4U /**< Bad block Table signature length */ #define XNANDPS8_BBT_DESC_MAX_BLOCKS 64U /**< Bad block Table