Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-03 Thread Lukasz Majewski
Hi Jagan,

> On Wed, Jun 3, 2020 at 12:31 AM Tom Rini  wrote:
> >
> > On Wed, Jun 03, 2020 at 12:10:30AM +0530, Jagan Teki wrote:  
> > > On Tue, Jun 2, 2020 at 11:57 PM Tom Rini 
> > > wrote:  
> > > >
> > > > On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:  
> > > > > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou
> > > > >  wrote:  
> > > > > >
> > > > > > From: Lukasz Majewski 
> > > > > >
> > > > > > This change allows more fine tuning of driver model based
> > > > > > SPI support in SPL and TPL. It is now possible to
> > > > > > explicitly enable/disable the DM_SPI support in SPL and TPL
> > > > > > via Kconfig option.
> > > > > >
> > > > > > Before this change it was necessary to use:
> > > > > > /* SPI Flash Configs */
> > > > > > #if defined(CONFIG_SPL_BUILD)
> > > > > > #undef CONFIG_DM_SPI
> > > > > > #undef CONFIG_DM_SPI_FLASH
> > > > > > #undef CONFIG_SPI_FLASH_MTD
> > > > > > #endif
> > > > > >
> > > > > > in the ./include/configs/.h, which is error prone
> > > > > > and shall be avoided when we strive to switch to Kconfig.
> > > > > >
> > > > > > The goal of this patch:
> > > > > >
> > > > > > Provide distinction for DM_SPI support in both U-Boot
> > > > > > proper and SPL (TPL). Valid use case is when U-Boot proper
> > > > > > wants to use DM_SPI, but SPL must still support non DM
> > > > > > driver.
> > > > > >
> > > > > > Another use case is the conversion of non DM/DTS SPI driver
> > > > > > to support DM/DTS. When such driver needs to work in both
> > > > > > SPL and U-Boot proper, the distinction is needed in Kconfig
> > > > > > (also if SPL version of the driver supports OF_PLATDATA).
> > > > > >
> > > > > > In the end of the day one would have to support following
> > > > > > use cases (in single driver file - e.g. mxs_spi.c):
> > > > > >
> > > > > > - U-Boot proper driver supporting DT/DTS
> > > > > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > > > > - SPL driver without DT/DTS support
> > > > > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough
> > > > > > resources to run full blown DT/DTS)
> > > > > > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have
> > > > > > constrained environment with no fitImage and OF_LIBFDT
> > > > > > support).
> > > > > >
> > > > > > Some boards do require SPI support (with DM) in SPL (TPL)
> > > > > > and some only have DM_SPI{_FLASH} defined to allow
> > > > > > compiling SPL.
> > > > > >
> > > > > > This patch converts #ifdef CONFIG_DM_SPI* to #if
> > > > > > CONFIG_IS_ENABLED(DM_SPI) and provides corresponding
> > > > > > defines in Kconfig.
> > > > > >
> > > > > > Signed-off-by: Lukasz Majewski 
> > > > > > Tested-by: Adam Ford  #da850-evm
> > > > > > Signed-off-by: Hou Zhiqiang 
> > > > > > ---
> > > > > > V4:
> > > > > >  - Rebase the patch and remove SPL_DM_SPI from target
> > > > > > ls1046 boards.
> > > > > >
> > > > > >  arch/arm/Kconfig| 11
> > > > > > +++ board/l+g/vinco/vinco.c |
> > > > > > 4 ++-- cmd/sf.c|  4 ++--
> > > > > >  cmd/spi.c   |  6 +++---
> > > > > >  common/spl/Kconfig  | 20
> > > > > >  configs/am57xx_evm_defconfig
> > > > > >  |  2 ++ configs/am57xx_hs_evm_defconfig |
> > > > > > 2 ++ configs/am57xx_hs_evm_usb_defconfig |  2 ++
> > > > > >  configs/axm_defconfig   |  2 ++
> > > > > >  configs/chromebook_link64_defconfig |  2 ++
> > > > > >  configs/chromebook_samus_tpl_defconfig  |  4 
> > > > > >  configs/dra7xx_evm_defconfig|  2 ++
> > > > > >  configs/dra7xx_hs_evm_defconfig |  2 ++
> > > > > >  configs/dra7xx_hs_evm_usb_defconfig |  2 ++
> > > > > >  configs/j721e_evm_a72_defconfig |  2 ++
> > > > > >  configs/j721e_evm_r5_defconfig  |  2 ++
> > > > > >  configs/ls1021aiot_qspi_defconfig   |  2 ++
> > > > > >  configs/ls1021aiot_sdcard_defconfig |  2 ++
> > > > > >  configs/ls1021aqds_qspi_defconfig   |  1 +
> > > > > >  configs/ls1021aqds_sdcard_qspi_defconfig|  1 +
> > > > > >  configs/ls1021atwr_qspi_defconfig   |  1 +
> > > > > >  configs/sama5d2_xplained_spiflash_defconfig |  2 ++
> > > > > >  configs/sama5d3xek_spiflash_defconfig   |  7 ---
> > > > > >  configs/sama5d4_xplained_spiflash_defconfig |  2 ++
> > > > > >  configs/sama5d4ek_spiflash_defconfig|  2 ++
> > > > > >  configs/stm32mp15_basic_defconfig   |  2 ++
> > > > > >  configs/taurus_defconfig|  2 ++
> > > > > >  drivers/mtd/spi/Makefile|  4 ++--
> > > > > >  drivers/mtd/spi/sf_probe.c  |  2 +-
> > > > > >  drivers/net/fm/fm.c |  4 ++--
> > > > > >  drivers/spi/Makefile|  2 +-
> > > > > >  drivers/spi/atmel_spi.c | 

RE: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-03 Thread Z.q. Hou
Hi Jagan,

Thanks a lot for your comments!

> -Original Message-
> From: Jagan Teki [mailto:ja...@amarulasolutions.com]
> Sent: 2020年6月3日 15:39
> To: Z.q. Hou 
> Cc: Tom Rini ; U-Boot-Denx ;
> Lokesh Vutla ; Andrew F Davis ; Heiko
> Schocher ; Simon Glass ; Feng Li
> ; Alison Wang ; Sumit Garg
> ; Eugen Hristev ;
> Patrick Delaunay ; Vignesh R ;
> Joe Hershberger ; Stefan Roese ;
> Wolfgang Denk ; Lukasz Majewski ; Miquel
> Raynal ; Marek Vasut ; Bin
> Meng ; Simon Goldschmidt
> ; Markus Klotzbuecher
> ; Baruch Siach ;
> Harald Seiler ; Joel Johnson ; Anatolij
> Gustschin ; Priyanka Jain ;
> Madalin Bucur (OSS) ; Gervais, Francois
> ; Udit Agarwal 
> Subject: Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to
> CONFIG_$(SPL_TPL_)DM_SPI*
> 
> On Wed, Jun 3, 2020 at 7:16 AM Z.q. Hou  wrote:
> >
> > Hi Tom and Jagan,
> >
> > Thanks a lot for your comments!
> >
> > > -Original Message-
> > > From: Tom Rini 
> > > Sent: 2020年6月3日 3:02
> > > To: Jagan Teki ; Z.q. Hou
> > > 
> > > Cc: U-Boot-Denx ; Lokesh Vutla
> > > ; Andrew F Davis ; Heiko Schocher
> > > ; Simon Glass ; Feng Li
> > > ; Alison Wang ; Sumit Garg
> > > ; Eugen Hristev ;
> > > Patrick Delaunay ; Vignesh R
> > > ; Joe Hershberger ; Stefan
> > > Roese ; Wolfgang Denk ; Lukasz Majewski
> > > ; Miquel Raynal ; Marek
> > > Vasut ; Bin Meng ; Simon
> > > Goldschmidt ; Markus Klotzbuecher
> > > ; Baruch Siach ;
> > > Harald Seiler ; Joel Johnson ;
> > > Anatolij Gustschin ; Priyanka Jain
> > > ; Madalin Bucur (OSS)
> > > ; Gervais, Francois
> > > ; Udit Agarwal
> 
> > > Subject: Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to
> > > CONFIG_$(SPL_TPL_)DM_SPI*
> > >
> > > On Wed, Jun 03, 2020 at 12:10:30AM +0530, Jagan Teki wrote:
> > > > On Tue, Jun 2, 2020 at 11:57 PM Tom Rini  wrote:
> > > > >
> > > > > On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> > > > > > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou
> > > > > > 
> > > wrote:
> > > > > > >
> > > > > > > From: Lukasz Majewski 
> > > > > > >
> > > > > > > This change allows more fine tuning of driver model based
> > > > > > > SPI support in SPL and TPL. It is now possible to explicitly
> > > > > > > enable/disable the DM_SPI support in SPL and TPL via Kconfig
> option.
> > > > > > >
> > > > > > > Before this change it was necessary to use:
> > > > > > > /* SPI Flash Configs */
> > > > > > > #if defined(CONFIG_SPL_BUILD)
> > > > > > > #undef CONFIG_DM_SPI
> > > > > > > #undef CONFIG_DM_SPI_FLASH
> > > > > > > #undef CONFIG_SPI_FLASH_MTD
> > > > > > > #endif
> > > > > > >
> > > > > > > in the ./include/configs/.h, which is error prone and
> > > > > > > shall be avoided when we strive to switch to Kconfig.
> > > > > > >
> > > > > > > The goal of this patch:
> > > > > > >
> > > > > > > Provide distinction for DM_SPI support in both U-Boot proper
> > > > > > > and SPL
> > > (TPL).
> > > > > > > Valid use case is when U-Boot proper wants to use DM_SPI,
> > > > > > > but SPL must still support non DM driver.
> > > > > > >
> > > > > > > Another use case is the conversion of non DM/DTS SPI driver
> > > > > > > to support DM/DTS. When such driver needs to work in both
> > > > > > > SPL and U-Boot proper, the distinction is needed in Kconfig
> > > > > > > (also if SPL version of the driver supports OF_PLATDATA).
> > > > > > >
> > > > > > > In the end of the day one would have to support following
> > > > > > > use cases (in single driver file - e.g. mxs_spi.c):
> > > > > > >
> > > > > > > - U-Boot proper driver supporting DT/DTS
> > > > > > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > > > > > - SPL driver without DT/DTS support
> > > > > > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough
&

Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-03 Thread Jagan Teki
On Wed, Jun 3, 2020 at 7:16 AM Z.q. Hou  wrote:
>
> Hi Tom and Jagan,
>
> Thanks a lot for your comments!
>
> > -Original Message-
> > From: Tom Rini 
> > Sent: 2020年6月3日 3:02
> > To: Jagan Teki ; Z.q. Hou
> > 
> > Cc: U-Boot-Denx ; Lokesh Vutla
> > ; Andrew F Davis ; Heiko Schocher
> > ; Simon Glass ; Feng Li
> > ; Alison Wang ; Sumit Garg
> > ; Eugen Hristev ;
> > Patrick Delaunay ; Vignesh R ;
> > Joe Hershberger ; Stefan Roese ;
> > Wolfgang Denk ; Lukasz Majewski ; Miquel
> > Raynal ; Marek Vasut ; Bin
> > Meng ; Simon Goldschmidt
> > ; Markus Klotzbuecher
> > ; Baruch Siach ;
> > Harald Seiler ; Joel Johnson ; Anatolij
> > Gustschin ; Priyanka Jain ;
> > Madalin Bucur (OSS) ; Gervais, Francois
> > ; Udit Agarwal 
> > Subject: Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to
> > CONFIG_$(SPL_TPL_)DM_SPI*
> >
> > On Wed, Jun 03, 2020 at 12:10:30AM +0530, Jagan Teki wrote:
> > > On Tue, Jun 2, 2020 at 11:57 PM Tom Rini  wrote:
> > > >
> > > > On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> > > > > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou 
> > wrote:
> > > > > >
> > > > > > From: Lukasz Majewski 
> > > > > >
> > > > > > This change allows more fine tuning of driver model based SPI
> > > > > > support in SPL and TPL. It is now possible to explicitly
> > > > > > enable/disable the DM_SPI support in SPL and TPL via Kconfig option.
> > > > > >
> > > > > > Before this change it was necessary to use:
> > > > > > /* SPI Flash Configs */
> > > > > > #if defined(CONFIG_SPL_BUILD)
> > > > > > #undef CONFIG_DM_SPI
> > > > > > #undef CONFIG_DM_SPI_FLASH
> > > > > > #undef CONFIG_SPI_FLASH_MTD
> > > > > > #endif
> > > > > >
> > > > > > in the ./include/configs/.h, which is error prone and
> > > > > > shall be avoided when we strive to switch to Kconfig.
> > > > > >
> > > > > > The goal of this patch:
> > > > > >
> > > > > > Provide distinction for DM_SPI support in both U-Boot proper and SPL
> > (TPL).
> > > > > > Valid use case is when U-Boot proper wants to use DM_SPI, but
> > > > > > SPL must still support non DM driver.
> > > > > >
> > > > > > Another use case is the conversion of non DM/DTS SPI driver to
> > > > > > support DM/DTS. When such driver needs to work in both SPL and
> > > > > > U-Boot proper, the distinction is needed in Kconfig (also if SPL
> > > > > > version of the driver supports OF_PLATDATA).
> > > > > >
> > > > > > In the end of the day one would have to support following use
> > > > > > cases (in single driver file - e.g. mxs_spi.c):
> > > > > >
> > > > > > - U-Boot proper driver supporting DT/DTS
> > > > > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > > > > - SPL driver without DT/DTS support
> > > > > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough
> > resources to
> > > > > >   run full blown DT/DTS)
> > > > > > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have
> > constrained
> > > > > >   environment with no fitImage and OF_LIBFDT support).
> > > > > >
> > > > > > Some boards do require SPI support (with DM) in SPL (TPL) and
> > > > > > some only have DM_SPI{_FLASH} defined to allow compiling SPL.
> > > > > >
> > > > > > This patch converts #ifdef CONFIG_DM_SPI* to #if
> > > > > > CONFIG_IS_ENABLED(DM_SPI) and provides corresponding defines in
> > Kconfig.
> > > > > >
> > > > > > Signed-off-by: Lukasz Majewski 
> > > > > > Tested-by: Adam Ford  #da850-evm
> > > > > > Signed-off-by: Hou Zhiqiang 
> > > > > > ---
> > > > > > V4:
> > > > > >  - Rebase the patch and remove SPL_DM_SPI from target ls1046
> > boards.
> > > > > >
> > > > > >  arch/arm/Kconfig| 11
> > +++
> > > > > >  board/l+g/vinco/vinco.c |  4 ++--

RE: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-02 Thread Z.q. Hou
Hi Tom and Jagan,

Thanks a lot for your comments!

> -Original Message-
> From: Tom Rini 
> Sent: 2020年6月3日 3:02
> To: Jagan Teki ; Z.q. Hou
> 
> Cc: U-Boot-Denx ; Lokesh Vutla
> ; Andrew F Davis ; Heiko Schocher
> ; Simon Glass ; Feng Li
> ; Alison Wang ; Sumit Garg
> ; Eugen Hristev ;
> Patrick Delaunay ; Vignesh R ;
> Joe Hershberger ; Stefan Roese ;
> Wolfgang Denk ; Lukasz Majewski ; Miquel
> Raynal ; Marek Vasut ; Bin
> Meng ; Simon Goldschmidt
> ; Markus Klotzbuecher
> ; Baruch Siach ;
> Harald Seiler ; Joel Johnson ; Anatolij
> Gustschin ; Priyanka Jain ;
> Madalin Bucur (OSS) ; Gervais, Francois
> ; Udit Agarwal 
> Subject: Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to
> CONFIG_$(SPL_TPL_)DM_SPI*
> 
> On Wed, Jun 03, 2020 at 12:10:30AM +0530, Jagan Teki wrote:
> > On Tue, Jun 2, 2020 at 11:57 PM Tom Rini  wrote:
> > >
> > > On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> > > > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou 
> wrote:
> > > > >
> > > > > From: Lukasz Majewski 
> > > > >
> > > > > This change allows more fine tuning of driver model based SPI
> > > > > support in SPL and TPL. It is now possible to explicitly
> > > > > enable/disable the DM_SPI support in SPL and TPL via Kconfig option.
> > > > >
> > > > > Before this change it was necessary to use:
> > > > > /* SPI Flash Configs */
> > > > > #if defined(CONFIG_SPL_BUILD)
> > > > > #undef CONFIG_DM_SPI
> > > > > #undef CONFIG_DM_SPI_FLASH
> > > > > #undef CONFIG_SPI_FLASH_MTD
> > > > > #endif
> > > > >
> > > > > in the ./include/configs/.h, which is error prone and
> > > > > shall be avoided when we strive to switch to Kconfig.
> > > > >
> > > > > The goal of this patch:
> > > > >
> > > > > Provide distinction for DM_SPI support in both U-Boot proper and SPL
> (TPL).
> > > > > Valid use case is when U-Boot proper wants to use DM_SPI, but
> > > > > SPL must still support non DM driver.
> > > > >
> > > > > Another use case is the conversion of non DM/DTS SPI driver to
> > > > > support DM/DTS. When such driver needs to work in both SPL and
> > > > > U-Boot proper, the distinction is needed in Kconfig (also if SPL
> > > > > version of the driver supports OF_PLATDATA).
> > > > >
> > > > > In the end of the day one would have to support following use
> > > > > cases (in single driver file - e.g. mxs_spi.c):
> > > > >
> > > > > - U-Boot proper driver supporting DT/DTS
> > > > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > > > - SPL driver without DT/DTS support
> > > > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough
> resources to
> > > > >   run full blown DT/DTS)
> > > > > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have
> constrained
> > > > >   environment with no fitImage and OF_LIBFDT support).
> > > > >
> > > > > Some boards do require SPI support (with DM) in SPL (TPL) and
> > > > > some only have DM_SPI{_FLASH} defined to allow compiling SPL.
> > > > >
> > > > > This patch converts #ifdef CONFIG_DM_SPI* to #if
> > > > > CONFIG_IS_ENABLED(DM_SPI) and provides corresponding defines in
> Kconfig.
> > > > >
> > > > > Signed-off-by: Lukasz Majewski 
> > > > > Tested-by: Adam Ford  #da850-evm
> > > > > Signed-off-by: Hou Zhiqiang 
> > > > > ---
> > > > > V4:
> > > > >  - Rebase the patch and remove SPL_DM_SPI from target ls1046
> boards.
> > > > >
> > > > >  arch/arm/Kconfig| 11
> +++
> > > > >  board/l+g/vinco/vinco.c |  4 ++--
> > > > >  cmd/sf.c|  4 ++--
> > > > >  cmd/spi.c   |  6 +++---
> > > > >  common/spl/Kconfig  | 20
> 
> > > > >  configs/am57xx_evm_defconfig|  2 ++
> > > > >  configs/am57xx_hs_evm_defconfig |  2 ++
> > > > >  configs/am57xx_hs_evm_usb_defconfig |  2 ++
> > > > &

Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-02 Thread Jagan Teki
On Wed, Jun 3, 2020 at 12:31 AM Tom Rini  wrote:
>
> On Wed, Jun 03, 2020 at 12:10:30AM +0530, Jagan Teki wrote:
> > On Tue, Jun 2, 2020 at 11:57 PM Tom Rini  wrote:
> > >
> > > On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> > > > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou  
> > > > wrote:
> > > > >
> > > > > From: Lukasz Majewski 
> > > > >
> > > > > This change allows more fine tuning of driver model based SPI support 
> > > > > in
> > > > > SPL and TPL. It is now possible to explicitly enable/disable the 
> > > > > DM_SPI
> > > > > support in SPL and TPL via Kconfig option.
> > > > >
> > > > > Before this change it was necessary to use:
> > > > > /* SPI Flash Configs */
> > > > > #if defined(CONFIG_SPL_BUILD)
> > > > > #undef CONFIG_DM_SPI
> > > > > #undef CONFIG_DM_SPI_FLASH
> > > > > #undef CONFIG_SPI_FLASH_MTD
> > > > > #endif
> > > > >
> > > > > in the ./include/configs/.h, which is error prone and shall be
> > > > > avoided when we strive to switch to Kconfig.
> > > > >
> > > > > The goal of this patch:
> > > > >
> > > > > Provide distinction for DM_SPI support in both U-Boot proper and SPL 
> > > > > (TPL).
> > > > > Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
> > > > > still support non DM driver.
> > > > >
> > > > > Another use case is the conversion of non DM/DTS SPI driver to support
> > > > > DM/DTS. When such driver needs to work in both SPL and U-Boot proper, 
> > > > > the
> > > > > distinction is needed in Kconfig (also if SPL version of the driver
> > > > > supports OF_PLATDATA).
> > > > >
> > > > > In the end of the day one would have to support following use cases 
> > > > > (in
> > > > > single driver file - e.g. mxs_spi.c):
> > > > >
> > > > > - U-Boot proper driver supporting DT/DTS
> > > > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > > > - SPL driver without DT/DTS support
> > > > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough resources 
> > > > > to
> > > > >   run full blown DT/DTS)
> > > > > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have 
> > > > > constrained
> > > > >   environment with no fitImage and OF_LIBFDT support).
> > > > >
> > > > > Some boards do require SPI support (with DM) in SPL (TPL) and some 
> > > > > only
> > > > > have DM_SPI{_FLASH} defined to allow compiling SPL.
> > > > >
> > > > > This patch converts #ifdef CONFIG_DM_SPI* to #if 
> > > > > CONFIG_IS_ENABLED(DM_SPI)
> > > > > and provides corresponding defines in Kconfig.
> > > > >
> > > > > Signed-off-by: Lukasz Majewski 
> > > > > Tested-by: Adam Ford  #da850-evm
> > > > > Signed-off-by: Hou Zhiqiang 
> > > > > ---
> > > > > V4:
> > > > >  - Rebase the patch and remove SPL_DM_SPI from target ls1046 boards.
> > > > >
> > > > >  arch/arm/Kconfig| 11 +++
> > > > >  board/l+g/vinco/vinco.c |  4 ++--
> > > > >  cmd/sf.c|  4 ++--
> > > > >  cmd/spi.c   |  6 +++---
> > > > >  common/spl/Kconfig  | 20 
> > > > >  configs/am57xx_evm_defconfig|  2 ++
> > > > >  configs/am57xx_hs_evm_defconfig |  2 ++
> > > > >  configs/am57xx_hs_evm_usb_defconfig |  2 ++
> > > > >  configs/axm_defconfig   |  2 ++
> > > > >  configs/chromebook_link64_defconfig |  2 ++
> > > > >  configs/chromebook_samus_tpl_defconfig  |  4 
> > > > >  configs/dra7xx_evm_defconfig|  2 ++
> > > > >  configs/dra7xx_hs_evm_defconfig |  2 ++
> > > > >  configs/dra7xx_hs_evm_usb_defconfig |  2 ++
> > > > >  configs/j721e_evm_a72_defconfig |  2 ++
> > > > >  configs/j721e_evm_r5_defconfig  |  2 ++
> > > > >  configs/ls1021aiot_qspi_defconfig   |  2 ++
> > > > >  configs/ls1021aiot_sdcard_defconfig |  2 ++
> > > > >  configs/ls1021aqds_qspi_defconfig   |  1 +
> > > > >  configs/ls1021aqds_sdcard_qspi_defconfig|  1 +
> > > > >  configs/ls1021atwr_qspi_defconfig   |  1 +
> > > > >  configs/sama5d2_xplained_spiflash_defconfig |  2 ++
> > > > >  configs/sama5d3xek_spiflash_defconfig   |  7 ---
> > > > >  configs/sama5d4_xplained_spiflash_defconfig |  2 ++
> > > > >  configs/sama5d4ek_spiflash_defconfig|  2 ++
> > > > >  configs/stm32mp15_basic_defconfig   |  2 ++
> > > > >  configs/taurus_defconfig|  2 ++
> > > > >  drivers/mtd/spi/Makefile|  4 ++--
> > > > >  drivers/mtd/spi/sf_probe.c  |  2 +-
> > > > >  drivers/net/fm/fm.c |  4 ++--
> > > > >  drivers/spi/Makefile|  2 +-
> > > > >  drivers/spi/atmel_spi.c |  4 ++--
> > > > >  drivers/spi/davinci_spi.c   |  6 +++---
> > > > >  drivers/spi/fsl_dspi.c  |  5 +++--
> > > > >  

Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-02 Thread Tom Rini
On Wed, Jun 03, 2020 at 12:10:30AM +0530, Jagan Teki wrote:
> On Tue, Jun 2, 2020 at 11:57 PM Tom Rini  wrote:
> >
> > On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> > > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou  wrote:
> > > >
> > > > From: Lukasz Majewski 
> > > >
> > > > This change allows more fine tuning of driver model based SPI support in
> > > > SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
> > > > support in SPL and TPL via Kconfig option.
> > > >
> > > > Before this change it was necessary to use:
> > > > /* SPI Flash Configs */
> > > > #if defined(CONFIG_SPL_BUILD)
> > > > #undef CONFIG_DM_SPI
> > > > #undef CONFIG_DM_SPI_FLASH
> > > > #undef CONFIG_SPI_FLASH_MTD
> > > > #endif
> > > >
> > > > in the ./include/configs/.h, which is error prone and shall be
> > > > avoided when we strive to switch to Kconfig.
> > > >
> > > > The goal of this patch:
> > > >
> > > > Provide distinction for DM_SPI support in both U-Boot proper and SPL 
> > > > (TPL).
> > > > Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
> > > > still support non DM driver.
> > > >
> > > > Another use case is the conversion of non DM/DTS SPI driver to support
> > > > DM/DTS. When such driver needs to work in both SPL and U-Boot proper, 
> > > > the
> > > > distinction is needed in Kconfig (also if SPL version of the driver
> > > > supports OF_PLATDATA).
> > > >
> > > > In the end of the day one would have to support following use cases (in
> > > > single driver file - e.g. mxs_spi.c):
> > > >
> > > > - U-Boot proper driver supporting DT/DTS
> > > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > > - SPL driver without DT/DTS support
> > > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
> > > >   run full blown DT/DTS)
> > > > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
> > > >   environment with no fitImage and OF_LIBFDT support).
> > > >
> > > > Some boards do require SPI support (with DM) in SPL (TPL) and some only
> > > > have DM_SPI{_FLASH} defined to allow compiling SPL.
> > > >
> > > > This patch converts #ifdef CONFIG_DM_SPI* to #if 
> > > > CONFIG_IS_ENABLED(DM_SPI)
> > > > and provides corresponding defines in Kconfig.
> > > >
> > > > Signed-off-by: Lukasz Majewski 
> > > > Tested-by: Adam Ford  #da850-evm
> > > > Signed-off-by: Hou Zhiqiang 
> > > > ---
> > > > V4:
> > > >  - Rebase the patch and remove SPL_DM_SPI from target ls1046 boards.
> > > >
> > > >  arch/arm/Kconfig| 11 +++
> > > >  board/l+g/vinco/vinco.c |  4 ++--
> > > >  cmd/sf.c|  4 ++--
> > > >  cmd/spi.c   |  6 +++---
> > > >  common/spl/Kconfig  | 20 
> > > >  configs/am57xx_evm_defconfig|  2 ++
> > > >  configs/am57xx_hs_evm_defconfig |  2 ++
> > > >  configs/am57xx_hs_evm_usb_defconfig |  2 ++
> > > >  configs/axm_defconfig   |  2 ++
> > > >  configs/chromebook_link64_defconfig |  2 ++
> > > >  configs/chromebook_samus_tpl_defconfig  |  4 
> > > >  configs/dra7xx_evm_defconfig|  2 ++
> > > >  configs/dra7xx_hs_evm_defconfig |  2 ++
> > > >  configs/dra7xx_hs_evm_usb_defconfig |  2 ++
> > > >  configs/j721e_evm_a72_defconfig |  2 ++
> > > >  configs/j721e_evm_r5_defconfig  |  2 ++
> > > >  configs/ls1021aiot_qspi_defconfig   |  2 ++
> > > >  configs/ls1021aiot_sdcard_defconfig |  2 ++
> > > >  configs/ls1021aqds_qspi_defconfig   |  1 +
> > > >  configs/ls1021aqds_sdcard_qspi_defconfig|  1 +
> > > >  configs/ls1021atwr_qspi_defconfig   |  1 +
> > > >  configs/sama5d2_xplained_spiflash_defconfig |  2 ++
> > > >  configs/sama5d3xek_spiflash_defconfig   |  7 ---
> > > >  configs/sama5d4_xplained_spiflash_defconfig |  2 ++
> > > >  configs/sama5d4ek_spiflash_defconfig|  2 ++
> > > >  configs/stm32mp15_basic_defconfig   |  2 ++
> > > >  configs/taurus_defconfig|  2 ++
> > > >  drivers/mtd/spi/Makefile|  4 ++--
> > > >  drivers/mtd/spi/sf_probe.c  |  2 +-
> > > >  drivers/net/fm/fm.c |  4 ++--
> > > >  drivers/spi/Makefile|  2 +-
> > > >  drivers/spi/atmel_spi.c |  4 ++--
> > > >  drivers/spi/davinci_spi.c   |  6 +++---
> > > >  drivers/spi/fsl_dspi.c  |  5 +++--
> > > >  drivers/spi/kirkwood_spi.c  |  2 +-
> > > >  drivers/spi/mxc_spi.c   |  6 +++---
> > > >  drivers/spi/omap3_spi.c |  4 ++--
> > >
> > > nondm code on most of the driver will remove in the next version, So I
> > > didn't see any usecase of this conversion here.
> >
> > I 

Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-02 Thread Jagan Teki
On Tue, Jun 2, 2020 at 11:57 PM Tom Rini  wrote:
>
> On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> > On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou  wrote:
> > >
> > > From: Lukasz Majewski 
> > >
> > > This change allows more fine tuning of driver model based SPI support in
> > > SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
> > > support in SPL and TPL via Kconfig option.
> > >
> > > Before this change it was necessary to use:
> > > /* SPI Flash Configs */
> > > #if defined(CONFIG_SPL_BUILD)
> > > #undef CONFIG_DM_SPI
> > > #undef CONFIG_DM_SPI_FLASH
> > > #undef CONFIG_SPI_FLASH_MTD
> > > #endif
> > >
> > > in the ./include/configs/.h, which is error prone and shall be
> > > avoided when we strive to switch to Kconfig.
> > >
> > > The goal of this patch:
> > >
> > > Provide distinction for DM_SPI support in both U-Boot proper and SPL 
> > > (TPL).
> > > Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
> > > still support non DM driver.
> > >
> > > Another use case is the conversion of non DM/DTS SPI driver to support
> > > DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
> > > distinction is needed in Kconfig (also if SPL version of the driver
> > > supports OF_PLATDATA).
> > >
> > > In the end of the day one would have to support following use cases (in
> > > single driver file - e.g. mxs_spi.c):
> > >
> > > - U-Boot proper driver supporting DT/DTS
> > > - U-Boot proper driver without DT/DTS support (deprecated)
> > > - SPL driver without DT/DTS support
> > > - SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
> > >   run full blown DT/DTS)
> > > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
> > >   environment with no fitImage and OF_LIBFDT support).
> > >
> > > Some boards do require SPI support (with DM) in SPL (TPL) and some only
> > > have DM_SPI{_FLASH} defined to allow compiling SPL.
> > >
> > > This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
> > > and provides corresponding defines in Kconfig.
> > >
> > > Signed-off-by: Lukasz Majewski 
> > > Tested-by: Adam Ford  #da850-evm
> > > Signed-off-by: Hou Zhiqiang 
> > > ---
> > > V4:
> > >  - Rebase the patch and remove SPL_DM_SPI from target ls1046 boards.
> > >
> > >  arch/arm/Kconfig| 11 +++
> > >  board/l+g/vinco/vinco.c |  4 ++--
> > >  cmd/sf.c|  4 ++--
> > >  cmd/spi.c   |  6 +++---
> > >  common/spl/Kconfig  | 20 
> > >  configs/am57xx_evm_defconfig|  2 ++
> > >  configs/am57xx_hs_evm_defconfig |  2 ++
> > >  configs/am57xx_hs_evm_usb_defconfig |  2 ++
> > >  configs/axm_defconfig   |  2 ++
> > >  configs/chromebook_link64_defconfig |  2 ++
> > >  configs/chromebook_samus_tpl_defconfig  |  4 
> > >  configs/dra7xx_evm_defconfig|  2 ++
> > >  configs/dra7xx_hs_evm_defconfig |  2 ++
> > >  configs/dra7xx_hs_evm_usb_defconfig |  2 ++
> > >  configs/j721e_evm_a72_defconfig |  2 ++
> > >  configs/j721e_evm_r5_defconfig  |  2 ++
> > >  configs/ls1021aiot_qspi_defconfig   |  2 ++
> > >  configs/ls1021aiot_sdcard_defconfig |  2 ++
> > >  configs/ls1021aqds_qspi_defconfig   |  1 +
> > >  configs/ls1021aqds_sdcard_qspi_defconfig|  1 +
> > >  configs/ls1021atwr_qspi_defconfig   |  1 +
> > >  configs/sama5d2_xplained_spiflash_defconfig |  2 ++
> > >  configs/sama5d3xek_spiflash_defconfig   |  7 ---
> > >  configs/sama5d4_xplained_spiflash_defconfig |  2 ++
> > >  configs/sama5d4ek_spiflash_defconfig|  2 ++
> > >  configs/stm32mp15_basic_defconfig   |  2 ++
> > >  configs/taurus_defconfig|  2 ++
> > >  drivers/mtd/spi/Makefile|  4 ++--
> > >  drivers/mtd/spi/sf_probe.c  |  2 +-
> > >  drivers/net/fm/fm.c |  4 ++--
> > >  drivers/spi/Makefile|  2 +-
> > >  drivers/spi/atmel_spi.c |  4 ++--
> > >  drivers/spi/davinci_spi.c   |  6 +++---
> > >  drivers/spi/fsl_dspi.c  |  5 +++--
> > >  drivers/spi/kirkwood_spi.c  |  2 +-
> > >  drivers/spi/mxc_spi.c   |  6 +++---
> > >  drivers/spi/omap3_spi.c |  4 ++--
> >
> > nondm code on most of the driver will remove in the next version, So I
> > didn't see any usecase of this conversion here.
>
> I think this is still the right direction to go in.  non-DM for SPL is
> allowed and this is part of the logical steps needed for moving forward
> with "now pull non-DM driver into own file for SPL" until the efforts to
> make DM smaller still are ready.  So this series is on my 

Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-02 Thread Tom Rini
On Tue, Jun 02, 2020 at 06:59:21PM +0530, Jagan Teki wrote:
> On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou  wrote:
> >
> > From: Lukasz Majewski 
> >
> > This change allows more fine tuning of driver model based SPI support in
> > SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
> > support in SPL and TPL via Kconfig option.
> >
> > Before this change it was necessary to use:
> > /* SPI Flash Configs */
> > #if defined(CONFIG_SPL_BUILD)
> > #undef CONFIG_DM_SPI
> > #undef CONFIG_DM_SPI_FLASH
> > #undef CONFIG_SPI_FLASH_MTD
> > #endif
> >
> > in the ./include/configs/.h, which is error prone and shall be
> > avoided when we strive to switch to Kconfig.
> >
> > The goal of this patch:
> >
> > Provide distinction for DM_SPI support in both U-Boot proper and SPL (TPL).
> > Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
> > still support non DM driver.
> >
> > Another use case is the conversion of non DM/DTS SPI driver to support
> > DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
> > distinction is needed in Kconfig (also if SPL version of the driver
> > supports OF_PLATDATA).
> >
> > In the end of the day one would have to support following use cases (in
> > single driver file - e.g. mxs_spi.c):
> >
> > - U-Boot proper driver supporting DT/DTS
> > - U-Boot proper driver without DT/DTS support (deprecated)
> > - SPL driver without DT/DTS support
> > - SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
> >   run full blown DT/DTS)
> > - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
> >   environment with no fitImage and OF_LIBFDT support).
> >
> > Some boards do require SPI support (with DM) in SPL (TPL) and some only
> > have DM_SPI{_FLASH} defined to allow compiling SPL.
> >
> > This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
> > and provides corresponding defines in Kconfig.
> >
> > Signed-off-by: Lukasz Majewski 
> > Tested-by: Adam Ford  #da850-evm
> > Signed-off-by: Hou Zhiqiang 
> > ---
> > V4:
> >  - Rebase the patch and remove SPL_DM_SPI from target ls1046 boards.
> >
> >  arch/arm/Kconfig| 11 +++
> >  board/l+g/vinco/vinco.c |  4 ++--
> >  cmd/sf.c|  4 ++--
> >  cmd/spi.c   |  6 +++---
> >  common/spl/Kconfig  | 20 
> >  configs/am57xx_evm_defconfig|  2 ++
> >  configs/am57xx_hs_evm_defconfig |  2 ++
> >  configs/am57xx_hs_evm_usb_defconfig |  2 ++
> >  configs/axm_defconfig   |  2 ++
> >  configs/chromebook_link64_defconfig |  2 ++
> >  configs/chromebook_samus_tpl_defconfig  |  4 
> >  configs/dra7xx_evm_defconfig|  2 ++
> >  configs/dra7xx_hs_evm_defconfig |  2 ++
> >  configs/dra7xx_hs_evm_usb_defconfig |  2 ++
> >  configs/j721e_evm_a72_defconfig |  2 ++
> >  configs/j721e_evm_r5_defconfig  |  2 ++
> >  configs/ls1021aiot_qspi_defconfig   |  2 ++
> >  configs/ls1021aiot_sdcard_defconfig |  2 ++
> >  configs/ls1021aqds_qspi_defconfig   |  1 +
> >  configs/ls1021aqds_sdcard_qspi_defconfig|  1 +
> >  configs/ls1021atwr_qspi_defconfig   |  1 +
> >  configs/sama5d2_xplained_spiflash_defconfig |  2 ++
> >  configs/sama5d3xek_spiflash_defconfig   |  7 ---
> >  configs/sama5d4_xplained_spiflash_defconfig |  2 ++
> >  configs/sama5d4ek_spiflash_defconfig|  2 ++
> >  configs/stm32mp15_basic_defconfig   |  2 ++
> >  configs/taurus_defconfig|  2 ++
> >  drivers/mtd/spi/Makefile|  4 ++--
> >  drivers/mtd/spi/sf_probe.c  |  2 +-
> >  drivers/net/fm/fm.c |  4 ++--
> >  drivers/spi/Makefile|  2 +-
> >  drivers/spi/atmel_spi.c |  4 ++--
> >  drivers/spi/davinci_spi.c   |  6 +++---
> >  drivers/spi/fsl_dspi.c  |  5 +++--
> >  drivers/spi/kirkwood_spi.c  |  2 +-
> >  drivers/spi/mxc_spi.c   |  6 +++---
> >  drivers/spi/omap3_spi.c |  4 ++--
> 
> nondm code on most of the driver will remove in the next version, So I
> didn't see any usecase of this conversion here.

I think this is still the right direction to go in.  non-DM for SPL is
allowed and this is part of the logical steps needed for moving forward
with "now pull non-DM driver into own file for SPL" until the efforts to
make DM smaller still are ready.  So this series is on my list to test
and confirm doesn't change binary size on.

-- 
Tom


signature.asc
Description: PGP signature


Re: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-02 Thread Jagan Teki
On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou  wrote:
>
> From: Lukasz Majewski 
>
> This change allows more fine tuning of driver model based SPI support in
> SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
> support in SPL and TPL via Kconfig option.
>
> Before this change it was necessary to use:
> /* SPI Flash Configs */
> #if defined(CONFIG_SPL_BUILD)
> #undef CONFIG_DM_SPI
> #undef CONFIG_DM_SPI_FLASH
> #undef CONFIG_SPI_FLASH_MTD
> #endif
>
> in the ./include/configs/.h, which is error prone and shall be
> avoided when we strive to switch to Kconfig.
>
> The goal of this patch:
>
> Provide distinction for DM_SPI support in both U-Boot proper and SPL (TPL).
> Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
> still support non DM driver.
>
> Another use case is the conversion of non DM/DTS SPI driver to support
> DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
> distinction is needed in Kconfig (also if SPL version of the driver
> supports OF_PLATDATA).
>
> In the end of the day one would have to support following use cases (in
> single driver file - e.g. mxs_spi.c):
>
> - U-Boot proper driver supporting DT/DTS
> - U-Boot proper driver without DT/DTS support (deprecated)
> - SPL driver without DT/DTS support
> - SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
>   run full blown DT/DTS)
> - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
>   environment with no fitImage and OF_LIBFDT support).
>
> Some boards do require SPI support (with DM) in SPL (TPL) and some only
> have DM_SPI{_FLASH} defined to allow compiling SPL.
>
> This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
> and provides corresponding defines in Kconfig.
>
> Signed-off-by: Lukasz Majewski 
> Tested-by: Adam Ford  #da850-evm
> Signed-off-by: Hou Zhiqiang 
> ---
> V4:
>  - Rebase the patch and remove SPL_DM_SPI from target ls1046 boards.
>
>  arch/arm/Kconfig| 11 +++
>  board/l+g/vinco/vinco.c |  4 ++--
>  cmd/sf.c|  4 ++--
>  cmd/spi.c   |  6 +++---
>  common/spl/Kconfig  | 20 
>  configs/am57xx_evm_defconfig|  2 ++
>  configs/am57xx_hs_evm_defconfig |  2 ++
>  configs/am57xx_hs_evm_usb_defconfig |  2 ++
>  configs/axm_defconfig   |  2 ++
>  configs/chromebook_link64_defconfig |  2 ++
>  configs/chromebook_samus_tpl_defconfig  |  4 
>  configs/dra7xx_evm_defconfig|  2 ++
>  configs/dra7xx_hs_evm_defconfig |  2 ++
>  configs/dra7xx_hs_evm_usb_defconfig |  2 ++
>  configs/j721e_evm_a72_defconfig |  2 ++
>  configs/j721e_evm_r5_defconfig  |  2 ++
>  configs/ls1021aiot_qspi_defconfig   |  2 ++
>  configs/ls1021aiot_sdcard_defconfig |  2 ++
>  configs/ls1021aqds_qspi_defconfig   |  1 +
>  configs/ls1021aqds_sdcard_qspi_defconfig|  1 +
>  configs/ls1021atwr_qspi_defconfig   |  1 +
>  configs/sama5d2_xplained_spiflash_defconfig |  2 ++
>  configs/sama5d3xek_spiflash_defconfig   |  7 ---
>  configs/sama5d4_xplained_spiflash_defconfig |  2 ++
>  configs/sama5d4ek_spiflash_defconfig|  2 ++
>  configs/stm32mp15_basic_defconfig   |  2 ++
>  configs/taurus_defconfig|  2 ++
>  drivers/mtd/spi/Makefile|  4 ++--
>  drivers/mtd/spi/sf_probe.c  |  2 +-
>  drivers/net/fm/fm.c |  4 ++--
>  drivers/spi/Makefile|  2 +-
>  drivers/spi/atmel_spi.c |  4 ++--
>  drivers/spi/davinci_spi.c   |  6 +++---
>  drivers/spi/fsl_dspi.c  |  5 +++--
>  drivers/spi/kirkwood_spi.c  |  2 +-
>  drivers/spi/mxc_spi.c   |  6 +++---
>  drivers/spi/omap3_spi.c |  4 ++--

nondm code on most of the driver will remove in the next version, So I
didn't see any usecase of this conversion here.

Jagan.