speed test result:
(1) for 4K pagesize nand && 24MHz:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | BOOT | 24000000 | 24000000 | 1 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 1758 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 2442 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 1752 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 2438 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 1755 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 2440 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 481882 KiB/s
mtd_speedtest: finished
=================================================
(2) for 4K pagesize nand && 56MHz:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | PLL1 | 56000000 | 54000000 | 10 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
# insmod mtd_speedtest.ko dev=3
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 2686 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 5291 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 2672 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 5276 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 2679 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 5281 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 481882 KiB/s
mtd_speedtest: finished
=================================================
(2) for 4K pagesize nand && 64MHz:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | PLL1 | 64000000 | 67500000 | 8 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
# insmod mtd_speedtest.ko dev=3
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 2935 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 6517 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 2920 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 6489 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 2927 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 6490 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 478364 KiB/s
mtd_speedtest: finished
=================================================
(3) for 4K pagesize nand && 80MHz:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | PLL1 | 80000000 | 77142800 | 7 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
# insmod mtd_speedtest.ko dev=3
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 3079 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 7353 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 3061 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 7314 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 3068 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 7329 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 442810 KiB/s
mtd_speedtest: finished
=================================================
(4) for 4K pagesize nand && 98MHz:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | PLL1 | 98000000 | 90000000 | 6 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
# insmod mtd_speedtest.ko dev=3
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 3235 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 8441 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 3217 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 8405 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 3224 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 8409 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 442810 KiB/s
mtd_speedtest: finished
=================================================
(5) for 4K pagesize nand && 98MHz && speedup version:
can not work !!!
(6) for 4K pagesize nand && 56MHz && speedup version:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | PLL1 | 56000000 | 54000000 | 10 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
Icache: Enabled
Dcache: Enabled
# cd /test/mtd
# insmod mtd_speedtest.ko dev=3; echo "This is speedup version"
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 3411 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 10939 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 3390 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 10866 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 3397 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 10899 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 439838 KiB/s
mtd_speedtest: finished
=================================================
This is speedup version
(7) for 4K pagesize nand && 64MHz && speedup version:
# cat /proc/ccuinfo
Name |0/1| source | desired f. | real freq | div | fract.
———+—+——–+————+————————
CPU | 1 | PLL0 | 400000000 | 400000000 | 1 | 16
AHBV | 1 | PLL0 | 200000000 | 200000000 | 1 | 16
AHBP | 1 | PLL0 | 24000000 | 100000000 | 1 | 16
LCDC | 1 | BOOT | 24000000 | 24000000 | 1 | 16
MPMC | 1 | PLL1 | 100000000 | 90000000 | 6 | 16
NAND | 1 | PLL1 | 64000000 | 67500000 | 8 | 16
KBD | 1 | BOOT | 6000 | 6000 | 250 | 1
SSP0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
SSP1 | 1 | PLL0 | 15000000 | 15000000 | 25 | 15
SSP2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
TIMER0 | 1 | BOOT | 1500000 | 1500000 | 16 | 16
UART0 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART1 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
UART2 | 1 | BOOT | 24000000 | 24000000 | 1 | 16
AUDIO | 1 | PLL1 | 24000000 | 23478200 | 23 | 16
Icache: Enabled
Dcache: Enabled
# insmod /test/mtd/mtd_speedtest.ko dev=3; echo "Speedup version"
=================================================
mtd_speedtest: MTD device: 3
mtd_speedtest: MTD device size 67108864, eraseblock size 524288, page size 4096, count of eraseblocks 128, pages per eraseblock 128, OOB size 128
mtd_speedtest: scanning for bad eraseblocks
mtd_speedtest: scanned 128 eraseblocks, 0 are bad
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 3609 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 13199 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 3587 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 13128 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 3595 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 13146 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 485451 KiB/s
mtd_speedtest: finished
=================================================
Speedup version
(8) for 4K pagesize nand && 80MHz && speedup version:
can not work!!!
(9) for 4K pagesize nand && 70MHz && speedup version:
same as 64MHz.
(10) for 4K pagesize nand && 78MHz && speedup version:
actually is : "Nand clock set to 77142800"
can not work!!!
==>>
the max speed is 64MHz && speed up verion:
write ~= 3600 KiB/s ~= 3.5 MB/s
read ~= 13000 KiB/s ~= 12.5MB/s