[U-Boot] [PATCH v2 2/2] TI: DaVinci: Add board specific code for da850 EVM

Ben Gardiner bengardiner at nanometrics.ca
Thu May 27 00:34:02 CEST 2010


On Fri, May 21, 2010 at 1:39 AM, Sudhakar Rajashekhara
<sudhakar.raj at 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 at 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 at 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 ?

-- 
Ben Gardiner
Nanometrics Inc.
+1 (613) 592-6776 x239
http://www.nanometrics.ca


More information about the U-Boot mailing list