mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2025-12-10 07:44:53 +01:00
ARM: qca: ipq8074: Added support for NOR+NAND
Change includes 1. Device tree entry for SPI_NOR GPIO configuration 2. Register SPI_NOR as psudo NAND Change-Id: I4d271dcd2970af370975e4a8d9a78199e1cfd2a2 Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>
This commit is contained in:
parent
de5e74d1b9
commit
5c0dd6970e
7 changed files with 76 additions and 7 deletions
|
|
@ -31,6 +31,57 @@
|
||||||
timer_load_val = <0x00FFFFFF 0xFFFFFFFF>;
|
timer_load_val = <0x00FFFFFF 0xFFFFFFFF>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
spi {
|
||||||
|
status = "ok";
|
||||||
|
|
||||||
|
compatible = "qcom,spi-qup-v2.7.0";
|
||||||
|
spi_gpio {
|
||||||
|
gpio1 {
|
||||||
|
gpio = <42>;
|
||||||
|
func = <3>;
|
||||||
|
pull = <GPIO_PULL_UP>;
|
||||||
|
drvstr = <GPIO_2MA>;
|
||||||
|
oe = <GPIO_OE_DISABLE>;
|
||||||
|
vm = <GPIO_VM_ENABLE>;
|
||||||
|
od_en = <GPIO_OD_DISABLE>;
|
||||||
|
pu_res = <GPIO_PULL_RES2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio2 {
|
||||||
|
gpio = <43>;
|
||||||
|
func = <3>;
|
||||||
|
pull = <GPIO_PULL_UP>;
|
||||||
|
drvstr = <GPIO_2MA>;
|
||||||
|
oe = <GPIO_OE_DISABLE>;
|
||||||
|
vm = <GPIO_VM_ENABLE>;
|
||||||
|
od_en = <GPIO_OD_DISABLE>;
|
||||||
|
pu_res = <GPIO_PULL_RES2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio3 {
|
||||||
|
gpio = <44>;
|
||||||
|
func = <2>;
|
||||||
|
pull = <GPIO_PULL_UP>;
|
||||||
|
drvstr = <GPIO_2MA>;
|
||||||
|
oe = <GPIO_OE_DISABLE>;
|
||||||
|
vm = <GPIO_VM_ENABLE>;
|
||||||
|
od_en = <GPIO_OD_DISABLE>;
|
||||||
|
pu_res = <GPIO_PULL_RES2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio4 {
|
||||||
|
gpio = <45>;
|
||||||
|
func = <2>;
|
||||||
|
pull = <GPIO_PULL_UP>;
|
||||||
|
drvstr = <GPIO_2MA>;
|
||||||
|
oe = <GPIO_OE_DISABLE>;
|
||||||
|
vm = <GPIO_VM_ENABLE>;
|
||||||
|
od_en = <GPIO_OD_DISABLE>;
|
||||||
|
pu_res = <GPIO_PULL_RES2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
nand: nand-controller@79B0000 {
|
nand: nand-controller@79B0000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
|
||||||
|
|
@ -232,8 +232,10 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||||
struct flash_node_info nodes[] = {
|
struct flash_node_info nodes[] = {
|
||||||
{ "qcom,msm-nand", MTD_DEV_TYPE_NAND, 0 },
|
{ "qcom,msm-nand", MTD_DEV_TYPE_NAND, 0 },
|
||||||
{ "qcom,qcom_nand", MTD_DEV_TYPE_NAND, 0 },
|
{ "qcom,qcom_nand", MTD_DEV_TYPE_NAND, 0 },
|
||||||
|
{ "qcom,ebi2-nandc-bam-v1.5.0", MTD_DEV_TYPE_NAND, 0 },
|
||||||
{ "spinand,mt29f", MTD_DEV_TYPE_NAND, 1 },
|
{ "spinand,mt29f", MTD_DEV_TYPE_NAND, 1 },
|
||||||
{ "n25q128a11", MTD_DEV_TYPE_NAND, 2 },
|
{ "n25q128a11", MTD_DEV_TYPE_NAND,
|
||||||
|
CONFIG_IPQ_SPI_NOR_INFO_IDX },
|
||||||
{ NULL, 0, -1 }, /* Terminator */
|
{ NULL, 0, -1 }, /* Terminator */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
qca_mmc mmc_host;
|
qca_mmc mmc_host;
|
||||||
|
|
||||||
|
extern int ipq_spi_init(u16);
|
||||||
|
|
||||||
const char *rsvd_node = "/reserved-memory";
|
const char *rsvd_node = "/reserved-memory";
|
||||||
const char *del_node[] = {"uboot",
|
const char *del_node[] = {"uboot",
|
||||||
"sbl"};
|
"sbl"};
|
||||||
|
|
@ -108,7 +110,15 @@ int board_mmc_init(bd_t *bis)
|
||||||
|
|
||||||
void board_nand_init(void)
|
void board_nand_init(void)
|
||||||
{
|
{
|
||||||
|
int gpio_node;
|
||||||
|
|
||||||
qpic_nand_init();
|
qpic_nand_init();
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_pci_init(int id)
|
void board_pci_init(int id)
|
||||||
|
|
|
||||||
|
|
@ -20,4 +20,4 @@ obj-$(CONFIG_FTSMC020) += ftsmc020.o
|
||||||
obj-$(CONFIG_FLASH_CFI_LEGACY) += jedec_flash.o
|
obj-$(CONFIG_FLASH_CFI_LEGACY) += jedec_flash.o
|
||||||
obj-$(CONFIG_MW_EEPROM) += mw_eeprom.o
|
obj-$(CONFIG_MW_EEPROM) += mw_eeprom.o
|
||||||
obj-$(CONFIG_ST_SMI) += st_smi.o
|
obj-$(CONFIG_ST_SMI) += st_smi.o
|
||||||
obj-$(CONFIG_IPQ40XX_SPI) += ipq_spi_flash.o
|
obj-$(CONFIG_QCA_SPI) += ipq_spi_flash.o
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,10 @@ obj-$(CONFIG_FSL_DSPI) += fsl_dspi.o
|
||||||
obj-$(CONFIG_FSL_ESPI) += fsl_espi.o
|
obj-$(CONFIG_FSL_ESPI) += fsl_espi.o
|
||||||
obj-$(CONFIG_FSL_QSPI) += fsl_qspi.o
|
obj-$(CONFIG_FSL_QSPI) += fsl_qspi.o
|
||||||
obj-$(CONFIG_ICH_SPI) += ich.o
|
obj-$(CONFIG_ICH_SPI) += ich.o
|
||||||
obj-$(CONFIG_QCA_SPI) += qca_qup_spi.o
|
ifdef CONFIG_QCA_SPI
|
||||||
|
obj-$(CONFIG_ARCH_IPQ40xx) += qca_qup_spi.o
|
||||||
|
obj-$(CONFIG_ARCH_IPQ807x) += qca_qup_spi.o
|
||||||
|
endif
|
||||||
obj-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o
|
obj-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o
|
||||||
obj-$(CONFIG_LPC32XX_SSP) += lpc32xx_ssp.o
|
obj-$(CONFIG_LPC32XX_SSP) += lpc32xx_ssp.o
|
||||||
obj-$(CONFIG_MPC52XX_SPI) += mpc52xx_spi.o
|
obj-$(CONFIG_MPC52XX_SPI) += mpc52xx_spi.o
|
||||||
|
|
|
||||||
|
|
@ -251,10 +251,10 @@ typedef struct {
|
||||||
CONFIG_IPQ_MAX_SPI_DEVICE)
|
CONFIG_IPQ_MAX_SPI_DEVICE)
|
||||||
|
|
||||||
#define CONFIG_IPQ_NAND_NAND_INFO_IDX 0
|
#define CONFIG_IPQ_NAND_NAND_INFO_IDX 0
|
||||||
#define CONFIG_IPQ_SPI_NAND_INFO_IDX 1
|
#define CONFIG_IPQ_SPI_NOR_INFO_IDX 1
|
||||||
|
|
||||||
#define CONFIG_NAND_FLASH_INFO_IDX CONFIG_IPQ_NAND_NAND_INFO_IDX
|
#define CONFIG_NAND_FLASH_INFO_IDX CONFIG_IPQ_NAND_NAND_INFO_IDX
|
||||||
#define CONFIG_SPI_FLASH_INFO_IDX CONFIG_IPQ_SPI_NAND_INFO_IDX
|
#define CONFIG_SPI_FLASH_INFO_IDX CONFIG_IPQ_SPI_NOR_INFO_IDX
|
||||||
|
|
||||||
#define CONFIG_FDT_FIXUP_PARTITIONS
|
#define CONFIG_FDT_FIXUP_PARTITIONS
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@
|
||||||
|
|
||||||
#define CONFIG_QCA_SMEM_BASE 0x4AB00000
|
#define CONFIG_QCA_SMEM_BASE 0x4AB00000
|
||||||
|
|
||||||
|
#define CONFIG_IPQ_FDT_HIGH 0x4A600000
|
||||||
#define CONFIG_IPQ_NO_MACS 1
|
#define CONFIG_IPQ_NO_MACS 1
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
@ -151,12 +152,14 @@ extern loff_t board_env_offset;
|
||||||
* Expose SPI driver as a pseudo NAND driver to make use
|
* Expose SPI driver as a pseudo NAND driver to make use
|
||||||
* of U-Boot's MTD framework.
|
* of U-Boot's MTD framework.
|
||||||
*/
|
*/
|
||||||
#define CONFIG_SYS_MAX_NAND_DEVICE CONFIG_IPQ_MAX_NAND_DEVICE
|
#define CONFIG_SYS_MAX_NAND_DEVICE CONFIG_IPQ_MAX_NAND_DEVICE + \
|
||||||
|
CONFIG_IPQ_MAX_SPI_DEVICE
|
||||||
|
|
||||||
#define CONFIG_IPQ_MAX_NAND_DEVICE 1
|
#define CONFIG_IPQ_MAX_NAND_DEVICE 1
|
||||||
|
#define CONFIG_IPQ_MAX_SPI_DEVICE 1
|
||||||
|
|
||||||
#define CONFIG_QPIC_NAND_NAND_INFO_IDX 0
|
#define CONFIG_QPIC_NAND_NAND_INFO_IDX 0
|
||||||
#define CONFIG_IPQ_SPI_NOR_INFO_IDX 2
|
#define CONFIG_IPQ_SPI_NOR_INFO_IDX 1
|
||||||
|
|
||||||
#define CONFIG_NAND_FLASH_INFO_IDX CONFIG_QPIC_NAND_NAND_INFO_IDX
|
#define CONFIG_NAND_FLASH_INFO_IDX CONFIG_QPIC_NAND_NAND_INFO_IDX
|
||||||
#define CONFIG_SPI_FLASH_INFO_IDX CONFIG_IPQ_SPI_NOR_INFO_IDX
|
#define CONFIG_SPI_FLASH_INFO_IDX CONFIG_IPQ_SPI_NOR_INFO_IDX
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue