From: Miquel Raynal <miquel.raynal@bootlin.com>
To: masonccyang@mxic.com.tw
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
christophe.kerello@st.com, bbrezillon@kernel.org,
juliensu@mxic.com.tw, lee.jones@linaro.org,
linux-kernel@vger.kernel.org, robh+dt@kernel.org,
linux-spi@vger.kernel.org, marcel.ziswiler@toradex.com,
paul.burton@mips.com, broonie@kernel.org, geert@linux-m68k.org,
stefan@agner.ch, linux-mtd@lists.infradead.org, richard@nod.at,
liang.yang@amlogic.com, computersforpeace@gmail.com,
dwmw2@infradead.org, marek.vasut@gmail.com,
zhengxunli@mxic.com.tw
Subject: Re: [PATCH v3 2/4] mtd: rawnand: Add Macronix MX25F0A NAND controller
Date: Mon, 27 May 2019 14:42:50 +0200 [thread overview]
Message-ID: <20190527144250.71908bd9@xps13> (raw)
In-Reply-To: <OFADC47344.0F9941B2-ON48258403.002336E3-48258403.003141F0@mxic.com.tw>
Hi Mason,
masonccyang@mxic.com.tw wrote on Thu, 23 May 2019 16:58:02 +0800:
> Hi Miquel,
>
> > >
> > > > > +
> > > > > +static void mxic_nand_select_chip(struct nand_chip *chip, int
> chipnr)
> > > >
> > > > _select_target() is preferred now
> > >
> > > Do you mean I implement mxic_nand_select_target() to control #CS ?
> > >
> > > If so, I need to call mxic_nand_select_target( ) to control #CS ON
> > > and then #CS OFF in _exec_op() due to nand_select_target()<in
> nand_base,c>
> > > is still calling chip->legacy.select_chip ?
> >
> > You must forget about the ->select_chip() callback. Now it should be
> > handled directly from the controller driver. Please have a look at the
> > commit pointed against the marvell_nand.c driver.
>
> I have no Marvell NFC datasheet and have one question.
>
> In marvell_nand.c, there is no xxx_deselect_target() or
> something like that doing #CS OFF.
> marvell_nfc_select_target() seems always to make one of chip or die
> #CS keep low.
>
> Is it right ?
Yes, AFAIR there is no "de-assert" mechanism in this controller.
>
> How to make all #CS keep high for NAND to enter
> low-power standby mode if driver don't use "legacy.select_chip()" ?
See commit 02b4a52604a4 ("mtd: rawnand: Make ->select_chip() optional
when ->exec_op() is implemented") which states:
"When [->select_chip() is] not implemented, the core is assuming
the CS line is automatically asserted/deasserted by the driver
->exec_op() implementation."
Of course, the above is right only when the controller driver supports
the ->exec_op() interface.
So if you think it is not too time consuming and worth the trouble to
assert/deassert the CS at each operation, you may do it in your driver.
Thanks,
Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: masonccyang@mxic.com.tw
Cc: bbrezillon@kernel.org, broonie@kernel.org,
christophe.kerello@st.com, computersforpeace@gmail.com,
devicetree@vger.kernel.org, dwmw2@infradead.org,
geert@linux-m68k.org, juliensu@mxic.com.tw, lee.jones@linaro.org,
liang.yang@amlogic.com, linux-kernel@vger.kernel.org,
linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
marcel.ziswiler@toradex.com, marek.vasut@gmail.com,
mark.rutland@arm.com, paul.burton@mips.com, richard@nod.at,
robh+dt@kernel.org, stefan@agner.ch, zhengxunli@mxic.com.tw
Subject: Re: [PATCH v3 2/4] mtd: rawnand: Add Macronix MX25F0A NAND controller
Date: Mon, 27 May 2019 14:42:50 +0200 [thread overview]
Message-ID: <20190527144250.71908bd9@xps13> (raw)
In-Reply-To: <OFADC47344.0F9941B2-ON48258403.002336E3-48258403.003141F0@mxic.com.tw>
Hi Mason,
masonccyang@mxic.com.tw wrote on Thu, 23 May 2019 16:58:02 +0800:
> Hi Miquel,
>
> > >
> > > > > +
> > > > > +static void mxic_nand_select_chip(struct nand_chip *chip, int
> chipnr)
> > > >
> > > > _select_target() is preferred now
> > >
> > > Do you mean I implement mxic_nand_select_target() to control #CS ?
> > >
> > > If so, I need to call mxic_nand_select_target( ) to control #CS ON
> > > and then #CS OFF in _exec_op() due to nand_select_target()<in
> nand_base,c>
> > > is still calling chip->legacy.select_chip ?
> >
> > You must forget about the ->select_chip() callback. Now it should be
> > handled directly from the controller driver. Please have a look at the
> > commit pointed against the marvell_nand.c driver.
>
> I have no Marvell NFC datasheet and have one question.
>
> In marvell_nand.c, there is no xxx_deselect_target() or
> something like that doing #CS OFF.
> marvell_nfc_select_target() seems always to make one of chip or die
> #CS keep low.
>
> Is it right ?
Yes, AFAIR there is no "de-assert" mechanism in this controller.
>
> How to make all #CS keep high for NAND to enter
> low-power standby mode if driver don't use "legacy.select_chip()" ?
See commit 02b4a52604a4 ("mtd: rawnand: Make ->select_chip() optional
when ->exec_op() is implemented") which states:
"When [->select_chip() is] not implemented, the core is assuming
the CS line is automatically asserted/deasserted by the driver
->exec_op() implementation."
Of course, the above is right only when the controller driver supports
the ->exec_op() interface.
So if you think it is not too time consuming and worth the trouble to
assert/deassert the CS at each operation, you may do it in your driver.
Thanks,
Miquèl
next prev parent reply other threads:[~2019-05-27 12:43 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-15 9:23 [PATCH v3 0/4] Add Macronix MX25F0A MFD driver for raw nand and spi Mason Yang
2019-04-15 9:23 ` Mason Yang
2019-04-15 9:23 ` [PATCH v3 1/4] mfd: Add Macronix MX25F0A MFD controller driver Mason Yang
2019-04-15 9:23 ` Mason Yang
2019-05-12 13:08 ` Miquel Raynal
2019-05-12 13:08 ` Miquel Raynal
2019-05-15 6:46 ` masonccyang
2019-05-15 6:46 ` masonccyang
2019-04-15 9:23 ` [PATCH v3 2/4] mtd: rawnand: Add Macronix MX25F0A NAND controller Mason Yang
2019-04-15 9:23 ` Mason Yang
2019-05-12 13:18 ` Miquel Raynal
2019-05-12 13:18 ` Miquel Raynal
2019-05-15 8:48 ` masonccyang
2019-05-15 8:48 ` masonccyang
2019-05-15 12:08 ` Miquel Raynal
2019-05-15 12:08 ` Miquel Raynal
[not found] ` <OF8A566F14.A2F0F576-ON482583FB.002E7E32-482583FB.003068B1@LocalDomain>
2019-05-15 9:18 ` masonccyang
2019-05-15 9:18 ` masonccyang
2019-05-15 9:18 ` masonccyang
2019-05-17 9:30 ` masonccyang
2019-05-17 9:30 ` masonccyang
2019-05-20 12:23 ` Miquel Raynal
2019-05-20 12:23 ` Miquel Raynal
2019-05-23 8:58 ` masonccyang
2019-05-23 8:58 ` masonccyang
2019-05-27 12:42 ` Miquel Raynal [this message]
2019-05-27 12:42 ` Miquel Raynal
2019-05-29 3:12 ` masonccyang
2019-05-29 3:12 ` masonccyang
2019-06-17 12:35 ` Miquel Raynal
2019-06-17 12:35 ` Miquel Raynal
2019-06-18 1:24 ` masonccyang
2019-06-18 1:24 ` masonccyang
2019-06-18 6:14 ` Boris Brezillon
2019-06-18 6:14 ` Boris Brezillon
2019-06-18 7:29 ` Boris Brezillon
2019-06-18 7:29 ` Boris Brezillon
2019-06-19 8:04 ` masonccyang
2019-06-19 8:04 ` masonccyang
2019-06-19 8:09 ` Miquel Raynal
2019-06-19 8:09 ` Miquel Raynal
2019-06-19 8:48 ` masonccyang
2019-06-19 8:48 ` masonccyang
2019-06-24 9:05 ` masonccyang
2019-06-24 9:05 ` masonccyang
2019-06-19 8:15 ` Boris Brezillon
2019-06-19 8:15 ` Boris Brezillon
2019-06-19 8:55 ` masonccyang
2019-06-19 8:55 ` masonccyang
2019-06-19 9:06 ` Boris Brezillon
2019-06-19 9:06 ` Boris Brezillon
2019-06-24 8:55 ` masonccyang
2019-06-24 8:55 ` masonccyang
2019-04-15 9:23 ` [PATCH v3 3/4] spi: Patch Macronix SPI controller driver according to MX25F0A MFD driver Mason Yang
2019-04-15 9:23 ` Mason Yang
2019-04-19 14:51 ` Mark Brown
2019-04-19 14:51 ` Mark Brown
2019-04-29 6:51 ` masonccyang
2019-04-30 10:23 ` masonccyang
2019-05-02 2:41 ` Mark Brown
2019-05-02 2:41 ` Mark Brown
2019-05-02 3:27 ` masonccyang
2019-04-15 9:23 ` [PATCH v3 4/4] dt-bindings: mfd: Document Macronix MX25F0A controller bindings Mason Yang
2019-04-15 9:23 ` Mason Yang
2019-04-26 22:41 ` Rob Herring
2019-04-26 22:41 ` Rob Herring
2019-04-29 8:00 ` masonccyang
2019-05-12 13:23 ` Miquel Raynal
2019-05-12 13:23 ` Miquel Raynal
2019-05-15 7:36 ` masonccyang
2019-05-15 7:36 ` masonccyang
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=20190527144250.71908bd9@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=bbrezillon@kernel.org \
--cc=broonie@kernel.org \
--cc=christophe.kerello@st.com \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=geert@linux-m68k.org \
--cc=juliensu@mxic.com.tw \
--cc=lee.jones@linaro.org \
--cc=liang.yang@amlogic.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=marcel.ziswiler@toradex.com \
--cc=marek.vasut@gmail.com \
--cc=mark.rutland@arm.com \
--cc=masonccyang@mxic.com.tw \
--cc=paul.burton@mips.com \
--cc=richard@nod.at \
--cc=robh+dt@kernel.org \
--cc=stefan@agner.ch \
--cc=zhengxunli@mxic.com.tw \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.