summaryrefslogtreecommitdiff
path: root/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch')
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch161
1 files changed, 161 insertions, 0 deletions
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch
new file mode 100644
index 0000000000..941e9d10b8
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch
@@ -0,0 +1,161 @@
+From 25467e433f02f40f5999ed6e6b0d3adb4c9cf16d Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Fri, 9 Jun 2023 13:08:37 +0100
+Subject: [PATCH 30/42] sandbox64: add support for NVMXIP QSPI
+
+enable NVMXIP QSPI for sandbox 64-bit
+
+Adding two NVM XIP QSPI storage devices.
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
+
+Changelog:
+===============
+
+v2:
+
+* address nits
+---
+ arch/sandbox/dts/sandbox64.dts | 13 +++++++++++++
+ arch/sandbox/dts/test.dts | 14 ++++++++++++++
+ configs/sandbox64_defconfig | 3 ++-
+ doc/develop/driver-model/nvmxip.rst | 2 +-
+ doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt | 6 +++---
+ drivers/mtd/nvmxip/nvmxip-uclass.c | 7 +++++++
+ 6 files changed, 40 insertions(+), 5 deletions(-)
+
+diff --git a/arch/sandbox/dts/sandbox64.dts b/arch/sandbox/dts/sandbox64.dts
+index 3eb0457089..c9a2f4b4a4 100644
+--- a/arch/sandbox/dts/sandbox64.dts
++++ b/arch/sandbox/dts/sandbox64.dts
+@@ -89,6 +89,19 @@
+ cs-gpios = <0>, <&gpio_a 0>;
+ };
+
++ nvmxip-qspi1@08000000 {
++ compatible = "nvmxip,qspi";
++ reg = /bits/ 64 <0x08000000 0x00200000>;
++ lba_shift = <9>;
++ lba = <4096>;
++ };
++
++ nvmxip-qspi2@08200000 {
++ compatible = "nvmxip,qspi";
++ reg = /bits/ 64 <0x08200000 0x00100000>;
++ lba_shift = <9>;
++ lba = <2048>;
++ };
+ };
+
+ #include "sandbox.dtsi"
+diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
+index dffe10adbf..c3ba0a225e 100644
+--- a/arch/sandbox/dts/test.dts
++++ b/arch/sandbox/dts/test.dts
+@@ -1745,6 +1745,20 @@
+ compatible = "u-boot,fwu-mdata-gpt";
+ fwu-mdata-store = <&mmc0>;
+ };
++
++ nvmxip-qspi1@08000000 {
++ compatible = "nvmxip,qspi";
++ reg = <0x08000000 0x00200000>;
++ lba_shift = <9>;
++ lba = <4096>;
++ };
++
++ nvmxip-qspi2@08200000 {
++ compatible = "nvmxip,qspi";
++ reg = <0x08200000 0x00100000>;
++ lba_shift = <9>;
++ lba = <2048>;
++ };
+ };
+
+ #include "sandbox_pmic.dtsi"
+diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
+index 4b8a1ec42b..2dca176ae3 100644
+--- a/configs/sandbox64_defconfig
++++ b/configs/sandbox64_defconfig
+@@ -260,4 +260,5 @@ CONFIG_UNIT_TEST=y
+ CONFIG_UT_TIME=y
+ CONFIG_UT_DM=y
+ CONFIG_ARM_FFA_TRANSPORT=y
+-CONFIG_SANDBOX_FFA=y
+\ No newline at end of file
++CONFIG_SANDBOX_FFA=y
++CONFIG_NVMXIP_QSPI=y
+\ No newline at end of file
+diff --git a/doc/develop/driver-model/nvmxip.rst b/doc/develop/driver-model/nvmxip.rst
+index 09afdbcccf..e85dc220b9 100644
+--- a/doc/develop/driver-model/nvmxip.rst
++++ b/doc/develop/driver-model/nvmxip.rst
+@@ -56,7 +56,7 @@ The implementation is generic and can be used by different platforms.
+ Supported hardware
+ --------------------------------
+
+-Any 64-bit plaform.
++Any plaform supporting readq().
+
+ Configuration
+ ----------------------
+diff --git a/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt b/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
+index cc60e9efdc..882728d541 100644
+--- a/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
++++ b/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
+@@ -16,7 +16,7 @@ If a platform has its own driver, please provide your own compatible
+ string.
+
+ 2)
+- reg = <0x0 0x08000000 0x0 0x00200000>;
++ reg = /bits/ 64 <0x08000000 0x00200000>;
+
+ The start address and size of the flash device. The values give here are an
+ example (when the cell size is 2).
+@@ -43,14 +43,14 @@ Example of multiple flash devices
+
+ nvmxip-qspi1@08000000 {
+ compatible = "nvmxip,qspi";
+- reg = <0x0 0x08000000 0x0 0x00200000>;
++ reg = /bits/ 64 <0x08000000 0x00200000>;
+ lba_shift = <9>;
+ lba = <4096>;
+ };
+
+ nvmxip-qspi2@08200000 {
+ compatible = "nvmxip,qspi";
+- reg = <0x0 0x08200000 0x0 0x00100000>;
++ reg = /bits/ 64 <0x08200000 0x00100000>;
+ lba_shift = <9>;
+ lba = <2048>;
+ };
+diff --git a/drivers/mtd/nvmxip/nvmxip-uclass.c b/drivers/mtd/nvmxip/nvmxip-uclass.c
+index 9f96041e3d..6d8eb177b5 100644
+--- a/drivers/mtd/nvmxip/nvmxip-uclass.c
++++ b/drivers/mtd/nvmxip/nvmxip-uclass.c
+@@ -9,6 +9,9 @@
+ #include <common.h>
+ #include <dm.h>
+ #include <log.h>
++#if CONFIG_IS_ENABLED(SANDBOX64)
++#include <asm/test.h>
++#endif
+ #include <linux/bitops.h>
+ #include "nvmxip.h"
+
+@@ -36,6 +39,10 @@ static int nvmxip_post_bind(struct udevice *udev)
+ char bdev_name[NVMXIP_BLKDEV_NAME_SZ + 1];
+ int devnum;
+
++#if CONFIG_IS_ENABLED(SANDBOX64)
++ sandbox_set_enable_memio(true);
++#endif
++
+ devnum = uclass_id_count(UCLASS_NVMXIP);
+ snprintf(bdev_name, NVMXIP_BLKDEV_NAME_SZ, "blk#%d", devnum);
+
+--
+2.25.1
+