public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v2 0/5] microblaze: Switch to distro boot
@ 2020-10-12  8:00 Michal Simek
  2020-10-12  8:00 ` [PATCH v2 1/5] microblaze: Enable spi for microblaze Michal Simek
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-12  8:00 UTC (permalink / raw)
  To: u-boot

Hi,

this series has only one purpose to move microblaze to distro boot to be
aligned with other platforms and ways how they boot.

Depends on https://lists.denx.de/pipermail/u-boot/2020-September/427495.html

Thanks,
Michal

Changes in v2:
- Add missing CONFIG_DISTRO_DEFAULTS=y

T Karthik Reddy (5):
  microblaze: Enable spi for microblaze
  microblaze: trivial code fixes
  microblaze: board: Check return value whlie saving env variables
  microblaze: Setup distro boot env variables at run time
  microblaze: Add support for distro boot

 arch/microblaze/Kconfig                       |  3 +
 board/xilinx/microblaze-generic/Kconfig       |  5 ++
 .../microblaze-generic/microblaze-generic.c   | 24 ++++++-
 configs/microblaze-generic_defconfig          | 13 ++--
 include/configs/microblaze-generic.h          | 66 ++++++++++++++++---
 5 files changed, 93 insertions(+), 18 deletions(-)

-- 
2.28.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/5] microblaze: Enable spi for microblaze
  2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
@ 2020-10-12  8:00 ` Michal Simek
  2020-10-12  8:00 ` [PATCH v2 2/5] microblaze: trivial code fixes Michal Simek
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-12  8:00 UTC (permalink / raw)
  To: u-boot

From: T Karthik Reddy <t.karthik.reddy@xilinx.com>

Enable SPI drivers and driver model for microblaze.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

(no changes since v1)

 arch/microblaze/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index ff6b3c7e3d6c..2755cce884c5 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -16,6 +16,9 @@ config TARGET_MICROBLAZE_GENERIC
 	select OF_CONTROL
 	select SUPPORT_SPL
 	select SYSRESET
+	select DM_SPI
+	select DM_SPI_FLASH
+	select SPI
 	imply CMD_DM
 
 endchoice
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/5] microblaze: trivial code fixes
  2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
  2020-10-12  8:00 ` [PATCH v2 1/5] microblaze: Enable spi for microblaze Michal Simek
@ 2020-10-12  8:00 ` Michal Simek
  2020-10-12  8:00 ` [PATCH v2 3/5] microblaze: board: Check return value whlie saving env variables Michal Simek
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-12  8:00 UTC (permalink / raw)
  To: u-boot

From: T Karthik Reddy <t.karthik.reddy@xilinx.com>

Set proper indentation for env variables in microblaze header file.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

(no changes since v1)

 include/configs/microblaze-generic.h | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index dfc2cd97d33b..642de612b7c2 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -131,15 +131,16 @@
 #define	CONFIG_SYS_USR_EXCEP	/* user exception */
 
 #ifndef CONFIG_EXTRA_ENV_SETTINGS
-#define	CONFIG_EXTRA_ENV_SETTINGS	"unlock=yes\0" \
-					"nor0=flash-0\0"\
-					"mtdparts=mtdparts=flash-0:"\
-					"256k(u-boot),256k(env),3m(kernel),"\
-					"1m(romfs),1m(cramfs),-(jffs2)\0"\
-					"nc=setenv stdout nc;"\
-					"setenv stdin nc\0" \
-					"serial=setenv stdout serial;"\
-					"setenv stdin serial\0"
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	"unlock=yes\0"\
+	"nor0=flash-0\0"\
+	"mtdparts=mtdparts=flash-0:"\
+	"256k(u-boot),256k(env),3m(kernel),"\
+	"1m(romfs),1m(cramfs),-(jffs2)\0"\
+	"nc=setenv stdout nc;"\
+	"setenv stdin nc\0" \
+	"serial=setenv stdout serial;"\
+	"setenv stdin serial\0"
 #endif
 
 #if defined(CONFIG_XILINX_AXIEMAC)
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/5] microblaze: board: Check return value whlie saving env variables
  2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
  2020-10-12  8:00 ` [PATCH v2 1/5] microblaze: Enable spi for microblaze Michal Simek
  2020-10-12  8:00 ` [PATCH v2 2/5] microblaze: trivial code fixes Michal Simek
@ 2020-10-12  8:00 ` Michal Simek
  2020-10-12  8:00 ` [PATCH v2 4/5] microblaze: Setup distro boot env variables at run time Michal Simek
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-12  8:00 UTC (permalink / raw)
  To: u-boot

From: T Karthik Reddy <t.karthik.reddy@xilinx.com>

Check and print warning if run time env variables are not saved.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

(no changes since v1)

 board/xilinx/microblaze-generic/microblaze-generic.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c
index 4e569e910d90..724c33987ba4 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -37,6 +37,7 @@ int dram_init(void)
 int board_late_init(void)
 {
 	ulong max_size, lowmem_size;
+	u32 status = 0;
 
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_SYSRESET_MICROBLAZE)
 	int ret;
@@ -58,9 +59,12 @@ int board_late_init(void)
 	/* Linux default LOWMEM_SIZE is 0x30000000 = 768MB */
 	lowmem_size = gd->ram_base + 768 * 1024 * 1024;
 
-	env_set_addr("initrd_high", (void *)min_t(ulong, max_size,
-						  lowmem_size));
-	env_set_addr("fdt_high", (void *)min_t(ulong, max_size, lowmem_size));
+	status |= env_set_addr("initrd_high", (void *)min_t(ulong, max_size,
+				lowmem_size));
+	status |= env_set_addr("fdt_high", (void *)min_t(ulong, max_size,
+				lowmem_size));
+	if (status)
+		printf("%s: Saving run time variables FAILED\n", __func__);
 
 	return 0;
 }
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 4/5] microblaze: Setup distro boot env variables at run time
  2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
                   ` (2 preceding siblings ...)
  2020-10-12  8:00 ` [PATCH v2 3/5] microblaze: board: Check return value whlie saving env variables Michal Simek
@ 2020-10-12  8:00 ` Michal Simek
  2020-10-12  8:00 ` [PATCH v2 5/5] microblaze: Add support for distro boot Michal Simek
  2020-10-27  7:12 ` [PATCH v2 0/5] microblaze: Switch to " Michal Simek
  5 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-12  8:00 UTC (permalink / raw)
  To: u-boot

From: T Karthik Reddy <t.karthik.reddy@xilinx.com>

Setup all the distro boot related environment variables at
run time. Add BOOT_SCRIPT_OFFSET config to microblaze board
Kconfig.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

(no changes since v1)

 board/xilinx/microblaze-generic/Kconfig            |  5 +++++
 .../xilinx/microblaze-generic/microblaze-generic.c | 14 ++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/board/xilinx/microblaze-generic/Kconfig b/board/xilinx/microblaze-generic/Kconfig
index f2fa0f72b13f..7a97211a1ecd 100644
--- a/board/xilinx/microblaze-generic/Kconfig
+++ b/board/xilinx/microblaze-generic/Kconfig
@@ -38,4 +38,9 @@ config XILINX_MICROBLAZE0_HW_VER
 	string "Core version number"
 	default "7.10.d"
 
+config BOOT_SCRIPT_OFFSET
+        hex "Boot script offset"
+        default 0xFC0000
+        help
+           Specifies distro boot script offset in NAND/QSPI flash.
 endif
diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c
index 724c33987ba4..c1ae8fbfe742 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -63,6 +63,20 @@ int board_late_init(void)
 				lowmem_size));
 	status |= env_set_addr("fdt_high", (void *)min_t(ulong, max_size,
 				lowmem_size));
+
+	status |= env_set_hex("scriptaddr", max_size + SZ_2M);
+
+	status |= env_set_hex("pxefile_addr_r", max_size + SZ_1M);
+
+	status |= env_set_hex("kernel_addr_r", gd->ram_base + SZ_32M);
+
+	status |= env_set_hex("fdt_addr_r", gd->ram_base + SZ_32M - SZ_1M);
+
+	status |= env_set_hex("ramdisk_addr_r",
+			       gd->ram_base + SZ_32M + SZ_4M + SZ_2M);
+
+	status |= env_set_hex("script_offset_f", CONFIG_BOOT_SCRIPT_OFFSET);
+
 	if (status)
 		printf("%s: Saving run time variables FAILED\n", __func__);
 
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 5/5] microblaze: Add support for distro boot
  2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
                   ` (3 preceding siblings ...)
  2020-10-12  8:00 ` [PATCH v2 4/5] microblaze: Setup distro boot env variables at run time Michal Simek
@ 2020-10-12  8:00 ` Michal Simek
  2020-10-27  7:12 ` [PATCH v2 0/5] microblaze: Switch to " Michal Simek
  5 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-12  8:00 UTC (permalink / raw)
  To: u-boot

From: T Karthik Reddy <t.karthik.reddy@xilinx.com>

Add distro boot support for microblaze and enable jtag, qspi,
dhcp, pxe boot targets for distro boot.
Enable DISTRO_DEFAULTS config in microblaze defconfig and also
enable support for spi xilinx driver & spi vendors to access
spi flash by distro boot.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

Changes in v2:
- Add missing CONFIG_DISTRO_DEFAULTS=y

 configs/microblaze-generic_defconfig | 13 +++++---
 include/configs/microblaze-generic.h | 49 ++++++++++++++++++++++++++--
 2 files changed, 55 insertions(+), 7 deletions(-)

diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
index bfbdb4928933..df79206ac274 100644
--- a/configs/microblaze-generic_defconfig
+++ b/configs/microblaze-generic_defconfig
@@ -12,6 +12,7 @@ CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
 CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
 CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
+CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_BOOTDELAY=-1
@@ -26,8 +27,6 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_NOR_SUPPORT=y
 CONFIG_SPL_OS_BOOT=y
 CONFIG_SYS_OS_BASE=0x2c060000
-CONFIG_HUSH_PARSER=y
-# CONFIG_AUTO_COMPLETE is not set
 CONFIG_SYS_PROMPT="U-Boot-mONStR> "
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_SPL=y
@@ -35,10 +34,7 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_SAVES=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_CMD_DHCP=y
 CONFIG_CMD_TFTPPUT=y
-CONFIG_CMD_MII=y
-CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_JFFS2=y
 CONFIG_SPL_OF_CONTROL=y
@@ -56,6 +52,12 @@ CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
+CONFIG_SPI_FLASH_ISSI=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_PHY_ATHEROS=y
 CONFIG_PHY_BROADCOM=y
 CONFIG_PHY_DAVICOM=y
@@ -71,6 +73,7 @@ CONFIG_XILINX_AXIEMAC=y
 CONFIG_XILINX_EMACLITE=y
 CONFIG_SYS_NS16550=y
 CONFIG_XILINX_UARTLITE=y
+CONFIG_XILINX_SPI=y
 CONFIG_SYSRESET_GPIO=y
 CONFIG_SYSRESET_MICROBLAZE=y
 CONFIG_WDT=y
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 642de612b7c2..2b4124235082 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -125,11 +125,54 @@
 #define	CONFIG_SYS_LOAD_ADDR	0
 
 #define	CONFIG_HOSTNAME		"microblaze-generic"
-#define	CONFIG_BOOTCOMMAND	"base 0;tftp 11000000 image.img;bootm"
 
 /* architecture dependent code */
 #define	CONFIG_SYS_USR_EXCEP	/* user exception */
 
+#if defined(CONFIG_CMD_PXE) && defined(CONFIG_CMD_DHCP)
+#define BOOT_TARGET_DEVICES_PXE(func)	func(PXE, pxe, na)
+#else
+#define BOOT_TARGET_DEVICES_PXE(func)
+#endif
+
+#if defined(CONFIG_CMD_DHCP)
+#define BOOT_TARGET_DEVICES_DHCP(func)	func(DHCP, dhcp, na)
+#else
+#define BOOT_TARGET_DEVICES_DHCP(func)
+#endif
+
+#if defined(CONFIG_SPI_FLASH)
+# define BOOT_TARGET_DEVICES_QSPI(func) func(QSPI, qspi, na)
+#else
+# define BOOT_TARGET_DEVICES_QSPI(func)
+#endif
+
+#define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
+	"bootcmd_qspi=sf probe 0 0 0 && " \
+	"sf read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \
+	"echo QSPI: Trying to boot script at ${scriptaddr} && " \
+	"source ${scriptaddr}; echo QSPI: SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_QSPI(devtypeu, devtypel, instance) \
+	"qspi "
+
+#define BOOT_TARGET_DEVICES_JTAG(func)	func(JTAG, jtag, na)
+
+#define BOOTENV_DEV_JTAG(devtypeu, devtypel, instance) \
+	"bootcmd_jtag=echo JTAG: Trying to boot script at ${scriptaddr} && " \
+		"source ${scriptaddr}; echo JTAG: SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_JTAG(devtypeu, devtypel, instance) \
+	"jtag "
+
+#define BOOT_TARGET_DEVICES(func) \
+	BOOT_TARGET_DEVICES_JTAG(func) \
+	BOOT_TARGET_DEVICES_QSPI(func)  \
+	BOOT_TARGET_DEVICES_DHCP(func) \
+	BOOT_TARGET_DEVICES_PXE(func)
+
+#include <config_distro_bootcmd.h>
+
 #ifndef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"unlock=yes\0"\
@@ -140,7 +183,9 @@
 	"nc=setenv stdout nc;"\
 	"setenv stdin nc\0" \
 	"serial=setenv stdout serial;"\
-	"setenv stdin serial\0"
+	"setenv stdin serial\0"\
+	"script_size_f=0x40000\0"\
+	BOOTENV
 #endif
 
 #if defined(CONFIG_XILINX_AXIEMAC)
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 0/5] microblaze: Switch to distro boot
  2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
                   ` (4 preceding siblings ...)
  2020-10-12  8:00 ` [PATCH v2 5/5] microblaze: Add support for distro boot Michal Simek
@ 2020-10-27  7:12 ` Michal Simek
  5 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2020-10-27  7:12 UTC (permalink / raw)
  To: u-boot

po 12. 10. 2020 v 10:00 odes?latel Michal Simek
<michal.simek@xilinx.com> napsal:
>
> Hi,
>
> this series has only one purpose to move microblaze to distro boot to be
> aligned with other platforms and ways how they boot.
>
> Depends on https://lists.denx.de/pipermail/u-boot/2020-September/427495.html
>
> Thanks,
> Michal
>
> Changes in v2:
> - Add missing CONFIG_DISTRO_DEFAULTS=y
>
> T Karthik Reddy (5):
>   microblaze: Enable spi for microblaze
>   microblaze: trivial code fixes
>   microblaze: board: Check return value whlie saving env variables
>   microblaze: Setup distro boot env variables at run time
>   microblaze: Add support for distro boot
>
>  arch/microblaze/Kconfig                       |  3 +
>  board/xilinx/microblaze-generic/Kconfig       |  5 ++
>  .../microblaze-generic/microblaze-generic.c   | 24 ++++++-
>  configs/microblaze-generic_defconfig          | 13 ++--
>  include/configs/microblaze-generic.h          | 66 ++++++++++++++++---
>  5 files changed, 93 insertions(+), 18 deletions(-)
>
> --
> 2.28.0
>

Applied.
M

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-10-27  7:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-12  8:00 [PATCH v2 0/5] microblaze: Switch to distro boot Michal Simek
2020-10-12  8:00 ` [PATCH v2 1/5] microblaze: Enable spi for microblaze Michal Simek
2020-10-12  8:00 ` [PATCH v2 2/5] microblaze: trivial code fixes Michal Simek
2020-10-12  8:00 ` [PATCH v2 3/5] microblaze: board: Check return value whlie saving env variables Michal Simek
2020-10-12  8:00 ` [PATCH v2 4/5] microblaze: Setup distro boot env variables at run time Michal Simek
2020-10-12  8:00 ` [PATCH v2 5/5] microblaze: Add support for distro boot Michal Simek
2020-10-27  7:12 ` [PATCH v2 0/5] microblaze: Switch to " Michal Simek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox