From 8916b65502796a48c3422c0e867fe6edfa67037a Mon Sep 17 00:00:00 2001 From: Frank Li Date: Tue, 26 Oct 2010 16:54:19 +0800 Subject: ENGR00133049 Support nand flash for MX28 Support nand basic read/write in MX28 u-boot. Signed-off-by: Frank Li Signed-off-by: Terry Lv --- drivers/dma/apbh_dma.c | 7 +++---- drivers/mtd/nand/gpmi_nfc_gpmi.h | 2 +- drivers/mtd/nand/gpmi_nfc_hal.c | 8 ++++---- 3 files changed, 8 insertions(+), 9 deletions(-) (limited to 'drivers') diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c index 296125a3b..71d984236 100644 --- a/drivers/dma/apbh_dma.c +++ b/drivers/dma/apbh_dma.c @@ -16,12 +16,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include - #include #include #include #include +#include #include #ifdef CONFIG_ARCH_MMU @@ -268,7 +267,7 @@ static int mxs_dma_apbh_probe(void) BM_APBH_CTRL0_APB_BURST_EN); #endif - mxs_dma_apbh.chan_base = MXS_DMA_CHANNEL_AHB_APBH_GPMI0; + mxs_dma_apbh.chan_base = MXS_DMA_CHANNEL_AHB_APBH; mxs_dma_apbh.chan_num = MXS_MAX_DMA_CHANNELS; return mxs_dma_device_register(&mxs_dma_apbh); @@ -566,7 +565,7 @@ struct mxs_dma_desc *mxs_dma_alloc_desc(void) if (pdesc == NULL) return NULL; memset(pdesc, 0, sizeof(*pdesc)); - pdesc->address = pdesc; + pdesc->address = (dma_addr_t)pdesc; #endif return pdesc; diff --git a/drivers/mtd/nand/gpmi_nfc_gpmi.h b/drivers/mtd/nand/gpmi_nfc_gpmi.h index c82e2156c..bd56e4c5f 100644 --- a/drivers/mtd/nand/gpmi_nfc_gpmi.h +++ b/drivers/mtd/nand/gpmi_nfc_gpmi.h @@ -311,7 +311,7 @@ #define HW_GPMI_TIMING2 (0x00000090) -#if defined(CONFIG_GPMI_NFC_V0) +#if !defined(CONFIG_GPMI_NFC_V2) #define BP_GPMI_TIMING2_UDMA_TRP 24 #define BM_GPMI_TIMING2_UDMA_TRP 0xFF000000 diff --git a/drivers/mtd/nand/gpmi_nfc_hal.c b/drivers/mtd/nand/gpmi_nfc_hal.c index ca8bd01dc..23ce265e7 100644 --- a/drivers/mtd/nand/gpmi_nfc_hal.c +++ b/drivers/mtd/nand/gpmi_nfc_hal.c @@ -1113,7 +1113,7 @@ static int read_data(struct mtd_info *mtd, unsigned chip, (*d)->cmd.cmd.data = 0; (*d)->cmd.cmd.bits.command = DMA_WRITE; -#if defined(CONFIG_GPMI_NFC_V2) +#if !defined(CONFIG_GPMI_NFC_V0) (*d)->cmd.cmd.bits.chain = 0; (*d)->cmd.cmd.bits.irq = 1; #else @@ -1398,7 +1398,7 @@ static int read_page(struct mtd_info *mtd, unsigned chip, (*d)->cmd.cmd.bits.irq = 0; (*d)->cmd.cmd.bits.nand_lock = 0; (*d)->cmd.cmd.bits.nand_wait_4_ready = 1; -#if defined(CONFIG_GPMI_NFC_V2) +#if !defined(CONFIG_GPMI_NFC_V0) (*d)->cmd.cmd.bits.dec_sem = 0; #else (*d)->cmd.cmd.bits.dec_sem = 1; @@ -1446,7 +1446,7 @@ static int read_page(struct mtd_info *mtd, unsigned chip, (*d)->cmd.cmd.bits.irq = 0; (*d)->cmd.cmd.bits.nand_lock = 0; (*d)->cmd.cmd.bits.nand_wait_4_ready = 0; -#if defined(CONFIG_GPMI_NFC_V2) +#if !defined(CONFIG_GPMI_NFC_V0) (*d)->cmd.cmd.bits.dec_sem = 0; #else (*d)->cmd.cmd.bits.dec_sem = 1; @@ -1509,7 +1509,7 @@ static int read_page(struct mtd_info *mtd, unsigned chip, (*d)->cmd.cmd.bits.irq = 0; (*d)->cmd.cmd.bits.nand_lock = 0; (*d)->cmd.cmd.bits.nand_wait_4_ready = 1; -#if defined(CONFIG_GPMI_NFC_V2) +#if !defined(CONFIG_GPMI_NFC_V0) (*d)->cmd.cmd.bits.dec_sem = 0; #else (*d)->cmd.cmd.bits.dec_sem = 1; -- cgit v1.2.3