[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180923133451.78c95cef@xps13>
Date: Sun, 23 Sep 2018 13:34:51 +0200
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: <christophe.kerello@...com>
Cc: <boris.brezillon@...tlin.com>, <richard@....at>,
<dwmw2@...radead.org>, <computersforpeace@...il.com>,
<marek.vasut@...il.com>, <robh+dt@...nel.org>,
<mark.rutland@....com>, <linux-mtd@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>
Subject: Re: [PATCH 2/3] mtd: rawnand: stm32_fmc2: add STM32 FMC2 NAND flash
controller driver
Hi Christophe,
<christophe.kerello@...com> wrote on Mon, 17 Sep 2018 17:47:39 +0200:
> From: Christophe Kerello <christophe.kerello@...com>
>
> The driver adds the support for the STMicroelectronics FMC2 NAND
> Controller found on STM32MP SOCs.
>
> This patch is based on FMC2 command sequencer.
> The purpose of the command sequencer is to facilitate the programming
> and the reading of NAND flash pages with the ECC and to free the CPU
> of sequencing tasks.
> It requires one DMA channel for write and two DMA channels for read
> operations.
>
> Only NAND_ECC_HW mode is actually supported.
> The driver supports a maximum 8k page size.
> The following ECC strength and step size are currently supported:
> - nand-ecc-strength = <8>, nand-ecc-step-size = <512> (BCH8)
> - nand-ecc-strength = <4>, nand-ecc-step-size = <512> (BCH4)
> - nand-ecc-strength = <1>, nand-ecc-step-size = <512> (Extended ecc
> based on HAMMING)
>
> This patch has been tested on Micron MT29F8G08ABACAH4 and
> MT29F8G16ABACAH4
>
> Signed-off-by: Christophe Kerello <christophe.kerello@...com>
> ---
[...]
> +/* NAND callbacks setup */
> +static void stm32_fmc2_nand_callbacks_setup(struct stm32_fmc2 *fmc2)
> +{
> + struct nand_chip *chip = &fmc2->chip;
> +
> + /* Specific callbacks to read/write a page */
> + chip->ecc.correct = stm32_fmc2_ham_correct;
> + chip->ecc.write_page = stm32_fmc2_sequencer_write_page;
> + chip->ecc.read_page = stm32_fmc2_sequencer_read_page;
> + chip->ecc.write_page_raw = stm32_fmc2_sequencer_write_page_raw;
> + chip->ecc.read_page_raw = stm32_fmc2_sequencer_read_page_raw;
Are you sure all the tests in mtd-utils are successful?
Thanks,
Miquèl
Powered by blists - more mailing lists