On 25-02-28, Sascha Hauer wrote: > For starting the A52 cores we need TFA, OP-TEE, barebox and ti-dm ^ 3 > binaries. These can be loaded as separate files from SD/eMMC/DFU or > alternatively combined into a single FIP image. > FIP images are convenient to handle, they can easily be generated on the > command line and fiptool also has support for replacing blobs in images. > This makes handling of separate binaries rather unnecessary and support > for it only makes the loading code more complex. Drop it and make FIP > images the only option which also faciliates integrating of secure boot. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > --- > arch/arm/mach-k3/r5.c | 70 +-------------------------------------------------- > 1 file changed, 1 insertion(+), 69 deletions(-) > > diff --git a/arch/arm/mach-k3/r5.c b/arch/arm/mach-k3/r5.c > index ced1eb2856..2418e9ae73 100644 > --- a/arch/arm/mach-k3/r5.c > +++ b/arch/arm/mach-k3/r5.c > @@ -288,50 +288,15 @@ static void do_dfu(void) > struct usbgadget_funcs funcs = {}; > int ret; > struct stat s; > - ssize_t size; > > funcs.flags |= USBGADGET_DFU; > - funcs.dfu_opts = "/optee.bin(optee)c," > - "/bl31.bin(tfa)c," > - "/ti-dm.bin(ti-dm)c," > - "/barebox.bin(barebox)cs," > - "/fip.img(fip)cs"; > + funcs.dfu_opts = "/fip.img(fip)cs"; > > ret = usbgadget_prepare_register(&funcs); > if (ret) > goto err; > > while (1) { > - if (!have_bl32) { > - size = read_file_into_buf("/optee.bin", BL32_ADDRESS, SZ_32M); > - if (size > 0) { > - printf("Downloaded OP-TEE\n"); > - have_bl32 = true; > - } > - } > - > - if (!have_bl31) { > - size = read_file_into_buf("/bl31.bin", BL31_ADDRESS, SZ_32M); > - if (size > 0) { > - printf("Downloaded TF-A\n"); > - have_bl31 = true; > - } > - } > - > - if (!k3_ti_dm) { > - ret = read_file_2("/ti-dm.bin", &size, &k3_ti_dm, FILESIZE_MAX); > - if (!ret) { > - printf("Downloaded TI-DM\n"); > - } > - } > - > - size = read_file_into_buf("/barebox.bin", BAREBOX_ADDRESS, SZ_32M); > - if (size > 0) { > - have_bl33 = true; > - printf("Downloaded barebox image, DFU done\n"); > - break; > - } > - > ret = stat("/fip.img", &s); > if (!ret) { > printf("Downloaded FIP image, DFU done\n"); > @@ -352,45 +317,12 @@ static void do_dfu(void) > > static int load_images(void) > { > - ssize_t size; > int err; > > err = load_fip("/boot/k3.fip", 0); Since load_fip() is the only call we could remove the entire function and call load_fip() directly from k3_r5_start_image(). Regards, Marco > if (!err) > return 0; > > - size = read_file_into_buf("/boot/optee.bin", BL32_ADDRESS, SZ_32M); > - if (size < 0) { > - if (size != -ENOENT) { > - pr_err("Cannot load optee.bin: %pe\n", ERR_PTR(size)); > - return size; > - } > - pr_info("optee.bin not found, continue without\n"); > - } else { > - pr_debug("Loaded optee.bin (size %u) to 0x%p\n", size, BL32_ADDRESS); > - } > - > - size = read_file_into_buf("/boot/barebox.bin", BAREBOX_ADDRESS, SZ_32M); > - if (size < 0) { > - pr_err("Cannot load barebox.bin: %pe\n", ERR_PTR(size)); > - return size; > - } > - pr_debug("Loaded barebox.bin (size %u) to 0x%p\n", size, BAREBOX_ADDRESS); > - > - size = read_file_into_buf("/boot/bl31.bin", BL31_ADDRESS, SZ_32M); > - if (size < 0) { > - pr_err("Cannot load bl31.bin: %pe\n", ERR_PTR(size)); > - return size; > - } > - pr_debug("Loaded bl31.bin (size %u) to 0x%p\n", size, BL31_ADDRESS); > - > - err = read_file_2("/boot/ti-dm.bin", &size, &k3_ti_dm, FILESIZE_MAX); > - if (err) { > - pr_err("Cannot load ti-dm.bin: %pe\n", ERR_PTR(err)); > - return err; > - } > - pr_debug("Loaded ti-dm.bin (size %u)\n", size); > - > return 0; > } > > > -- > 2.39.5 > > >