Part Number: AM3358
Tool/software: Linux
After booting from SD card, how to access NAND on the GPEVM daughter board?
did not find any mtd with booting with pre-build image.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: AM3358
Tool/software: Linux
After booting from SD card, how to access NAND on the GPEVM daughter board?
did not find any mtd with booting with pre-build image.
Kemal,
I found a similar post your followed before: https://e2e.ti.com/support/processors/f/791/p/683793/2530829
On my side, also can't recognize NAND on UBOOT:
If it works on your side, please help to do a nand test:
/usr/bin/ nandtest -k /dev/mtd**
Because customer said on a OLD version SDK(Linux version 3.2.0+ ), there is bug on NAND driver:
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00020000: reading...
ECC failed at 00020000
00020000: reading...
Now plan to upgrade SDK, wants to ensure the bug is fixed on latest SDK.
Tony,
I'm afraid your EVM may just be too old. I booted my rev 2.1 board and was able to see the NAND with no problems.
Here is the U-Boot output:
U-Boot 2018.01-g9d984f4548 (Apr 06 2019 - 07:42:30 +0000)
CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 1 GiB
NAND: 256 MiB
MMC: OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment
And here is Linux:
root@am335x-evm:~# dmesg | grep nand
[ 0.184952] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
[ 1.529280] omap2-nand 8000000.nand: GPIO lookup for consumer rb
[ 1.529289] omap2-nand 8000000.nand: using device tree for GPIO lookup
[ 1.529334] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
[ 1.529523] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[ 1.535947] nand: Micron MT29F2G08ABAEAWP
[ 1.540103] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 1.547827] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[ 1.553315] 10 ofpart partitions found on MTD device omap2-nand.0
[ 1.559461] Creating 10 MTD partitions on "omap2-nand.0":
root@am335x-evm:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00020000 "NAND.SPL"
mtd1: 00020000 00020000 "NAND.SPL.backup1"
mtd2: 00020000 00020000 "NAND.SPL.backup2"
mtd3: 00020000 00020000 "NAND.SPL.backup3"
mtd4: 00040000 00020000 "NAND.u-boot-spl-os"
mtd5: 00100000 00020000 "NAND.u-boot"
mtd6: 00020000 00020000 "NAND.u-boot-env"
mtd7: 00020000 00020000 "NAND.u-boot-env.backup1"
mtd8: 00800000 00020000 "NAND.kernel"
mtd9: 0f600000 00020000 "NAND.file-system"
I believe I had the board configured in it's default state, but to be most clear here is what I have:
Profile Selection:
Sysboot Pins:
I hope this helps you.
Ron,
Thanks, would you please help do below NAND test on your board,:
/usr/bin/ nandtest -k /dev/mtd**
Because customer said on a OLD version SDK(Linux version 3.2.0+ ), there is bug on NAND driver:
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00020000: reading...
ECC failed at 00020000
00020000: reading...
Now plan to upgrade SDK, wants to ensure the bug is fixed on later/latest SDK.
Tony,
Sure, Here are the results using the same board as above. I did change the sysboot settings as I was booting from the NAND above and didn't realize it. So, I switched to SD Card with the latest SDK and ran nandtest on each partition. Results are below, I did not see any unrecoverable errors.
root@am335x-evm:~# nandtest -k /dev/mtd0
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00000000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd1
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00000000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd2
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00000000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd3
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00000000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd4
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00020000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd5
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
000e0000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd6
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00000000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd7
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00000000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd8
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
007e0000: checking...of 1)...
Finished pass 1 successfully
root@am335x-evm:~# nandtest -k /dev/mtd9
ECC corrections: 0
ECC failures : 0
Bad blocks : 0
BBT blocks : 0
00500000: reading... [ 134.799843] NET: Registered protocol family 15
00500000: reading (1 of 1)...[ 135.042590] Initializing XFRM netlink socket
01a40000: reading (1 of 4)...
1 bit(s) ECC corrected at 01a40000
01a40000: reading (2 of 4)...
1 bit(s) ECC corrected at 01a40000
01a40000: reading (3 of 4)...
1 bit(s) ECC corrected at 01a40000
01a40000: reading (4 of 4)...
1 bit(s) ECC corrected at 01a40000
03880000: reading (1 of 4)...
1 bit(s) ECC corrected at 03880000
03880000: reading (2 of 4)...
1 bit(s) ECC corrected at 03880000
03880000: reading (3 of 4)...
1 bit(s) ECC corrected at 03880000
03880000: reading (4 of 4)...
1 bit(s) ECC corrected at 03880000
07a20000: reading (1 of 4)...
1 bit(s) ECC corrected at 07a20000
07a20000: reading (2 of 4)...
1 bit(s) ECC corrected at 07a20000
07a20000: reading (3 of 4)...
1 bit(s) ECC corrected at 07a20000
07a20000: reading (4 of 4)...
1 bit(s) ECC corrected at 07a20000
0c7a0000: reading (1 of 4)...
1 bit(s) ECC corrected at 0c7a0000
0c7a0000: reading (2 of 4)...
1 bit(s) ECC corrected at 0c7a0000
0c7a0000: reading (3 of 4)...
1 bit(s) ECC corrected at 0c7a0000
0c7a0000: reading (4 of 4)...
1 bit(s) ECC corrected at 0c7a0000
0dc40000: reading (2 of 4)...
1 bit(s) ECC corrected at 0dc40000
0dc40000: reading (3 of 4)...
1 bit(s) ECC corrected at 0dc40000
0dc40000: reading (4 of 4)...
1 bit(s) ECC corrected at 0dc40000
0dfc0000: reading (1 of 4)...
1 bit(s) ECC corrected at 0dfc0000
0dfc0000: reading (2 of 4)...
1 bit(s) ECC corrected at 0dfc0000
0dfc0000: reading (3 of 4)...
1 bit(s) ECC corrected at 0dfc0000
0dfc0000: reading (4 of 4)...
1 bit(s) ECC corrected at 0dfc0000
0f5e0000: checking...of 1)...
Finished pass 1 successfully
And kernel version for others that might need this later:
root@am335x-evm:~# uname -a
Linux am335x-evm 4.14.79-ge669d52447 #1 PREEMPT Sat Apr 6 03:14:17 UTC 2019 armv7l GNU/Linux