From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*
Date: Tue, 2 Jun 2020 15:01:34 -0400 [thread overview]
Message-ID: <20200602190134.GT21630@bill-the-cat> (raw)
In-Reply-To: <CAMty3ZCpnu5n4fikM2Ln84HDTGQMmO5cHzF1CyOnrXOeX6UVuQ@mail.gmail.com>
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.
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!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200602/a35df26c/attachment.sig>
next prev parent reply other threads:[~2020-06-02 19:01 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 [this message]
2020-06-02 19:11 ` Jagan Teki
2020-06-03 9:48 ` Lukasz Majewski
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=20200602190134.GT21630@bill-the-cat \
--to=trini@konsulko.com \
--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