On Sun, Nov 25, 2018 at 11:39 AM Jagan Teki <[email protected]> wrote: > > Drop the non-dm code, those board which uses non-dm need > to define DM_SPI. u-boot build trigger the warning for > the same. > > Signed-off-by: Jagan Teki <[email protected]>
I don't have a good way to read/write SPI, but my omap3_logic board shows the SPI bus in the 'dm tree' so from that perspective, I am not seeing any issues with SPI. Tested-by: Adam Ford <[email protected]> #omap3_logic > --- > Makefile | 2 +- > drivers/spi/Makefile | 2 +- > drivers/spi/omap3_spi.c | 126 ---------------------------------------- > 3 files changed, 2 insertions(+), 128 deletions(-) > > diff --git a/Makefile b/Makefile > index 3be3bb3118..00f0117b16 100644 > --- a/Makefile > +++ b/Makefile > @@ -920,7 +920,7 @@ ifeq ($(CONFIG_DM_I2C_COMPAT)$(CONFIG_SANDBOX),y) > endif > ifeq ($(CONFIG_DM_SPI),) > ifeq ($(filter $(CONFIG_DAVINCI_SPI) $(CONFIG_KIRKWOOD_SPI) > $(CONFIG_MPC8XXX_SPI) \ > - $(CONFIG_MXC_SPI) $(CONFIG_TI_QSPI),y),y) > + $(CONFIG_MXC_SPI) $(CONFIG_OMAP3_SPI) $(CONFIG_TI_QSPI),y),y) > @echo "===================== WARNING ======================" > @echo "This board uses SPI driver from drivers/spi/ without" > @echo "enabling CONFIG_DM_SPI. Please enable CONFIG_DM_SPI" > diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile > index c682b014e7..6b8b92434c 100644 > --- a/drivers/spi/Makefile > +++ b/drivers/spi/Makefile > @@ -10,6 +10,7 @@ obj-$(CONFIG_DAVINCI_SPI) += davinci_spi.o > obj-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o > obj-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o > obj-$(CONFIG_MXC_SPI) += mxc_spi.o > +obj-$(CONFIG_OMAP3_SPI) += omap3_spi.o > obj-$(CONFIG_SANDBOX) += spi-emul-uclass.o > obj-$(CONFIG_SOFT_SPI) += soft_spi.o > obj-$(CONFIG_SPI_MEM) += spi-mem.o > @@ -35,7 +36,6 @@ obj-$(CONFIG_MPC8XX_SPI) += mpc8xx_spi.o > obj-$(CONFIG_MT7621_SPI) += mt7621_spi.o > obj-$(CONFIG_MVEBU_A3700_SPI) += mvebu_a3700_spi.o > obj-$(CONFIG_ATCSPI200_SPI) += atcspi200_spi.o > -obj-$(CONFIG_OMAP3_SPI) += omap3_spi.o > obj-$(CONFIG_PIC32_SPI) += pic32_spi.o > obj-$(CONFIG_PL022_SPI) += pl022_spi.o > obj-$(CONFIG_RENESAS_RPC_SPI) += renesas_rpc_spi.o > diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c > index c7fcf050a5..5e267d88d7 100644 > --- a/drivers/spi/omap3_spi.c > +++ b/drivers/spi/omap3_spi.c > @@ -108,9 +108,6 @@ struct mcspi { > }; > > struct omap3_spi_priv { > -#ifndef CONFIG_DM_SPI > - struct spi_slave slave; > -#endif > struct mcspi *regs; > unsigned int cs; > unsigned int freq; > @@ -454,128 +451,6 @@ static void _omap3_spi_claim_bus(struct omap3_spi_priv > *priv) > writel(conf, &priv->regs->modulctrl); > } > > -#ifndef CONFIG_DM_SPI > - > -static inline struct omap3_spi_priv *to_omap3_spi(struct spi_slave *slave) > -{ > - return container_of(slave, struct omap3_spi_priv, slave); > -} > - > -void spi_free_slave(struct spi_slave *slave) > -{ > - struct omap3_spi_priv *priv = to_omap3_spi(slave); > - > - free(priv); > -} > - > -int spi_claim_bus(struct spi_slave *slave) > -{ > - struct omap3_spi_priv *priv = to_omap3_spi(slave); > - > - spi_reset(priv->regs); > - > - _omap3_spi_claim_bus(priv); > - _omap3_spi_set_wordlen(priv); > - _omap3_spi_set_mode(priv); > - _omap3_spi_set_speed(priv); > - > - return 0; > -} > - > -void spi_release_bus(struct spi_slave *slave) > -{ > - struct omap3_spi_priv *priv = to_omap3_spi(slave); > - > - writel(OMAP3_MCSPI_MODULCTRL_MS, &priv->regs->modulctrl); > -} > - > -struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, > - unsigned int max_hz, unsigned int mode) > -{ > - struct omap3_spi_priv *priv; > - struct mcspi *regs; > - > - /* > - * OMAP3 McSPI (MultiChannel SPI) has 4 busses (modules) > - * with different number of chip selects (CS, channels): > - * McSPI1 has 4 CS (bus 0, cs 0 - 3) > - * McSPI2 has 2 CS (bus 1, cs 0 - 1) > - * McSPI3 has 2 CS (bus 2, cs 0 - 1) > - * McSPI4 has 1 CS (bus 3, cs 0) > - */ > - > - switch (bus) { > - case 0: > - regs = (struct mcspi *)OMAP3_MCSPI1_BASE; > - break; > -#ifdef OMAP3_MCSPI2_BASE > - case 1: > - regs = (struct mcspi *)OMAP3_MCSPI2_BASE; > - break; > -#endif > -#ifdef OMAP3_MCSPI3_BASE > - case 2: > - regs = (struct mcspi *)OMAP3_MCSPI3_BASE; > - break; > -#endif > -#ifdef OMAP3_MCSPI4_BASE > - case 3: > - regs = (struct mcspi *)OMAP3_MCSPI4_BASE; > - break; > -#endif > - default: > - printf("SPI error: unsupported bus %i. Supported busses 0 - > 3\n", bus); > - return NULL; > - } > - > - if (((bus == 0) && (cs > 3)) || > - ((bus == 1) && (cs > 1)) || > - ((bus == 2) && (cs > 1)) || > - ((bus == 3) && (cs > 0))) { > - printf("SPI error: unsupported chip select %i on bus %i\n", > cs, bus); > - return NULL; > - } > - > - if (max_hz > OMAP3_MCSPI_MAX_FREQ) { > - printf("SPI error: unsupported frequency %i Hz. Max frequency > is 48 MHz\n", > - max_hz); > - return NULL; > - } > - > - if (mode > SPI_MODE_3) { > - printf("SPI error: unsupported SPI mode %i\n", mode); > - return NULL; > - } > - > - priv = spi_alloc_slave(struct omap3_spi_priv, bus, cs); > - if (!priv) { > - printf("SPI error: malloc of SPI structure failed\n"); > - return NULL; > - } > - > - priv->regs = regs; > - priv->cs = cs; > - priv->freq = max_hz; > - priv->mode = mode; > - priv->wordlen = priv->slave.wordlen; > -#if 0 > - /* Please migrate to DM_SPI support for this feature. */ > - priv->pin_dir = MCSPI_PINDIR_D0_OUT_D1_IN; > -#endif > - > - return &priv->slave; > -} > - > -int spi_xfer(struct spi_slave *slave, unsigned int bitlen, > - const void *dout, void *din, unsigned long flags) > -{ > - struct omap3_spi_priv *priv = to_omap3_spi(slave); > - > - return _spi_xfer(priv, bitlen, dout, din, flags); > -} > - > -#else > - > static int omap3_spi_claim_bus(struct udevice *dev) > { > struct udevice *bus = dev->parent; > @@ -700,4 +575,3 @@ U_BOOT_DRIVER(omap3_spi) = { > .ops = &omap3_spi_ops, > .priv_auto_alloc_size = sizeof(struct omap3_spi_priv), > }; > -#endif > -- > 2.18.0.321.gffc6fa0e3 > _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

