mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 22:51:37 +00:00
board: stm32mp1: set environment variable fdtfile
For booting Linux in the generic distro mechanism and support of FDTDIR in extlinux.conf , cmd/pxe.c retrieves the FDT file name from "fdtfile" environment variable. Dynamically build this variable with compatible of STMicroelectronics boards. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
parent
055065a8ac
commit
99f6743d63
1 changed files with 11 additions and 2 deletions
|
@ -699,10 +699,19 @@ int board_late_init(void)
|
||||||
fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible",
|
fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible",
|
||||||
&fdt_compat_len);
|
&fdt_compat_len);
|
||||||
if (fdt_compat && fdt_compat_len) {
|
if (fdt_compat && fdt_compat_len) {
|
||||||
if (strncmp(fdt_compat, "st,", 3) != 0)
|
if (strncmp(fdt_compat, "st,", 3) != 0) {
|
||||||
env_set("board_name", fdt_compat);
|
env_set("board_name", fdt_compat);
|
||||||
else
|
} else {
|
||||||
|
char dtb_name[256];
|
||||||
|
int buf_len = sizeof(dtb_name);
|
||||||
|
|
||||||
env_set("board_name", fdt_compat + 3);
|
env_set("board_name", fdt_compat + 3);
|
||||||
|
|
||||||
|
strncpy(dtb_name, fdt_compat + 3, buf_len);
|
||||||
|
buf_len -= strlen(fdt_compat + 3);
|
||||||
|
strncat(dtb_name, ".dtb", buf_len);
|
||||||
|
env_set("fdtfile", dtb_name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ret = uclass_get_device_by_driver(UCLASS_MISC,
|
ret = uclass_get_device_by_driver(UCLASS_MISC,
|
||||||
DM_GET_DRIVER(stm32mp_bsec),
|
DM_GET_DRIVER(stm32mp_bsec),
|
||||||
|
|
Loading…
Add table
Reference in a new issue