[U-Boot] [PATCH v2 49/56] rockchip: rk3368: spl: add TPL support

Simon Glass sjg at chromium.org
Fri Jul 28 03:39:50 UTC 2017


Hi Philipp,

On 26 July 2017 at 04:40, Philipp Tomsich
<philipp.tomsich at theobroma-systems.com> wrote:
> This adds the TPL support for the RK3368, including the u-boot-tpl.lds.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>
> ---
>
> Changes in v2:
> - copies the enum for the IOMUX config of the debug UART into the TPL
>   support code, as the various constants are otherwise private to the
>   pinctrl code (and we can't include pinctrl in the TPL stage due to
>   size constraints/dependencies)
>
>  arch/arm/mach-rockchip/Makefile              |   1 +
>  arch/arm/mach-rockchip/rk3368-board-tpl.c    | 168 +++++++++++++++++++++++++++
>  arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds |  13 +++
>  3 files changed, 182 insertions(+)
>  create mode 100644 arch/arm/mach-rockchip/rk3368-board-tpl.c
>  create mode 100644 arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds
>
> diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile
> index 633c91e..960f40f 100644
> --- a/arch/arm/mach-rockchip/Makefile
> +++ b/arch/arm/mach-rockchip/Makefile
> @@ -12,6 +12,7 @@ obj-spl-$(CONFIG_ROCKCHIP_BROM_HELPER) += bootrom.o save_boot_param.o
>  obj-tpl-$(CONFIG_ROCKCHIP_BROM_HELPER) += bootrom.o save_boot_param.o
>
>  obj-tpl-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-tpl.o
> +obj-tpl-$(CONFIG_ROCKCHIP_RK3368) += rk3368-board-tpl.o
>
>  obj-spl-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board-spl.o
>  obj-spl-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-spl.o
> diff --git a/arch/arm/mach-rockchip/rk3368-board-tpl.c b/arch/arm/mach-rockchip/rk3368-board-tpl.c
> new file mode 100644
> index 0000000..04620e1
> --- /dev/null
> +++ b/arch/arm/mach-rockchip/rk3368-board-tpl.c
> @@ -0,0 +1,168 @@
> +/*
> + * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
> + *
> + * SPDX-License-Identifier:     GPL-2.0+
> + */
> +
> +#define DEBUG
> +
> +#include <common.h>
> +#include <debug_uart.h>
> +#include <dm.h>
> +#include <ram.h>
> +#include <spl.h>
> +#include <asm/io.h>
> +#include <asm/arch/bootrom.h>
> +#include <asm/arch/cru_rk3368.h>
> +#include <asm/arch/grf_rk3368.h>
> +#include <asm/arch/hardware.h>
> +#include <asm/arch/timer.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +/*
> + * The ARMv8 generic timer uses the STIMER1 as its clock-source.
> + * Set up the STIMER1 to free-running (i.e. auto-reload) to start
> + * the generic timer counting (if we don't do this, udelay will not
> + * work and block indefinitively).
> + */
> +static void secure_timer_init(void)
> +{
> +       struct rk_timer * const stimer1 =
> +               (struct rk_timer * const)0xff830020;

Can we not get this and other addresses from DT (or of-platdata)?


More information about the U-Boot mailing list