[U-Boot] [PATCH 3/3 V2] Add support for hawkboard

Ben Gardiner bengardiner at nanometrics.ca
Tue Oct 26 15:11:52 CEST 2010


On Mon, Oct 25, 2010 at 4:09 PM, Sughosh Ganu <urwithsughosh at gmail.com> wrote:
> The patch adds basic board support for TI's OMAP-L138 based
> Hawkboard. This board is pretty similar to the da850 EVM. Support for
> nand and network access is added in this version.
>
> The following bootup procedure is used.
>
> At reset, the Rom Boot Loader(RBL), initialises the ddr and the nand
> controllers and copies the second stage bootloader(nand_spl) to
> RAM. The secondary bootloader then copies u-boot from a predefined
> location in the nand flash to the RAM, and passes control to the
> u-boot image.
>
> Three config options are supported
> * hawkboard_config - Used to create the u-boot.bin. Tftp the
>  u-boot.bin image to the RAM from u-boot, and flash to the nand flash
>  at address 0xe0000.
>
> * hawkboard_nand_config - Used to generate the secondary
>  bootloader(nand_spl) image. This creates an elf file u-boot-spl
>  under nand_spl/. Create an AIS signed image using this file, and
>  flash it to the nand flash at address 0x20000. The ais file should
>  fit in one block.
>
> * hawkboard_uart_config - This is same as the first image, but with
>  the TEXT_BASE as expected by the RBL(0xc1080000). Create the AIS
>  Signed bin, as use the normal UART boot procedure to boot the image.
>
> Signed-off-by: Sughosh Ganu <urwithsughosh at gmail.com>

Applies to c163f4478ca72f51b28b55f74addc8fe029d7b83 of
git://git.denx.de/u-boot.git.

This patch has checkpatch.pl warnings and errors:
ERROR: return is not a function, parentheses are not required#456:
FILE: board/davinci/da8xxevm/hawkboard.c:58:
+	return(0);

WARNING: space prohibited between function name and open parenthesis '('
#459: FILE: board/davinci/da8xxevm/hawkboard.c:61:
+int misc_init_r (void)

WARNING: line over 80 characters
#463: FILE: board/davinci/da8xxevm/hawkboard.c:65:
+	printf ("ARM Clock : %s MHz\n", strmhz(buf, clk_get(DAVINCI_ARM_CLKID)));

WARNING: space prohibited between function name and open parenthesis '('
#463: FILE: board/davinci/da8xxevm/hawkboard.c:65:
+	printf ("ARM Clock : %s MHz\n", strmhz(buf, clk_get(DAVINCI_ARM_CLKID)));

ERROR: return is not a function, parentheses are not required
#465: FILE: board/davinci/da8xxevm/hawkboard.c:67:
+	return(0);

ERROR: space required after that ',' (ctx:VxV)
#537: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:65:
+	{ pinmux(12),1, 5 },
 	            ^

ERROR: space required after that ',' (ctx:VxV)
#538: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:66:
+	{ pinmux(12),1, 6 }
 	            ^

WARNING: space prohibited between function name and open parenthesis '('
#569: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:97:
+void board_init_f (ulong bootflag)

ERROR: code indent should use tabs where possible
#601: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:129:
+^I             CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE);$

WARNING: space prohibited between function name and open parenthesis '('
#605: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:133:
+	relocate_code (CONFIG_SYS_NAND_U_BOOT_RELOC_SP, (gd_t *)gd,

WARNING: space prohibited between function name and open parenthesis '('
#631: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:159:
+void hang (void)

WARNING: space prohibited between function name and open parenthesis '('
#633: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:161:
+	puts ("### ERROR ### Please RESET the board ###\n");

ERROR: trailing statements should be on next line
#634: FILE: board/davinci/da8xxevm/hawkboard_nand_spl.c:162:
+	for (;;);
+	for (;;);
WARNING: line over 80 characters
#721: FILE: include/configs/hawkboard.h:54:
+#define PHYS_SDRAM_1			DAVINCI_DDR_EMIF_DATA_BASE /* DDR Start */

WARNING: line over 80 characters
#725: FILE: include/configs/hawkboard.h:58:
+#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x1000 -	\

WARNING: line over 80 characters
#842: FILE: include/configs/hawkboard.h:175:
+	"mem=128M console=ttyS2,115200n8 root=/dev/ram0 rw initrd=0xc1180000,"	\

total: 6 errors, 10 warnings, 823 lines checked

../sugosh-da8xx-v2/3of3.patch has style problems, please review.  If
any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

I was also unable to build the da850evm u-boot with this patch applied:
$make mrproper ; make da850evm_config ; make -j9 all|grep -E '( error| warning)'
awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }'
boards.cfg > .boards.depend
Configuring for da850evm board...
davinci_pinmux.c:30:26: error: davinci_misc.h: No such file or directory
make[1]: *** No rule to make target `.depend', needed by `libdavinci.a'.  Stop.
make: *** [board/davinci/common/libdavinci.a] Error 2
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes.  Stop.

For your next patch submission, I recommend running checkpatch.pl
(from a recent linux kernel scripts/ directory) on your patches and
also using the ./MAKEALL script [1] to test that your changes haven't
broken other boards.

Best Regards,
Ben Gardiner

[1] http://www.denx.de/wiki/U-Boot/Patches

---
Nanometrics Inc.
http://www.nanometrics.ca


More information about the U-Boot mailing list