From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roy Spliet Date: Mon, 08 Jun 2015 10:11:17 +0200 Subject: [U-Boot] [RFC 02/11] mtd/nand: add ONFI timing mode to nand_timings converter In-Reply-To: <1433541745.2477.31.camel@freescale.com> References: <1433505164-24112-1-git-send-email-r.spliet@ultimaker.com> <1433505164-24112-3-git-send-email-r.spliet@ultimaker.com> <1433541745.2477.31.camel@freescale.com> Message-ID: <55754E25.6020406@ultimaker.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Scott et al., Op 06-06-15 om 00:02 schreef Scott Wood: > On Fri, 2015-06-05 at 13:52 +0200, Roy Spliet wrote: >> From: yassin >> >> Signed-off-by: Roy Spliet >> --- >> drivers/mtd/nand/Makefile | 2 +- >> drivers/mtd/nand/nand_timings.c | 252 >> ++++++++++++++++++++++++++++++++++++++++ >> include/linux/mtd/nand.h | 3 + >> 3 files changed, 256 insertions(+), 1 deletion(-) >> create mode 100644 drivers/mtd/nand/nand_timings.c > This code comes from Linux and yet I see no acknowledgement of that, > much less a statement of which version of Linux this was pulled from. Correct, my apologies as I should have clarified that "work by Boris Brezillon" does not mean "upsteam work". The code comes from Boris' github tree[1] and contains work that was not yet brought upstream, yet is required for NAND on sunxi to work. > It would probably be better to handle this as part of a general sync > with the Linux mtd code. Ideally yes, but. In upstream Linux MTD we have a few issues to address as shown by Boris' patch-set, most importantly: - NAND chip timings (patch 1 to 3) - Randomisation support (patch 6) - Per-partition settings for ECC and randomisation (left out of my RFC, highly desirable but not strictly required for U-boot booting) - OF definition of all the above U-Boot has the additional challenge - Partitioning is not done the upstream way, but rather in/around cmd_mtdparts We started discussion on these topics in the #mtd IRC channel (OFTC), and several ideas have come up. The way I see it these issues can currently either be addressed by bolting/duct-taping/tie-wrapping more layers of indirection on top of upstream MTD framework, but really I feel that it might require a bit more of a structural approach that may or may not break existing drivers. The code I posted as RFC is functional. If you wish to steer towards an MTD sync-up, I highly suggest first getting these issues tackled, and then making sure that we extend the U-boot side of MTD with OF support for everything. This trajectory should include deprecating the current implementation of cmd_mtdparts and hook that command up to the "new" upstream way. In other words: now is probably not the right moment. I'm afraid that as much as I'd like to, I will not have time to address every single one of these issues (not to mention I am hardly the expert in MTD/NAND). I'm happy to think along with designing a sustainable solution, but I will need someone to chime in when it comes to carrying solutions upstream. Roy > -Scott [1] https://github.com/bbrezillon/linux-sunxi/commits/sunxi-nand -- IMAGINE IT >> MAKE IT Meet us online at Twitter , Facebook , Google+ www.ultimaker.com