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

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Sat Dec 17 14:51:08 CET 2022


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

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


More information about the U-Boot mailing list