Dropped - mxc_spi driver - SPI, SPI flash CONFIG-items - CMD_SPI, CMD_SF..etc
Dropped becuase - no active updates - no dm conversion - no reponse for dm converted patch - driver-model migration expiry Signed-off-by: Jagan Teki <ja...@amarulasolutions.com> --- Makefile | 2 +- drivers/spi/Makefile | 2 +- drivers/spi/mxc_spi.c | 123 ++---------------------------------------- drivers/spi/spi.c | 1 + 4 files changed, 6 insertions(+), 122 deletions(-) diff --git a/Makefile b/Makefile index 7c1d934493..3be3bb3118 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_TI_QSPI),y),y) + $(CONFIG_MXC_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 09e22dc233..549d104016 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -9,6 +9,7 @@ obj-y += spi-uclass.o 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_SANDBOX) += spi-emul-uclass.o obj-$(CONFIG_SOFT_SPI) += soft_spi.o obj-$(CONFIG_SPI_MEM) += spi-mem.o @@ -32,7 +33,6 @@ obj-$(CONFIG_FSL_QSPI) += fsl_qspi.o obj-$(CONFIG_ICH_SPI) += ich.o obj-$(CONFIG_MT7621_SPI) += mt7621_spi.o obj-$(CONFIG_MVEBU_A3700_SPI) += mvebu_a3700_spi.o -obj-$(CONFIG_MXC_SPI) += mxc_spi.o obj-$(CONFIG_ATCSPI200_SPI) += atcspi200_spi.o obj-$(CONFIG_OMAP3_SPI) += omap3_spi.o obj-$(CONFIG_PIC32_SPI) += pic32_spi.o diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c index b2636909ce..f6c6685e7e 100644 --- a/drivers/spi/mxc_spi.c +++ b/drivers/spi/mxc_spi.c @@ -57,26 +57,6 @@ static inline struct mxc_spi_slave *to_mxc_spi_slave(struct spi_slave *slave) return container_of(slave, struct mxc_spi_slave, slave); } -static void mxc_spi_cs_activate(struct mxc_spi_slave *mxcs) -{ - if (CONFIG_IS_ENABLED(DM_SPI)) { - dm_gpio_set_value(&mxcs->ss, 1); - } else { - if (mxcs->gpio > 0) - gpio_set_value(mxcs->gpio, mxcs->ss_pol); - } -} - -static void mxc_spi_cs_deactivate(struct mxc_spi_slave *mxcs) -{ - if (CONFIG_IS_ENABLED(DM_SPI)) { - dm_gpio_set_value(&mxcs->ss, 0); - } else { - if (mxcs->gpio > 0) - gpio_set_value(mxcs->gpio, !(mxcs->ss_pol)); - } -} - u32 get_cspi_div(u32 div) { int i; @@ -345,7 +325,7 @@ static int mxc_spi_xfer_internal(struct mxc_spi_slave *mxcs, return -EINVAL; if (flags & SPI_XFER_BEGIN) - mxc_spi_cs_activate(mxcs); + dm_gpio_set_value(&mxcs->ss, 1); while (n_bytes > 0) { if (n_bytes < MAX_SPI_BYTES) @@ -366,9 +346,8 @@ static int mxc_spi_xfer_internal(struct mxc_spi_slave *mxcs, n_bytes -= blk_size; } - if (flags & SPI_XFER_END) { - mxc_spi_cs_deactivate(mxcs); - } + if (flags & SPI_XFER_END) + dm_gpio_set_value(&mxcs->ss, 0); return 0; } @@ -391,101 +370,6 @@ static int mxc_spi_claim_bus_internal(struct mxc_spi_slave *mxcs, int cs) return 0; } -#ifndef CONFIG_DM_SPI -int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout, - void *din, unsigned long flags) -{ - struct mxc_spi_slave *mxcs = to_mxc_spi_slave(slave); - - return mxc_spi_xfer_internal(mxcs, bitlen, dout, din, flags); -} - -/* - * Some SPI devices require active chip-select over multiple - * transactions, we achieve this using a GPIO. Still, the SPI - * controller has to be configured to use one of its own chipselects. - * To use this feature you have to implement board_spi_cs_gpio() to assign - * a gpio value for each cs (-1 if cs doesn't need to use gpio). - * You must use some unused on this SPI controller cs between 0 and 3. - */ -static int setup_cs_gpio(struct mxc_spi_slave *mxcs, - unsigned int bus, unsigned int cs) -{ - int ret; - - mxcs->gpio = board_spi_cs_gpio(bus, cs); - if (mxcs->gpio == -1) - return 0; - - gpio_request(mxcs->gpio, "spi-cs"); - ret = gpio_direction_output(mxcs->gpio, !(mxcs->ss_pol)); - if (ret) { - printf("mxc_spi: cannot setup gpio %d\n", mxcs->gpio); - return -EINVAL; - } - - return 0; -} - -static unsigned long spi_bases[] = { - MXC_SPI_BASE_ADDRESSES -}; - -struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, - unsigned int max_hz, unsigned int mode) -{ - struct mxc_spi_slave *mxcs; - int ret; - - if (bus >= ARRAY_SIZE(spi_bases)) - return NULL; - - if (max_hz == 0) { - printf("Error: desired clock is 0\n"); - return NULL; - } - - mxcs = spi_alloc_slave(struct mxc_spi_slave, bus, cs); - if (!mxcs) { - puts("mxc_spi: SPI Slave not allocated !\n"); - return NULL; - } - - mxcs->ss_pol = (mode & SPI_CS_HIGH) ? 1 : 0; - - ret = setup_cs_gpio(mxcs, bus, cs); - if (ret < 0) { - free(mxcs); - return NULL; - } - - mxcs->base = spi_bases[bus]; - mxcs->max_hz = max_hz; - mxcs->mode = mode; - - return &mxcs->slave; -} - -void spi_free_slave(struct spi_slave *slave) -{ - struct mxc_spi_slave *mxcs = to_mxc_spi_slave(slave); - - free(mxcs); -} - -int spi_claim_bus(struct spi_slave *slave) -{ - struct mxc_spi_slave *mxcs = to_mxc_spi_slave(slave); - - return mxc_spi_claim_bus_internal(mxcs, slave->cs); -} - -void spi_release_bus(struct spi_slave *slave) -{ - /* TODO: Shut the controller down */ -} -#else - static int mxc_spi_probe(struct udevice *bus) { struct mxc_spi_slave *plat = bus->platdata; @@ -575,4 +459,3 @@ U_BOOT_DRIVER(mxc_spi) = { .platdata_auto_alloc_size = sizeof(struct mxc_spi_slave), .probe = mxc_spi_probe, }; -#endif diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 8116193d27..5c13f85841 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -43,6 +43,7 @@ void *spi_do_alloc_slave(int offset, int size, unsigned int bus, defined(CONFIG_DAVINCI_SPI) || \ defined(CONFIG_KIRKWOOD_SPI) || \ defined(CONFIG_MPC8XXX_SPI) || \ + defined(CONFIG_MXC_SPI) || \ defined(CONFIG_TI_QSPI) void spi_cs_activate(struct spi_slave *slave) { -- 2.18.0.321.gffc6fa0e3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot