All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philip, Avinash" <avinashphilip@ti.com>
To: Daniel Mack <zonque@gmail.com>
Cc: "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"paul@pwsan.com" <paul@pwsan.com>,
	"Mohammed, Afzal" <afzal@ti.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"Nori, Sekhar" <nsekhar@ti.com>,
	"tony@atomide.com" <tony@atomide.com>,
	"Hunter, Jon" <jon-hunter@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: RE: [PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
Date: Wed, 7 Nov 2012 15:37:02 +0000	[thread overview]
Message-ID: <518397C60809E147AF5323E0420B992E3E9DE420@DBDE01.ent.ti.com> (raw)
In-Reply-To: <509A2E75.5060307@gmail.com>

On Wed, Nov 07, 2012 at 15:18:37, Daniel Mack wrote:
> On 05.11.2012 14:29, Philip, Avinash wrote:
> > On Mon, Nov 05, 2012 at 18:28:22, Daniel Mack wrote:
> >> On 05.11.2012 12:03, Philip, Avinash wrote:
> >>> On Fri, Nov 02, 2012 at 20:55:56, Daniel Mack wrote:
> >>>> This patch adds basic DT bindings for OMAP GPMC.
> >>>>
> >>>> The actual peripherals are instanciated from child nodes within the GPMC
> >>>> node, and the only type of device that is currently supported is NAND.
> >>>>
> >>>> Code was added to parse the generic GPMC timing parameters and some
> >>>> documentation with examples on how to use them.
> >>>>
> >>>> Successfully tested on an AM33xx board.
> >>>>
> >>>> Signed-off-by: Daniel Mack <zonque@gmail.com>
> >>> [...]
> >>>> +
> >>>> +		nand@0,0 {
> >>>> +			reg = <0 0 0>; /* CS0, offset 0 */
> >>>> +			nand-bus-width = <16>;
> >>>> +			nand-ecc-mode = "none";
> >>>> +
> >>>> +			gpmc,sync-clk = <0>;
> >>>> +			gpmc,cs-on = <0>;
> >>>> +			gpmc,cs-rd-off = <36>;
> >>>> +			gpmc,cs-wr-off = <36>;
> >>>> +			gpmc,adv-on = <6>;
> >>>> +			gpmc,adv-rd-off = <24>;
> >>>> +			gpmc,adv-wr-off = <36>;
> >>>> +			gpmc,we-off = <30>;
> >>>> +			gpmc,oe-off = <48>;
> >>>> +			gpmc,access = <54>;
> >>>> +			gpmc,rd-cycle = <72>;
> >>>> +			gpmc,wr-cycle = <72>;
> >>>> +			gpmc,wr-access = <30>;
> >>>> +			gpmc,wr-data-mux-bus = <0>;
> >>>> +
> >>>> +			#address-cells = <1>;
> >>>> +			#size-cells = <1>;
> >>>> +
> >>>
> >>> Can you take the timings (for example) from arago tree. The timings is tested in am335x-evm
> >>> So the timings can be directly used to populate GPMC timings. Timings can found at
> >>>
> >>> http://arago-project.org/git/projects/?p=linux-am33x.git;a=commitdiff;
> >>> h=66bfbd2c5b35dc81edce0c24843c476161ab5978;hp=370630359cb8db711cf0941cd2a242e28ccfb61e
> >>>
> >>> [...]
> >>>> +static int gpmc_probe_dt(struct platform_device *pdev)
> >>>
> >>> Can you take care of the following section mismatch.
> >>> WARNING: vmlinux.o(.text+0x1e2d0): Section mismatch in reference
> >>> from the function gpmc_probe_dt() to the function .init.text:gpmc_nand_init().
> >>
> >> Sore, both fixed for v4.
> >>
> >>> [...]
> >>>> +
> >>>> +		val = of_get_nand_ecc_mode(child);
> >>>> +		if (val >= 0)
> >>>> +			gpmc_nand_data->ecc_opt = val;
> >>>
> >>> This will fail for BCH. Index of "soft_bch" is 5 & also don't have selection
> >>> option between for BCH4 & BCH8 also.
> >>> Can you use the of_property_read_u32 (as done early) to pass the ecc selection
> >>> from dt file. This will help selection of BCH4 & BCH8 ecc options.
> >>
> >> Hmm. Shouldn't we rather teach of_get_nand_ecc_mode() that two modes and
> >> bring the enum in sync?
> > 
> > ecc_opt is for selecting different ecc layout and not for selecting ecc mode.
> > 
> > In omap2 driver NAND_ECC_HW ecc mode supports 3 ecc layout
> > 	OMAP_ECC_HAMMING_CODE_HW_ROMCODE
> > 	OMAP_ECC_BCH4_CODE_HW
> > 	OMAP_ECC_BCH8_CODE_HW
> > 
> > So selection of ecc layout data should come from DT not ecc mode.
> 
> Ok, I see. I would still like to set them by string rather than magic
> numbers that map to enum entries. Valid values would be "none", "hw",
> "hw-romcode", "bch4" and "bch8". Are you ok with that?

Ok, that's nice. Better use ecc_opt instead of ecc_mode.

Thanks
Avinash

> 
> 
> Thanks,
> Daniel
> 
> 


WARNING: multiple messages have this Message-ID (diff)
From: avinashphilip@ti.com (Philip, Avinash)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
Date: Wed, 7 Nov 2012 15:37:02 +0000	[thread overview]
Message-ID: <518397C60809E147AF5323E0420B992E3E9DE420@DBDE01.ent.ti.com> (raw)
In-Reply-To: <509A2E75.5060307@gmail.com>

On Wed, Nov 07, 2012 at 15:18:37, Daniel Mack wrote:
> On 05.11.2012 14:29, Philip, Avinash wrote:
> > On Mon, Nov 05, 2012 at 18:28:22, Daniel Mack wrote:
> >> On 05.11.2012 12:03, Philip, Avinash wrote:
> >>> On Fri, Nov 02, 2012 at 20:55:56, Daniel Mack wrote:
> >>>> This patch adds basic DT bindings for OMAP GPMC.
> >>>>
> >>>> The actual peripherals are instanciated from child nodes within the GPMC
> >>>> node, and the only type of device that is currently supported is NAND.
> >>>>
> >>>> Code was added to parse the generic GPMC timing parameters and some
> >>>> documentation with examples on how to use them.
> >>>>
> >>>> Successfully tested on an AM33xx board.
> >>>>
> >>>> Signed-off-by: Daniel Mack <zonque@gmail.com>
> >>> [...]
> >>>> +
> >>>> +		nand at 0,0 {
> >>>> +			reg = <0 0 0>; /* CS0, offset 0 */
> >>>> +			nand-bus-width = <16>;
> >>>> +			nand-ecc-mode = "none";
> >>>> +
> >>>> +			gpmc,sync-clk = <0>;
> >>>> +			gpmc,cs-on = <0>;
> >>>> +			gpmc,cs-rd-off = <36>;
> >>>> +			gpmc,cs-wr-off = <36>;
> >>>> +			gpmc,adv-on = <6>;
> >>>> +			gpmc,adv-rd-off = <24>;
> >>>> +			gpmc,adv-wr-off = <36>;
> >>>> +			gpmc,we-off = <30>;
> >>>> +			gpmc,oe-off = <48>;
> >>>> +			gpmc,access = <54>;
> >>>> +			gpmc,rd-cycle = <72>;
> >>>> +			gpmc,wr-cycle = <72>;
> >>>> +			gpmc,wr-access = <30>;
> >>>> +			gpmc,wr-data-mux-bus = <0>;
> >>>> +
> >>>> +			#address-cells = <1>;
> >>>> +			#size-cells = <1>;
> >>>> +
> >>>
> >>> Can you take the timings (for example) from arago tree. The timings is tested in am335x-evm
> >>> So the timings can be directly used to populate GPMC timings. Timings can found at
> >>>
> >>> http://arago-project.org/git/projects/?p=linux-am33x.git;a=commitdiff;
> >>> h=66bfbd2c5b35dc81edce0c24843c476161ab5978;hp=370630359cb8db711cf0941cd2a242e28ccfb61e
> >>>
> >>> [...]
> >>>> +static int gpmc_probe_dt(struct platform_device *pdev)
> >>>
> >>> Can you take care of the following section mismatch.
> >>> WARNING: vmlinux.o(.text+0x1e2d0): Section mismatch in reference
> >>> from the function gpmc_probe_dt() to the function .init.text:gpmc_nand_init().
> >>
> >> Sore, both fixed for v4.
> >>
> >>> [...]
> >>>> +
> >>>> +		val = of_get_nand_ecc_mode(child);
> >>>> +		if (val >= 0)
> >>>> +			gpmc_nand_data->ecc_opt = val;
> >>>
> >>> This will fail for BCH. Index of "soft_bch" is 5 & also don't have selection
> >>> option between for BCH4 & BCH8 also.
> >>> Can you use the of_property_read_u32 (as done early) to pass the ecc selection
> >>> from dt file. This will help selection of BCH4 & BCH8 ecc options.
> >>
> >> Hmm. Shouldn't we rather teach of_get_nand_ecc_mode() that two modes and
> >> bring the enum in sync?
> > 
> > ecc_opt is for selecting different ecc layout and not for selecting ecc mode.
> > 
> > In omap2 driver NAND_ECC_HW ecc mode supports 3 ecc layout
> > 	OMAP_ECC_HAMMING_CODE_HW_ROMCODE
> > 	OMAP_ECC_BCH4_CODE_HW
> > 	OMAP_ECC_BCH8_CODE_HW
> > 
> > So selection of ecc layout data should come from DT not ecc mode.
> 
> Ok, I see. I would still like to set them by string rather than magic
> numbers that map to enum entries. Valid values would be "none", "hw",
> "hw-romcode", "bch4" and "bch8". Are you ok with that?

Ok, that's nice. Better use ecc_opt instead of ecc_mode.

Thanks
Avinash

> 
> 
> Thanks,
> Daniel
> 
> 

  reply	other threads:[~2012-11-07 15:37 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-02 15:25 [PATCH v3 0/4] RFC: OMAP GPMC DT bindings Daniel Mack
2012-11-02 15:25 ` Daniel Mack
2012-11-02 15:25 ` [PATCH v3 1/4] mtd: omap-nand: pass device_node in platform data Daniel Mack
2012-11-02 15:25   ` Daniel Mack
2012-11-02 15:25 ` [PATCH v3 2/4] ARM: OMAP: gpmc: enable hwecc for AM33xx SoCs Daniel Mack
2012-11-02 15:25   ` Daniel Mack
2012-11-05 10:57   ` Philip, Avinash
2012-11-05 10:57     ` Philip, Avinash
2012-11-02 15:25 ` [PATCH v3 3/4] ARM: OMAP: gpmc: don't create devices from initcall on DT Daniel Mack
2012-11-02 15:25   ` Daniel Mack
2012-11-02 15:25 ` [PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND Daniel Mack
2012-11-02 15:25   ` Daniel Mack
2012-11-05 11:03   ` Philip, Avinash
2012-11-05 11:03     ` Philip, Avinash
2012-11-05 12:58     ` Daniel Mack
2012-11-05 12:58       ` Daniel Mack
2012-11-05 13:29       ` Philip, Avinash
2012-11-05 13:29         ` Philip, Avinash
2012-11-05 23:03         ` Murali Karicheri
     [not found]         ` <518397C60809E147AF5323E0420B992E3E9DC1F1-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2012-11-07  9:48           ` Daniel Mack
2012-11-07  9:48             ` Daniel Mack
2012-11-07 15:37             ` Philip, Avinash [this message]
2012-11-07 15:37               ` Philip, Avinash
2012-11-10 18:56               ` Daniel Mack
2012-11-10 18:56                 ` Daniel Mack
2012-11-15  0:26                 ` Daniel Mack
2012-11-15  0:26                   ` Daniel Mack
2012-11-19  6:06                 ` Philip, Avinash
2012-11-19  6:06                   ` Philip, Avinash
2012-11-20 15:59                 ` Peter Korsgaard
2012-11-20 15:59                   ` Peter Korsgaard
2012-11-21 10:15                   ` Daniel Mack
2012-11-21 10:15                     ` Daniel Mack
     [not found]                     ` <50ACA9BB.7090106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-11-23 10:43                       ` Philip, Avinash
2012-11-23 10:43                         ` Philip, Avinash
2012-11-27 14:00                         ` Daniel Mack
2012-11-27 14:00                           ` Daniel Mack
     [not found]                           ` <50B4C796.4010403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-11-28  5:01                             ` Philip, Avinash
2012-11-28  5:01                               ` Philip, Avinash
2012-12-01 21:50                               ` Ivan Djelic
2012-12-01 21:50                                 ` Ivan Djelic
     [not found]                                 ` <20121201215014.GA11236-ITF29qwbsa/QT0dZR+AlfA@public.gmane.org>
2012-12-05  5:15                                   ` Philip, Avinash
2012-12-05  5:15                                     ` Philip, Avinash
2012-12-06 10:15                                     ` Ivan Djelic
2012-12-06 10:15                                       ` Ivan Djelic
2012-12-06 13:12                                       ` Philip, Avinash
2012-12-06 13:12                                         ` Philip, Avinash
2012-11-02 19:29 ` [PATCH v3 0/4] RFC: OMAP GPMC DT bindings Jon Hunter
2012-11-02 19:29   ` Jon Hunter

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=518397C60809E147AF5323E0420B992E3E9DE420@DBDE01.ent.ti.com \
    --to=avinashphilip@ti.com \
    --cc=afzal@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=jon-hunter@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=paul@pwsan.com \
    --cc=tony@atomide.com \
    --cc=zonque@gmail.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 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.