[PATCH v2 0/9] Add DM support for atmel NAND driver

Simon Glass sjg at chromium.org
Wed Aug 31 15:46:59 CEST 2022


Hi Eugen,

On Wed, 31 Aug 2022 at 00:34, <Eugen.Hristev at microchip.com> wrote:
>
> On 8/30/22 5:30 AM, Simon Glass wrote:
> > Hi,
> >
> > On Mon, 29 Aug 2022 at 00:41, Michael Nazzareno Trimarchi
> > <michael at amarulasolutions.com> wrote:
> >>
> >> Hi
> >>
> >> On Mon, Aug 29, 2022 at 8:19 AM Balamanikandan Gunasundar
> >> <balamanikandan.gunasundar at microchip.com> wrote:
> >>>
> >>> Change include:
> >>>
> >>> - Adapt GPIO descriptor apis for U-Boot. Use
> >>>    gpio_request_by_name_nodev, dm_gpio_get_value etc.
> >>> - Use U_BOOT_DRIVER instead of platform_driver.
> >>> - Replace struct platform_device with struct udevice
> >>> - Check the status of nfc exec operation by polling the status
> >>>    register instead of interrupt based handling
> >>> - DMA operations not supported. Remove it
> >>> - Adapt DT parsing to U-Boot APIs
> >>>
> >>> v2:
> >>>
> >>> - Add linux reference version in the commit message from which the
> >>>    driver is ported from
> >>> - Reword the commit message to describe the changes clearly
> >>>
> >>
> >> Thank you to repost it again, I will review it and try to include soon
> >>
> >> Michael
> >>
> >>> Balamanikandan Gunasundar (9):
> >>>    nand: atmel: Add DM based NAND driver
> >>>    nand: atmel: Add pmecc driver
> >>>    mfd: syscon: Add atmel-matrix registers definition
> >>>    memory: atmel-ebi: add Atmel EBI (External Bus Interface) driver
> >>>    mfd: syscon: atmel-smc: Add driver for atmel SMC
> >>>    configs: at91: sam9x60ek: Enable DM based nand driver
> >>>    ARM: dts: at91: sam9x60: Add nodes for EBI and NAND
> >>>    ARM: dts: at91: sam9x60ek: Enable NAND support
> >>>    board: sam9x60ek: remove nand init from board file
> >>>
> >>>   MAINTAINERS                                  |    1 +
> >>>   arch/arm/dts/sam9x60.dtsi                    |   42 +
> >>>   arch/arm/dts/sam9x60ek.dts                   |  103 +
> >>>   board/atmel/sam9x60ek/sam9x60ek.c            |   59 -
> >>>   configs/sam9x60ek_mmc_defconfig              |    9 +-
> >>>   configs/sam9x60ek_nandflash_defconfig        |    9 +-
> >>>   configs/sam9x60ek_qspiflash_defconfig        |    8 +-
> >>>   drivers/Kconfig                              |    2 +
> >>>   drivers/Makefile                             |    1 +
> >>>   drivers/memory/Kconfig                       |    7 +
> >>>   drivers/memory/Makefile                      |    1 +
> >>>   drivers/memory/atmel_ebi.c                   |   37 +
> >>>   drivers/mfd/Kconfig                          |    4 +
> >>>   drivers/mfd/Makefile                         |    1 +
> >>>   drivers/mfd/atmel-smc.c                      |  364 +++
> >>>   drivers/mtd/nand/raw/Kconfig                 |    8 +
> >>>   drivers/mtd/nand/raw/Makefile                |    1 +
> >>>   drivers/mtd/nand/raw/atmel/Makefile          |    5 +
> >>>   drivers/mtd/nand/raw/atmel/nand-controller.c | 2293 ++++++++++++++++++
> >>>   drivers/mtd/nand/raw/atmel/pmecc.c           |  965 ++++++++
> >>>   drivers/mtd/nand/raw/atmel/pmecc.h           |   94 +
> >>>   include/configs/sam9x60ek.h                  |    5 -
> >>>   include/linux/mfd/syscon/atmel-matrix.h      |  112 +
> >>>   include/linux/mfd/syscon/atmel-smc.h         |  119 +
> >>>   24 files changed, 4177 insertions(+), 73 deletions(-)
> >>>   create mode 100644 drivers/memory/atmel_ebi.c
> >>>   create mode 100644 drivers/mfd/Kconfig
> >>>   create mode 100644 drivers/mfd/Makefile
> >>>   create mode 100644 drivers/mfd/atmel-smc.c
> >>>   create mode 100644 drivers/mtd/nand/raw/atmel/Makefile
> >>>   create mode 100644 drivers/mtd/nand/raw/atmel/nand-controller.c
> >>>   create mode 100644 drivers/mtd/nand/raw/atmel/pmecc.c
> >>>   create mode 100644 drivers/mtd/nand/raw/atmel/pmecc.h
> >>>   create mode 100644 include/linux/mfd/syscon/atmel-matrix.h
> >>>   create mode 100644 include/linux/mfd/syscon/atmel-smc.h
> >>>
> >>> --
> >>> 2.34.1
> >>>
> >
> > Once this series is in, I wonder if it might be possible to drop the
> > nand_init() call and have this happen as needed, i.e. lazy init?
> >
> > Regards,
> > Simon
> >
>
> Hi Simon,
>
> nand_init() should be called if nand is accessed. Do you have a specific
> place in mind where this call is not appropriate, and should be removed ?

Well I mean dropping the initr_nand() so we don't init nand unless
needed. Or perhaps it should be a Kconfig to enable this.

But note this is nothing to do with your series, just something for the future.


>
> Hi Michael,
>
> If you want to review this series, please do, I would like this to fit
> into the next merge window for 2023.01 , but if it needs more time,
> that's fine.
>
> Eugen


More information about the U-Boot mailing list