summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/lib/spl.c3
-rw-r--r--arch/powerpc/lib/spl.c3
-rw-r--r--cmd/spl.c23
-rw-r--r--doc/README.commands.spl14
-rw-r--r--doc/develop/falcon.rst84
-rw-r--r--include/cmd_spl.h3
6 files changed, 15 insertions, 115 deletions
diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index c43a63f1819..6c7d1fb5629 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -46,8 +46,7 @@ void __weak board_init_f(ulong dummy)
}
/*
- * This function jumps to an image with argument. Normally an FDT or ATAGS
- * image.
+ * This function jumps to an image with argument, usually an FDT.
*/
#if CONFIG_IS_ENABLED(OS_BOOT)
#ifdef CONFIG_ARM64
diff --git a/arch/powerpc/lib/spl.c b/arch/powerpc/lib/spl.c
index 3a24cbfff3b..a2bf52c5adc 100644
--- a/arch/powerpc/lib/spl.c
+++ b/arch/powerpc/lib/spl.c
@@ -9,8 +9,7 @@
#include <linux/compiler.h>
/*
- * This function jumps to an image with argument. Normally an FDT or ATAGS
- * image.
+ * This function jumps to an image with argument, usually an FDT.
*/
#ifdef CONFIG_SPL_OS_BOOT
void __noreturn jump_to_image_linux(struct spl_image_info *spl_image)
diff --git a/cmd/spl.c b/cmd/spl.c
index 379b512f1ff..f591dc07fb6 100644
--- a/cmd/spl.c
+++ b/cmd/spl.c
@@ -30,19 +30,6 @@ static const char **subcmd_list[] = {
#endif
NULL,
},
- [SPL_EXPORT_ATAGS] = (const char * []) {
-#ifdef CONFIG_SUPPORT_PASSING_ATAGS
- "start",
- "loados",
-#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
- "ramdisk",
-#endif
- "cmdline",
- "bdt",
- "prep",
-#endif
- NULL,
- },
NULL
};
@@ -96,7 +83,6 @@ static int call_bootm(int argc, char *const argv[], const char *subcommand[])
static struct cmd_tbl cmd_spl_export_sub[] = {
U_BOOT_CMD_MKENT(fdt, 0, 1, (void *)SPL_EXPORT_FDT, "", ""),
- U_BOOT_CMD_MKENT(atags, 0, 1, (void *)SPL_EXPORT_ATAGS, "", ""),
};
static int spl_export(struct cmd_tbl *cmdtp, int flag, int argc,
@@ -128,10 +114,6 @@ static int spl_export(struct cmd_tbl *cmdtp, int flag, int argc,
#endif
break;
#endif
- case SPL_EXPORT_ATAGS:
- printf("Argument image is now in RAM at: 0x%p\n",
- (void *)gd->bd->bi_boot_params);
- break;
}
} else {
/* Unrecognized command */
@@ -176,11 +158,10 @@ static int do_spl(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
U_BOOT_CMD(
spl, 6 , 1, do_spl, "SPL configuration",
- "export <img=atags|fdt> [kernel_addr] [initrd_addr] [fdt_addr]\n"
- "\timg\t\t\"atags\" or \"fdt\"\n"
+ "export fdt [kernel_addr] [initrd_addr] [fdt_addr]\n"
"\tkernel_addr\taddress where a kernel image is stored.\n"
"\t\t\tkernel is loaded as part of the boot process, but it is not started.\n"
"\tinitrd_addr\taddress of initial ramdisk\n"
"\t\t\tcan be set to \"-\" if fdt_addr without initrd_addr is used.\n"
- "\tfdt_addr\tin case of fdt, the address of the device tree.\n"
+ "\tfdt_addr\tthe address of the device tree.\n"
);
diff --git a/doc/README.commands.spl b/doc/README.commands.spl
index ecfd3ca9ee5..54cc5b1ec42 100644
--- a/doc/README.commands.spl
+++ b/doc/README.commands.spl
@@ -5,24 +5,16 @@ SUBCOMMAND EXPORT
To execute the command everything has to be in place as if bootm should be
used. (kernel image, initrd-image, fdt-image etc.)
-export has two subcommands:
- atags: exports the ATAGS
+export has one subcommand:
fdt: exports the FDT
Call is:
-spl export <fdt|atags> [kernel_addr] [initrd_addr] [fdt_addr if fdt]
+spl export fdt [kernel_addr] [initrd_addr] [fdt_addr if fdt]
TYPICAL CALL
-on OMAP3:
-nandecc hw
-nand read 0x82000000 0x280000 0x400000 /* Read kernel image from NAND*/
-spl export atags /* export ATAGS */
-nand erase 0x680000 0x20000 /* erase - one page */
-nand write 0x80000100 0x680000 0x20000 /* write the image - one page */
-
-call with FDT:
+on OMAP3 with FDT:
nandecc hw
nand read 0x82000000 0x280000 0x400000 /* Read kernel image from NAND*/
tftpboot 0x80000100 devkit8000.dtb /* Read fdt */
diff --git a/doc/develop/falcon.rst b/doc/develop/falcon.rst
index 244b4ccb5c2..5689d5b93a7 100644
--- a/doc/develop/falcon.rst
+++ b/doc/develop/falcon.rst
@@ -22,7 +22,7 @@ copies U-Boot image into the memory.
The Falcon Mode extends this way allowing to start the Linux kernel directly
from SPL. A new command is added to U-Boot to prepare the parameters that SPL
-must pass to the kernel, using ATAGS or Device Tree.
+must pass to the kernel using a Device Tree.
In normal mode, these parameters are generated each time before
loading the kernel, passing to Linux the address in memory where
@@ -117,10 +117,7 @@ spl - SPL configuration
Usage::
- spl export <img=atags|fdt> [kernel_addr] [initrd_addr] [fdt_addr ]
-
-img
- "atags" or "fdt"
+ spl export fdt [kernel_addr] [initrd_addr] [fdt_addr ]
kernel_addr
kernel is loaded as part of the boot process, but it is not started.
@@ -134,11 +131,11 @@ fdt_addr
in case of fdt, the address of the device tree.
The *spl export* command does not write to a storage media. The user is
-responsible to transfer the gathered information (assembled ATAGS list
-or prepared FDT) from temporary storage in RAM into persistent storage
-after each run of *spl export*. Unfortunately the position of temporary
-storage can not be predicted nor provided at command line, it depends
-highly on your system setup and your provided data (ATAGS or FDT).
+responsible to transfer the gathered information (prepared FDT) from temporary
+storage in RAM into persistent storage after each run of *spl export*.
+Unfortunately the position of temporary storage can not be predicted nor
+provided at command line, it depends highly on your system setup and your
+provided device tree.
However at the end of an successful *spl export* run it will print the
RAM address of temporary storage. The RAM address of FDT will also be
set in the environment variable *fdtargsaddr*, the new length of the
@@ -152,73 +149,6 @@ to the pre-defined address in persistent storage
The following example shows how to prepare the data for Falcon Mode on
twister board with ATAGS BLOB.
-The *spl export* command is prepared to work with ATAGS and FDT. However,
-using FDT is at the moment untested. The ppc port (see a3m071 example
-later) prepares the fdt blob with the fdt command instead.
-
-
-Usage on the twister board
---------------------------
-
-Using mtd names with the following (default) configuration
-for mtdparts::
-
- device nand0 <omap2-nand.0>, # parts = 9
- #: name size offset mask_flags
- 0: MLO 0x00080000 0x00000000 0
- 1: u-boot 0x00100000 0x00080000 0
- 2: env1 0x00040000 0x00180000 0
- 3: env2 0x00040000 0x001c0000 0
- 4: kernel 0x00600000 0x00200000 0
- 5: bootparms 0x00040000 0x00800000 0
- 6: splashimg 0x00200000 0x00840000 0
- 7: mini 0x02800000 0x00a40000 0
- 8: rootfs 0x1cdc0000 0x03240000 0
-
-::
-
- twister => nand read 82000000 kernel
-
- NAND read: device 0 offset 0x200000, size 0x600000
- 6291456 bytes read: OK
-
-Now the kernel is in RAM at address 0x82000000::
-
- twister => spl export atags 0x82000000
- ## Booting kernel from Legacy Image at 82000000 ...
- Image Name: Linux-3.5.0-rc4-14089-gda0b7f4
- Image Type: ARM Linux Kernel Image (uncompressed)
- Data Size: 3654808 Bytes = 3.5 MiB
- Load Address: 80008000
- Entry Point: 80008000
- Verifying Checksum ... OK
- Loading Kernel Image ... OK
- OK
- cmdline subcommand not supported
- bdt subcommand not supported
- Argument image is now in RAM at: 0x80000100
-
-The result can be checked at address 0x80000100::
-
- twister => md 0x80000100
- 80000100: 00000005 54410001 00000000 00000000 ......AT........
- 80000110: 00000000 00000067 54410009 746f6f72 ....g.....ATroot
- 80000120: 65642f3d 666e2f76 77722073 73666e20 =/dev/nfs rw nfs
-
-The parameters generated with this step can be saved into NAND at the offset
-0x800000 (value for twister for CONFIG_CMD_SPL_NAND_OFS)::
-
- nand erase.part bootparms
- nand write 0x80000100 bootparms 0x4000
-
-Now the parameters are stored into the NAND flash at the address
-CONFIG_CMD_SPL_NAND_OFS (=0x800000).
-
-Next time, the board can be started into Falcon Mode moving the
-setting the GPIO (on twister GPIO 55 is used) to kernel mode.
-
-The kernel is loaded directly by the SPL without passing through U-Boot.
-
Example with FDT: a3m071 board
------------------------------
diff --git a/include/cmd_spl.h b/include/cmd_spl.h
index 51ec12edb90..45ea91e9bce 100644
--- a/include/cmd_spl.h
+++ b/include/cmd_spl.h
@@ -8,7 +8,6 @@
#define SPL_EXPORT (0x00000001)
#define SPL_EXPORT_FDT (0x00000001)
-#define SPL_EXPORT_ATAGS (0x00000002)
-#define SPL_EXPORT_LAST SPL_EXPORT_ATAGS
+#define SPL_EXPORT_LAST SPL_EXPORT_FDT
#endif /* _NAND_SPL_H_ */