]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
stm32mp1: add example files for FIT generation
authorPatrick Delaunay <patrick.delaunay@st.com>
Fri, 2 Aug 2019 13:07:21 +0000 (15:07 +0200)
committerPatrice Chotard <patrice.chotard@st.com>
Tue, 27 Aug 2019 09:19:23 +0000 (11:19 +0200)
Add example of its files to generate FIT to start kernel
on ev1 or dk2 board with
- only kernel and dtb = fit_copro_kernel_dtb.its
- kernel, M4 copro firmware and dtb = it_copro_kernel_dtb.its

Add extlinux example to manage config in generated FIT.

Signed-off-by: Loic Pallardy <loic.pallardy@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
board/st/stm32mp1/extlinux.conf [new file with mode: 0644]
board/st/stm32mp1/fit_copro_kernel_dtb.its [new file with mode: 0644]
board/st/stm32mp1/fit_kernel_dtb.its [new file with mode: 0644]

diff --git a/board/st/stm32mp1/extlinux.conf b/board/st/stm32mp1/extlinux.conf
new file mode 100644 (file)
index 0000000..2b46328
--- /dev/null
@@ -0,0 +1,20 @@
+# Generic Distro Configuration for STM32MP157
+menu title Select the boot mode
+TIMEOUT 20
+DEFAULT stm32mp157c-ev1
+
+LABEL stm32mp157c-ev1
+       KERNEL /fit_kernel_dtb.itb#ev1
+       APPEND root=/dev/mmcblk0p6 rootwait rw earlyprintk console=ttyS3,115200
+
+LABEL stm32mp157c-ev1-m4
+       KERNEL /fit_copro_kernel_dtb.itb#ev1-m4
+       APPEND root=/dev/mmcblk0p6 rootwait rw earlyprintk console=ttyS3,115200
+
+LABEL stm32mp157c-dk2
+       KERNEL /fit_kernel_dtb.itb#dk2
+       APPEND root=/dev/mmcblk0p6 rootwait rw earlyprintk console=ttyS3,115200
+
+LABEL stm32mp157c-dk2-m4
+       KERNEL /fit_copro_kernel_dtb.itb#dk2-m4
+       APPEND root=/dev/mmcblk0p6 rootwait rw earlyprintk console=ttyS3,115200
diff --git a/board/st/stm32mp1/fit_copro_kernel_dtb.its b/board/st/stm32mp1/fit_copro_kernel_dtb.its
new file mode 100644 (file)
index 0000000..3e08fd9
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Compilation:
+ * mkimage -f fit_copro_kernel_dtb.its fit_copro_kernel_dtb.itb
+ */
+
+/dts-v1/;
+/ {
+       description = "U-Boot fitImage for stm32mp157";
+       #address-cells = <1>;
+
+       images {
+
+               copro {
+                       description = "M4 copro";
+                       data = /incbin/("rproc-m4-fw.elf");
+                       type = "copro";
+                       arch = "arm";
+                       compression = "none";
+                       load = <0xC0800000>;
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               kernel {
+                       description = "Linux kernel";
+                       data = /incbin/("zImage");
+                       type = "kernel";
+                       arch = "arm";
+                       os = "linux";
+                       compression = "none";
+                       load = <0xC0008000>;
+                       entry = <0xC0008000>;
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               fdt-dk2 {
+                       description = "FDT dk2";
+                       data = /incbin/("stm32mp157c-dk2.dtb");
+                       type = "flat_dt";
+                       arch = "arm";
+                       compression = "none";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               fdt-ev1 {
+                       description = "FDT ev1";
+                       data = /incbin/("stm32mp157c-ev1.dtb");
+                       type = "flat_dt";
+                       arch = "arm";
+                       compression = "none";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+       };
+
+       configurations {
+               default = "dk2-m4";
+
+               dk2-m4 {
+                       description = "dk2-m4";
+                       loadables = "copro";
+                       kernel = "kernel";
+                       fdt = "fdt-dk2";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               dk2 {
+                       description = "dk2";
+                       kernel = "kernel";
+                       fdt = "fdt-dk2";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               ev1-m4 {
+                       description = "ev1-m4";
+                       loadables = "copro";
+                       kernel = "kernel";
+                       fdt = "fdt-ev1";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               ev1 {
+                       description = "ev1";
+                       kernel = "kernel";
+                       fdt = "fdt-ev1";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+       };
+};
diff --git a/board/st/stm32mp1/fit_kernel_dtb.its b/board/st/stm32mp1/fit_kernel_dtb.its
new file mode 100644 (file)
index 0000000..18d03eb
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * Compilation:
+ * mkimage -f fit_kernel_dtb.its fit_kernel_dtb.itb
+ *
+ * Files in linux build dir:
+ * - arch/arm/boot/zImage
+ * - arch/arm/boot/dts/stm32mp157c-dk2.dtb
+ * - arch/arm/boot/dts/stm32mp157c-ev1.dtb
+ *
+ * load mmc 0:4 $kernel_addr_r fit_kernel_dtb.itb
+ * bootm $kernel_addr_r
+ * bootm $kernel_addr_r#dk2
+ * bootm $kernel_addr_r#ev1
+ *
+ * or use extlinux.conf in this directory
+ */
+
+/dts-v1/;
+/ {
+       description = "U-Boot fitImage for stm32mp157";
+       #address-cells = <1>;
+
+       images {
+               kernel {
+                       description = "Linux kernel";
+                       data = /incbin/("zImage");
+                       type = "kernel";
+                       arch = "arm";
+                       os = "linux";
+                       compression = "none";
+                       load = <0xC0008000>;
+                       entry = <0xC0008000>;
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               fdt-dk2 {
+                       description = "FDT dk2";
+                       data = /incbin/("stm32mp157c-dk2.dtb");
+                       type = "flat_dt";
+                       arch = "arm";
+                       compression = "none";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               fdt-ev1 {
+                       description = "FDT ev1";
+                       data = /incbin/("stm32mp157c-ev1.dtb");
+                       type = "flat_dt";
+                       arch = "arm";
+                       compression = "none";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+       };
+
+       configurations {
+               default = "dk2";
+
+               dk2 {
+                       description = "dk2";
+                       kernel = "kernel";
+                       fdt = "fdt-dk2";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+
+               ev1 {
+                       description = "ev1";
+                       kernel = "kernel";
+                       fdt = "fdt-ev1";
+                       hash-1 {
+                               algo = "sha1";
+                       };
+               };
+       };
+};