Re: [PATCH 2/3] mtd: rawnand: stm32_fmc2: add STM32 FMC2 NAND flash controller driver

From: Miquel Raynal
Date: Sun Sep 23 2018 - 07:41:58 EST


Hi Christophe,

<christophe.kerello@xxxxxx> wrote on Mon, 17 Sep 2018 17:47:39 +0200:

> From: Christophe Kerello <christophe.kerello@xxxxxx>
>
> 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@xxxxxx>
> ---


[...]

> +/* 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