[u-boot][PATCH 00/14] rawnand: omap_gpmc: driver model support

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Sat Dec 17 15:48:17 CET 2022


Hi

On Sat, Dec 17, 2022 at 3:09 PM Michael Nazzareno Trimarchi
<michael at amarulasolutions.com> wrote:
>
> Hi Roger
>
> On Sat, Dec 17, 2022 at 2:59 PM Roger Quadros <rogerq at kernel.org> wrote:
> >
> >
> >
> > On 17/12/2022 15:51, Michael Nazzareno Trimarchi wrote:
> > > Hi
> > >
> > > Minimal diff
> > >
> > > diff --git a/configs/chiliboard_defconfig b/configs/chiliboard_defconfig
> > > index 458c4558fd..c7f8fd2e25 100644
> > > --- a/configs/chiliboard_defconfig
> > > +++ b/configs/chiliboard_defconfig
> > > @@ -47,12 +47,14 @@ CONFIG_CMD_MTDPARTS=y
> > >  CONFIG_MTDIDS_DEFAULT="nand0=8000000.nand"
> > >  CONFIG_MTDPARTS_DEFAULT="mtdparts=8000000.nand:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
> > >  CONFIG_OF_CONTROL=y
> > > +CONFIG_SPL_OF_CONTROL=y
> > >  CONFIG_ENV_OVERWRITE=y
> > >  CONFIG_ENV_IS_IN_MMC=y
> > >  CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
> > >  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> > >  CONFIG_NET_RETRY_COUNT=10
> > >  CONFIG_BOOTP_SEND_HOSTNAME=y
> > > +CONFIG_SPL_DM=y
> > >  CONFIG_BOOTCOUNT_LIMIT=y
> > >  CONFIG_SYS_BOOTCOUNT_BE=y
> > >  CONFIG_SYS_I2C_LEGACY=y
> >
> > This worked perfectly.
> > But this platform my not yet be utilizing DM for NAND/ELM driver yet
> > so is this change acceptable?
> >
>
> Can you restrict to platforms that support it?
>
> I have added the author of this upstream

I will explain it better. I can not test the TI platform for now with
nand, waiting to get one of them. This board was upstream by marcin
and maybe he can test it


Michael

>
> Michael
>
> > cheers,
> > -roger
> >
> > >
> > > On Sat, Dec 17, 2022 at 2:46 PM Michael Nazzareno Trimarchi
> > > <michael at amarulasolutions.com> wrote:
> > >>
> > >> Hi
> > >>
> > >> take my config
> > >>
> > >> Michael
> > >>
> > >> On Sat, Dec 17, 2022 at 2:43 PM Roger Quadros <rogerq at kernel.org> wrote:
> > >>>
> > >>> On 17/12/2022 15:38, Michael Nazzareno Trimarchi wrote:
> > >>>> Hi
> > >>>>
> > >>>> On Sat, Dec 17, 2022 at 2:00 PM Roger Quadros <rogerq at kernel.org> wrote:
> > >>>>>
> > >>>>> Hi Michael & Dario,
> > >>>>>
> > >>>>> On 12/12/2022 11:39, Michael Nazzareno Trimarchi wrote:
> > >>>>>> Hi Roger
> > >>>>>>
> > >>>>>> Most of the building problem can be tested with this configuration
> > >>>>>>
> > >>>>>> make ARCH=arm chiliboard_defconfig
> > >>>>>
> > >>>>> I resolved the original issue for all boards but now face a new issue
> > >>>>> only with the chiliboard.
> > >>>>>
> > >>>>> arm-none-linux-gnueabihf-ld.bfd: drivers/mtd/nand/raw/omap_elm.o: in function `dev_read_resource':
> > >>>>> /work/u-boot/include/dm/read.h:1139: undefined reference to `ofnode_read_resource'
> > >>>>>   AR      common/built-in.o
> > >>>>> make[2]: *** [/work/u-boot/scripts/Makefile.spl:527: spl/u-boot-spl] Error 1
> > >>>>> make[1]: *** [/work/u-boot/Makefile:2071: spl/u-boot-spl] Error 2
> > >>>>> make[1]: *** Waiting for unfinished jobs....
> > >>>>> make[1]: Leaving directory '/tmp'
> > >>>>> make: *** [Makefile:177: sub-make] Error 2
> > >>>>>
> > >>>>> The following config options are set
> > >>>>> CONFIG_DM_DEV_READ_INLINE=y
> > >>>>
> > >>>> What happen is that is not set?
> > >>>
> > >>> I removed "default y" for it in drivers/core/Kconfig
> > >>>
> > >>> Now I get
> > >>>
> > >>> arm-none-linux-gnueabihf-ld.bfd: drivers/mtd/nand/raw/omap_elm.o: in function `elm_probe':
> > >>> /work/u-boot/drivers/mtd/nand/raw/omap_elm.c:206: undefined reference to `dev_read_resource'
> > >>> make[2]: *** [/work/u-boot/scripts/Makefile.spl:527: spl/u-boot-spl] Error 1
> > >>> make[1]: *** [/work/u-boot/Makefile:2071: spl/u-boot-spl] Error 2
> > >>> make[1]: *** Waiting for unfinished jobs....
> > >>>
> > >>> cheers,
> > >>> -roger
> > >>>
> > >>>>
> > >>>> Michael
> > >>>>
> > >>>>> CONFIG_SUPPORT_OF_CONTROL=y
> > >>>>>
> > >>>>> My understanding is that in case of spl build (Makefile.spl), the
> > >>>>> drivers/core/ofnode.o does not seem to be included
> > >>>>> thus causing the linking error.
> > >>>>>
> > >>>>> Any suggestions how to fix this?
> > >>>>>
> > >>>>> I've pushed the patches here
> > >>>>> https://github.com/rogerq/u-boot/commits/for-v2023.01/am64-nand-base-1.4
> > >>>>>
> > >>>>> cheers,
> > >>>>> -roger
> > >>>>>
> > >>>>>>
> > >>>>>> Michael
> > >>>>>>
> > >>>>>> On Mon, Dec 12, 2022 at 10:27 AM Dario Binacchi
> > >>>>>> <dario.binacchi at amarulasolutions.com> wrote:
> > >>>>>>>
> > >>>>>>> Hi Roger,
> > >>>>>>>
> > >>>>>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq at kernel.org> wrote:
> > >>>>>>>>
> > >>>>>>>> Hi Dario,
> > >>>>>>>>
> > >>>>>>>> On 11/12/2022 15:56, Dario Binacchi wrote:
> > >>>>>>>>> Hi Roger,
> > >>>>>>>>>
> > >>>>>>>>> On Fri, Nov 25, 2022 at 1:38 PM Roger Quadros <rogerq at kernel.org> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>> Hi Michael,
> > >>>>>>>>>>
> > >>>>>>>>>> On 08/11/2022 11:26, Michael Nazzareno Trimarchi wrote:
> > >>>>>>>>>>> Hi Roger
> > >>>>>>>>>>>
> > >>>>>>>>>>> On Fri, Nov 4, 2022 at 2:27 PM Roger Quadros <rogerq at kernel.org> wrote:
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Hi,
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> On 11/10/2022 14:49, Roger Quadros wrote:
> > >>>>>>>>>>>>> Hi,
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> This series adds driver model support for rawnand: omap_gpmc
> > >>>>>>>>>>>>> and omap_elm drivers.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> This will enable the driver to be used on K2/K3 platforms as well.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Any comments on patches 5 and later? Thanks
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>> We will try to close this week.
> > >>>>>>>>>>
> > >>>>>>>>>> Could you please give your comments on the last few patches. Thanks!
> > >>>>>>>>>>
> > >>>>>>>>>> cheers,
> > >>>>>>>>>> -roger
> > >>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>> Michael
> > >>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> cheers,
> > >>>>>>>>>>>> -roger
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> cheers,
> > >>>>>>>>>>>>> -roger
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Roger Quadros (14):
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Deprecate asm/arch/mem.h
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Enable build for K2/K3 platforms
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Fix build warning on 64-bit platforms
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Optimize NAND reads
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correction
> > >>>>>>>>>>>>>   mtd: rawnand: nand_base: Allow base driver to be used in SPL without
> > >>>>>>>>>>>>>     nand_bbt
> > >>>>>>>>>>>>>   mtd: rawnand: nand_spl_loaders: Fix cast type build warning
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Reduce .bss usage
> > >>>>>>>>>>>>>   dt-bindings: mtd: Add ti,gpmc-nand DT binding documentation
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: support u-boot driver model
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Add SPL NAND support
> > >>>>>>>>>>>>>   mtd: rawnand: omap_gpmc: Enable SYS_NAND_PAGE_COUNT for OMAP_GPMC
> > >>>>>>>>>>>>>   dt-bindings: mtd: Add ti,elm DT binding documentation
> > >>>>>>>>>>>>>   mtd: rawnand: omap_elm: u-boot driver model support
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>  doc/device-tree-bindings/mtd/ti,elm.yaml      |  72 +++
> > >>>>>>>>>>>>>  .../mtd/ti,gpmc-nand.yaml                     | 129 +++++
> > >>>>>>>>>>>>>  drivers/mtd/nand/raw/Kconfig                  |  11 +-
> > >>>>>>>>>>>>>  drivers/mtd/nand/raw/Makefile                 |   2 +-
> > >>>>>>>>>>>>>  drivers/mtd/nand/raw/nand_base.c              |  18 +-
> > >>>>>>>>>>>>>  drivers/mtd/nand/raw/nand_spl_loaders.c       |   2 +-
> > >>>>>>>>>>>>>  drivers/mtd/nand/raw/omap_elm.c               |  33 +-
> > >>>>>>>>>>>>>  .../mtd => drivers/mtd/nand/raw}/omap_elm.h   |   6 +
> > >>>>>>>>>>>>>  drivers/mtd/nand/raw/omap_gpmc.c              | 500 +++++++++++++-----
> > >>>>>>>>>>>>>  9 files changed, 637 insertions(+), 136 deletions(-)
> > >>>>>>>>>>>>>  create mode 100644 doc/device-tree-bindings/mtd/ti,elm.yaml
> > >>>>>>>>>>>>>  create mode 100644 doc/device-tree-bindings/mtd/ti,gpmc-nand.yaml
> > >>>>>>>>>>>>>  rename {include/linux/mtd => drivers/mtd/nand/raw}/omap_elm.h (97%)
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>> I tried to merge your whole series but after the second fix and the
> > >>>>>>>>> third time the CI/CD pipeline failed
> > >>>>>>>>
> > >>>>>>>> Do you have the link to the failure?
> > >>>>>>>
> > >>>>>>> These are the CI/CD pipelines links:
> > >>>>>>> https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540827
> > >>>>>>> https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540876
> > >>>>>>> but I think you don't have permission to access them.
> > >>>>>>>
> > >>>>>>> Anyway:
> > >>>>>>>
> > >>>>>>> for https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540827:
> > >>>>>>> +====================================================
> > >>>>>>> 345 arm: + am335x_guardian
> > >>>>>>> 346+drivers/mtd/nand/raw/omap_gpmc.c:1208:26: error: 'nand_chip'
> > >>>>>>> defined but not used [-Werror=unused-variable]
> > >>>>>>> 347+ 1208 | static struct nand_chip *nand_chip; /* First NAND chip for
> > >>>>>>> SPL use only */
> > >>>>>>> 348+ | ^~~~~~~~~
> > >>>>>>> 349+cc1: all warnings being treated as errors
> > >>>>>>> 350+make[5]: *** [scripts/Makefile.build:258:
> > >>>>>>> drivers/mtd/nand/raw/omap_gpmc.o] Error 1
> > >>>>>>> 351+make[4]: *** [scripts/Makefile.build:398: drivers/mtd/nand/raw] Error 2
> > >>>>>>> 352+make[3]: *** [scripts/Makefile.build:398: drivers/mtd/nand] Error 2
> > >>>>>>> 353+make[2]: *** [scripts/Makefile.build:398: drivers/mtd] Error 2
> > >>>>>>> 354+make[1]: *** [Makefile:1871: drivers] Error 2
> > >>>>>>> 355+make: *** [Makefile:177: sub-make] Error 2
> > >>>>>>>
> > >>>>>>> for https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540876:
> > >>>>>>> +====================================================
> > >>>>>>> 498 arm: + chiliboard
> > >>>>>>> 499+arm-linux-gnueabi-ld.bfd: drivers/mtd/nand/raw/nand.o: in function
> > >>>>>>> `nand_init_chip':
> > >>>>>>> 500+drivers/mtd/nand/raw/nand.c:92: undefined reference to `board_nand_init'
> > >>>>>>> 501+make[1]: *** [Makefile:1778: u-boot] Error 1
> > >>>>>>> 502+make: *** [Makefile:177: sub-make] Error 2
> > >>>>>>> 503 arm: w+ am335x_shc_netboot
> > >>>>>>> 504+===================== WARNING ======================
> > >>>>>>> 505+This board does not use CONFIG_DM_I2C (Driver Model
> > >>>>>>> 506+for I2C drivers). Please update the board to use
> > >>>>>>> 507+CONFIG_DM_I2C before the v2022.04 release. Failure to
> > >>>>>>> 508+update by the deadline may result in board removal.
> > >>>>>>> 509+See doc/develop/driver-model/migration.rst for more info.
> > >>>>>>> 510+====================================================
> > >>>>>>> 511 arm: + cm_t43
> > >>>>>>> 512+arm-linux-gnueabi-ld.bfd: drivers/mtd/nand/raw/nand.o: in function
> > >>>>>>> `nand_init_chip':
> > >>>>>>> 513+drivers/mtd/nand/raw/nand.c:92: undefined reference to `board_nand_init'
> > >>>>>>> 514+make[1]: *** [Makefile:1778: u-boot] Error 1
> > >>>>>>> 515+make: *** [Makefile:177: sub-make] Error 2
> > >>>>>>> 516 arm: w+ am335x_shc_sdboot
> > >>>>>>>
> > >>>>>>> In both cases failed the "build all 32bit ARM platforms" test.
> > >>>>>>>
> > >>>>>>> I think you have to run the command:
> > >>>>>>> ./tools/buildman/buildman -o /tmp -PEWM arm -x aarch64
> > >>>>>>> if you have to run the tests locally.
> > >>>>>>>
> > >>>>>>> Thanks and regards,
> > >>>>>>> Dario
> > >>>>>>>
> > >>>>>>>>
> > >>>>>>>>> I thought it's better you fix the problems. So, I only accepted some
> > >>>>>>>>> of the first few patches in the series:
> > >>>>>>>>> 01/14 mtd: rawnand: omap_gpmc: Deprecate asm/arch/mem.h
> > >>>>>>>>> 02/14 mtd: rawnand: omap_gpmc: Enable build for K2/K3 platforms
> > >>>>>>>>> 03/14 mtd: rawnand: omap_gpmc: Fix build warning on 64-bit platforms
> > >>>>>>>>> 04/14 mtd: rawnand: omap_gpmc: Optimize NAND reads
> > >>>>>>>>> 07/14 mtd: rawnand: nand_spl_loaders: Fix cast type build warning
> > >>>>>>>>> 08/14 mtd: rawnand: omap_gpmc: Reduce .bss usage
> > >>>>>>>>>
> > >>>>>>>>> For the others, please fix them to run the tests successfully.
> > >>>>>>>>
> > >>>>>>>> No problem. I will try to fix and run them through the CI testing myself
> > >>>>>>>> before re-posting.
> > >>>>>>>>
> > >>>>>>>> cheers,
> > >>>>>>>> -roger
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> --
> > >>>>>>>
> > >>>>>>> Dario Binacchi
> > >>>>>>>
> > >>>>>>> Embedded Linux Developer
> > >>>>>>>
> > >>>>>>> dario.binacchi at amarulasolutions.com
> > >>>>>>>
> > >>>>>>> __________________________________
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> Amarula Solutions SRL
> > >>>>>>>
> > >>>>>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> > >>>>>>>
> > >>>>>>> T. +39 042 243 5310
> > >>>>>>> info at amarulasolutions.com
> > >>>>>>>
> > >>>>>>> www.amarulasolutions.com
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>
> > >>
> > >>
> > >> --
> > >> Michael Nazzareno Trimarchi
> > >> Co-Founder & Chief Executive Officer
> > >> M. +39 347 913 2170
> > >> michael at amarulasolutions.com
> > >> __________________________________
> > >>
> > >> Amarula Solutions BV
> > >> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > >> T. +31 (0)85 111 9172
> > >> info at amarulasolutions.com
> > >> www.amarulasolutions.com
> > >
> > >
> > >
>
>
>
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael at amarulasolutions.com
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172
> info at amarulasolutions.com
> www.amarulasolutions.com



--
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com


More information about the U-Boot mailing list