From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Johan Jonker <jbx6244@gmail.com>
Cc: richard@nod.at, vigneshr@ti.com, robh+dt@kernel.org,
mark.rutland@arm.com, heiko@sntech.de,
linux-mtd@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
shawn.lin@rock-chips.com, yifeng.zhao@rock-chips.com
Subject: Re: [RFC PATCH v2 00/10] Enable RK3066 NANDC for MK808
Date: Fri, 24 Jan 2020 18:17:51 +0100 [thread overview]
Message-ID: <20200124181751.721aa428@xps13> (raw)
In-Reply-To: <20200124163001.28910-1-jbx6244@gmail.com>
Hi Johan,
Johan Jonker <jbx6244@gmail.com> wrote on Fri, 24 Jan 2020 17:29:51
+0100:
> DISCLAIMER: Use at your own risk.
> Status: For testing only!
>
> Version: V2
>
> Title: Enable RK3066 NANDC for MK808.
>
> The majority of Rockchip devices use a closed source FTL driver
> to reduce wear leveling. This patch serie proposes
> an experimental raw NAND controller driver for basic tasks
> in order to get the bindings and the nodes accepted for in the dts files.
>
> What does it do:
>
> On module load this driver will reserve its resources.
> After initialization the MTD framework will then try to detect
> the type and number of NAND chips. When all conditions are met,
> it registers it self as MTD device.
> This driver is then ready to receive user commands
> such as to read and write NAND pages.
>
> Test examples:
>
> # dd if=/dev/mtd0 of=dd.bin bs=8192 count=4
>
> # nanddump -a -l 32768 -f nanddump.bin /dev/mtd0
>
> Not tested:
>
> NANDC version 9.
> NAND raw write.
nandbiterrs -i /dev/mtd<x> to validate it works!
> RK3066 still has no support for Uboot.
> Any write command would interfere with data structures made by the boot loader.
>
> Etc.
>
> Problems:
>
> No bad block support. Most devices use a FTL bad block map with tags
> that must be located on specific page locations which is outside
> the scope of the raw MTD framework.
I don't understand this story of bad block map. Are you comparing with
a vendor kernel?
If vendors invent new ways to handle MTD blocks it's sad but they will
never be compatible with mainline. It's a fact. However for an upstream
version, I don't get if there is any real issue? The location of the
BBM is not related to your controller driver but depends on the NAND
chip and as you say below we know provide three possible positions in
a block.
What you refer as the FTL is the equivalent of UBI in Linux, which
indeed offers to the user a linear logical view of all the valid blocks
while physically the data is spread across all the available
eraseblocks.
>
> hynix_nand_init() add extra option NAND_BBM_LASTPAGE for H27UCG8T2ATR-BC.
>
> No partition support. A FTL driver will store at random locations and
> a linear user specific layout does not fit within
> the generic character of this basic driver.
>
> Driver assumes that IO pins are correctly set by the boot loader.
Which pins are you talking about? Are you missing a pinctrl driver?
>
> Fixed timing setting.
>
> RK3228A/RK3228B compatibility version 701 unknown
> RV1108 nand version unknown
>
> Etc.
>
> Todo:
>
> MLC ?
This is not related to your NAND controller driver neither.
Cheers,
Miquèl
next prev parent reply other threads:[~2020-01-24 17:17 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-24 16:29 [RFC PATCH v2 00/10] Enable RK3066 NANDC for MK808 Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 01/10] dt-bindings: mtd: add rockchip nand controller bindings Johan Jonker
2020-02-03 15:45 ` Rob Herring
2020-01-24 16:29 ` [RFC PATCH v2 02/10] mtd: rawnand: rockchip: Add NAND controller driver Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 03/10] ARM: dts: rockchip: add nandc node for rk3066a/rk3188 Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 04/10] ARM: dts: rockchip: add nandc node for rk322x Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 05/10] ARM: dts: rockchip: add nandc nodes for rk3288 Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 06/10] ARM: dts: rockchip: add nandc node for rv1108 Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 07/10] arm64: dts: rockchip: add nandc node for px30 Johan Jonker
2020-01-24 16:29 ` [RFC PATCH v2 08/10] arm64: dts: rockchip: add nandc node for rk3308 Johan Jonker
2020-01-24 16:30 ` [RFC PATCH v2 09/10] arm64: dts: rockchip: add nandc node for rk3368 Johan Jonker
2020-01-24 16:30 ` [RFC PATCH v2 10/10] ARM: dts: rockchip: rk3066a-mk808: enable nandc node Johan Jonker
2020-01-24 17:17 ` Miquel Raynal [this message]
2020-01-25 22:28 ` [RFC PATCH v2 00/10] Enable RK3066 NANDC for MK808 Johan Jonker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200124181751.721aa428@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=jbx6244@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=richard@nod.at \
--cc=robh+dt@kernel.org \
--cc=shawn.lin@rock-chips.com \
--cc=vigneshr@ti.com \
--cc=yifeng.zhao@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).