* [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