summaryrefslogtreecommitdiffstats
path: root/pkgs/misc/uboot
diff options
context:
space:
mode:
authorBernardo Meurer <bernardo@meurer.org>2022-04-25 22:40:50 -0700
committerBernardo Meurer <bernardo@meurer.org>2022-04-26 15:22:35 -0700
commitca0c9279ab2471bd8bf67681fb57fe33adbccb27 (patch)
tree43b769092bb8904eb3cb363d7fa40bbba5c03b79 /pkgs/misc/uboot
parentd094a3e175fb3e1593adcda6a4e973946785dd13 (diff)
ubootRaspberryCM4_64bit: enable USB and NVME
Diffstat (limited to 'pkgs/misc/uboot')
-rw-r--r--pkgs/misc/uboot/default.nix13
-rw-r--r--pkgs/misc/uboot/rpi-cm4/0003-rpi-add-NVMe-to-boot-order.patch44
-rw-r--r--pkgs/misc/uboot/rpi-cm4/0005-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch33
3 files changed, 90 insertions, 0 deletions
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 5e0a451f89ee..70fb54d4078e 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -419,8 +419,21 @@ in {
extraMeta.platforms = ["aarch64-linux"];
filesToInstall = ["u-boot.bin"];
extraConfig = ''
+ CONFIG_CMD_NVME=y
+ CONFIG_NVME=y
+ CONFIG_NVME_PCI=y
+ CONFIG_USB_STORAGE=y
+ CONFIG_USB_FUNCTION_MASS_STORAGE=y
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_GENERIC=y
+ CONFIG_USB_OHCI_HCD=y
+
CONFIG_USB_XHCI_BRCM=y
'';
+ extraPatches = [
+ ./rpi-cm4/0003-rpi-add-NVMe-to-boot-order.patch
+ ./rpi-cm4/0005-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch
+ ];
};
ubootRaspberryPiZero = buildUBoot {
diff --git a/pkgs/misc/uboot/rpi-cm4/0003-rpi-add-NVMe-to-boot-order.patch b/pkgs/misc/uboot/rpi-cm4/0003-rpi-add-NVMe-to-boot-order.patch
new file mode 100644
index 000000000000..f5e9462e89b5
--- /dev/null
+++ b/pkgs/misc/uboot/rpi-cm4/0003-rpi-add-NVMe-to-boot-order.patch
@@ -0,0 +1,44 @@
+From ae45864457182fcaa67911e1e3d8db242dff3646 Mon Sep 17 00:00:00 2001
+Message-Id: <ae45864457182fcaa67911e1e3d8db242dff3646.1645627172.git.stefan@agner.ch>
+In-Reply-To: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
+References: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
+From: Stefan Agner <stefan@agner.ch>
+Date: Tue, 29 Dec 2020 23:34:52 +0100
+Subject: [PATCH 3/5] rpi: add NVMe to boot order
+
+The Compute Module 4 I/O Board can support a NVMe. Add NVMe to the boot
+order.
+
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+---
+ include/configs/rpi.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/include/configs/rpi.h b/include/configs/rpi.h
+index 4c5c1ac31f..e24c94c7d2 100644
+--- a/include/configs/rpi.h
++++ b/include/configs/rpi.h
+@@ -143,6 +143,12 @@
+ #define BOOT_TARGET_MMC(func)
+ #endif
+
++#if CONFIG_IS_ENABLED(CMD_NVME)
++ #define BOOT_TARGET_NVME(func) func(NVME, nvme, 0)
++#else
++ #define BOOT_TARGET_NVME(func)
++#endif
++
+ #if CONFIG_IS_ENABLED(CMD_USB)
+ #define BOOT_TARGET_USB(func) func(USB, usb, 0)
+ #else
+@@ -163,6 +169,7 @@
+
+ #define BOOT_TARGET_DEVICES(func) \
+ BOOT_TARGET_MMC(func) \
++ BOOT_TARGET_NVME(func) \
+ BOOT_TARGET_USB(func) \
+ BOOT_TARGET_PXE(func) \
+ BOOT_TARGET_DHCP(func)
+--
+2.35.1
+
diff --git a/pkgs/misc/uboot/rpi-cm4/0005-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch b/pkgs/misc/uboot/rpi-cm4/0005-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch
new file mode 100644
index 000000000000..bf2d8475dc01
--- /dev/null
+++ b/pkgs/misc/uboot/rpi-cm4/0005-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch
@@ -0,0 +1,33 @@
+From b00922ee48987ef91f0ca2aa3a66ad22c6c83d57 Mon Sep 17 00:00:00 2001
+Message-Id: <b00922ee48987ef91f0ca2aa3a66ad22c6c83d57.1645627172.git.stefan@agner.ch>
+In-Reply-To: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
+References: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
+From: Stefan Agner <stefan@agner.ch>
+Date: Thu, 7 Oct 2021 12:02:39 +0200
+Subject: [PATCH 5/5] usb: xhci-brcm: Make driver compatible with downstream
+ device tree
+
+The downstream device tree uses just "generic-xhci" as compatible
+string. Use this string to make U-Boot work with the downstream Kernel.
+
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+---
+ drivers/usb/host/xhci-brcm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/usb/host/xhci-brcm.c b/drivers/usb/host/xhci-brcm.c
+index fe17924028..0c6938187b 100644
+--- a/drivers/usb/host/xhci-brcm.c
++++ b/drivers/usb/host/xhci-brcm.c
+@@ -82,7 +82,7 @@ static int xhci_brcm_deregister(struct udevice *dev)
+ }
+
+ static const struct udevice_id xhci_brcm_ids[] = {
+- { .compatible = "brcm,generic-xhci" },
++ { .compatible = "generic-xhci" },
+ { }
+ };
+
+--
+2.35.1
+