[PATCH 3/3] ARM: webasto-marvel: share the run-time setup with the ccbv2 variant
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue Feb 22 03:19:02 PST 2022
On 22.02.22 11:48, Juergen Borleis wrote:
> Signed-off-by: Juergen Borleis <jbe at pengutronix.de>
> ---
> arch/arm/boards/webasto-ccbv2/board.c | 6 +++++-
> arch/arm/boards/webasto-ccbv2/lowlevel.c | 24 ++++++++++++++++++------
> images/Makefile.imx | 2 ++
> 3 files changed, 25 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/boards/webasto-ccbv2/board.c b/arch/arm/boards/webasto-ccbv2/board.c
> index 4777713..fd6ea6f 100644
> --- a/arch/arm/boards/webasto-ccbv2/board.c
> +++ b/arch/arm/boards/webasto-ccbv2/board.c
> @@ -22,7 +22,10 @@ static int ccbv2_probe(struct device_d *dev)
> imx6_bbu_internal_mmcboot_register_handler("emmc", "/dev/mmc1",
> BBU_HANDLER_FLAG_DEFAULT);
>
> - barebox_set_hostname("weabsto-ccbv2");
> + if (of_machine_is_compatible("webasto,imx6ul-marvel"))
> + barebox_set_hostname("webasto-marvel");
Nitpick: barebox_set_hostname(device_get_match_data(dev));
> + else
> + barebox_set_hostname("webasto-ccbv2");
>
> if(!IS_ENABLED(CONFIG_FIRMWARE_CCBV2_OPTEE))
> return 0;
> @@ -48,6 +51,7 @@ err:
>
> static const struct of_device_id ccbv2_of_match[] = {
> { .compatible = "webasto,imx6ul-ccbv2" },
.data = $hostname1
> + { .compatible = "webasto,imx6ul-marvel" },
.data = $hostname2
> { /* sentinel */ },
> };
>
> diff --git a/arch/arm/boards/webasto-ccbv2/lowlevel.c b/arch/arm/boards/webasto-ccbv2/lowlevel.c
> index 84de271..add51c0 100644
> --- a/arch/arm/boards/webasto-ccbv2/lowlevel.c
> +++ b/arch/arm/boards/webasto-ccbv2/lowlevel.c
> @@ -15,8 +15,6 @@
>
> #include "ccbv2.h"
>
> -extern char __dtb_z_imx6ul_webasto_ccbv2_start[];
> -
> static void configure_uart(void)
> {
> void __iomem *iomuxbase = (void *)MX6_IOMUXC_BASE_ADDR;
> @@ -32,7 +30,7 @@ static void configure_uart(void)
>
> }
>
> -static void noinline start_ccbv2(u32 r0, unsigned long memSize)
> +static void noinline start_ccbv2(u32 r0, unsigned long memSize, char *fdt)
> {
> int tee_size;
> void *tee;
> @@ -56,9 +54,10 @@ static void noinline start_ccbv2(u32 r0, unsigned long memSize)
> start_optee_early(NULL, tee);
> }
>
> - imx6ul_barebox_entry(__dtb_z_imx6ul_webasto_ccbv2_start);
> + imx6ul_barebox_entry(fdt);
> }
>
> +extern char __dtb_z_imx6ul_webasto_ccbv2_start[];
> ENTRY_FUNCTION(start_imx6ul_ccbv2_256m, r0, r1, r2)
> {
>
> @@ -70,12 +69,25 @@ ENTRY_FUNCTION(start_imx6ul_ccbv2_256m, r0, r1, r2)
> setup_c();
> barrier();
>
> - start_ccbv2(r0, SZ_256M);
> + start_ccbv2(r0, SZ_256M, __dtb_z_imx6ul_webasto_ccbv2_start);
> }
>
> ENTRY_FUNCTION(start_imx6ul_ccbv2_512m, r0, r1, r2)
> {
> + imx6ul_cpu_lowlevel_init();
>
> + arm_setup_stack(0x00910000);
> +
> + relocate_to_current_adr();
> + setup_c();
> + barrier();
> +
> + start_ccbv2(r0, SZ_512M, __dtb_z_imx6ul_webasto_ccbv2_start);
> +}
> +
> +extern char __dtb_z_imx6ul_webasto_marvel_start[];
> +ENTRY_FUNCTION(start_imx6ul_marvel, r0, r1, r2)
> +{
> imx6ul_cpu_lowlevel_init();
>
> arm_setup_stack(0x00910000);
> @@ -84,5 +96,5 @@ ENTRY_FUNCTION(start_imx6ul_ccbv2_512m, r0, r1, r2)
> setup_c();
> barrier();
>
> - start_ccbv2(r0, SZ_512M);
> + start_ccbv2(r0, SZ_512M, __dtb_z_imx6ul_webasto_marvel_start);
> }
> diff --git a/images/Makefile.imx b/images/Makefile.imx
> index 18cabbf..4b2ad6e 100644
> --- a/images/Makefile.imx
> +++ b/images/Makefile.imx
> @@ -377,6 +377,8 @@ $(call build_imx_habv4img, CONFIG_MACH_WEBASTO_CCBV2, start_imx6ul_ccbv2_256m, w
>
> $(call build_imx_habv4img, CONFIG_MACH_WEBASTO_CCBV2, start_imx6ul_ccbv2_512m, webasto-ccbv2/flash-header-imx6ul-webasto-ccbv2-512, imx6ul-webasto-ccbv2-512m)
>
> +$(call build_imx_habv4img, CONFIG_MACH_WEBASTO_CCBV2, start_imx6ul_marvel, webasto-ccbv2/flash-header-imx6ul-webasto-ccbv2-512, imx6ul-webasto-marvel-512m)
> +
> # ----------------------- vf6xx based boards ---------------------------
> pblb-$(CONFIG_MACH_VF610_TWR) += start_vf610_twr
> CFG_start_vf610_twr.pblb.imximg = $(board)/freescale-vf610-twr/flash-header-vf610-twr.imxcfg
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list