From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Tue, 30 Oct 2012 17:03:22 -0700 Subject: [U-Boot] [PATCH v1 7/8] am33xx_spl_bch: simple SPL nand loader for AM33XX In-Reply-To: <1351637263-17464-8-git-send-email-ilya.yanok@cogentembedded.com> References: <1351637263-17464-1-git-send-email-ilya.yanok@cogentembedded.com> <1351637263-17464-8-git-send-email-ilya.yanok@cogentembedded.com> Message-ID: <50906ACA.4050603@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/30/12 15:47, Ilya Yanok wrote: > AM33XX with BCH8 can't work with nand_spl_simple correctly because > custom read_page implementation is required for proper syndrome > generation. > > This simple driver mostly duplicates nand_spl_simple but has > nand_read_page changed to suit our needs. [snip] > + for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { > + this->ecc.hwctl(&mtd, NAND_ECC_READ); + nand_command(block, > page, data_pos, NAND_CMD_RNDOUT); + + this->read_buf(&mtd, p, > eccsize); + + nand_command(block, page, oob_pos, > NAND_CMD_RNDOUT); + + this->read_buf(&mtd, oob, eccbytes); + > this->ecc.calculate(&mtd, p, &ecc_calc[i]); + + data_pos += > eccsize; + oob_pos += eccbytes; + oob += eccbytes; + } This is where the function differs. If we can't merge things together, I'd like to see about putting just this function into nand_spl_simple.c under CONFIG_SYS_NAND_HW_BCH8 since if I follow what's going on, and I need to play with the code to confirm I do, it's a generic change related to how much more we're reading back out now. But good catch finding what was going wrong with nand_spl_simple here. - -- Tom -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iQIcBAEBAgAGBQJQkGrJAAoJENk4IS6UOR1WnqMP/3i/zWcvB7iZhjl5HvrlrYuQ +6ijXtQzWCROKP/gERTQjKlVOj09jEGvHY5Ac5xpiMqtxvCAxDyz88fu5CWJgtlT gZJqq7WPaR21FHJzS5GinL7oQBNMY9/m1wNVCVHq971Lq4VxgfYPXdPMytiMPxOy ExoB034z6KkaFR7FdRFLMZeT9ri292jFlmZuNpyKjjEYigI4+WH4FvlkFxEpL18w F+bXWzp4Krd8ndgM3OjvzJWmPZxU3M1YjHKOn631W8T2Q7bMe6yOH9PEYKiqQuTG wniwcmxB6n2vT04enyuUPCfyNA9OPJv7w+pGWdrYXjU22CHUbNfywJZC7sqmYeht uUhvvdF8jtJFHpK1RScF69Gy2xcmtIa7PPMmLkv3JbtnLgw91NyeM+tuzty2/MIA icsbE1PwxvLGSMlvJJhag82oKb4kYZ1I5SSmd5aJkyt21CbXiBKf6M+Vsx8TmyCh 03XTuN7iuMpm4jlEed4bv64yLZ7suJxu60XtKAH5yX5S6L8PI+SAEpzknLdqCf7j A2z8YyLZEaxa27oxOmY4/G8KTpZrPNkei4jL9VOd7wkZ/j9TRUZ6rzrIHVuwWlqS oVJt/qHq+zznQFZF3iI3kPUtiU1FpiPycPzSevH+V3gZNFdNF1Ze9+VqEyW2QV60 nVRZjXS9VSKeR43dXBgg =giFN -----END PGP SIGNATURE-----