diff --git a/arch/arm/dts/ipq6018-emulation.dts b/arch/arm/dts/ipq6018-emulation.dts index ebedae42ec..1f3458b71e 100644 --- a/arch/arm/dts/ipq6018-emulation.dts +++ b/arch/arm/dts/ipq6018-emulation.dts @@ -28,4 +28,11 @@ bit_rate = <0xff>; status = "ok"; }; + spi { + compatible = "qcom,spi-qup-v2.7.0"; + wr_pipe_0 = <12>; + rd_pipe_0 = <13>; + status = "ok"; + spi_gpio {}; + }; }; diff --git a/board/qca/arm/ipq6018/ipq6018.c b/board/qca/arm/ipq6018/ipq6018.c index f88f190124..6c67f00a7d 100644 --- a/board/qca/arm/ipq6018/ipq6018.c +++ b/board/qca/arm/ipq6018/ipq6018.c @@ -130,7 +130,14 @@ void reset_crashdump(void) void board_nand_init(void) { - return 0; +#ifdef CONFIG_QCA_SPI + int gpio_node; + gpio_node = fdt_path_offset(gd->fdt_blob, "/spi/spi_gpio"); + if (gpio_node >= 0) { + qca_gpio_init(gpio_node); + ipq_spi_init(CONFIG_IPQ_SPI_NOR_INFO_IDX); + } +#endif } void enable_caches(void) { diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index fa4355b43a..66172763e9 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -35,6 +35,7 @@ obj-$(CONFIG_ICH_SPI) += ich.o ifdef CONFIG_QCA_SPI obj-$(CONFIG_ARCH_IPQ40xx) += qca_qup_spi_bam.o obj-$(CONFIG_ARCH_IPQ807x) += qca_qup_spi_bam.o +obj-$(CONFIG_ARCH_IPQ6018) += qca_qup_spi_bam.o obj-$(CONFIG_ARCH_IPQ806x) += ipq_spi.o endif obj-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o diff --git a/include/configs/ipq6018.h b/include/configs/ipq6018.h index f3a42a07b5..4e25fe0c62 100644 --- a/include/configs/ipq6018.h +++ b/include/configs/ipq6018.h @@ -118,6 +118,27 @@ extern loff_t board_env_size; #define CONFIG_ENV_IS_IN_NAND 1 +/* +* SPI Flash Configs +*/ +#define CONFIG_QCA_SPI +#define CONFIG_SPI_FLASH +#define CONFIG_CMD_SF +#define CONFIG_SPI_FLASH_STMICRO +#define CONFIG_SPI_FLASH_WINBOND +#define CONFIG_SPI_FLASH_MACRONIX +#define CONFIG_SPI_FLASH_GIGADEVICE +#define CONFIG_SF_DEFAULT_BUS 0 +#define CONFIG_SF_DEFAULT_CS 0 +#define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 +#define CONFIG_SF_DEFAULT_SPEED (48 * 1000 * 1000) +#define CONFIG_SPI_FLASH_BAR 1 +#define CONFIG_SPI_FLASH_USE_4K_SECTORS +#define CONFIG_IPQ_4B_ADDR_SWITCH_REQD + +#define CONFIG_EFI_PARTITION +#define CONFIG_QCA_BAM 1 + /* * NAND Flash Configs */