summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2020-02-25 17:29:40 +0300
committerMichal Simek <michal.simek@xilinx.com>2020-04-06 13:52:45 +0300
commitf7375aff959d9d04bcbd2ac7443e62c450716b43 (patch)
tree2d7069e800ebe7d1a87fcdbd57235608f8396170
parent5992f2579739c421cbdc1b6dd0054c636f376ba0 (diff)
downloadu-boot-f7375aff959d9d04bcbd2ac7443e62c450716b43.tar.xz
ARM: zynq: Enable DM for CFI NOR flash
With multi defconfig NOR flash information about NOR should be taken from DT that's why there is no reason to specify address and sizes via fixed config. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r--arch/arm/dts/zynq-cse-nor.dts14
-rw-r--r--configs/xilinx_zynq_virt_defconfig1
-rw-r--r--configs/zynq_cse_nor_defconfig3
-rw-r--r--include/configs/zynq-common.h2
4 files changed, 18 insertions, 2 deletions
diff --git a/arch/arm/dts/zynq-cse-nor.dts b/arch/arm/dts/zynq-cse-nor.dts
index 4030851eb3..197fbd717a 100644
--- a/arch/arm/dts/zynq-cse-nor.dts
+++ b/arch/arm/dts/zynq-cse-nor.dts
@@ -71,6 +71,20 @@
reg = <0x100 0x100>;
};
};
+
+ /*
+ * This is partially hack because it is normally subnode of smcc
+ * but for mini U-Boot there is no reason to enable SMCC driver
+ * which does almost nothing in NOR flash configuration that's
+ * why place cfi-flash directly here.
+ */
+ flash@e2000000 {
+ u-boot,dm-pre-reloc;
+ compatible = "cfi-flash";
+ reg = <0xe2000000 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
};
};
diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
index 2e9f3a0f75..08b43de103 100644
--- a/configs/xilinx_zynq_virt_defconfig
+++ b/configs/xilinx_zynq_virt_defconfig
@@ -61,6 +61,7 @@ CONFIG_MMC_SDHCI_ZYNQ=y
CONFIG_MTD=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH=y
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
CONFIG_SYS_FLASH_CFI=y
CONFIG_MTD_RAW_NAND=y
diff --git a/configs/zynq_cse_nor_defconfig b/configs/zynq_cse_nor_defconfig
index e2b9454c15..3b4e2f93fa 100644
--- a/configs/zynq_cse_nor_defconfig
+++ b/configs/zynq_cse_nor_defconfig
@@ -52,8 +52,11 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_DM_DEVICE_REMOVE is not set
CONFIG_SPL_DM_SEQ_ALIAS=y
# CONFIG_MMC is not set
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH=y
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
CONFIG_SYS_FLASH_CFI=y
# CONFIG_EFI_LOADER is not set
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 33fac35f6e..1eaf65b0a2 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -43,8 +43,6 @@
/* NOR */
#ifdef CONFIG_MTD_NOR_FLASH
-# define CONFIG_SYS_FLASH_BASE 0xE2000000
-# define CONFIG_SYS_FLASH_SIZE (16 * 1024 * 1024)
# define CONFIG_SYS_MAX_FLASH_BANKS 1
# define CONFIG_SYS_MAX_FLASH_SECT 512
# define CONFIG_SYS_FLASH_ERASE_TOUT 1000