Hello, On 17 December 2014 at 11:40, Boris BREZILLON <[email protected]> wrote: > Hi Michal > > Le mardi 16 décembre 2014 19:01:58 UTC+1, Michal Suchanek a écrit : >> >> Hello, >> >> I tried to rebase the v7 patchset on top of 3.18 and add the DT >> bindings on cubieboard: >> >> https://github.com/hramrach/linux-sunxi/commit/a946d593ddcf443b0f035f6d39fe0c558189dacc >> >> The nand driver fails equally on both cubieboard versions: >> >> cubieboard: >> [ 0.643554] calling nand_base_init+0x0/0x20 @ 1 >> [ 0.643565] initcall nand_base_init+0x0/0x20 returned 0 after 3 usecs >> [ 0.643578] calling sunxi_nfc_driver_init+0x0/0x10 @ 1 >> [ 0.665751] nand: Could not find valid JEDEC parameter page; aborting >> [ 0.670907] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xd7 >> [ 0.675949] nand: Samsung NAND 4GiB 3,3V 8-bit >> [ 0.679098] nand: 4096MiB, MLC, page size: 8192, OOB size: 640 >> [ 0.683748] sunxi_nand 1c03000.nand: ECC init failed: -22 >> [ 0.687839] sunxi_nand 1c03000.nand: failed to init nand chips >> [ 0.692440] sunxi_nand: probe of 1c03000.nand failed with error -22 >> [ 0.697500] initcall sunxi_nfc_driver_init+0x0/0x10 returned 0 >> after 52642 usecs >> cubieboard2: >> [ 0.666766] calling nand_base_init+0x0/0x20 @ 1 >> [ 0.666777] initcall nand_base_init+0x0/0x20 returned 0 after 3 usecs >> [ 0.666790] calling sunxi_nfc_driver_init+0x0/0x10 @ 1 >> [ 0.683003] nand: Could not find valid JEDEC parameter page; aborting >> [ 0.688159] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xd7 >> [ 0.693201] nand: Samsung NAND 4GiB 3,3V 8-bit >> [ 0.696349] nand: 4096MiB, MLC, page size: 8192, OOB size: 640 >> [ 0.700956] sunxi_nand 1c03000.nand: ECC init failed: -22 >> [ 0.705060] sunxi_nand 1c03000.nand: failed to init nand chips >> [ 0.709658] sunxi_nand: probe of 1c03000.nand failed with error -22 >> [ 0.714768] initcall sunxi_nfc_driver_init+0x0/0x10 returned 0 >> after 46833 usecs >> >> Is this expected or does somebody have the driver working on some device? > > > As Henrik already answered, it seems that your NAND chip is not properly > defined in the nand_ids table [1]. > Read your NAND datasheet and add a new entry (take a look at this one [2] as > an example). > You should also fill the correct timing mode, though mode 0 should work > correctly on all recent NANDs.
The nand chip says Samsung 222 K9GBG08U0A SCB0 Is there some document on filling out his table? It seems that 0xec 0xd7 matches info on top op page 80 of http://www.datasheet4u.com/datasheet-pdf/Samsung/K9GBG08U0A/pdf.php?id=704185 But that table lists 0xec, 0xd7, 0x94, 0x76, 0x64, 0x43 and additional debug output shows that the chip sends Manufacturer ID: 0xec, Chip ID: 0xd7; 0x94 0x7a 0x54 0x43 0xec 0xd7 the last two bytes possibly being wrap-around of the first two. However, that document lists multitudes of identification strings. Which one is used where in the table? The document lists that there is 8k page and 640 oob which matches existing output. It also says that that ecc is 40bit (1k + 80byte) on page 5 which looks like value obtained by dividing that 640 oob data by 8 to get oob amount per 1k - no staggering new information. Some timing information is presented on pages 18-19 but the provided table has way more data than a nand entry in the kernel table. Thanks Michal -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
