nand read error problem in uboot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

nand read error problem in uboot

2,812 Views
kevin_chan
Contributor III

i got "dma error" when use "nand read" in uboot, below is my context:

hardware: imx6q

nandflash: micron 29F32G08CBAAAWP

software version: L3.0.35_1.1.0

debug log:

**********************************************************************************************

U-Boot 2009.08-dirty (Mar 19 2013 - 17:04:22)

CPU: Freescale i.MX6 family TO1.1 at 792 MHz

Temperature:   35 C, calibration data 0x5924ff7d

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 264000000Hz

emi_slow clock: 132000000Hz

ddr clock     : 528000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 11000000Hz

Board: i.MX6Q-SABRESD: unknown-board Board: 0x63011 [POR ]

Boot Device: SD

I2C:   ready

DRAM:   1 GB

NAND:  ONFI param page 0 valid

ONFI flash detected

Manufacturer ID: 0x2c, Chip ID: 0xd7 (Micron MT29F32G08CBAAAWP), page size: 4096, OOB size: 218

4096 MiB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3

In:    serial

Out:   serial

Err:   serial

Found PFUZE100! deviceid=10,revid=11

Net:   got MAC address from IIM: 00:00:00:00:00:00

FEC0 [PRIME]

Hit any key to stop autoboot:  0

MX6Q SABRESD U-Boot >

MX6Q SABRESD U-Boot >

MX6Q SABRESD U-Boot >

MX6Q SABRESD U-Boot >

MX6Q SABRESD U-Boot >

MX6Q SABRESD U-Boot >

MX6Q SABRESD U-Boot > nand read 0x10800000 0x1000000 0x400000

NAND read: device 0 offset 0x1000000, size 0x400000

[read_page] DMA error

[read_page] bch timeout!!!

[gpmi_nfc_ecc_read_page] Error in ECC-based read: -110

NAND read from offset 1000000 failed -110

0 bytes read: ERROR

MX6Q SABRESD U-Boot >

***************************************************************************************************

hope someone can give me suggestion.

Labels (2)
0 Kudos
1 Reply

860 Views
kevin_chan
Contributor III

has solved this problem, just follow this patch:

board/freescale/mx6q_sabresd/mx6q_sabresd.c in uboot.


iomux_v3_cfg_t nfc_pads[] = {
@@ -947,11 +947,11 @@ int board_eth_init(bd_t *bis)
  * that is required for UHS-I mode of operation.
  * Last element in struct is used to indicate 1.8V support.
  */
-struct fsl_esdhc_cfg usdhc_cfg[4] = {
+struct fsl_esdhc_cfg usdhc_cfg[3] = {
        {USDHC1_BASE_ADDR, 1, 1, 1, 0},
        {USDHC2_BASE_ADDR, 1, 1, 1, 0},
        {USDHC3_BASE_ADDR, 1, 1, 1, 0},
-       {USDHC4_BASE_ADDR, 1, 1, 1, 0},
+       /* {USDHC4_BASE_ADDR, 1, 1, 1, 0}, */
};

#ifdef CONFIG_DYNAMIC_MMC_DEVNO
@@ -1081,11 +1081,11 @@ int usdhc_gpio_init(bd_t *bis)
                                sizeof(usdhc3_pads) /
                                sizeof(usdhc3_pads[0]));
                        break;
-               case 3:
-                       mxc_iomux_v3_setup_multiple_pads(usdhc4_pads,
-                               sizeof(usdhc4_pads) /
-                               sizeof(usdhc4_pads[0]));
-                       break;
+               /* case 3: */
+               /*      mxc_iomux_v3_setup_multiple_pads(usdhc4_pads, */
+               /*              sizeof(usdhc4_pads) / */
+               /*              sizeof(usdhc4_pads[0])); */
+               /*      break; */
                default:
                        printf("Warning: you configured more USDHC controllers"
                                "(%d) then supported by the board (%d)\n",


0 Kudos