From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrice CHOTARD Date: Wed, 1 Apr 2020 08:06:00 +0000 Subject: [Uboot-stm32] [PATCH 10/16] board: stm32mp1: set environment variable fdtfile In-Reply-To: <20200331180330.10.If6131518ee15d3299da69d674674ec03978eb58b@changeid> References: <20200331180330.1.Ied6708bad5048382a57618f95d67c549aae49f42@changeid> <20200331180330.10.If6131518ee15d3299da69d674674ec03978eb58b@changeid> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi PAtrick On 3/31/20 6:04 PM, Patrick Delaunay wrote: > 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 > --- > > board/st/stm32mp1/stm32mp1.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c > index 52881adef7..89a088cd28 100644 > --- a/board/st/stm32mp1/stm32mp1.c > +++ b/board/st/stm32mp1/stm32mp1.c > @@ -715,10 +715,19 @@ int board_late_init(void) > fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible", > &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); > - else > + } else { > + char dtb_name[256]; > + int buf_len = sizeof(dtb_name); > + > 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, > DM_GET_DRIVER(stm32mp_bsec), Reviewed-by: Patrice Chotard Thanks