From: sergio.prado@e-labworks.com (Sergio Prado)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mtd: s3c2410: add device tree support
Date: Mon, 19 Sep 2016 23:24:46 -0300 [thread overview]
Message-ID: <20160920022446.GB11294@n1> (raw)
In-Reply-To: <20160919091155.GB11118@leverpostej>
On Mon, Sep 19, 2016 at 10:11:55AM +0100, Mark Rutland wrote:
> On Sat, Sep 17, 2016 at 12:22:40PM -0300, Sergio Prado wrote:
> > Tested on FriendlyARM Mini2440
> >
> > Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
> > ---
> > .../devicetree/bindings/mtd/samsung-s3c2410.txt | 70 +++++++++++
> > drivers/mtd/nand/s3c2410.c | 129 ++++++++++++++++++++-
> > include/linux/platform_data/mtd-nand-s3c2410.h | 1 +
> > 3 files changed, 195 insertions(+), 5 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/mtd/samsung-s3c2410.txt
> >
> > diff --git a/Documentation/devicetree/bindings/mtd/samsung-s3c2410.txt b/Documentation/devicetree/bindings/mtd/samsung-s3c2410.txt
> > new file mode 100644
> > index 000000000000..1c39f6cf483b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/samsung-s3c2410.txt
> > @@ -0,0 +1,70 @@
> > +* Samsung S3C2410 and compatible NAND flash controller
> > +
> > +Required properties:
> > +- compatible : The possible values are:
> > + "samsung,s3c2410-nand"
> > + "samsung,s3c2412-nand"
> > + "samsung,s3c2440-nand"
> > + "samsung,s3c6400-nand"
> > +- reg : register's location and length.
> > +- #address-cells, #size-cells : see nand.txt
> > +- clocks : phandle to the nand controller clock
> > +- clock-names : must contain "nand"
>
> Is there only one clock feeding into the NAND block? Is it actually
> called "nand", or does the datasheet not give the input a nme?
Yes, there is only one clock associated with the NAND controller. The
clock is called "NAND Flash Controller" clock by the datasheet.
>
> > +
> > +Optional properties:
> > +- samsung,tacls : time for active CLE/ALE to nWE/nOE
> > +- samsung,twrph0 : active time for nWE/nOE
> > +- samsung,twrph1 : time for release CLE/ALE from nWE/nOE inactive
>
> If these are necessary, what units are these in?
They are probably not necessary and will be removed as suggested by
Boris Brezillon.
>
> > +- samsung,ignore_unset_ecc : boolean to ignore error when we have
> > + 0xff,0xff,0xff read ECC, on the
> > + assumption that it is an un-eccd page
>
> s/_/-/ in property names, please.
OK. If I keep this property, I will change it to
samsung,ignore-unset-ecc.
>
> That said, this name reads like policy rather than a HW description.
> Why/when is this necessary to set?
I'll evaluate if this property is really necessary, as suggested by
Boris Brezillon.
>
> [...]
>
> > + of_property_read_u32(np, "samsung,tacls", &pdata->tacls);
> > + of_property_read_u32(np, "samsung,twrph0", &pdata->twrph0);
> > + of_property_read_u32(np, "samsung,twrph1", &pdata->twrph1);
>
> Are all values in the range [0, 0xffffffff] valid for these? If not, it
> would be a good idea to sanity-check the values.
OK.
>
> > + if (of_get_property(np, "samsung,ignore_unset_ecc", NULL))
> > + pdata->ignore_unset_ecc = 1;
>
> Use of_property_read_bool();
Right.
>
> [...]
>
> > + for_each_available_child_of_node(np, child) {
> > +
> > + sets->name = (char *)child->name;
> > + sets->of_node = child;
>
> Strictly speaking, you should increment the child node refcount here, as
> you maintain a reference to it and its name field.
OK.
>
> > + sets->nr_chips = 1;
> > +
> > + if (!of_property_match_string(child, "nand-ecc-mode", "none"))
> > + sets->disable_ecc = 1;
> > +
> > + if (of_get_property(child, "nand-on-flash-bbt", NULL))
> > + sets->flash_bbt = 1;
>
> Use of_property_read_bool().
OK.
>
> Thanks,
> Mark.
--
Sergio Prado
Embedded Labworks
Office: +55 11 2628-3461
Mobile: +55 11 97123-3420
next prev parent reply other threads:[~2016-09-20 2:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20160917152404eucas1p2ca0ebfe59dd762f5cdd611a9dd3cd1a5@eucas1p2.samsung.com>
2016-09-17 15:22 ` [PATCH] mtd: s3c2410: add device tree support Sergio Prado
2016-09-17 17:31 ` Boris Brezillon
2016-09-20 2:08 ` Sergio Prado
2016-09-25 17:42 ` Sergio Prado
2016-09-25 18:05 ` Boris Brezillon
2016-09-19 9:11 ` Mark Rutland
2016-09-20 2:24 ` Sergio Prado [this message]
2016-09-19 10:44 ` Sylwester Nawrocki
2016-09-20 2:31 ` Sergio Prado
2016-09-23 17:44 ` Rob Herring
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=20160920022446.GB11294@n1 \
--to=sergio.prado@e-labworks.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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).