stm32mp1: add example files for FIT generation

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>
This commit is contained in:
Patrick Delaunay 2019-08-02 15:07:21 +02:00 committed by Patrice Chotard
parent a68ae8dceb
commit 0e6522cbd1
3 changed files with 205 additions and 0 deletions

View file

@ -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

View file

@ -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";
};
};
};
};

View file

@ -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";
};
};
};
};