mbox series

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

Message ID 20221011115012.6181-1-rogerq@kernel.org
Headers show
Series rawnand: omap_gpmc: driver model support | expand

Message

Roger Quadros Oct. 11, 2022, 11:49 a.m. UTC
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.

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%)

Comments

Roger Quadros Nov. 4, 2022, 1:27 p.m. UTC | #1
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


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%)
>
Michael Trimarchi Nov. 8, 2022, 9:26 a.m. UTC | #2
Hi Roger

On Fri, Nov 4, 2022 at 2:27 PM Roger Quadros <rogerq@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.

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%)
> >
Roger Quadros Nov. 25, 2022, 12:38 p.m. UTC | #3
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@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%)
>>>
> 
> 
>
Dario Binacchi Dec. 11, 2022, 1:56 p.m. UTC | #4
Hi Roger,

On Fri, Nov 25, 2022 at 1:38 PM Roger Quadros <rogerq@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@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
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.

Thanks and regards,
Dario
Roger Quadros Dec. 12, 2022, 9:12 a.m. UTC | #5
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@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@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?

> 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 Dec. 12, 2022, 9:27 a.m. UTC | #6
Hi Roger,

On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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
Michael Trimarchi Dec. 12, 2022, 9:39 a.m. UTC | #7
Hi Roger

Most of the building problem can be tested with this configuration

make ARCH=arm chiliboard_defconfig

Michael

On Mon, Dec 12, 2022 at 10:27 AM Dario Binacchi
<dario.binacchi@amarulasolutions.com> wrote:
>
> Hi Roger,
>
> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
>
> __________________________________
>
>
> Amarula Solutions SRL
>
> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>
> T. +39 042 243 5310
> info@amarulasolutions.com
>
> www.amarulasolutions.com
Tom Rini Dec. 12, 2022, 1:58 p.m. UTC | #8
On Mon, Dec 12, 2022 at 10:27:41AM +0100, Dario Binacchi wrote:
> Hi Roger,
> 
> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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.

Note that under CI settings you can make your pipeline visible to all.
It's just not the default for some reason and I'm not sure we can change
it globally.
Roger Quadros Dec. 17, 2022, 1 p.m. UTC | #9
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
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@amarulasolutions.com> wrote:
>>
>> Hi Roger,
>>
>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
>>
>> __________________________________
>>
>>
>> Amarula Solutions SRL
>>
>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>>
>> T. +39 042 243 5310
>> info@amarulasolutions.com
>>
>> www.amarulasolutions.com
> 
> 
>
Michael Trimarchi Dec. 17, 2022, 1:38 p.m. UTC | #10
Hi

On Sat, Dec 17, 2022 at 2:00 PM Roger Quadros <rogerq@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?

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@amarulasolutions.com> wrote:
> >>
> >> Hi Roger,
> >>
> >> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
> >>
> >> __________________________________
> >>
> >>
> >> Amarula Solutions SRL
> >>
> >> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> >>
> >> T. +39 042 243 5310
> >> info@amarulasolutions.com
> >>
> >> www.amarulasolutions.com
> >
> >
> >
Roger Quadros Dec. 17, 2022, 1:43 p.m. UTC | #11
On 17/12/2022 15:38, Michael Nazzareno Trimarchi wrote:
> Hi
> 
> On Sat, Dec 17, 2022 at 2:00 PM Roger Quadros <rogerq@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@amarulasolutions.com> wrote:
>>>>
>>>> Hi Roger,
>>>>
>>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
>>>>
>>>> __________________________________
>>>>
>>>>
>>>> Amarula Solutions SRL
>>>>
>>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>>>>
>>>> T. +39 042 243 5310
>>>> info@amarulasolutions.com
>>>>
>>>> www.amarulasolutions.com
>>>
>>>
>>>
> 
> 
>
Michael Trimarchi Dec. 17, 2022, 1:46 p.m. UTC | #12
Hi

take my config

Michael

On Sat, Dec 17, 2022 at 2:43 PM Roger Quadros <rogerq@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@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@amarulasolutions.com> wrote:
> >>>>
> >>>> Hi Roger,
> >>>>
> >>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
> >>>>
> >>>> __________________________________
> >>>>
> >>>>
> >>>> Amarula Solutions SRL
> >>>>
> >>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> >>>>
> >>>> T. +39 042 243 5310
> >>>> info@amarulasolutions.com
> >>>>
> >>>> www.amarulasolutions.com
> >>>
> >>>
> >>>
> >
> >
> >
Michael Trimarchi Dec. 17, 2022, 1:51 p.m. UTC | #13
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@amarulasolutions.com> wrote:
>
> Hi
>
> take my config
>
> Michael
>
> On Sat, Dec 17, 2022 at 2:43 PM Roger Quadros <rogerq@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@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@amarulasolutions.com> wrote:
> > >>>>
> > >>>> Hi Roger,
> > >>>>
> > >>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
> > >>>>
> > >>>> __________________________________
> > >>>>
> > >>>>
> > >>>> Amarula Solutions SRL
> > >>>>
> > >>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> > >>>>
> > >>>> T. +39 042 243 5310
> > >>>> info@amarulasolutions.com
> > >>>>
> > >>>> www.amarulasolutions.com
> > >>>
> > >>>
> > >>>
> > >
> > >
> > >
>
>
>
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael@amarulasolutions.com
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172
> info@amarulasolutions.com
> www.amarulasolutions.com
Roger Quadros Dec. 17, 2022, 1:59 p.m. UTC | #14
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?

cheers,
-roger

> 
> On Sat, Dec 17, 2022 at 2:46 PM Michael Nazzareno Trimarchi
> <michael@amarulasolutions.com> wrote:
>>
>> Hi
>>
>> take my config
>>
>> Michael
>>
>> On Sat, Dec 17, 2022 at 2:43 PM Roger Quadros <rogerq@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@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@amarulasolutions.com> wrote:
>>>>>>>
>>>>>>> Hi Roger,
>>>>>>>
>>>>>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
>>>>>>>
>>>>>>> __________________________________
>>>>>>>
>>>>>>>
>>>>>>> Amarula Solutions SRL
>>>>>>>
>>>>>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>>>>>>>
>>>>>>> T. +39 042 243 5310
>>>>>>> info@amarulasolutions.com
>>>>>>>
>>>>>>> www.amarulasolutions.com
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>
>> --
>> Michael Nazzareno Trimarchi
>> Co-Founder & Chief Executive Officer
>> M. +39 347 913 2170
>> michael@amarulasolutions.com
>> __________________________________
>>
>> Amarula Solutions BV
>> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
>> T. +31 (0)85 111 9172
>> info@amarulasolutions.com
>> www.amarulasolutions.com
> 
> 
>
Michael Trimarchi Dec. 17, 2022, 2:09 p.m. UTC | #15
Hi Roger

On Sat, Dec 17, 2022 at 2:59 PM Roger Quadros <rogerq@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

Michael

> cheers,
> -roger
>
> >
> > On Sat, Dec 17, 2022 at 2:46 PM Michael Nazzareno Trimarchi
> > <michael@amarulasolutions.com> wrote:
> >>
> >> Hi
> >>
> >> take my config
> >>
> >> Michael
> >>
> >> On Sat, Dec 17, 2022 at 2:43 PM Roger Quadros <rogerq@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@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@amarulasolutions.com> wrote:
> >>>>>>>
> >>>>>>> Hi Roger,
> >>>>>>>
> >>>>>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
> >>>>>>>
> >>>>>>> __________________________________
> >>>>>>>
> >>>>>>>
> >>>>>>> Amarula Solutions SRL
> >>>>>>>
> >>>>>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> >>>>>>>
> >>>>>>> T. +39 042 243 5310
> >>>>>>> info@amarulasolutions.com
> >>>>>>>
> >>>>>>> www.amarulasolutions.com
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>>>
> >>
> >>
> >>
> >> --
> >> Michael Nazzareno Trimarchi
> >> Co-Founder & Chief Executive Officer
> >> M. +39 347 913 2170
> >> michael@amarulasolutions.com
> >> __________________________________
> >>
> >> Amarula Solutions BV
> >> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> >> T. +31 (0)85 111 9172
> >> info@amarulasolutions.com
> >> www.amarulasolutions.com
> >
> >
> >
Michael Trimarchi Dec. 17, 2022, 2:48 p.m. UTC | #16
Hi

On Sat, Dec 17, 2022 at 3:09 PM Michael Nazzareno Trimarchi
<michael@amarulasolutions.com> wrote:
>
> Hi Roger
>
> On Sat, Dec 17, 2022 at 2:59 PM Roger Quadros <rogerq@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@amarulasolutions.com> wrote:
> > >>
> > >> Hi
> > >>
> > >> take my config
> > >>
> > >> Michael
> > >>
> > >> On Sat, Dec 17, 2022 at 2:43 PM Roger Quadros <rogerq@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@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@amarulasolutions.com> wrote:
> > >>>>>>>
> > >>>>>>> Hi Roger,
> > >>>>>>>
> > >>>>>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq@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@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@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@amarulasolutions.com
> > >>>>>>>
> > >>>>>>> __________________________________
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> Amarula Solutions SRL
> > >>>>>>>
> > >>>>>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> > >>>>>>>
> > >>>>>>> T. +39 042 243 5310
> > >>>>>>> info@amarulasolutions.com
> > >>>>>>>
> > >>>>>>> www.amarulasolutions.com
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>
> > >>
> > >>
> > >> --
> > >> Michael Nazzareno Trimarchi
> > >> Co-Founder & Chief Executive Officer
> > >> M. +39 347 913 2170
> > >> michael@amarulasolutions.com
> > >> __________________________________
> > >>
> > >> Amarula Solutions BV
> > >> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > >> T. +31 (0)85 111 9172
> > >> info@amarulasolutions.com
> > >> www.amarulasolutions.com
> > >
> > >
> > >
>
>
>
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael@amarulasolutions.com
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172
> info@amarulasolutions.com
> www.amarulasolutions.com



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