k3-bootswitch: boot_select: Add u-boot patch for reference
authorNikhil Devshatwar <nikhil.nd@ti.com>
Thu, 9 Apr 2020 10:10:53 +0000 (15:40 +0530)
committerNikhil Devshatwar <nikhil.nd@ti.com>
Thu, 9 Apr 2020 10:12:10 +0000 (15:42 +0530)
Add the patch which cab be used as reference to port the boot_select
binaries on other bootloaders.
Apply this and build with different defines enabled to create different
spl.xxx binaries.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
k3-bootswitch/boot_select/0001-HACK-Select-bootmode-and-reset.patch [new file with mode: 0644]

diff --git a/k3-bootswitch/boot_select/0001-HACK-Select-bootmode-and-reset.patch b/k3-bootswitch/boot_select/0001-HACK-Select-bootmode-and-reset.patch
new file mode 100644 (file)
index 0000000..6249382
--- /dev/null
@@ -0,0 +1,52 @@
+From 1460609e82f980b58163bcb04968ba414fa47e57 Mon Sep 17 00:00:00 2001
+From: Nikhil Devshatwar <nikhil.nd@ti.com>
+Date: Tue, 7 Apr 2020 18:33:36 +0530
+Subject: [PATCH] HACK: Select bootmode and reset
+
+Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
+---
+ arch/arm/mach-k3/j721e_init.c | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
+index b4ceb3b57f..d3865ad535 100644
+--- a/arch/arm/mach-k3/j721e_init.c
++++ b/arch/arm/mach-k3/j721e_init.c
+@@ -268,6 +268,34 @@ void board_init_f(ulong dummy)
+       /* Make all control module registers accessible */
+       ctrl_mmr_unlock();
++#define MMC   0xdead0000
++#define EMMC  0xdead0001
++#define OSPI  0xdead0002
++#define UART  0xdead0003
++#define NOBOOT        0xdead0004
++#define BOOTMODE NOBOOT
++
++#if BOOTMODE == MMC
++      /* Set the boot mode to MMC/SD */
++      *((volatile uint8_t *)0x00100030) = 0x41;
++      *((volatile uint8_t *)0x43000030) = 0x00;
++#elif BOOTMODE == EMMC
++#elif BOOTMODE == OSPI
++      /* Set the boot mode to OSPI */
++      *((volatile uint8_t *)0x00100030) = 0x00;
++      *((volatile uint8_t *)0x43000030) = 0x08;
++#elif BOOTMODE == UART
++      /* Set the boot mode to UART */
++      *((volatile uint8_t *)0x00100030) = 0x00;
++      *((volatile uint8_t *)0x43000030) = 0x38;
++#elif BOOTMODE == NOBOOT
++      /* Set the boot mode to UART */
++      *((volatile uint8_t *)0x00100030) = 0x11;
++      *((volatile uint8_t *)0x43000030) = 0x38;
++#endif
++      /* Issue a system reset */
++      *((volatile uint32_t *)0x4301817C) = 0x60000;
++
+ #ifdef CONFIG_CPU_V7R
+       disable_linefill_optimization();
+       setup_k3_mpu_regions();
+-- 
+2.17.1
+