[LEDE-DEV] mt7621 nand driver status.

John Crispin john at phrozen.org
Wed Aug 24 04:49:26 PDT 2016



On 24/08/2016 13:44, Kenneth Johansson wrote:
> 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>;
> ----------
> 

sdhci and nand share the same pins. target/linux/ramips/dts/MT7621.dts
enables gpio mode for the sdhci pins. also make sure that the sdhci
driver is not loaded.

	John



> 
> 
>>     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