Added SPL support
Subsystems (3)
v4 cover Added SPL support
This patch series is submitted to add support for MMC/SD along with SPL support. Also, fixed incorrect register offset of ddr and timer registers.
The patches have been compile tested and run on AM335X EVM.
The patches depends on previous patch series which was submitted for supporting AM33xx platform.
The patches are applies on uboot master branch.
Changes since v3:
- Splitted 1st patch into 3 patches
- Addressed review comments
- Use of common bootmode functions for AM33XX platform
Changes since v2:
- Added missing omap.h file in "Add SPL support for AM335X EVM" patch
Changes since v1:
- Removed unwanted code from omap_hsmmc.c file
- Changed CONFIG_AM335X to CONFIG_AM33XX
- Rebased to master branch
- Replaced am33xx lowleve_init.S with omap-common lowlevel_init.S in order to use common code for omap_bootmode.
Chandan Nath (5):
ARM:AM33XX: Replace CONFIG_AM335X with CONFIG_AM33XX ARM:AM33XX: Fix ddr and timer register offset ARM:AM33XX: Fixing AM335X config parameters ARM:AM33XX: Add mmc/sd support
ARM:AM33XX: Add SPL support for AM335X EVM
Makefile | 2 +- arch/arm/cpu/armv7/am33xx/Makefile | 2 - arch/arm/cpu/armv7/am33xx/board.c | 66 ++++++++- arch/arm/cpu/armv7/am33xx/clock.c | 8 + arch/arm/cpu/armv7/am33xx/config.mk | 18 +++ arch/arm/cpu/armv7/am33xx/emif4.c | 2 +- arch/arm/cpu/armv7/am33xx/lowlevel_init.S | 72 ---------- arch/arm/cpu/armv7/omap-common/Makefile | 4 + arch/arm/cpu/armv7/omap-common/boot-common.c | 49 +++++++ arch/arm/cpu/armv7/omap-common/hwinit-common.c | 28 ---- arch/arm/include/asm/arch-am33xx/common_def.h | 22 +++ arch/arm/include/asm/arch-am33xx/cpu.h | 44 +++--- arch/arm/include/asm/arch-am33xx/ddr_defs.h | 6 +- arch/arm/include/asm/arch-am33xx/mmc_host_def.h | 164 +++++++++++++++++++++++ arch/arm/include/asm/arch-am33xx/omap.h | 59 ++++++++ arch/arm/include/asm/arch-am33xx/sys_proto.h | 1 + arch/arm/include/asm/omap_common.h | 5 + board/ti/am335x/common_def.h | 24 ---- board/ti/am335x/evm.c | 2 +- board/ti/am335x/mux.c | 23 +++- include/configs/am335x_evm.h | 62 +++++++-- spl/Makefile | 13 +- 22 files changed, 495 insertions(+), 181 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/config.mk delete mode 100644 arch/arm/cpu/armv7/am33xx/lowlevel_init.S create mode 100644 arch/arm/cpu/armv7/omap-common/boot-common.c create mode 100644 arch/arm/include/asm/arch-am33xx/common_def.h create mode 100644 arch/arm/include/asm/arch-am33xx/mmc_host_def.h create mode 100644 arch/arm/include/asm/arch-am33xx/omap.h delete mode 100644 board/ti/am335x/common_def.h
PATCH v4 1/5 ARM:AM33XX: Replace CONFIG_AM335X with CONFIG_AM33XX
This patch is added to replace CONFIG_AM335X symbol with CONFIG_AM333XX for AM33XX platforms.
---
Changes since v3:
- Splitted 1st patch into 3 patches
- Addressed review comments
Changes since v2:
- No change
Changes since v1:
- Changed CONFIG_AM335X to CONFIG_AM33XX
- Rebased to master branch
Makefile | 2 +- arch/arm/include/asm/arch-am33xx/cpu.h | 2 +- include/configs/am335x_evm.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
Makefile +1 -1
@@ -294,7 +294,7 @@ LIBS += lib/libfdt/libfdt.o LIBS += api/libapi.o LIBS += post/libpost.o -ifneq ($(CONFIG_AM335X)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) LIBS += $(CPUDIR)/omap-common/libomap-common.o endif
arch/arm/include/asm/arch-am33xx/cpu.h +1 -1
@@ -51,7 +51,7 @@ | BIT(3) | BIT(4))/* Reset control */ -#ifdef CONFIG_AM335X +#ifdef CONFIG_AM33XX #define PRM_RSTCTRL 0x44E00F00#endif #define PRM_RSTCTRL_RESET 0x01
include/configs/am335x_evm.h +1 -1
@@ -16,7 +16,7 @@#ifndef __CONFIG_AM335X_EVM_H#define __CONFIG_AM335X_EVM_H -#define CONFIG_AM335X +#define CONFIG_AM33XX #define CONFIG_CMD_MEMORY /* for mtest */ #undef CONFIG_GZIP#undef CONFIG_ZLIB
Signature · 1 line
1.7.1
PATCH v4 1/5 ARM:AM33XX: Replace CONFIG_AM335X with CONFIG_AM33XX
Hello Chandan,
Quoted 3 lines · Chandan Nath
This patch is added to replace
CONFIG_AM335Xsymbol withCONFIG_AM333XXfor AM33XX platforms.
One 3 in CONFIG_AM333XX too much, but only in description. It runs on the Beaglebone.
Thanks.
Thomas
Quoted 58 lines
Signed-off-by Chandan Nath <[email protected]>Signed-off-by Tom Rini <[email protected]>---
Changes since v3:
- Splitted 1st patch into 3 patches
- Addressed review commentsChanges since v2:
- No changeChanges since v1:
- ChangedCONFIG_AM335XtoCONFIG_AM33XX
- Rebased to master branchMakefile | 2 +- arch/arm/include/asm/arch-am33xx/cpu.h | 2 +- include/configs/am335x_evm.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)Makefile +1
-1@@ -294,7 +294,7 @@ LIBS += lib/libfdt/libfdt.o LIBS += api/libapi.o LIBS += post/libpost.o -ifneq ($(CONFIG_AM335X)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) LIBS += $(CPUDIR)/omap-common/libomap-common.o endifarch/arm/include/asm/arch-am33xx/cpu.h +1
-1@@ -51,7 +51,7 @@ | BIT(3) | BIT(4))/* Reset control */ -#ifdef CONFIG_AM335X +#ifdef CONFIG_AM33XX #define PRM_RSTCTRL 0x44E00F00#endif #define PRM_RSTCTRL_RESET 0x01include/configs/am335x_evm.h +1
-1@@ -16,7 +16,7 @@#ifndef __CONFIG_AM335X_EVM_H#define __CONFIG_AM335X_EVM_H -#define CONFIG_AM335X +#define CONFIG_AM33XX #define CONFIG_CMD_MEMORY /* for mtest */ #undef CONFIG_GZIP#undef CONFIG_ZLIB
PATCH v4 2/5 ARM:AM33XX: Fix ddr and timer register offset
In reply to Chandan NathThis patch is added to update incorrect ddr and timer register offset.
---
Changes since v3:
- Splitted 1st patch into 3 patches
- Addressed review comments
Changes since v2:
- No change
Changes since v1:
- Changed CONFIG_AM335X to CONFIG_AM33XX
- Rebased to master branch
arch/arm/cpu/armv7/am33xx/board.c | 8 ++-- arch/arm/cpu/armv7/am33xx/clock.c | 3 ++ arch/arm/include/asm/arch-am33xx/cpu.h | 42 ++++++++++++++------------- arch/arm/include/asm/arch-am33xx/ddr_defs.h | 6 ++-- 4 files changed, 32 insertions(+), 27 deletions(-)
arch/arm/cpu/armv7/am33xx/board.c +4 -4
@@ -26,7 +26,7 @@DECLARE_GLOBAL_DATA_PTR ;struct wd_timer *wdtimer = (struct wd_timer *)WDT_BASE ; -struct timer_reg *timerreg = (struct timer_reg *)DM_TIMER2_BASE ; +struct gptimer *timer_base = (struct gptimer *)CONFIG_SYS_TIMERBASE ;/* * early system init of muxing and clocks.
@@ -55,12 +55,12 @@ void s_init(u32 in_ddr)void init_timer (void ) {/* Reset the Timer */ -writel (0x2 , (&timerreg->tsicrreg)); +writel (0x2 , (&timer_base->tscir));/* Wait until the reset is done */ -while (readl (&timerreg->tiocpcfgreg) &1 ) +while (readl (&timer_base->tiocp_cfg) &1 ) ;/* Start the Timer */ -writel (0x1 , (&timerreg->tclrreg)); +writel (0x1 , (&timer_base->tclr)); }
arch/arm/cpu/armv7/am33xx/clock.c +3 -0
@@ -101,6 +101,9 @@ static void enable_per_clocks(void)while (readl (&cmper->timer2clkctrl) !=PRCM_MOD_EN ) ; +/* Select the Master osc 24 MHZ as Timer2 clock source */ +writel (0x1 , &cmdpll->clktimer2clk); +/* UART0 */ writel (PRCM_MOD_EN , &cmwkup->wkup_uart0ctrl);while (readl (&cmwkup->wkup_uart0ctrl) !=PRCM_MOD_EN )
arch/arm/include/asm/arch-am33xx/cpu.h +22 -20
68 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/ddr_defs.h +3 -3
@@ -76,7 +76,7 @@ struct emif_regs {unsigned int sdrmcsr;/* offset 0x3C */ unsigned int res2[8 ];unsigned int sdritr;/* offset 0x60 */ -unsigned int res3[20 ]; +unsigned int res3[32 ];unsigned int ddrphycr;/* offset 0xE4 */ unsigned int ddrphycsr;/* offset 0xE8 */ unsigned int ddrphycr2;/* offset 0xEC */
@@ -161,10 +161,10 @@ struct ddr_regs {unsigned int dt0wiratio1;/* offset 0x0F4 */ unsigned int dt0giratio0;/* offset 0x0FC */ unsigned int dt0giratio1;/* offset 0x100 */ -unsigned int resv6[2 ]; +unsigned int resv6[1 ];unsigned int dt0fwsratio0;/* offset 0x108 */ unsigned int dt0fwsratio1;/* offset 0x10C */ -unsigned int resv7[5 ]; +unsigned int resv7[4 ];unsigned int dt0wrsratio0;/* offset 0x120 */ unsigned int dt0wrsratio1;/* offset 0x124 */ unsigned int resv8[3 ];
Signature · 1 line
1.7.1
PATCH v4 3/5 ARM:AM33XX: Fixing AM335X config parameters
In reply to Chandan NathThis patch is added to correct some of the AM335X config parameters which were incorrect along with some cleanup like removing unused code.
---
Changes since v3:
- Splitted 1st patch into 3 patches
- Addressed review comments
Changes since v2:
- No change
Changes since v1:
- Changed CONFIG_AM335X to CONFIG_AM33XX
- Rebased to master branch
include/configs/am335x_evm.h | 11 +++-------- 1 files changed, 3 insertions(+), 8 deletions(-)
include/configs/am335x_evm.h +3 -8
@@ -30,7 +30,7 @@#define CONFIG_AM335X_CONFIG_DDR #define CONFIG_ENV_SIZE 0x400#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 * 1024)) -#define CONFIG_SYS_PROMPT "AM335X# " +#define CONFIG_SYS_PROMPT "U-Boot# "#define CONFIG_SYS_NO_FLASH #define MACH_TYPE_TIAM335EVM 3589/* Until the next sync */ #define CONFIG_MACH_TYPE MACH_TYPE_TIAM335EVM
@@ -48,14 +48,12 @@/* Clock Defines */ #define V_OSCK 24000000/* Clock output from T2 */ -#define V_SCLK (V_OSCK >> 1) +#define V_SCLK (V_OSCK) -#define CONFIG_SYS_GBL_DATA_SIZE 128/* size in bytes reserved for -initial data */ #define CONFIG_CMD_ECHO /* max number of command args */ -#define CONFIG_SYS_MAXARGS 32 +#define CONFIG_SYS_MAXARGS 16/* Console I/O Buffer Size */ #define CONFIG_SYS_CBSIZE 512
@@ -75,7 +73,6 @@#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ + (8 * 1024 * 1024)) -#undef CONFIG_SYS_CLKS_IN_HZ/* everything, incl board info, in Hz */ #define CONFIG_SYS_LOAD_ADDR 0x81000000/* Default load address */ #define CONFIG_SYS_HZ 1000/* 1ms clock */
@@ -89,7 +86,6 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000 - \ GENERATED_GBL_DATA_SIZE)/* Platform/Board specific defs */ -#define CONFIG_SYS_CLK_FREQ 24000000#define CONFIG_SYS_TIMERBASE 0x48040000/* Use Timer2 */ #define CONFIG_SYS_PTV 2/* Divisor: 2^(PTV+1) => 8 */ #define CONFIG_SYS_HZ 1000
@@ -100,7 +96,6 @@#define CONFIG_SYS_NS16550_REG_SIZE (-4)#define CONFIG_SYS_NS16550_CLK (48000000)#define CONFIG_SYS_NS16550_COM1 0x44e09000/* Base EVM has UART0 */ -#define CONFIG_SYS_NS16550_COM4 0x481A6000/* UART3 on IA BOard */ #define CONFIG_BAUDRATE 115200#define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \
Signature · 1 line
1.7.1
PATCH v4 4/5 ARM:AM33XX: Add mmc/sd support
In reply to Chandan NathThis patch add supports for mmc/sd driver on AM335X platform. PLL and pinmux configurations for mmc/sd are configured in this patch.
---
Changes since v3:
- Addressed review comments
Changes since v2:
- No change
Changes since v1:
- Removed unwanted code from omap_hsmmc.c file
- Rebased to master branch
arch/arm/cpu/armv7/am33xx/board.c | 7 + arch/arm/cpu/armv7/am33xx/clock.c | 5 + arch/arm/include/asm/arch-am33xx/mmc_host_def.h | 164 +++++++++++++++++++++++ board/ti/am335x/mux.c | 21 +++ include/configs/am335x_evm.h | 8 + 5 files changed, 205 insertions(+), 0 deletions(-) create mode 100644 arch/arm/include/asm/arch-am33xx/mmc_host_def.h
arch/arm/cpu/armv7/am33xx/board.c +7 -0
@@ -64,3 +64,10 @@ void init_timer(void)/* Start the Timer */ writel (0x1 , (&timer_base->tclr)); } + +#if defined(CONFIG_OMAP_HSMMC ) && !defined(CONFIG_SPL_BUILD ) +int board_mmc_init (bd_t *bis) +{ +return omap_mmc_init (0 ); +} +#endif
arch/arm/cpu/armv7/am33xx/clock.c +5 -0
@@ -108,6 +108,11 @@ static void enable_per_clocks(void)writel (PRCM_MOD_EN , &cmwkup->wkup_uart0ctrl);while (readl (&cmwkup->wkup_uart0ctrl) !=PRCM_MOD_EN ) ; + +/* MMC0*/ +writel (PRCM_MOD_EN , &cmper->mmc0clkctrl); +while (readl (&cmper->mmc0clkctrl) !=PRCM_MOD_EN ) + ; }static void mpu_pll_config (void )
arch/arm/include/asm/arch-am33xx/mmc_host_def.h new file +164 -0
164 lines not on this page · raw message
board/ti/am335x/mux.c +21 -0
@@ -258,6 +258,20 @@ static struct module_pin_mux uart0_pin_mux[] = { {-1}, }; +#ifdef CONFIG_MMC +static struct module_pin_mux mmc0_pin_mux[] = { + {OFFSET (mmc0_dat3), (MODE (0 ) |RXACTIVE |PULLUP_EN )},/* MMC0_DAT3 */ + {OFFSET (mmc0_dat2), (MODE (0 ) |RXACTIVE |PULLUP_EN )},/* MMC0_DAT2 */ + {OFFSET (mmc0_dat1), (MODE (0 ) |RXACTIVE |PULLUP_EN )},/* MMC0_DAT1 */ + {OFFSET (mmc0_dat0), (MODE (0 ) |RXACTIVE |PULLUP_EN )},/* MMC0_DAT0 */ + {OFFSET (mmc0_clk), (MODE (0 ) |RXACTIVE |PULLUP_EN )},/* MMC0_CLK */ + {OFFSET (mmc0_cmd), (MODE (0 ) |RXACTIVE |PULLUP_EN )},/* MMC0_CMD */ + {OFFSET (mcasp0_aclkr), (MODE (4 ) |RXACTIVE )},/* MMC0_WP */ + {OFFSET (spi0_cs1), (MODE (5 ) |RXACTIVE |PULLUP_EN )},/* MMC0_CD */ + {-1 }, +}; +#endif +/* * Configure the pin mux for the module */
@@ -276,3 +290,10 @@ void enable_uart0_pin_mux(void) {configure_module_pin_mux (uart0_pin_mux); } + +#ifdef CONFIG_MMC +void enable_mmc0_pin_mux (void ) +{ +configure_module_pin_mux (mmc0_pin_mux); +} +#endif
include/configs/am335x_evm.h +8 -0
@@ -76,6 +76,14 @@#define CONFIG_SYS_LOAD_ADDR 0x81000000/* Default load address */ #define CONFIG_SYS_HZ 1000/* 1ms clock */ +#define CONFIG_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_OMAP_HSMMC +#define CONFIG_CMD_MMC +#define CONFIG_DOS_PARTITION +#define CONFIG_CMD_FAT +#define CONFIG_CMD_EXT2 +/* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1/* 1 bank of DRAM */ #define PHYS_DRAM_1 0x80000000/* DRAM Bank #1 */
Signature · 1 line
1.7.1
PATCH v4 5/5 ARM:AM33XX: Add SPL support for AM335X EVM
In reply to Chandan NathThis patch is added to support SPL feature on AM335X platform. In this patch, MMC1 is configured as boot device for SPL and support for other devices will be added in the next patch series.
---
Changes since v3:
- Use of common bootmode functions for AM33XX platform
Changes since v2:
- Added missing omap.h file
Changes since v1:
- Rebased to master branch
- Replaced am33xx lowleve_init.S with omap-common lowlevel_init.S in order to use common code for omap_bootmode.
arch/arm/cpu/armv7/am33xx/Makefile | 2 - arch/arm/cpu/armv7/am33xx/board.c | 51 +++++++++++++++- arch/arm/cpu/armv7/am33xx/config.mk | 18 ++++++ arch/arm/cpu/armv7/am33xx/emif4.c | 2 +- arch/arm/cpu/armv7/am33xx/lowlevel_init.S | 72 ------------------------ arch/arm/cpu/armv7/omap-common/Makefile | 4 + arch/arm/cpu/armv7/omap-common/boot-common.c | 49 ++++++++++++++++ arch/arm/cpu/armv7/omap-common/hwinit-common.c | 28 --------- arch/arm/include/asm/arch-am33xx/common_def.h | 22 +++++++ arch/arm/include/asm/arch-am33xx/omap.h | 59 +++++++++++++++++++ arch/arm/include/asm/arch-am33xx/sys_proto.h | 1 + arch/arm/include/asm/omap_common.h | 5 ++ board/ti/am335x/common_def.h | 24 -------- board/ti/am335x/evm.c | 2 +- board/ti/am335x/mux.c | 2 +- include/configs/am335x_evm.h | 41 ++++++++++++- spl/Makefile | 13 ++-- 17 files changed, 252 insertions(+), 143 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/config.mk delete mode 100644 arch/arm/cpu/armv7/am33xx/lowlevel_init.S create mode 100644 arch/arm/cpu/armv7/omap-common/boot-common.c create mode 100644 arch/arm/include/asm/arch-am33xx/common_def.h create mode 100644 arch/arm/include/asm/arch-am33xx/omap.h delete mode 100644 board/ti/am335x/common_def.h
arch/arm/cpu/armv7/am33xx/Makefile +0 -2
@@ -16,8 +16,6 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).o -SOBJS := lowlevel_init.o - COBJS += clock.o COBJS += sys_info.o COBJS += ddr.o
arch/arm/cpu/armv7/am33xx/board.c +47 -4
81 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/config.mk new file +18 -0
@@ -0,0 +1,18 @@ +# +# Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed "as is" WITHOUT ANY WARRANTY of any +# kind, whether express or implied; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +ifdef CONFIG_SPL_BUILD +ALL-y += $(OBJTREE)/MLO +else +ALL-y += $(obj)u-boot.img +endif
arch/arm/cpu/armv7/am33xx/emif4.c +1 -1
@@ -46,7 +46,7 @@ void dram_init_banksize(void) } -#ifdef CONFIG_AM335X_CONFIG_DDR +#ifdef CONFIG_SPL_BUILD static void data_macro_config (int dataMacroNum) {struct ddr_data data;
arch/arm/cpu/armv7/am33xx/lowlevel_init.S deleted +0 -72
72 lines not on this page · raw message
arch/arm/cpu/armv7/omap-common/Makefile +4 -0
@@ -37,6 +37,10 @@ ifneq ($(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) COBJS += hwinit-common.o COBJS += clocks-common.o COBJS += emif-common.o +endif + +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) +COBJS += boot-common.o SOBJS += lowlevel_init.o endif
arch/arm/cpu/armv7/omap-common/boot-common.c new file +49 -0
49 lines not on this page · raw message
arch/arm/cpu/armv7/omap-common/hwinit-common.c +0 -28
@@ -35,34 +35,6 @@DECLARE_GLOBAL_DATA_PTR ; -/* -* This is used to verify if the configuration header -* was executed by rom code prior to control of transfer -* to the bootloader. SPL is responsible for saving and -* passing the boot_params pointer to the u-boot. -*/ -struct omap_boot_parameters boot_params __attribute__ ((section(".data"))); - -#ifdef CONFIG_SPL_BUILD -/* -* We use static variables because global data is not ready yet. -* Initialized data is available in SPL right from the beginning. -* We would not typically need to save these parameters in regular -* U-Boot. This is needed only in SPL at the moment. -*/ -u32 omap_bootmode =MMCSD_MODE_FAT ; - -u32 omap_boot_device (void ) -{ -return (u32) (boot_params.omap_bootdevice); -} - -u32 omap_boot_mode (void ) -{ -return omap_bootmode; -} -#endif -void do_set_mux (u32 base,struct pad_conf_entry const *array,int size) {int i;
arch/arm/include/asm/arch-am33xx/common_def.h new file +22 -0
@@ -0,0 +1,22 @@ +/* +* common_def.h +* +* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation version 2. +* +* This program is distributed "as is" WITHOUT ANY WARRANTY of any +* kind, whether express or implied; without even the implied warranty +* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#ifndef __COMMON_DEF_H__ +#define __COMMON_DEF_H__ + +extern void enable_uart0_pin_mux (void ); +extern void enable_mmc0_pin_mux (void ); + +#endif /*__COMMON_DEF_H__ */
arch/arm/include/asm/arch-am33xx/omap.h new file +59 -0
59 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/sys_proto.h +1 -0
@@ -29,4 +29,5 @@ int print_cpuinfo(void);#endif u32 get_device_type (void ); +void setup_clocks_for_console (void );#endif
arch/arm/include/asm/omap_common.h +5 -0
@@ -62,6 +62,11 @@ void preloader_console_init(void);#define BOOT_DEVICE_MMC2 5/*emmc*/ #define BOOT_DEVICE_MMC1 6#define BOOT_DEVICE_XIPWAIT 7 +#elif defined(CONFIG_AM33XX )/* AM33XX */ +#define BOOT_DEVICE_NAND 5 +#define BOOT_DEVICE_MMC1 8 +#define BOOT_DEVICE_MMC2 0 +#define BOOT_DEVICE_UART 65#endif /* Boot type */
board/ti/am335x/common_def.h deleted +0 -24
@@ -1,24 +0,0 @@ -/* -* common_def.h -* -* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation version 2. -* -* This program is distributed "as is" WITHOUT ANY WARRANTY of any -* kind, whether express or implied; without even the implied warranty -* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -*/ - -#ifndef __COMMON_DEF_H__ -#define __COMMON_DEF_H__ - -extern void enable_uart0_pin_mux (void ); -extern void configure_evm_pin_mux (unsigned char daughter_board_id, -unsigned short daughter_board_profile, -unsigned char daughter_board_flag); - -#endif /*__COMMON_DEF_H__ */
board/ti/am335x/evm.c +1 -1
@@ -16,7 +16,7 @@#include <common.h> #include <asm/arch/cpu.h> #include <asm/arch/hardware.h> -#include "common_def.h" +#include <asm/arch/common_def.h> #include <serial.h> DECLARE_GLOBAL_DATA_PTR ;
board/ti/am335x/mux.c +1 -1
@@ -14,7 +14,7 @@*/ #include <config.h> -#include "common_def.h" +#include <asm/arch/common_def.h> #include <asm/arch/hardware.h> #include <asm/io.h>
include/configs/am335x_evm.h +38 -3
53 lines not on this page · raw message
spl/Makefile +6 -7
@@ -58,13 +58,7 @@ LIBS-$(CONFIG_SPL_ONENAND_SUPPORT) += drivers/mtd/onenand/libonenand.o LIBS-$(CONFIG_SPL_DMA_SUPPORT) += drivers/dma/libdma.o LIBS-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/memory.o -ifeq ($(SOC),omap3) -LIBS-y += $(CPUDIR)/omap-common/libomap-common.o -endif -ifeq ($(SOC),omap4) -LIBS-y += $(CPUDIR)/omap-common/libomap-common.o -endif -ifeq ($(SOC),omap5) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif
@@ -104,6 +98,11 @@ $(OBJTREE)/MLO: $(obj)u-boot-spl.bin $(OBJTREE)/tools/mkimage -T omapimage \ -a $(CONFIG_SPL_TEXT_BASE) -d $< $@ endif +ifdef CONFIG_AM33XX +$(OBJTREE)/MLO: $(obj)u-boot-spl.bin + $(OBJTREE)/tools/mkimage -T omapimage \ + -a $(CONFIG_SPL_TEXT_BASE) -d $< $@ +endif ALL-y += $(obj)u-boot-spl.bin
Signature · 1 line
1.7.1
PATCH v4 5/5 ARM:AM33XX: Add SPL support for AM335X EVM
Hi Chandan, Tom,
Quoted 7 lines · Chandan Nath
This patch is added to support SPL feature on AM335X platform. In this patch, MMC1 is configured as boot device for SPL and support for other devices will be added in the next patch series.
Signed-off-by Chandan Nath <[email protected]>Signed-off-by Tom Rini <[email protected]>
This version looks much better!
The only thing got into my mind while looking at it is that I would split it to some more patches instead of one big patch, as it seems that you are mixing the generalization/cleanup with the actual addition of the SPL, otherwise
Signature · 2 lines
Regards, Igor.
v4 cover Added SPL support
In reply to Chandan NathQuoted 10 lines · Chandan Nath
This patch series is submitted to add support for MMC/SD along with SPL support. Also, fixed incorrect register offset of ddr and timer registers.
The patches have been compile tested and run on AM335X EVM.
The patches depends on previous patch series which was submitted for supporting AM33xx platform.
The patches are applies on uboot master branch.
As Thomas Weber notes, this now runs on Beaglebone too so in the future please make sure to test with both platforms. Thanks. And this looks good to me so I'm just now waiting for any further comments before putting this into u-boot-ti.
Signature · 1 line
Tom