[U-Boot] [PATCH v3 006/108] dm: gpio: Allow control of GPIO uclass in SPL

Bin Meng bmeng.cn at gmail.com
Sat Nov 2 23:10:13 UTC 2019


Hi Simon,

On Sat, Nov 2, 2019 at 5:38 PM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> On Mon, Oct 28, 2019 at 12:45 PM Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > On Mon, Oct 21, 2019 at 11:33 AM Simon Glass <sjg at chromium.org> wrote:
> > >
> > > At present if CONFIG_SPL_GPIO_SUPPORT is enabled then the GPIO uclass
> > > is included in SPL/TPL without any control for boards. Some boards may
> > > want to disable this to reduce code size where GPIOs are not needed in
> > > SPL or TPL.
> > >
> > > Add a new Kconfig option to permit this. Default it to 'y' so that
> > > existing boards work correctly.
> > >
> > > Change existing uses of CONFIG_DM_GPIO to CONFIG_IS_ENABLED(DM_GPIO) to
> > > preserve the current behaviour. Also update the 74x164 GPIO driver since
> > > it cannot build with SPL.
> > >
> > > This allows us to remove the hacks in config_uncmd_spl.h and
> > > Makefile.uncmd_spl (eventually those files should be removed).
> > >
> > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > ---
> > >
> > > Changes in v3: None
> > > Changes in v2:
> > > - Fix the Kconfig condition to avoid build errors on snow
> > >
> > >  arch/arm/include/asm/omap_gpio.h              |  2 +-
> > >  arch/arm/mach-at91/include/mach/at91sam9260.h |  2 +-
> > >  arch/arm/mach-davinci/include/mach/gpio.h     |  2 +-
> > >  arch/arm/mach-omap2/am33xx/board.c            |  4 ++--
> > >  arch/arm/mach-omap2/omap3/board.c             |  2 +-
> > >  arch/arm/mach-omap2/omap5/hwinit.c            |  2 +-
> > >  board/freescale/imx8qm_mek/imx8qm_mek.c       |  2 +-
> > >  board/freescale/imx8qxp_mek/imx8qxp_mek.c     |  2 +-
> > >  board/gateworks/gw_ventana/Kconfig            |  3 +++
> > >  board/toradex/apalis-imx8/apalis-imx8.c       |  2 +-
> > >  drivers/gpio/Kconfig                          | 22 +++++++++++++++++++
> > >  drivers/gpio/Makefile                         |  4 +++-
> > >  drivers/gpio/at91_gpio.c                      |  6 ++---
> > >  drivers/gpio/atmel_pio4.c                     |  2 +-
> > >  drivers/gpio/da8xx_gpio.c                     |  6 ++---
> > >  drivers/gpio/da8xx_gpio.h                     |  2 +-
> > >  drivers/gpio/mxc_gpio.c                       |  4 ++--
> > >  drivers/gpio/mxs_gpio.c                       |  4 ++--
> > >  drivers/gpio/omap_gpio.c                      |  6 ++---
> > >  drivers/gpio/sunxi_gpio.c                     |  8 +++----
> > >  drivers/i2c/i2c-uclass.c                      |  6 ++---
> > >  drivers/i2c/muxes/pca954x.c                   |  4 ++--
> > >  drivers/mmc/fsl_esdhc_imx.c                   | 13 ++++++-----
> > >  drivers/mmc/omap_hsmmc.c                      |  2 +-
> > >  drivers/net/designware.c                      | 10 ++++-----
> > >  drivers/net/designware.h                      |  4 ++--
> > >  drivers/net/fec_mxc.c                         |  6 ++---
> > >  drivers/net/fec_mxc.h                         |  2 +-
> > >  drivers/net/mvneta.c                          |  4 ++--
> > >  drivers/net/mvpp2.c                           |  8 +++----
> > >  drivers/net/sun8i_emac.c                      | 12 +++++-----
> > >  drivers/pci/pci-aardvark.c                    |  4 ++--
> > >  drivers/pci/pcie_dw_mvebu.c                   |  4 ++--
> > >  drivers/spi/atmel_spi.c                       | 10 ++++-----
> > >  drivers/spi/designware_spi.c                  |  4 ++--
> > >  drivers/tpm/tpm2_tis_spi.c                    |  2 +-
> > >  include/config_uncmd_spl.h                    |  1 -
> > >  include/configs/at91-sama5_common.h           |  5 +++--
> > >  include/configs/gw_ventana.h                  |  1 -
> > >  include/configs/mx6ul_14x14_evk.h             |  1 +
> > >  scripts/Makefile.uncmd_spl                    |  1 -
> > >  41 files changed, 109 insertions(+), 82 deletions(-)
> > >
> >
> > Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
>
> applied to u-boot-x86, thanks!

Unfortunately this patch still breaks one board. See the log below:

The failed build:
https://dev.azure.com/bmeng/GitHub/_build/results?buildId=135

       arm:  +   omap35_logic
+arm-linux-gnueabi-ld.bfd: u-boot-spl section `.u_boot_list' will not
fit in region `.sram'
+arm-linux-gnueabi-ld.bfd: region `.sram' overflowed by 844 bytes
+make[2]: *** [spl/u-boot-spl] Error 1
+make[1]: *** [spl/u-boot-spl] Error 2
+make: *** [sub-make] Error 2

    0   12    1 /34     0:09:42  : omap35_logic

The passed build with this commit reverted:
https://dev.azure.com/bmeng/GitHub/_build/results?buildId=136

I will have to drop this patch from the queue.

Regards,
Bin


More information about the U-Boot mailing list