[U-Boot] [PATCH v2 7/7] am335x_evm: Add support to boot from NOR.

Peter Korsgaard
2013-05-16T14:36:02Z

>>>>> "Tom" == Tom Rini <trini@ti.com> writes:

Tom> From: Steve Kipisz <s-kipisz2@ti.com>
Tom> NOR requires that s_init be within the first 4KiB of the image so that
Tom> we can perform the rest of the required pinmuxing to talk with the rest
Tom> of NOR that we are found on. When NOR_BOOT is set we save our
Tom> environment in NOR at 512KiB and a redundant copy at 768KiB. We avoid
Tom> using SPL for this case and u-boot.bin is written directly to the start
Tom> of NOR.

Tom> Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Tom> Signed-off-by: Tom Rini <trini@ti.com>

Tom> ---
Tom> Changes in v2:
Tom> - Reword commit message slightly
Tom> ---
Tom> arch/arm/cpu/armv7/am33xx/emif4.c | 6 +-
Tom> board/ti/am335x/Makefile | 2 +-
Tom> board/ti/am335x/board.c | 31 ++++++++++-
Tom> board/ti/am335x/mux.c | 6 +-
Tom> board/ti/am335x/u-boot.lds | 110 +++++++++++++++++++++++++++++++++++++
Tom> boards.cfg | 1 +
Tom> include/configs/am335x_evm.h | 26 ++++++++-
Tom> 7 files changed, 173 insertions(+), 9 deletions(-)
Tom> create mode 100644 board/ti/am335x/u-boot.lds

Tom> diff --git a/arch/arm/cpu/armv7/am33xx/emif4.c b/arch/arm/cpu/armv7/am33xx/emif4.c
Tom> index aa84e96..370230b 100644
Tom> --- a/arch/arm/cpu/armv7/am33xx/emif4.c
Tom> +++ b/arch/arm/cpu/armv7/am33xx/emif4.c
Tom> @@ -43,9 +43,11 @@ void dram_init_banksize(void)
Tom> }

Tom> -#ifdef CONFIG_SPL_BUILD
Tom> +#if defined(CONFIG_SPL_BUILD) || defined(CONFIG_NOR_BOOT)
Tom> +#ifdef CONFIG_TI81XX
Tom> static struct dmm_lisa_map_regs *hw_lisa_map_regs =
Tom> (struct dmm_lisa_map_regs *)DMM_BASE;
Tom> +#endif
Tom> static struct vtp_reg *vtpreg[2] = {
Tom> (struct vtp_reg *)VTP0_CTRL_ADDR,
Tom> (struct vtp_reg *)VTP1_CTRL_ADDR};
Tom> @@ -53,6 +55,7 @@ static struct vtp_reg *vtpreg[2] = {
Tom> static struct ddr_ctrl *ddrctrl = (struct ddr_ctrl *)DDR_CTRL_ADDR;
Tom> #endif

Tom> +#ifdef CONFIG_TI81XX

Why are you adding the TI81XX dependency here? That doesn't have
anything to do with nor boot, does it?

Tom> void config_dmm(const struct dmm_lisa_map_regs *regs)
Tom> {
Tom> enable_dmm_clocks();
Tom> @@ -67,6 +70,7 @@ void config_dmm(const struct dmm_lisa_map_regs *regs)
Tom> writel(regs->dmm_lisa_map_1, &hw_lisa_map_regs->dmm_lisa_map_1);
Tom> writel(regs->dmm_lisa_map_0, &hw_lisa_map_regs->dmm_lisa_map_0);
Tom> }
Tom> +#endif

--
Bye, Peter Korsgaard