mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 08:58:52 +09:00
![Michael Walle](/assets/img/avatar_default.png)
This is a port of the kernel's spi-nxp-fspi driver. It uses the new spi-mem interface and does not expose the more generic spi-xfer interface. The source was taken from the v5.3-rc3 tag. The port was straightforward: - remove the interrupt handling and the completion by busy polling the controller - remove locks - move the setup of the memory windows into claim_bus() - move the setup of the speed into set_speed() - port the device tree bindings from the original fspi_probe() to ofdata_to_platdata() There were only some style change fixes, no change in any logic. For example, there are busy loops where the return code is not handled correctly, eg. only prints a warning with WARN_ON(). This port intentionally left most functions unchanged to ease future bugfixes. This was tested on a custom LS1028A board. Because the LS1028A doesn't have proper clock framework support, changing the clock speed was not tested. This also means that it is not possible to change the SPI speed on LS1028A for now (neither is it possible in the linux driver). Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Kuldeep Singh <kuldeep.singh@nxp.com>
69 lines
2.5 KiB
Makefile
69 lines
2.5 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# (C) Copyright 2000-2007
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
# There are many options which enable SPI, so make this library available
|
|
ifdef CONFIG_DM_SPI
|
|
obj-y += spi-uclass.o
|
|
obj-$(CONFIG_SANDBOX) += spi-emul-uclass.o
|
|
obj-$(CONFIG_SOFT_SPI) += soft_spi.o
|
|
obj-$(CONFIG_SPI_MEM) += spi-mem.o
|
|
obj-$(CONFIG_TI_QSPI) += ti_qspi.o
|
|
else
|
|
obj-y += spi.o
|
|
obj-$(CONFIG_SPI_MEM) += spi-mem-nodm.o
|
|
obj-$(CONFIG_SOFT_SPI) += soft_spi_legacy.o
|
|
endif
|
|
|
|
obj-$(CONFIG_ALTERA_SPI) += altera_spi.o
|
|
obj-$(CONFIG_ATH79_SPI) += ath79_spi.o
|
|
obj-$(CONFIG_ATMEL_QSPI) += atmel-quadspi.o
|
|
obj-$(CONFIG_ATMEL_SPI) += atmel_spi.o
|
|
obj-$(CONFIG_BCM63XX_HSSPI) += bcm63xx_hsspi.o
|
|
obj-$(CONFIG_BCM63XX_SPI) += bcm63xx_spi.o
|
|
obj-$(CONFIG_BCMSTB_SPI) += bcmstb_spi.o
|
|
obj-$(CONFIG_CADENCE_QSPI) += cadence_qspi.o cadence_qspi_apb.o
|
|
obj-$(CONFIG_CF_SPI) += cf_spi.o
|
|
obj-$(CONFIG_DAVINCI_SPI) += davinci_spi.o
|
|
obj-$(CONFIG_DESIGNWARE_SPI) += designware_spi.o
|
|
obj-$(CONFIG_EXYNOS_SPI) += exynos_spi.o
|
|
obj-$(CONFIG_FSL_DSPI) += fsl_dspi.o
|
|
obj-$(CONFIG_FSL_ESPI) += fsl_espi.o
|
|
obj-$(CONFIG_FSL_QSPI) += fsl_qspi.o
|
|
obj-$(CONFIG_ICH_SPI) += ich.o
|
|
obj-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o
|
|
obj-$(CONFIG_LPC32XX_SSP) += lpc32xx_ssp.o
|
|
obj-$(CONFIG_MESON_SPIFC) += meson_spifc.o
|
|
obj-$(CONFIG_MPC8XX_SPI) += mpc8xx_spi.o
|
|
obj-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o
|
|
obj-$(CONFIG_MTK_SNFI_SPI) += mtk_snfi_spi.o
|
|
obj-$(CONFIG_MT7621_SPI) += mt7621_spi.o
|
|
obj-$(CONFIG_MSCC_BB_SPI) += mscc_bb_spi.o
|
|
obj-$(CONFIG_MVEBU_A3700_SPI) += mvebu_a3700_spi.o
|
|
obj-$(CONFIG_MXC_SPI) += mxc_spi.o
|
|
obj-$(CONFIG_MXS_SPI) += mxs_spi.o
|
|
obj-$(CONFIG_NXP_FSPI) += nxp_fspi.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
|
|
obj-$(CONFIG_ROCKCHIP_SPI) += rk_spi.o
|
|
obj-$(CONFIG_SANDBOX_SPI) += sandbox_spi.o
|
|
obj-$(CONFIG_SPI_SIFIVE) += spi-sifive.o
|
|
obj-$(CONFIG_SPI_SUNXI) += spi-sunxi.o
|
|
obj-$(CONFIG_SH_SPI) += sh_spi.o
|
|
obj-$(CONFIG_SH_QSPI) += sh_qspi.o
|
|
obj-$(CONFIG_STM32_QSPI) += stm32_qspi.o
|
|
obj-$(CONFIG_STM32_SPI) += stm32_spi.o
|
|
obj-$(CONFIG_TEGRA114_SPI) += tegra114_spi.o
|
|
obj-$(CONFIG_TEGRA20_SFLASH) += tegra20_sflash.o
|
|
obj-$(CONFIG_TEGRA20_SLINK) += tegra20_slink.o
|
|
obj-$(CONFIG_TEGRA210_QSPI) += tegra210_qspi.o
|
|
obj-$(CONFIG_UNIPHIER_SPI) += uniphier_spi.o
|
|
obj-$(CONFIG_XILINX_SPI) += xilinx_spi.o
|
|
obj-$(CONFIG_ZYNQ_SPI) += zynq_spi.o
|
|
obj-$(CONFIG_ZYNQ_QSPI) += zynq_qspi.o
|
|
obj-$(CONFIG_ZYNQMP_GQSPI) += zynqmp_gqspi.o
|