
On Fri, May 21, 2010 at 1:39 AM, Sudhakar Rajashekhara sudhakar.raj@ti.com wrote:
Provides initial support for TI OMAP-L138/DA850 SoC devices on a Logic PD EVM board.
Provides: Initial boot and configuration. Support for i2c. UART support (console).
Signed-off-by: Sudhakar Rajashekhara sudhakar.raj@ti.com
This is great! With the NAND defines of the da850 config from the omap-l1 git repo this patch set also provides NAND reading and writing on the da850evm. I'm looking forward to future da850 support patches!
I got one whitespace error applying this patch on-top of 'da830: Move common code out of da830evm.c file' and 'TI: DaVinci: Prepare for da850 support' starting with 40792d675a609c83621d098e48a89de07463b3cd of git://git.denx.de/u-boot.git .
-- Applying: TI: DaVinci: Add board specific code for da850 EVM <removed>.git/rebase-apply/patch:83: new blank line at EOF. + warning: 1 line adds whitespace errors. --
+static const struct lpsc_resource lpsc[] = {
- DAVINCI_LPSC_AEMIF, /* NAND, NOR */
- DAVINCI_LPSC_SPI1, /* Serial Flash */
- DAVINCI_LPSC_EMAC, /* image download */
- DAVINCI_LPSC_UART2, /* console */
- DAVINCI_LPSC_GPIO,
+};
I get the following warning when compiling :
-- da850evm.c:65: warning: missing braces around initializer da850evm.c:65: warning: (near initialization for 'lpsc[0]') --
which can be fixed by the following:
diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c index 197df22..ba70352 100644 --- a/board/davinci/da8xxevm/da850evm.c +++ b/board/davinci/da8xxevm/da850evm.c @@ -62,11 +62,11 @@ static const struct pinmux_resource pinmuxes[] = { };
static const struct lpsc_resource lpsc[] = { - DAVINCI_LPSC_AEMIF, /* NAND, NOR */ - DAVINCI_LPSC_SPI1, /* Serial Flash */ - DAVINCI_LPSC_EMAC, /* image download */ - DAVINCI_LPSC_UART2, /* console */ - DAVINCI_LPSC_GPIO, + { DAVINCI_LPSC_AEMIF }, /* NAND, NOR */ + { DAVINCI_LPSC_SPI1 }, /* Serial Flash */ + { DAVINCI_LPSC_EMAC }, /* image download */ + { DAVINCI_LPSC_UART2 }, /* console */ + { DAVINCI_LPSC_GPIO }, };
int board_init(void)
+int board_init(void) +{ +#ifndef CONFIG_USE_IRQ
- irq_init();
+#endif
If CONFIG_USE_IRQ is defined (as it is in the da850evm config in the omap-l1 git repo) I get the following warning:
-- da850evm.c: In function 'board_init': da850evm.c:75: warning: implicit declaration of function 'irq_init' --
which can be fixed by the following:
diff --git a/board/davinci/common/misc.h b/board/davinci/common/misc.h index 84fafe9..ee35f01 100644 --- a/board/davinci/common/misc.h +++ b/board/davinci/common/misc.h @@ -49,6 +49,7 @@ struct lpsc_resource { const int lpsc_no; };
+void irq_init(void); int dvevm_read_mac_address(uint8_t *buf); void dv_configure_mac_address(uint8_t *rom_enetaddr); int davinci_configure_pin_mux(const struct pinmux_config *pins, int n_pins);
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h new file mode 100644 index 0000000..8fa7f01 --- /dev/null +++ b/include/configs/da850evm.h @@ -0,0 +1,140 @@ +/*
- Copyright (C) 2010 Texas Instruments Incorporated
- Based on davinci_dvevm.h. Original Copyrights follow:
- Copyright (C) 2007 Sergey Kubushyn ksi@koi8.net
- 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 in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
+#ifndef __CONFIG_H +#define __CONFIG_H
+/*
- Board
- */
+/*
- SoC Configuration
- */
+#define CONFIG_MACH_DAVINCI_DA850_EVM
from here
+#define CONFIG_ARM926EJS /* arm926ejs CPU core */ +#define CONFIG_SOC_DA8XX /* TI DA8xx SoC */ +#define CONFIG_SYS_CLK_FREQ clk_get(DAVINCI_ARM_CLKID) +#define CONFIG_SYS_OSCIN_FREQ 24000000 +#define CONFIG_SYS_TIMERBASE DAVINCI_TIMER0_BASE +#define CONFIG_SYS_HZ_CLOCK clk_get(DAVINCI_AUXCLK_CLKID) +#define CONFIG_SYS_HZ 1000 +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_SKIP_RELOCATE_UBOOT /* to a proper address, init done */
+/*
- Memory Info
- */
+#define CONFIG_SYS_MALLOC_LEN (0x10000 + 1*1024*1024) /* malloc() len */ +#define CONFIG_SYS_GBL_DATA_SIZE 128 /* reserved for initial data */ +#define PHYS_SDRAM_1 DAVINCI_DDR_EMIF_DATA_BASE /* DDR Start */ +#define PHYS_SDRAM_1_SIZE (64 << 20) /* SDRAM size 64MB */
+/* memtest start addr */ +#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1 + 0x2000000
+/* memtest will be run on 16MB */ +#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + 0x2000000 + 16*1024*1024)
+#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ +#define CONFIG_STACKSIZE (256*1024) /* regular stack */
+/*
- Serial Driver info
- */
+#define CONFIG_SYS_NS16550 +#define CONFIG_SYS_NS16550_SERIAL +#define CONFIG_SYS_NS16550_REG_SIZE -4 /* NS16550 register size */ +#define CONFIG_SYS_NS16550_COM1 DAVINCI_UART2_BASE /* Base address of UART2 */ +#define CONFIG_SYS_NS16550_CLK clk_get(DAVINCI_UART2_CLKID) +#define CONFIG_CONS_INDEX 1 /* use UART0 for console */ +#define CONFIG_BAUDRATE 115200 /* Default baud rate */ +#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
+/*
- I2C Configuration
- */
+#define CONFIG_HARD_I2C +#define CONFIG_DRIVER_DAVINCI_I2C +#define CONFIG_SYS_I2C_SPEED 25000 +#define CONFIG_SYS_I2C_SLAVE 10 /* Bogus, master-only in U-Boot */
to here is identical to a section in da830evm.h -- can these sections be combined into a common include/configs/da8xxevm.h ?