Prepare for TI816X : reuse existing code from TI814X
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH v4 1/3 Prepare for TI816X : reuse existing code from TI814X
Rename some CONFIG_TI814X to a more generic CONFIG_81XX
--- Makefile | 2 +- arch/arm/cpu/armv7/Makefile | 2 +- arch/arm/cpu/armv7/omap-common/Makefile | 2 +- arch/arm/include/asm/arch-am33xx/cpu.h | 2 +- arch/arm/include/asm/arch-am33xx/omap.h | 2 +- drivers/serial/ns16550.c | 4 ++-- spl/Makefile | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-)
Makefile +1 -1
@@ -337,7 +337,7 @@ LIBS-y += api/libapi.o LIBS-y += post/libpost.o LIBS-y += test/libtest.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI81XX),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif
arch/arm/cpu/armv7/Makefile +1 -1
@@ -32,7 +32,7 @@ COBJS += cache_v7.o COBJS += cpu.o COBJS += syslib.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI814X),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI81XX),) SOBJS += lowlevel_init.o endif
arch/arm/cpu/armv7/omap-common/Makefile +1 -1
@@ -37,7 +37,7 @@ COBJS += vc.o COBJS += abb.o endif -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI81XX),) COBJS += boot-common.o SOBJS += lowlevel_init.o endif
arch/arm/include/asm/arch-am33xx/cpu.h +1 -1
@@ -54,7 +54,7 @@/* Reset control */ #ifdef CONFIG_AM33XX #define PRM_RSTCTRL (PRCM_BASE + 0x0F00) -#elif defined(CONFIG_TI814X ) +#elif defined(CONFIG_TI81XX )#define PRM_RSTCTRL (PRCM_BASE + 0x00A0)#endif #define PRM_RSTST (PRM_RSTCTRL + 8)
arch/arm/include/asm/arch-am33xx/omap.h +1 -1
@@ -32,7 +32,7 @@#define NON_SECURE_SRAM_START 0x402F0400#define NON_SECURE_SRAM_END 0x40310000#define SRAM_SCRATCH_SPACE_ADDR 0x4030C000 -#elif defined(CONFIG_TI814X ) +#elif defined(CONFIG_TI81XX )#define NON_SECURE_SRAM_START 0x40300000#define NON_SECURE_SRAM_END 0x40320000#define SRAM_SCRATCH_SPACE_ADDR 0x4031B800
drivers/serial/ns16550.c +2 -2
@@ -57,7 +57,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)serial_out (CONFIG_SYS_NS16550_IER , &com_port->ier);#if (defined(CONFIG_OMAP ) && !defined(CONFIG_OMAP3_ZOOM2 )) || \ - defined(CONFIG_AM33XX ) || defined(CONFIG_TI814X ) + defined(CONFIG_AM33XX ) || defined(CONFIG_TI81XX )serial_out (0x7 , &com_port->mdr1);/* mode select reset TL16C750*/ #endif serial_out (UART_LCR_BKSE |UART_LCRVAL , &com_port->lcr);
@@ -72,7 +72,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)serial_out (UART_LCRVAL , &com_port->lcr);#if (defined(CONFIG_OMAP ) && !defined(CONFIG_OMAP3_ZOOM2 )) || \ defined(CONFIG_AM33XX ) || defined(CONFIG_SOC_DA8XX ) || \ - defined(CONFIG_TI814X ) + defined(CONFIG_TI81XX )/* /16 is proper to hit 115200 with 48MHz */ serial_out (0 , &com_port->mdr1);
spl/Makefile +1 -1
@@ -84,7 +84,7 @@ LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/libphy.o LIBS-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += drivers/usb/musb-new/libusb_musb-new.o LIBS-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/libusb_gadget.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI81XX),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif
Signature · 1 line
1.7.10.4
PATCH v4 1/3 Prepare for TI816X : reuse existing code from TI814X
Quoted 3 lines · TENART Antoine
Rename some
CONFIG_TI814Xto a more genericCONFIG_81XXSigned-off-by Antoine Tenart <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130625/c5d6bdf0/attachment.pgp>
PATCH v4 2/3 Add TI816X support
In reply to a message not in the archive--- arch/arm/cpu/armv7/am33xx/Makefile | 1 + arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 95 ---- arch/arm/cpu/armv7/am33xx/clock_ti816x.c | 529 ++++++++++++++++++++ arch/arm/cpu/armv7/am33xx/emif4.c | 2 + arch/arm/include/asm/arch-am33xx/clock.h | 4 + arch/arm/include/asm/arch-am33xx/clock_ti81xx.h | 142 ++++++ arch/arm/include/asm/arch-am33xx/ddr_defs.h | 35 +- arch/arm/include/asm/arch-am33xx/hardware.h | 7 +- arch/arm/include/asm/arch-am33xx/hardware_am33xx.h | 5 + arch/arm/include/asm/arch-am33xx/hardware_ti814x.h | 5 + arch/arm/include/asm/arch-am33xx/hardware_ti816x.h | 57 +++ arch/arm/include/asm/arch-am33xx/mmc_host_def.h | 3 + arch/arm/include/asm/arch-am33xx/mux.h | 2 + arch/arm/include/asm/arch-am33xx/mux_ti816x.h | 363 ++++++++++++++ arch/arm/include/asm/arch-am33xx/spl.h | 11 +- 15 files changed, 1147 insertions(+), 114 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/clock_ti816x.c create mode 100644 arch/arm/include/asm/arch-am33xx/clock_ti81xx.h create mode 100644 arch/arm/include/asm/arch-am33xx/hardware_ti816x.h create mode 100644 arch/arm/include/asm/arch-am33xx/mux_ti816x.h
arch/arm/cpu/armv7/am33xx/Makefile +1 -0
@@ -18,6 +18,7 @@ LIB = $(obj)lib$(SOC).o COBJS-$(CONFIG_AM33XX) += clock_am33xx.o COBJS-$(CONFIG_TI814X) += clock_ti814x.o +COBJS-$(CONFIG_TI816X) += clock_ti816x.o COBJS += sys_info.o COBJS += mem.o COBJS += ddr.o
arch/arm/cpu/armv7/am33xx/clock_ti814x.c +0 -95
103 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +529 -0
529 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/emif4.c +2 -0
@@ -89,7 +89,9 @@ void config_ddr(unsigned int pll, unsigned int ioctrl, {enable_emif_clocks ();ddr_pll_config (pll); +#ifndef CONFIG_TI816X config_vtp (nr); +#endif config_cmd_ctrl (ctrl, nr);config_ddr_data (data, nr);
arch/arm/include/asm/arch-am33xx/clock.h +4 -0
@@ -21,4 +21,8 @@#include <asm/arch/clocks_am33xx.h> +#ifdef CONFIG_TI81XX +#include <asm/arch/clock_ti81xx.h> +#endif +#endif
arch/arm/include/asm/arch-am33xx/clock_ti81xx.h new file +142 -0
142 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/ddr_defs.h +22 -13
@@ -200,37 +200,46 @@ struct ddr_data_regs {* correspond to DATA1 registers defined here. */ struct ddr_regs { -unsigned int resv0[7 ]; -unsigned int cm0csratio;/* offset 0x01C */ +unsigned int resv0[3 ]; +unsigned int cm0config;/* offset 0x00C */ +unsigned int cm0configclk;/* offset 0x010 */ unsigned int resv1[2 ]; +unsigned int cm0csratio;/* offset 0x01C */ +unsigned int resv2[2 ];unsigned int cm0dldiff;/* offset 0x028 */ unsigned int cm0iclkout;/* offset 0x02C */ -unsigned int resv2[8 ]; +unsigned int resv3[4 ]; +unsigned int cm1config;/* offset 0x040 */ +unsigned int cm1configclk;/* offset 0x044 */ +unsigned int resv4[2 ];unsigned int cm1csratio;/* offset 0x050 */ -unsigned int resv3[2 ]; +unsigned int resv5[2 ];unsigned int cm1dldiff;/* offset 0x05C */ unsigned int cm1iclkout;/* offset 0x060 */ -unsigned int resv4[8 ]; +unsigned int resv6[4 ]; +unsigned int cm2config;/* offset 0x074 */ +unsigned int cm2configclk;/* offset 0x078 */ +unsigned int resv7[2 ];unsigned int cm2csratio;/* offset 0x084 */ -unsigned int resv5[2 ]; +unsigned int resv8[2 ];unsigned int cm2dldiff;/* offset 0x090 */ unsigned int cm2iclkout;/* offset 0x094 */ -unsigned int resv6[12 ]; +unsigned int resv9[12 ];unsigned int dt0rdsratio0;/* offset 0x0C8 */ -unsigned int resv7[4 ]; +unsigned int resv10[4 ];unsigned int dt0wdsratio0;/* offset 0x0DC */ -unsigned int resv8[4 ]; +unsigned int resv11[4 ];unsigned int dt0wiratio0;/* offset 0x0F0 */ -unsigned int resv9; +unsigned int resv12;unsigned int dt0wimode0;/* offset 0x0F8 */ unsigned int dt0giratio0;/* offset 0x0FC */ -unsigned int resv10; +unsigned int resv13;unsigned int dt0gimode0;/* offset 0x104 */ unsigned int dt0fwsratio0;/* offset 0x108 */ -unsigned int resv11[4 ]; +unsigned int resv14[4 ];unsigned int dt0dqoffset;/* offset 0x11C */ unsigned int dt0wrsratio0;/* offset 0x120 */ -unsigned int resv12[4 ]; +unsigned int resv15[4 ];unsigned int dt0rdelays0;/* offset 0x134 */ unsigned int dt0dldiff0;/* offset 0x138 */ };
arch/arm/include/asm/arch-am33xx/hardware.h +2 -5
@@ -23,6 +23,8 @@#include <asm/arch/omap.h> #ifdef CONFIG_AM33XX #include <asm/arch/hardware_am33xx.h> +#elif defined(CONFIG_TI816X ) +#include <asm/arch/hardware_ti816x.h> #elif defined(CONFIG_TI814X )#include <asm/arch/hardware_ti814x.h> #endif
@@ -67,15 +69,10 @@/* DDR Base address */ #define DDR_CTRL_ADDR 0x44E10E04#define DDR_CONTROL_BASE_ADDR 0x44E11404 -#define DDR_PHY_CMD_ADDR2 0x47C0C800 -#define DDR_PHY_DATA_ADDR2 0x47C0C8C8/* UART */ #define DEFAULT_UART_BASE UART0_BASE -#define DDRPHY_0_CONFIG_BASE (CTRL_BASE + 0x1400) -#define DDRPHY_CONFIG_BASE DDRPHY_0_CONFIG_BASE -/* GPMC Base address */ #define GPMC_BASE 0x50000000
arch/arm/include/asm/arch-am33xx/hardware_am33xx.h +5 -0
@@ -43,8 +43,13 @@/* DDR Base address */ #define DDR_PHY_CMD_ADDR 0x44E12000#define DDR_PHY_DATA_ADDR 0x44E120C8 +#define DDR_PHY_CMD_ADDR2 0x47C0C800 +#define DDR_PHY_DATA_ADDR2 0x47C0C8C8#define DDR_DATA_REGS_NR 2 +#define DDRPHY_0_CONFIG_BASE (CTRL_BASE + 0x1400) +#define DDRPHY_CONFIG_BASE DDRPHY_0_CONFIG_BASE +/* CPSW Config space */ #define CPSW_MDIO_BASE 0x4A101000
arch/arm/include/asm/arch-am33xx/hardware_ti814x.h +5 -0
@@ -43,8 +43,13 @@/* DDR Base address */ #define DDR_PHY_CMD_ADDR 0x47C0C400#define DDR_PHY_DATA_ADDR 0x47C0C4C8 +#define DDR_PHY_CMD_ADDR2 0x47C0C800 +#define DDR_PHY_DATA_ADDR2 0x47C0C8C8#define DDR_DATA_REGS_NR 4 +#define DDRPHY_0_CONFIG_BASE (CTRL_BASE + 0x1400) +#define DDRPHY_CONFIG_BASE DDRPHY_0_CONFIG_BASE +/* CPSW Config space */ #define CPSW_MDIO_BASE 0x4A100800
arch/arm/include/asm/arch-am33xx/hardware_ti816x.h new file +57 -0
57 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/mmc_host_def.h +3 -0
@@ -27,6 +27,9 @@#if defined(CONFIG_TI814X )#undef MMC_CLOCK_REFERENCE#define MMC_CLOCK_REFERENCE 192/* MHz */ +#elif defined(CONFIG_TI816X ) +#undef MMC_CLOCK_REFERENCE +#define MMC_CLOCK_REFERENCE 48/* MHz */ #endif #endif /* MMC_HOST_DEF_H */
arch/arm/include/asm/arch-am33xx/mux.h +2 -0
@@ -23,6 +23,8 @@#include <asm/arch/mux_am33xx.h> #elif defined(CONFIG_TI814X )#include <asm/arch/mux_ti814x.h> +#elif defined(CONFIG_TI816X ) +#include <asm/arch/mux_ti816x.h> #endif struct module_pin_mux {
arch/arm/include/asm/arch-am33xx/mux_ti816x.h new file +363 -0
363 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/spl.h +10 -1
@@ -23,6 +23,14 @@#ifndef _ASM_ARCH_SPL_H_#define _ASM_SPL_H_ +#if defined(CONFIG_TI816X ) +#define BOOT_DEVICE_XIP 2 +#define BOOT_DEVICE_NAND 3 +#define BOOT_DEVICE_MMC1 6 +#define BOOT_DEVICE_MMC2 5 +#define BOOT_DEVICE_UART 0x43 +#define BOOT_DEVICE_MMC2_2 0xFF +#else #define BOOT_DEVICE_XIP 2#define BOOT_DEVICE_NAND 5#ifdef CONFIG_AM33XX
@@ -37,11 +45,12 @@#define BOOT_DEVICE_USBETH 68#define BOOT_DEVICE_CPGMAC 70#define BOOT_DEVICE_MMC2_2 0xFF +#endif #ifdef CONFIG_AM33XX #define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2 -#elif defined(CONFIG_TI814X ) +#elif defined(CONFIG_TI81XX )#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC2#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC1#endif
Signature · 1 line
1.7.10.4
PATCH v4 2/3 Add TI816X support
On Wed, Jun 19, 2013 at 12:08:20PM +0200, TENART Antoine wrote:
[snip]
Quoted 9 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +9
-0+/* WDT related */ +#define WDT_WDSC (WDT_BASE + 0x010) +#define WDT_WDST (WDT_BASE + 0x014) +#define WDT_WISR (WDT_BASE + 0x018) +#define WDT_WIER (WDT_BASE + 0x01C) +#define WDT_WWER (WDT_BASE + 0x020) +#define WDT_WCLR (WDT_BASE + 0x024) +#define WDT_WCRR (WDT_BASE + 0x028) +#define WDT_WLDR (WDT_BASE + 0x02C)
arch/arm/cpu/armv7/am33xx/clock_ti816x.c line 150
Quoted 10 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +10
-0+#define WDT_WTGR (WDT_BASE + 0x030) +#define WDT_WWPS (WDT_BASE + 0x034) +#define WDT_WDLY (WDT_BASE + 0x044) +#define WDT_WSPR (WDT_BASE + 0x048) +#define WDT_WIRQEOI (WDT_BASE + 0x050) +#define WDT_WIRQSTATRAW (WDT_BASE + 0x054) +#define WDT_WIRQSTAT (WDT_BASE + 0x058) +#define WDT_WIRQENSET (WDT_BASE + 0x05C) +#define WDT_WIRQENCLR (WDT_BASE + 0x060) +#define WDT_UNFREEZE (CTRL_BASE + 0x100)
This should be using a struct like the other platforms do for wdt.
[snip]
arch/arm/cpu/armv7/am33xx/clock_ti816x.c line 213
Quoted 2 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +2
-0+/* needed by config_dmm() */ +void enable_dmm_clocks (void ) {}
#ifndef the caller?
arch/arm/cpu/armv7/am33xx/clock_ti816x.c line 237
Quoted 3 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +3
-0+void ddr_pll_config (unsigned int pll) +{ +writel (0x5 , &(ddr_reg[pll])->cm0config);
Magic value (0x5).
[snip]
arch/arm/cpu/armv7/am33xx/clock_ti816x.c line 281
Quoted 2 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +2
-0+ main_pll_ctrl &=0xFFFFFFFB ; + main_pll_ctrl |=4 ;
More magic.
[snip]
Quoted 1 line
+static void
peripheral_enable(void)
Lots more magic values in here.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130625/221b12ad/attachment.pgp>
PATCH v4 2/3 Add TI816X support
Quoted 14 lines
[snip]
Quoted 13 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +13
-0+/* WDT related */ +#define WDT_WDSC (WDT_BASE + 0x010) +#define WDT_WDST (WDT_BASE + 0x014) +#define WDT_WISR (WDT_BASE + 0x018) +#define WDT_WIER (WDT_BASE + 0x01C) +#define WDT_WWER (WDT_BASE + 0x020) +#define WDT_WCLR (WDT_BASE + 0x024) +#define WDT_WCRR (WDT_BASE + 0x028) +#define WDT_WLDR (WDT_BASE + 0x02C) +#define WDT_WTGR (WDT_BASE + 0x030) +#define WDT_WWPS (WDT_BASE + 0x034) +#define WDT_WDLY (WDT_BASE + 0x044) +#define WDT_WSPR (WDT_BASE + 0x048)
Quoted 8 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c line 150
Quoted 6 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +6
-0+#define WDT_WIRQEOI (WDT_BASE + 0x050) +#define WDT_WIRQSTATRAW (WDT_BASE + 0x054) +#define WDT_WIRQSTAT (WDT_BASE + 0x058) +#define WDT_WIRQENSET (WDT_BASE + 0x05C) +#define WDT_WIRQENCLR (WDT_BASE + 0x060) +#define WDT_UNFREEZE (CTRL_BASE + 0x100)This should be using a struct like the other platforms do for wdt.
I'll do that and use the wd_timer structure.
Quoted 7 lines
[snip]
arch/arm/cpu/armv7/am33xx/clock_ti816x.c line 213
Quoted 2 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +2
-0+/* needed by config_dmm() */ +void enable_dmm_clocks (void ) {}#ifndef the caller?
Yes.
Quoted 5 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c
Quoted 3 lines
arch/arm/cpu/armv7/am33xx/clock_ti816x.c new file +3
-0+void ddr_pll_config (unsigned int pll) +{ +writel (0x5 ,&(ddr_reg[pll])->cm0config);Magic value (
0x5).
I'll fix it.
Quoted 6 lines
[snip]
Review
Quoted 2 lines
(quoted diff) +2
-0+ main_pll_ctrl&= 0xFFFFFFFB; + main_pll_ctrl |= 4;More magic.
This one is already explained in the beginning of the function. I'll put a per instruction comment instead.
Quoted 6 lines
[snip]
Quoted 1 line
+static void
peripheral_enable(void)Lots more magic values in here.
I'll remove the magic.
Signature · 1 line
Antoine
PATCH v4 3/3 Add TI816X evm board support
In reply to a message not in the archive--- MAINTAINERS | 4 + board/ti/ti816x/Makefile | 47 ++++++++ board/ti/ti816x/evm.c | 249 ++++++++++++++++++++++++++++++++++++++++++ boards.cfg | 1 + include/configs/ti816x_evm.h | 188 +++++++++++++++++++++++++++++++ 5 files changed, 489 insertions(+) create mode 100644 board/ti/ti816x/Makefile create mode 100644 board/ti/ti816x/evm.c create mode 100644 include/configs/ti816x_evm.h
MAINTAINERS +4 -0
@@ -940,6 +940,10 @@ Lucas Stach <[email protected]> colibri_t20_iris Tegra20 (ARM7 & A9 Dual Core) +Antoine Tenart <[email protected]> + + TI816X ARM ARMV7 (TI816x Soc) + Nick Thompson <[email protected]> da830evm ARM926EJS (DA830/OMAP-L137)
board/ti/ti816x/Makefile new file +47 -0
47 lines not on this page · raw message
board/ti/ti816x/evm.c new file +249 -0
249 lines not on this page · raw message
boards.cfg +1 -0
@@ -250,6 +250,7 @@ am335x_evm_uart4 arm armv7 am335x ti am335x_evm_uart5 arm armv7 am335x ti am33xx am335x_evm:SERIAL6,CONS_INDEX=6 am335x_evm_usbspl arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,SPL_USBETH_SUPPORT ti814x_evm arm armv7 ti814x ti am33xx +ti816x_evm arm armv7 ti816x ti am33xx pcm051 arm armv7 pcm051 phytec am33xx pcm051 sama5d3xek_mmc arm armv7 sama5d3xek atmel at91 sama5d3xek:SAMA5D3,SYS_USE_MMC sama5d3xek_nandflash arm armv7 sama5d3xek atmel at91 sama5d3xek:SAMA5D3,SYS_USE_NANDFLASH
include/configs/ti816x_evm.h new file +188 -0
188 lines not on this page · raw message
Signature · 1 line
1.7.10.4
PATCH v4 3/3 Add TI816X evm board support
Quoted 1 line · TENART Antoine
Signed-off-by Antoine Tenart <[email protected]>
[snip]
include/configs/ti816x_evm.h line 42
Quoted 2 lines
include/configs/ti816x_evm.h new file +2
-0+#define CONFIG_EXTRA_ENV_SETTINGS \ + "verify=yes\0"
Do we really want that?
[snip]
include/configs/ti816x_evm.h line 67
Quoted 7 lines
include/configs/ti816x_evm.h new file +7
-0+/* +* Memtest works on 8 MB in DRAM after skipping 32MB +* from start addr of ram disk +*/ +#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64*1024*1024)) +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ + + (8*1024*1024))
mtest isn't on by default anymore, see doc/README.memory-test
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130625/c3f8585f/attachment.pgp>
PATCH v4 3/3 Add TI816X evm board support
Quoted 4 lines
include/configs/ti816x_evm.h line 42
Quoted 2 lines
include/configs/ti816x_evm.h new file +2
-0+#define CONFIG_EXTRA_ENV_SETTINGS \ + "verify=yes\0"Do we really want that?
I don't think so. This will be removed.
Quoted 9 lines
include/configs/ti816x_evm.h line 67
Quoted 7 lines
include/configs/ti816x_evm.h new file +7
-0+/* +* Memtest works on 8 MB in DRAM after skipping 32MB +* from start addr of ram disk +*/ +#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64*1024*1024)) +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ + + (8*1024*1024))mtest isn't on by default anymore, see doc/README.memory-test
I'll remove that too.
Signature · 1 line
Antoine
PATCH v4 3/3 Add TI816X evm board support
In reply to TENART AntoineHi Antoine,
Quoted 317 lines · TENART Antoine
Signed-off-by Antoine Tenart <[email protected]>--- MAINTAINERS | 4 + board/ti/ti816x/Makefile | 47 ++++++++ board/ti/ti816x/evm.c | 249 ++++++++++++++++++++++++++++++++++++++++++ boards.cfg | 1 + include/configs/ti816x_evm.h | 188 +++++++++++++++++++++++++++++++ 5 files changed, 489 insertions(+)create mode 100644 board/ti/ti816x/Makefile
create mode 100644board/ti/ti816x/evm.c
create mode 100644include/configs/ti816x_evm.hMAINTAINERS +4
-0@@ -940,6 +940,10 @@ Lucas Stach <[email protected]> colibri_t20_iris Tegra20 (ARM7 & A9 Dual Core) +Antoine Tenart <[email protected]> + + TI816X ARM ARMV7 (TI816x Soc) + Nick Thompson <[email protected]> da830evm ARM926EJS (DA830/OMAP-L137)board/ti/ti816x/Makefile new file +47
-0@@ -0,0 +1,47 @@ +# +# Copyright (C) 2013, Adeneo Embedded <www.adeneo-embedded.com> +# Antoine Tenart, <[email protected]> +# +# Based on TI-PSP-04.00.02.14 : +# +# Copyright (C) 2009, Texas Instruments, Incorporated +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := evm.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +$(LIB): $(obj).depend $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +clean: + rm -f $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak $(obj).depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +#########################################################################board/ti/ti816x/evm.c new file +231
-0@@ -0,0 +1,249 @@ +/* +* evm.c +* +* Copyright (C) 2013, Adeneo Embedded <www.adeneo-embedded.com> +* Antoine Tenart, <[email protected]> +* +* This file is released under the terms of GPL v2 and any later version. +* See the file COPYING in the root directory of the source tree for details. +*/ + +#include <common.h> +#include <spl.h> +#include <asm/cache.h> +#include <asm/io.h> +#include <asm/arch/clock.h> +#include <asm/arch/cpu.h> +#include <asm/arch/ddr_defs.h> +#include <asm/arch/hardware.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/mmc_host_def.h> +#include <asm/arch/mem.h> +#include <asm/arch/mux.h> + +DECLARE_GLOBAL_DATA_PTR ; + +int board_init (void ) +{ + gd->bd->bi_boot_params =PHYS_DRAM_1 +0x100 ; +return 0 ; +} + +#if defined(CONFIG_SPL_BUILD ) + +static struct module_pin_mux mmc_pin_mux[] = { + {OFFSET (pincntl157),PULLDOWN_EN |PULLUDDIS |MODE (0x0 ) }, + {OFFSET (pincntl158),PULLDOWN_EN |PULLUDEN |MODE (0x0 ) }, + {OFFSET (pincntl159),PULLUP_EN |PULLUDDIS |MODE (0x0 ) }, + {OFFSET (pincntl160),PULLUP_EN |PULLUDDIS |MODE (0x0 ) }, + {OFFSET (pincntl161),PULLUP_EN |PULLUDDIS |MODE (0x0 ) }, + {OFFSET (pincntl162),PULLUP_EN |PULLUDDIS |MODE (0x0 ) }, + {OFFSET (pincntl163),PULLUP_EN |PULLUDDIS |MODE (0x0 ) }, + {-1 }, +}; + +const struct dmm_lisa_map_regs evm_lisa_map_regs = { + .dmm_lisa_map_0 =0x00000000 , + .dmm_lisa_map_1 =0x00000000 , + .dmm_lisa_map_2 =0x80640300 , + .dmm_lisa_map_3 =0xC0640320 , +}; + +/* +* DDR2 related definitions +*/ + +static struct ddr_data ddr2_data = { + .datardsratio0 = ((0x40 <<10 ) | (0x40 <<0 )), + .datawdsratio0 = ((0x4A <<10 ) | (0x4A <<0 )), + .datawiratio0 = ((0x0 <<10 ) | (0x0 <<0 )), + .datagiratio0 = ((0x0 <<10 ) | (0x0 <<0 )), + .datafwsratio0 = ((0x13A <<10 ) | (0x13A <<0 )), + .datawrsratio0 = ((0x8A <<10 ) | (0x8A <<0 )), + .datauserank0delay =0x1 , + .datadldiff0 =0x0 ,/* depend on cpu rev, set later */ +}; + +static struct cmd_control ddr2_ctrl = { + .cmd0csratio =0x80 , + .cmd0dldiff =0x04 ,/* reset value is 0x4 */ + .cmd0iclkout =0x00 , + + .cmd1csratio =0x80 , + .cmd1dldiff =0x04 , + .cmd1iclkout =0x00 , + + .cmd2csratio =0x80 , + .cmd2dldiff =0x04 , + .cmd2iclkout =0x00 , + +}; + +static struct emif_regs ddr2_emif0_regs = { + .sdram_config =0x43801A3A , + .ref_ctrl =0x10000C30 , + .sdram_tim1 =0x0AAB15E2 , + .sdram_tim2 =0x423631D2 , + .sdram_tim3 =0x0080032F , + .emif_ddr_phy_ctlr_1 =0x0 ,/* depend on cpu rev, set later */ +}; + +static struct emif_regs ddr2_emif1_regs = { + .sdram_config =0x43801A3A , + .ref_ctrl =0x10000C30 , + .sdram_tim1 =0x0AAB15E2 , + .sdram_tim2 =0x423631D2 , + .sdram_tim3 =0x0080032F , + .emif_ddr_phy_ctlr_1 =0x0 ,/* depend on cpu rev, set later */ +}; + +/* +* DDR3 related definitions +*/ + +#if defined(CONFIG_TI816X_DDR_PLL_400 ) +#define RD_DQS 0x03B +#define WR_DQS 0x0A6 +#define RD_DQS_GATE 0x12A +#define EMIF_SDCFG 0x62A41032 +#define EMIF_SDREF 0x10000C30 +#define EMIF_TIM1 0x0CCCE524 +#define EMIF_TIM2 0x30308023 +#define EMIF_TIM3 0x009F82CF +#define EMIF_PHYCFG 0x0000010B +#elif defined(CONFIG_TI816X_DDR_PLL_531 ) +#define RD_DQS 0x039 +#define WR_DQS 0x0B4 +#define RD_DQS_GATE 0x13D +#define EMIF_SDCFG 0x62A51832 +#define EMIF_SDREF 0x1000102E +#define EMIF_TIM1 0x0EF136AC +#define EMIF_TIM2 0x30408063 +#define EMIF_TIM3 0x009F83AF +#define EMIF_PHYCFG 0x0000010C +#elif defined(CONFIG_TI816X_DDR_PLL_675 ) +#define RD_DQS 0x039 +#define WR_DQS 0x091 +#define RD_DQS_GATE 0x196 +#define EMIF_SDCFG 0x62A63032 +#define EMIF_SDREF 0x10001491 +#define EMIF_TIM1 0x13358875 +#define EMIF_TIM2 0x5051806C +#define EMIF_TIM3 0x009F84AF +#define EMIF_PHYCFG 0x0000010F +#elif defined(CONFIG_TI816X_DDR_PLL_796 ) +#define RD_DQS 0x035 +#define WR_DQS 0x093 +#define RD_DQS_GATE 0x1B3 +#define EMIF_SDCFG 0x62A73832 +#define EMIF_SDREF 0x10001841 +#define EMIF_TIM1 0x1779C9FE +#define EMIF_TIM2 0x50608074 +#define EMIF_TIM3 0x009F857F +#define EMIF_PHYCFG 0x00000110 +#endif + +static struct ddr_data ddr3_data = { + .datardsratio0 = ((RD_DQS <<10 ) | (RD_DQS <<0 )), + .datawdsratio0 = ((WR_DQS <<10 ) | (WR_DQS <<0 )), + .datawiratio0 = ((0x20 <<10 ) |0x20 <<0 ), + .datagiratio0 = ((0x20 <<10 ) |0x20 <<0 ), + .datafwsratio0 = ((RD_DQS_GATE <<10 ) | (RD_DQS_GATE <<0 )), + .datawrsratio0 = (((WR_DQS +0x40 )<<10 ) | ((WR_DQS +0x40 )<<0 )), + .datauserank0delay =0x1 , + .datadldiff0 =0x0 ,/* depend on cpu rev, set later */ +}; + +static const struct cmd_control ddr3_ctrl = { + .cmd0csratio =0x100 , + .cmd0dldiff =0x004 ,/* reset value is 0x4 */ + .cmd0iclkout =0x001 , + + .cmd1csratio =0x100 , + .cmd1dldiff =0x004 , + .cmd1iclkout =0x001 , + + .cmd2csratio =0x100 , + .cmd2dldiff =0x004 , + .cmd2iclkout =0x001 , +}; + +static const struct emif_regs ddr3_emif0_regs = { + .sdram_config =EMIF_SDCFG , + .ref_ctrl =EMIF_SDREF , + .sdram_tim1 =EMIF_TIM1 , + .sdram_tim2 =EMIF_TIM2 , + .sdram_tim3 =EMIF_TIM3 , + .emif_ddr_phy_ctlr_1 =EMIF_PHYCFG , +}; + +static const struct emif_regs ddr3_emif1_regs = { + .sdram_config =EMIF_SDCFG , + .ref_ctrl =EMIF_SDREF , + .sdram_tim1 =EMIF_TIM1 , + .sdram_tim2 =EMIF_TIM2 , + .sdram_tim3 =EMIF_TIM3 , + .emif_ddr_phy_ctlr_1 =EMIF_PHYCFG , +}; +#endif /* CONFIG_SPL_BUILD */ + + +void s_init (void ) +{ +#ifdef CONFIG_SPL_BUILD +#ifdef CONFIG_ARCH_CPU_INIT +/* +* Save the boot parameters passed by romcode. +* Do it first to prevent overwrites. +*/ +save_omap_boot_params (); +#endif + +pll_init (); + +configure_module_pin_mux (mmc_pin_mux); + + gd = &gdata; + +preloader_console_init (); + +#ifdef CONFIG_TI816X_EVM_DDR2 + ddr2_data.datadldiff0 = (get_cpu_rev () ==0x1 ?0x0 :0xF ); + ddr2_ctrl.cmd0dldiff = (get_cpu_rev () ==0x1 ?0x0 :0xF ); + ddr2_ctrl.cmd1dldiff = (get_cpu_rev () ==0x1 ?0x0 :0xF ); + ddr2_ctrl.cmd2dldiff = (get_cpu_rev () ==0x1 ?0x0 :0xF ); + +if (CONFIG_TI816X_USE_EMIF0 ) { + ddr2_emif0_regs.emif_ddr_phy_ctlr_1 = + (get_cpu_rev () ==0x1 ?0x0000010B :0x0000030B ); +config_ddr (0 ,0 , &ddr2_data, &ddr2_ctrl, &ddr2_emif0_regs,0 ); + } + +if (CONFIG_TI816X_USE_EMIF1 ) { + ddr2_emif1_regs.emif_ddr_phy_ctlr_1 = + (get_cpu_rev () ==0x1 ?0x0000010B :0x0000030B ); +config_ddr (1 ,0 , &ddr2_data, &ddr2_ctrl, &ddr2_emif1_regs,1 ); + } +#endif + +#ifdef CONFIG_TI816X_EVM_DDR3 + ddr3_data.datadldiff0 = (get_cpu_rev () ==0x1 ?0x0 :0xF ); +
board/ti/ti816x/evm.c line 241
Quoted 10 lines
board/ti/ti816x/evm.c new file +10
-0+if (CONFIG_TI816X_USE_EMIF0 ) +config_ddr (0 ,0 , &ddr3_data, &ddr3_ctrl, &ddr3_emif0_regs,0 ); + +if (CONFIG_TI816X_USE_EMIF1 ) +config_ddr (1 ,0 , &ddr3_data, &ddr3_ctrl, &ddr3_emif0_regs,1 ); +#endif + +config_dmm (&evm_lisa_map_regs); +#endif +}
Please rebase your patches on top of the following series.
http://u-boot.10912.n7.nabble.com/PATCH-0-4-ARM-AM33xx-Cleanup-clocks-and-hwinit-tt157703.html
There are already s_init() function present commonly, you can reuse these functions from the above series.
Thanks and regards,
Lokesh
Quoted 215 lines
board/ti/ti816x/evm.c new file +8
-0+ +#if !defined(CONFIG_SPL_BUILD ) && defined(CONFIG_GENERIC_MMC ) +int board_mmc_init (bd_t *bis) +{ +omap_mmc_init (0 ,0 ,0 ,-1 ,-1 ); +return 0 ; +} +#endif boards.cfg +1
-0@@ -250,6 +250,7 @@ am335x_evm_uart4 arm armv7 am335x ti am335x_evm_uart5 arm armv7 am335x ti am33xx am335x_evm:SERIAL6,CONS_INDEX=6 am335x_evm_usbspl arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,SPL_USBETH_SUPPORT ti814x_evm arm armv7 ti814x ti am33xx +ti816x_evm arm armv7 ti816x ti am33xx pcm051 arm armv7 pcm051 phytec am33xx pcm051 sama5d3xek_mmc arm armv7 sama5d3xek atmel at91 sama5d3xek:SAMA5D3,SYS_USE_MMC sama5d3xek_nandflash arm armv7 sama5d3xek atmel at91 sama5d3xek:SAMA5D3,SYS_USE_NANDFLASHinclude/configs/ti816x_evm.h new file +188
-0@@ -0,0 +1,188 @@ +/* +* ti816x_evm.h +* +* Copyright (C) 2013, Adeneo Embedded <www.adeneo-embedded.com> +* Antoine Tenart, <[email protected]> +* +* This file is released under the terms of GPL v2 and any later version. +* See the file COPYING in the root directory of the source tree for details. +*/ + +#ifndef __CONFIG_TI816X_EVM_H +#define __CONFIG_TI816X_EVM_H + +#define CONFIG_TI81XX +#define CONFIG_TI816X +#define CONFIG_SYS_NO_FLASH +#define CONFIG_OMAP + +#define CONFIG_ARCH_CPU_INIT + +#include <asm/arch/omap.h> + +#define CONFIG_ENV_SIZE 0x2000 +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (32 * 1024)) +#define CONFIG_SYS_LONGHELP /* undef save memory */ +#define CONFIG_SYS_HUSH_PARSER +#define CONFIG_SYS_PROMPT "u-boot/ti816x# " +#define CONFIG_MACH_TYPE MACH_TYPE_TI8168EVM + +#define CONFIG_OF_LIBFDT +#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_INITRD_TAG /* required for ramdisk support */ + +#include <config_cmd_default.h> /* u-boot default commands */ + +#define CONFIG_VERSION_VARIABLE +#define CONFIG_DISPLAY_CPUINFO + +#define CONFIG_BOOTDELAY 3/* set negative for no autoboot */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "verify=yes\0" + +#define CONFIG_BOOTCOMMAND \ + "mmc rescan 0;" \ + "fatload mmc 0 0x81000000 uImage;" \ + "bootm 0x81000000" + +#define CONFIG_BOOTARGS "console=ttyO2,115200n8 noinitrd earlyprintk" + +/* Clock Defines */ +#define V_OSCK 24000000/* Clock output from T2 */ +#define V_SCLK (V_OSCK >> 1) + +#define CONFIG_SYS_MAXARGS 32 +#define CONFIG_SYS_CBSIZE 512/* console I/O buffer size */ +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \ + + sizeof(CONFIG_SYS_PROMPT) + 16)/* print buffer size */ +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE/* boot arg buffer size */ + +/* +* Memtest works on 8 MB in DRAM after skipping 32MB +* from start addr of ram disk +*/ +#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64*1024*1024)) +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ + + (8*1024*1024)) + +#undef CONFIG_SYS_CLKS_IN_HZ +#define CONFIG_SYS_LOAD_ADDR 0x81000000/* Default load address */ +#define CONFIG_SYS_HZ 1000/* 1ms clock */ + +#define CONFIG_CMD_ASKEN +#define CONFIG_CMD_ECHO +#define CONFIG_OMAP_GPIO +#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 + +#define CONFIG_FS_FAT + +/* +* Only one of the following two options (DDR3/DDR2) should be enabled +* CONFIG_TI816X_EVM_DDR2 +* CONFIG_TI816X_EVM_DDR3 +*/ +#define CONFIG_TI816X_EVM_DDR3 + +/* +* Supported values: 400, 531, 675 or 796 MHz +*/ +#define CONFIG_TI816X_DDR_PLL_796 + +#define CONFIG_TI816X_USE_EMIF0 1 +#define CONFIG_TI816X_USE_EMIF1 1 + + +#define CONFIG_NR_DRAM_BANKS 2/* we have 2 banks of DRAM */ +#define PHYS_DRAM_1 0x80000000/* DRAM Bank #1 */ +#define PHYS_DRAM_1_SIZE 0x40000000/* 1 GB */ +#define PHYS_DRAM_2 0xC0000000/* DRAM Bank #2 */ +#define PHYS_DRAM_2_SIZE 0x40000000/* 1 GB */ + +#define CONFIG_MAX_RAM_BANK_SIZE (2048 << 20)/* 2048MB */ +#define CONFIG_SYS_SDRAM_BASE PHYS_DRAM_1 +#define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \ + GENERATED_GBL_DATA_SIZE) + +/** +* Platform/Board specific defs +*/ +#define CONFIG_SYS_CLK_FREQ 27000000 +#define CONFIG_SYS_TIMERBASE 0x4802E000 +#define CONFIG_SYS_PTV 2/* Divisor: 2^(PTV+1) => 8 */ + +#undef CONFIG_NAND_OMAP_GPMC + +/* +* NS16550 Configuration +*/ +#define CONFIG_SYS_NS16550 +#define CONFIG_SYS_NS16550_SERIAL +#define CONFIG_SYS_NS16550_REG_SIZE (-4) +#define CONFIG_SYS_NS16550_CLK (48000000) +#define CONFIG_SYS_NS16550_COM1 0x48024000/* Base EVM has UART2 */ + +#define CONFIG_BAUDRATE 115200 + +/* allow overwriting serial config and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_SERIAL1 +#define CONFIG_SERIAL2 +#define CONFIG_SERIAL3 +#define CONFIG_CONS_INDEX 1 +#define CONFIG_SYS_CONSOLE_INFO_QUIET + +#define CONFIG_ENV_IS_NOWHERE + +/* SPL */ +/* Defines for SPL */ +#define CONFIG_SPL +#define CONFIG_SPL_FRAMEWORK +#define CONFIG_SPL_TEXT_BASE 0x40400000 +#define CONFIG_SPL_MAX_SIZE ((128 - 18) * 1024) +#define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR + +#define CONFIG_SPL_BSS_START_ADDR 0x80000000 +#define CONFIG_SPL_BSS_MAX_SIZE 0x80000/* 512 KB */ + +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300/* address 0x60000 */ +#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200/* 256 KB */ +#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 +#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img" +#define CONFIG_SPL_MMC_SUPPORT +#define CONFIG_SPL_FAT_SUPPORT + +#define CONFIG_SPL_LIBCOMMON_SUPPORT +#define CONFIG_SPL_LIBDISK_SUPPORT +#define CONFIG_SPL_LIBGENERIC_SUPPORT +#define CONFIG_SPL_SERIAL_SUPPORT +#define CONFIG_SPL_GPIO_SUPPORT +#define CONFIG_SPL_YMODEM_SUPPORT +#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 +#define CONFIG_SYS_SPI_U_BOOT_SIZE 0x40000 +#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds" + +#define CONFIG_SPL_BOARD_INIT + +#define CONFIG_SYS_TEXT_BASE 0x80800000 +#define CONFIG_SYS_SPL_MALLOC_START 0x80208000 +#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 + +/* Since SPL did pll and ddr initialization for us, +* we don't need to do it twice. +*/ +#ifndef CONFIG_SPL_BUILD +#define CONFIG_SKIP_LOWLEVEL_INIT +#endif + +/* Unsupported features */ +#undef CONFIG_USE_IRQ + +#endif