public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*
Date: Wed, 3 Jun 2020 11:48:19 +0200	[thread overview]
Message-ID: <20200603114819.0115bb63@jawa> (raw)
In-Reply-To: <CAMty3ZBZVt8G2Q7ySC0+o9vS1jPR2kmT80EjPsD1yO4_VbWuXg@mail.gmail.com>

Hi Jagan,

> On Wed, Jun 3, 2020 at 12:31 AM Tom Rini <trini@konsulko.com> 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 <trini@konsulko.com>
> > > 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
> > > > > <Zhiqiang.Hou@nxp.com> wrote:  
> > > > > >
> > > > > > From: Lukasz Majewski <lukma@denx.de>
> > > > > >
> > > > > > 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/<board>.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 <lukma@denx.de>
> > > > > > Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
> > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
> > > > > > ---
> > > > > > 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.  
> > >
> > > Sorry, I can't do a similar task over the years, I'm saying about
> > > nondm part of drivers which doesn't have any footprint issues?
> > > You may be true for nondm part which has SPL size issues like
> > > mxc_spi, sh_qspi, rest are fine to move. I'd remove those that
> > > part at max for next MW.  
> >
> > It comes down to where are we at with everything again?  I'm not
> > saying you have to be the one to split the code out.  But from what
> > I recall of the thread last week, for mxc_spi we get back to "i.MX6
> > is having problems with size for DM+SPL".  So we can't just "OK, no
> > more i.MX6 support".  Full U-Boot needs to be, and I believe is,
> > converted.  
> 
> As I said No to mxc_spi, sh_qspi at this point, but rest are fine
> based on my series and some of the below drivers have nondm code which
> no board using in the tree.
> 
> drivers/spi/atmel_spi.c
> drivers/spi/davinci_spi.c
> drivers/spi/fsl_dspi.c
> drivers/spi/kirkwood_spi.c
> drivers/spi/mxc_spi.c

Sorry to jump in late - the mxc_spi.c's non-dm part may be needed as it
is used to have _really_ tiny SPL.

Please correct me if I misunderstood something - the non-dm part of
mxc_spi.c will NOT be removed?

> drivers/spi/omap3_spi.c
> 
> >
> > So I guess the next question I have really is for Hou Zhiqiang and
> > is, do you need this series as part of fixing / converting the eSPI
> > driver and getting NXP platforms converted?  Thanks!  
> 
> Yes fsl_espi, I would wait till MW as I mentioned before and will work
> to get these patches to be in proper shape before MW.
> 
> Overall, changes expect fsl_espi, mxc_spi, and sh_qspi can be fine
> for me.
> 
> Jagan.




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200603/d7537693/attachment.sig>

  reply	other threads:[~2020-06-03  9:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-02 13:11 [PATCHv4 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Zhiqiang Hou
2020-06-02 13:11 ` [PATCHv4 1/3] spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a) Zhiqiang Hou
2020-06-03  7:19   ` Priyanka Jain
2020-06-03  9:01     ` Z.q. Hou
2020-06-02 13:11 ` [PATCHv4 2/3] spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX) Zhiqiang Hou
2020-06-02 13:11 ` [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI* Zhiqiang Hou
2020-06-02 13:29   ` Jagan Teki
2020-06-02 18:27     ` Tom Rini
2020-06-02 18:40       ` Jagan Teki
2020-06-02 19:01         ` Tom Rini
2020-06-02 19:11           ` Jagan Teki
2020-06-03  9:48             ` Lukasz Majewski [this message]
2020-06-03  1:46           ` Z.q. Hou
2020-06-03  7:39             ` Jagan Teki
2020-06-03  9:09               ` Z.q. Hou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200603114819.0115bb63@jawa \
    --to=lukma@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox