i.MX28 nand driver broken in Linux 4.18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I'm upgrading the BSP of my i.MX28 board to Linux 4.18. Unfortunately,
the NAND driver does not working any longer. Here is the output of
"nandtest" including the kernel messages:

  root@m28evk:~# nandtest -k /dev/mtd3 
  ECC corrections: 0
  ECC failures   : 0
  Bad blocks     : 0
  BBT blocks     : 0
  00000000: reading (2 of 4)...gpmi-nand 8000c000.gpmi-nand: DMA timeout, last DMA
  gpmi-nand 8000c000.gpmi-nand: Show GPMI registers :
  gpmi-nand 8000c000.gpmi-nand: offset 0x000 : 0x2180083e
  gpmi-nand 8000c000.gpmi-nand: offset 0x010 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x020 : 0x000011ff
  gpmi-nand 8000c000.gpmi-nand: offset 0x030 : 0x0000083e
  gpmi-nand 8000c000.gpmi-nand: offset 0x040 : 0x44dc0800
  gpmi-nand 8000c000.gpmi-nand: offset 0x050 : 0x46800800
  gpmi-nand 8000c000.gpmi-nand: offset 0x060 : 0x0104000c
  gpmi-nand 8000c000.gpmi-nand: offset 0x070 : 0x00010101
  gpmi-nand 8000c000.gpmi-nand: offset 0x080 : 0x90000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x090 : 0x09020101
  gpmi-nand 8000c000.gpmi-nand: offset 0x0a0 : 0x01000030
  gpmi-nand 8000c000.gpmi-nand: offset 0x0b0 : 0x0f000003
  gpmi-nand 8000c000.gpmi-nand: offset 0x0c0 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x0d0 : 0x03010000
  gpmi-nand 8000c000.gpmi-nand: Show BCH registers :
  gpmi-nand 8000c000.gpmi-nand: offset 0x000 : 0x00000100
  gpmi-nand 8000c000.gpmi-nand: offset 0x010 : 0x0000fe04
  gpmi-nand 8000c000.gpmi-nand: offset 0x020 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x030 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x040 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x050 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x060 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x070 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x080 : 0x030a4200
  gpmi-nand 8000c000.gpmi-nand: offset 0x090 : 0x083e4200
  gpmi-nand 8000c000.gpmi-nand: offset 0x0a0 : 0x070a8200
  gpmi-nand 8000c000.gpmi-nand: offset 0x0b0 : 0x10da8200
  gpmi-nand 8000c000.gpmi-nand: offset 0x0c0 : 0x070a8200
  gpmi-nand 8000c000.gpmi-nand: offset 0x0d0 : 0x10da8200
  gpmi-nand 8000c000.gpmi-nand: offset 0x0e0 : 0x070a8200
  gpmi-nand 8000c000.gpmi-nand: offset 0x0f0 : 0x10da8200
  gpmi-nand 8000c000.gpmi-nand: offset 0x100 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x110 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x120 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x130 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x140 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x150 : 0x20484342
  gpmi-nand 8000c000.gpmi-nand: offset 0x160 : 0x01000000
  gpmi-nand 8000c000.gpmi-nand: offset 0x170 : 0x00000000
  gpmi-nand 8000c000.gpmi-nand: BCH Geometry :
  GF length              : 13
  ECC Strength           : 8
  Page Size in Bytes     : 2110
  Metadata Size in Bytes : 10
  ECC Chunk Size in Bytes: 512
  ECC Chunk Count        : 4
  Payload Size in Bytes  : 2048
  Auxiliary Size in Bytes: 16
  Auxiliary Status Offset: 12
  Block Mark Byte Offset : 1999
  Block Mark Bit Offset  : 0
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Error in ECC-based read: -22
  00000000: reading (3 of 4)...gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Error in ECC-based read: -22
  00000000: reading (4 of 4)...gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Error in ECC-based read: -22
  00000000: erasing... gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  00000000: writing...gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Chip: 0, Error -22
  gpmi-nand 8000c000.gpmi-nand: Error in ECC-based write: -22

  write: Invalid argument
  ...

I have already applied the patch: 

  [PATCH] mtd: rawnand: gpmi: fix MX28 bus master lockup problem

but it didn't help. It works fine with Linux 4.14. Are there any known
issues with 4.18?

Thanks,

Wolfgang.

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux