[LEDE-DEV] mt7621 nand driver status.

Kenneth Johansson kenneth at southpole.se
Wed Aug 24 04:44:37 PDT 2016


On 2016-08-24 13:32, John Crispin wrote:
>
> On 24/08/2016 13:25, Kenneth Johansson wrote:
>> What is the status of the nand driver for mt7621 ??
>>
>> when I try to use it the probing is ok but it fails when I try to
>> read/write.
>>
>>
> known to be working and i used it on the ERX just last week. what
> specifc board is this and can you post your dts file please. initial
> guess is that pinmux might be bad.

CONFIG_TARGET_SUBTARGET="mt7621"
CONFIG_TARGET_PROFILE="DEVICE_mt7621"


just a thought how do we pass detection with wrong pinmux setting. 
badblocks is found it's when the first page read with ecc it fails.

also this code is in the driver, so whatever pins is in the DTS this 
code sets back to nand function.

     data = DRV_Reg32(RALINK_SYSCTL_BASE+0x60);
     data &= ~((0x3<<18)|(0x3<<16));
     data |= ((0x2<<18) |(0x2<<16));
     DRV_WriteReg32(RALINK_SYSCTL_BASE+0x60, data);

DTS is from target/linux/ramips/dts/mt7621.dtsi with one change.

----------
diff --git a/target/linux/ramips/dts/mt7621.dtsi 
b/target/linux/ramips/dts/mt7621.dtsi
index a8b98ed..1b2c22c 100644
--- a/target/linux/ramips/dts/mt7621.dtsi
+++ b/target/linux/ramips/dts/mt7621.dtsi
@@ -360,7 +360,7 @@
         };

         nand: nand at 1e003000 {
-               status = "disabled";
+

                 compatible = "mtk,mt7621-nand";
                 bank-width = <2>;
----------



> 	John
>
>> [    4.150000] MediaTek Nand driver init, version v2.1 Fix AHB virt2phys
>> error
>> [    4.170000] Allocate 16 byte aligned buffer: 806f3100
>> [    4.180000] Enable NFI Clock
>> [    4.180000] # MTK NAND # : Use HW ECC
>> [    4.190000] Device not found, ID: ecf1
>> [    4.200000] Not Support this Device!
>> [    4.200000] chip_mode=00000002
>> [    4.210000] Support this Device in MTK table! ecf1
>> [    4.220000] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
>> [    4.230000] nand: Samsung NAND 128MiB 3,3V 8-bit
>> [    4.240000] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048,
>> OOB size: 64
>> [    4.260000] [NAND]select ecc bit:4, sparesize :64 spare_per_sector=16
>> [    4.270000] Scanning device for bad blocks
>> [    4.280000] Bad eraseblock 2 at 0x000000040000
>> [    4.290000] Bad eraseblock 3 at 0x000000060000
>> [    4.400000] Bad eraseblock 306 at 0x000002640000
>> [    4.440000] Bad eraseblock 386 at 0x000003040000
>> [    4.510000] Bad eraseblock 588 at 0x000004980000
>> [    4.670000] 4 ofpart partitions found on MTD device MT7621-NAND
>> [    4.680000] Creating 4 MTD partitions on "MT7621-NAND":
>> [    4.690000] 0x000000000000-0x000000080000 : "uboot"
>> [    4.700000] 0x000000080000-0x000000100000 : "uboot_env"
>> [    4.710000] 0x000000100000-0x000000140000 : "factory"
>> [    4.720000] 0x000000140000-0x000001000000 : "rootfs"
>> [    4.740000] mtd: device 3 (rootfs) set to be root filesystem
>> [    4.750000] mtdsplit: no squashfs found in "rootfs"
>> [    4.760000] [mtk_nand] probe successfully!
>>
>>
>> #cat /dev/mtd0 >/dev/null
>> [   75.910000] [mtk_nand_mcu_read_data] timeout
>> [   75.940000] [mtk_nand_mcu_read_data] timeout
>> [   75.980000] [mtk_nand_mcu_read_data] timeout
>> [   76.020000] [mtk_nand_mcu_read_data] timeout
>>
>>
>> _______________________________________________
>> Lede-dev mailing list
>> Lede-dev at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/lede-dev
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev





More information about the Lede-dev mailing list