summaryrefslogtreecommitdiff
path: root/recipes-bsp/u-boot
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2012-06-03 10:07:58 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2012-06-03 10:07:58 +0200
commit075e33ca803378fa42187ecf5fd44a57e061a84a (patch)
tree3e27a24788e2ca698eecca8eda99978c4239ecc0 /recipes-bsp/u-boot
Initial commit
Diffstat (limited to 'recipes-bsp/u-boot')
-rw-r--r--recipes-bsp/u-boot/u-boot-git/bootaddr.patch12
-rw-r--r--recipes-bsp/u-boot/u-boot-git/colibri_t30.patch220
-rw-r--r--recipes-bsp/u-boot/u-boot-git/remove-overlay.patch11
-rw-r--r--recipes-bsp/u-boot/u-boot-git/remove-unused.patch104
-rw-r--r--recipes-bsp/u-boot/u-boot-git/tegra2-nand-warning.patch12
-rw-r--r--recipes-bsp/u-boot/u-boot-git/u-boot-board-unused.patch62
-rw-r--r--recipes-bsp/u-boot/u-boot-git/u-boot-userspacetools.patch12
-rw-r--r--recipes-bsp/u-boot/u-boot-git/u-boot-warning.patch272
-rw-r--r--recipes-bsp/u-boot/u-boot-git/u-boot_ap20warning.patch11
-rw-r--r--recipes-bsp/u-boot/u-boot.inc68
-rw-r--r--recipes-bsp/u-boot/u-boot_git.bb61
-rw-r--r--recipes-bsp/u-boot/u-boot_git.bbappend70
-rw-r--r--recipes-bsp/u-boot/u-boot_git.bbappend.orig23
-rw-r--r--recipes-bsp/u-boot/u-boot_git.bbappend~68
14 files changed, 1006 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-git/bootaddr.patch b/recipes-bsp/u-boot/u-boot-git/bootaddr.patch
new file mode 100644
index 0000000..d452b61
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/bootaddr.patch
@@ -0,0 +1,12 @@
+diff -Naur git.old/include/configs/tegra3-common.h git/include/configs/tegra3-common.h
+--- git.old/include/configs/tegra3-common.h 2012-01-29 22:40:43.240684735 +0100
++++ git/include/configs/tegra3-common.h 2012-01-29 22:49:00.330204308 +0100
+@@ -323,7 +323,7 @@
+ */
+
+ /* Below should be (NV_PA_SDRAM_BASE + 0x00E08000), but ld errors out */
+-#define CONFIG_SYS_TEXT_BASE 0x80E08000
++#define CONFIG_SYS_TEXT_BASE 0x80108000
+ #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
+
+ #define CONFIG_SYS_INIT_RAM_ADDR CONFIG_STACKBASE
diff --git a/recipes-bsp/u-boot/u-boot-git/colibri_t30.patch b/recipes-bsp/u-boot/u-boot-git/colibri_t30.patch
new file mode 100644
index 0000000..485a28f
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/colibri_t30.patch
@@ -0,0 +1,220 @@
+diff -Naur git/board/nvidia/cardhu/pinmux-config-common.h git.old/board/nvidia/cardhu/pinmux-config-common.h
+--- git/board/nvidia/cardhu/pinmux-config-common.h 2012-01-28 12:16:26.000000000 +0100
++++ git.old/board/nvidia/cardhu/pinmux-config-common.h 2012-01-28 18:56:06.939970059 +0100
+@@ -174,20 +174,21 @@
+ DEFAULT_PINMUX(LCD_DC1, DISPLAYA, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(CRT_HSYNC, CRT, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(CRT_VSYNC, CRT, NORMAL, NORMAL, OUTPUT),
+- LV_PINMUX(VI_D0, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D1, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D2, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D3, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D0, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D1, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D2, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D3, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+ LV_PINMUX(VI_D4, VI, NORMAL, NORMAL, OUTPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D5, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D7, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D10, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_MCLK, VI, UP, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D5, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D7, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D10, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ /* Enable MIC_GND, Pulldown, so this is switched off by default*/
++ LV_PINMUX(VI_MCLK, RSVD1, DOWN, NORMAL, INPUT, DISABLE, DISABLE),
+ DEFAULT_PINMUX(UART2_RXD, IRDA, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(UART2_TXD, IRDA, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(UART2_RTS_N, UARTB, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(UART2_CTS_N, UARTB, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(UART3_TXD, UARTC, NORMAL, NORMAL, OUTPUT),
++ DEFAULT_PINMUX(UART3_TXD, UARTC, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(UART3_RXD, UARTC, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(UART3_CTS_N, UARTC, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(UART3_RTS_N, UARTC, NORMAL, NORMAL, OUTPUT),
+@@ -205,13 +206,13 @@
+ DEFAULT_PINMUX(CLK3_OUT, EXTPERIPH3, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(CLK3_REQ, DEV3, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_WP_N, GMI, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(GMI_CS2_N, RSVD1, UP, NORMAL, INPUT), /* EN_VDD_BL1 */
++ DEFAULT_PINMUX(GMI_CS2_N, NAND, UP, NORMAL, INPUT), /* EN_VDD_BL1 */
+ DEFAULT_PINMUX(GMI_AD8, PWM0, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_PWM */
+- DEFAULT_PINMUX(GMI_AD10, NAND, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_EN */
+- DEFAULT_PINMUX(GMI_A16, SPI4, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(GMI_A17, SPI4, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(GMI_A18, SPI4, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(GMI_A19, SPI4, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD10, PWM2, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_EN */
++ DEFAULT_PINMUX(GMI_A16, UARTD, NORMAL, NORMAL, OUTPUT),
++ DEFAULT_PINMUX(GMI_A17, UARTD, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_A18, UARTD, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_A19, UARTD, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(CAM_MCLK, VI_ALT2, UP, NORMAL, INPUT),
+ DEFAULT_PINMUX(GPIO_PCC1, RSVD1, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GPIO_PBB0, RSVD1, NORMAL, NORMAL, INPUT),
+@@ -256,13 +257,9 @@
+ DEFAULT_PINMUX(DAP1_DIN, I2S0, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(DAP1_DOUT, I2S0, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(DAP1_SCLK, I2S0, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(CLK1_REQ, DAP, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(CLK1_OUT, EXTPERIPH1, NORMAL, NORMAL, INPUT),
+-#ifdef CONFIG_SND_HDA_CODEC_REALTEK
+- DEFAULT_PINMUX(SPDIF_IN, DAP2, DOWN, NORMAL, INPUT),
+-#else
++ DEFAULT_PINMUX(CLK1_REQ, DAP, UP, NORMAL, INPUT),
++ DEFAULT_PINMUX(CLK1_OUT, EXTPERIPH1, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(SPDIF_IN, SPDIF, NORMAL, NORMAL, INPUT),
+-#endif
+ DEFAULT_PINMUX(SPDIF_OUT, SPDIF, NORMAL, NORMAL, OUTPUT),
+ #ifdef CONFIG_SND_HDA_CODEC_REALTEK
+ DEFAULT_PINMUX(DAP2_FS, HDA, DOWN, NORMAL, INPUT),
+@@ -280,9 +277,13 @@
+ DEFAULT_PINMUX(SPI1_SCK, SPI1, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(SPI1_CS0_N, SPI1, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(SPI1_MISO, SPI1, NORMAL, NORMAL, INPUT),
+- DEFAULT_PINMUX(PEX_L0_PRSNT_N, PCIE, NORMAL, NORMAL, INPUT),
++ /* ASIX RESET in */
++ DEFAULT_PINMUX(PEX_L0_PRSNT_N, PCIE, UP, NORMAL, INPUT),
++ /* ASIX wakeup */
+ DEFAULT_PINMUX(PEX_L0_RST_N, PCIE, NORMAL, NORMAL, OUTPUT),
+- DEFAULT_PINMUX(PEX_L0_CLKREQ_N, PCIE, NORMAL, NORMAL, INPUT),
++ /* ASIX VBUS in */
++ DEFAULT_PINMUX(PEX_L0_CLKREQ_N, PCIE, UP, NORMAL, INPUT),
++ /* ASIX PME in */
+ DEFAULT_PINMUX(PEX_WAKE_N, PCIE, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(PEX_L1_PRSNT_N, PCIE, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(PEX_L1_RST_N, PCIE, NORMAL, NORMAL, OUTPUT),
+@@ -294,10 +295,9 @@
+ DEFAULT_PINMUX(HDMI_INT, RSVD0, NORMAL, TRISTATE, INPUT),
+
+ /* Gpios */
+- /* SDMMC1 CD gpio */
+- DEFAULT_PINMUX(GMI_IORDY, RSVD1, UP, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_IORDY, NAND, UP, NORMAL, INPUT),
+ /* SDMMC1 WP gpio */
+- LV_PINMUX(VI_D11, RSVD1, UP, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D11, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+
+ /* Touch RESET */
+ DEFAULT_PINMUX(GMI_AD14, NAND, NORMAL, NORMAL, OUTPUT),
+@@ -310,11 +310,11 @@
+ DEFAULT_PINMUX(SDMMC3_DAT4, SDMMC3, UP, NORMAL, INPUT),
+
+ LV_PINMUX(VI_D6, VI, NORMAL, NORMAL, OUTPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D8, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_D9, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_PCLK, RSVD1, UP, TRISTATE, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_HSYNC, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+- LV_PINMUX(VI_VSYNC, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D8, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_D9, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_PCLK, VI, UP, TRISTATE, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_HSYNC, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
++ LV_PINMUX(VI_VSYNC, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE),
+ };
+
+ #if 0 // jz
+@@ -358,21 +358,21 @@
+
+ static struct pingroup_config unused_pins_lowpower[] = {
+ DEFAULT_PINMUX(GMI_CS0_N, NAND, UP, TRISTATE, OUTPUT),
+- DEFAULT_PINMUX(GMI_CS3_N, NAND, UP, TRISTATE, OUTPUT),
+- DEFAULT_PINMUX(GMI_CS4_N, NAND, UP, TRISTATE, OUTPUT),
++ DEFAULT_PINMUX(GMI_CS3_N, NAND, NORMAL, NORMAL, OUTPUT),
++ DEFAULT_PINMUX(GMI_CS4_N, NAND, NORMAL, NORMAL, OUTPUT),
+ DEFAULT_PINMUX(GMI_CS7_N, NAND, UP, NORMAL, INPUT),
+- DEFAULT_PINMUX(GMI_AD0, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD1, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD2, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD3, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD4, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD5, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD6, NAND, NORMAL, TRISTATE, INPUT),
+- DEFAULT_PINMUX(GMI_AD7, NAND, NORMAL, TRISTATE, INPUT),
++ DEFAULT_PINMUX(GMI_AD0, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD1, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD2, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD3, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD4, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD5, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD6, NAND, NORMAL, NORMAL, INPUT),
++ DEFAULT_PINMUX(GMI_AD7, NAND, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GMI_AD9, PWM1, NORMAL, TRISTATE, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD11, NAND, NORMAL, TRISTATE, OUTPUT),
+ DEFAULT_PINMUX(GMI_AD13, NAND, UP, NORMAL, INPUT),
+- DEFAULT_PINMUX(GMI_WR_N, NAND, NORMAL, TRISTATE, OUTPUT),
++ DEFAULT_PINMUX(GMI_WR_N, NAND, NORMAL, NORMAL, OUTPUT),
+ };
+
+ #endif /* PINMUX_CONFIG_COMMON_H */
+diff -Naur git/board/nvidia/cardhu/tegra3-cardhu.dts git.old/board/nvidia/cardhu/tegra3-cardhu.dts
+--- git/board/nvidia/cardhu/tegra3-cardhu.dts 2012-01-28 12:16:26.000000000 +0100
++++ git.old/board/nvidia/cardhu/tegra3-cardhu.dts 2012-01-28 16:52:31.660622281 +0100
+@@ -14,12 +14,17 @@
+ };
+
+ aliases {
++ /* UART A = UART1 */
+ console = "/serial@70006000";
+ usb0 = "/usb@0x7d008000";
+ usb1 = "/usb@0x7d000000";
+
++ /* SDMMC-4 */
+ sdmmc0 = "/sdhci@78000600";
+- sdmmc1 = "/sdhci@78000000";
++ /* SDMMC-1 */
++ /* sdmmc1 = "/sdhci@78000000";*/
++ /* SDMMC-2 */
++ sdmmc1 = "/sdhci@78000200";
+ };
+
+ chosen {
+@@ -40,19 +45,19 @@
+ clock-frequency = <408000000>;
+ };
+
+- sdhci@78000000 {
++ sdhci@78000200 {
+ status = "ok";
+ width = <4>; /* width of SDIO port */
+ removable = <1>;
+ /* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+- cd-gpio = <&gpio 69 0>; /* card detect, gpio PI5 */
+- wp-gpio = <&gpio 155 0>; /* write protect, gpio PT3 */
+- power-gpio = <&gpio 31 3>; /* power enable, gpio PD7 */
++ /* cd-gpio = <&gpio 69 0>; *//* card detect, gpio PI5 */
++ /*wp-gpio = <&gpio 155 0>; *//* write protect, gpio PT3 */
++ /*power-gpio = <&gpio 31 3>;*/ /* power enable, gpio PD7 */
+ };
+
+ sdhci@78000600 {
+ status = "ok";
+- width = <4>; /* width of SDIO port */
++ width = <8>; /* width of SDIO port */
+ removable = <0>;
+ };
+
+@@ -61,7 +66,7 @@
+ width = <1366>;
+ height = <768>;
+ bits_per_pixel = <16>;
+- pwfm = <&pwfm0>;
++ /*pwfm = <&pwfm0>;*/
+ display = <&display1>;
+ frame-buffer = <0x1C022000>;
+
+@@ -72,10 +77,10 @@
+ vert_timing = <12 5 20 25>;
+
+ /* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+- gpios = <&gpio 56 3>, /* PH0, LCD1_BL_PWM */
+- <&gpio 58 3>, /* PH2, LCD1_BL_EN */
+- <&gpio 90 3>, /* PL2, LVDS1_SHTDN */
+- <&gpio 92 3>; /* PL4, EN_VDD_PNL1 */
++ /*gpios = <&gpio 56 3>,*/ /* PH0, LCD1_BL_PWM */
++ /*<&gpio 58 3>,*/ /* PH2, LCD1_BL_EN */
++ /*<&gpio 90 3>,*/ /* PL2, LVDS1_SHTDN */
++ /*<&gpio 92 3>;*/ /* PL4, EN_VDD_PNL1 */
+ };
+
+ usb@0x7d000000 {
diff --git a/recipes-bsp/u-boot/u-boot-git/remove-overlay.patch b/recipes-bsp/u-boot/u-boot-git/remove-overlay.patch
new file mode 100644
index 0000000..dfd9ba3
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/remove-overlay.patch
@@ -0,0 +1,11 @@
+--- git/arch/arm/cpu/armv7/u-boot.lds 2012-06-02 21:16:34.000000000 +0200
++++ x
+@@ -68,7 +68,7 @@
+
+ _end = .;
+
+- .bss __rel_dyn_start (OVERLAY) : {
++ .bss __rel_dyn_start : {
+ __bss_start = .;
+ *(.bss)
+ . = ALIGN(4);
diff --git a/recipes-bsp/u-boot/u-boot-git/remove-unused.patch b/recipes-bsp/u-boot/u-boot-git/remove-unused.patch
new file mode 100644
index 0000000..92e933f
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/remove-unused.patch
@@ -0,0 +1,104 @@
+diff -urNdb u-boot/arch/arm/cpu/armv7/tegra-common/board.c u-boot.new/arch/arm/cpu/armv7/tegra-common/board.c
+--- u-boot/arch/arm/cpu/armv7/tegra-common/board.c 2011-12-15 17:28:52.000000000 +0100
++++ u-boot.new/arch/arm/cpu/armv7/tegra-common/board.c 2011-12-20 15:05:10.603876354 +0100
+@@ -41,6 +41,7 @@
+ u32 reg;
+
+ reg = readl(&pmc->pmc_scratch20);
++ (void) reg;
+ debug("pmc->pmc_scratch20 (ODMData) = 0x%08X\n", reg);
+
+ //Colibri T20 does not use OdmData
+diff -urNdb u-boot/common/cmd_mtdparts.c u-boot.new/common/cmd_mtdparts.c
+--- u-boot/common/cmd_mtdparts.c 2011-12-06 17:10:16.000000000 +0100
++++ u-boot.new/common/cmd_mtdparts.c 2011-12-20 15:12:07.454221888 +0100
+@@ -871,9 +871,12 @@
+ debug("dev type = %d (%s), dev num = %d, mtd-id = %s\n",
+ id->type, MTD_DEV_TYPE(id->type),
+ id->num, id->mtd_id);
++#ifdef DEBUG
+ pend = strchr(p, ';');
+ debug("parsing partitions %.*s\n", (pend ? pend - p : strlen(p)), p);
+-
++#else
++ (void)pend;
++#endif
+
+ /* parse partitions */
+ num_parts = 0;
+diff -urNdb u-boot/common/cmd_ubi.c u-boot.new/common/cmd_ubi.c
+--- u-boot/common/cmd_ubi.c 2011-12-06 17:10:16.000000000 +0100
++++ u-boot.new/common/cmd_ubi.c 2011-12-20 15:14:57.464387590 +0100
+@@ -316,7 +316,6 @@
+ static int ubi_volume_read(char *volume, char *buf, size_t size)
+ {
+ int err, lnum, off, len, tbuf_size;
+- size_t count_save = size;
+ void *tbuf;
+ unsigned long long tmp;
+ struct ubi_volume *vol;
+@@ -347,7 +346,7 @@
+ if (vol->corrupted)
+ printf("read from corrupted volume %d", vol->vol_id);
+ if (offp + size > vol->used_bytes)
+- count_save = size = vol->used_bytes - offp;
++ size = vol->used_bytes - offp;
+
+ tbuf_size = vol->usable_leb_size;
+ if (size < tbuf_size)
+diff -urNdb u-boot/drivers/mtd/ubi/vmt.c u-boot.new/drivers/mtd/ubi/vmt.c
+--- u-boot/drivers/mtd/ubi/vmt.c 2011-12-06 17:10:16.000000000 +0100
++++ u-boot.new/drivers/mtd/ubi/vmt.c 2011-12-20 15:16:48.334522354 +0100
+@@ -684,6 +684,7 @@
+
+ ubi->volumes[vol->vol_id] = NULL;
+ err = ubi_destroy_gluebi(vol);
++ (void) err;
+ cdev_del(&vol->cdev);
+ volume_sysfs_close(vol);
+ }
+diff -urNdb u-boot/drivers/usb/eth/asix.c u-boot.new/drivers/usb/eth/asix.c
+--- u-boot/drivers/usb/eth/asix.c 2011-12-15 17:28:52.000000000 +0100
++++ u-boot.new/drivers/usb/eth/asix.c 2011-12-20 15:22:59.254665754 +0100
+@@ -364,6 +364,8 @@
+
+ rx_ctl = asix_read_rx_ctl(dev);
+ debug("RX_CTL is 0x%04x after software reset\n", rx_ctl);
++ (void)rx_ctl;
++
+ if (asix_write_rx_ctl(dev, 0x0000) < 0)
+ goto out_err;
+
+diff -urNdb u-boot/fs/jffs2/jffs2_1pass.c u-boot.new/fs/jffs2/jffs2_1pass.c
+--- u-boot/fs/jffs2/jffs2_1pass.c 2011-12-06 17:10:01.000000000 +0100
++++ u-boot.new/fs/jffs2/jffs2_1pass.c 2011-12-20 15:40:45.114614263 +0100
+@@ -813,6 +813,7 @@
+ #if 0
+ putLabeledWord("read_inode: returning = ", totalSize);
+ #endif
++ (void) ret;
+ return totalSize;
+ }
+
+@@ -1575,9 +1576,8 @@
+
+ if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) {
+ uint32_t inbuf_ofs;
+- uint32_t empty_start, scan_end;
++ uint32_t scan_end;
+
+- empty_start = ofs;
+ ofs += 4;
+ scan_end = min_t(uint32_t, EMPTY_SCAN_SIZE(
+ part->sector_size)/8,
+diff -urNdb u-boot/lib/lzo/lzo1x_decompress.c u-boot.new/lib/lzo/lzo1x_decompress.c
+--- u-boot/lib/lzo/lzo1x_decompress.c 2011-12-06 17:10:00.000000000 +0100
++++ u-boot.new/lib/lzo/lzo1x_decompress.c 2011-12-20 15:42:36.064554125 +0100
+@@ -48,6 +48,7 @@
+ src += 7;
+ if (version >= 0x0940)
+ level = *src++;
++ (void) level;
+ if (get_unaligned_be32(src) & HEADER_HAS_FILTER)
+ src += 4; /* filter info */
+
diff --git a/recipes-bsp/u-boot/u-boot-git/tegra2-nand-warning.patch b/recipes-bsp/u-boot/u-boot-git/tegra2-nand-warning.patch
new file mode 100644
index 0000000..ad039ca
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/tegra2-nand-warning.patch
@@ -0,0 +1,12 @@
+--- /home/tegradev/oe/output/work/colibri-t20-angstrom-linux-gnueabi/u-boot-git-r80/git/board/toradex/common/tegra2_nand.c~ 2012-01-17 11:09:37.000000000 +0100
++++ /home/tegradev/oe/output/work/colibri-t20-angstrom-linux-gnueabi/u-boot-git-r80/git/board/toradex/common/tegra2_nand.c 2012-01-18 20:06:36.439745214 +0100
+@@ -954,7 +954,8 @@
+ tmp_id = nand_read_byte(&tmp_mtd);
+ tmp_3rd = nand_read_byte(&tmp_mtd);
+ tmp_4th = nand_read_byte(&tmp_mtd);
+-
++ (void)tmp_3rd;
++
+ sprintf(compat, "%02X,%02X,%02X", tmp_manf, tmp_id, tmp_4th);
+ node = fdt_node_offset_by_compatible(gd->blob, 0, compat);
+ if (node < 0) {
diff --git a/recipes-bsp/u-boot/u-boot-git/u-boot-board-unused.patch b/recipes-bsp/u-boot/u-boot-git/u-boot-board-unused.patch
new file mode 100644
index 0000000..98a33a9
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/u-boot-board-unused.patch
@@ -0,0 +1,62 @@
+--- git/board/toradex/common/board.c 2012-06-02 21:16:34.000000000 +0200
++++ git/board/toradex/common/board.c 2012-06-02 22:27:51.000000000 +0200
+@@ -146,14 +146,21 @@
+ #error "tegra: We need CONFIG_TEGRA_PMU to support CONFIG_TEGRA_CLOCK_SCALING"
+ #endif
+
++#define GENERATE_FUSE_DEV_INFO 0
+ static TrdxBootDevice board_get_current_bootdev(void)
+ {
+- unsigned reg, reg1, reg2;
++ unsigned reg;
++#if GENERATE_FUSE_DEV_INFO
++ unsigned reg1 = 0;
++ unsigned reg2;
++#endif
+ unsigned strap_select;
+ unsigned skip_strap;
+ unsigned fuse_select;
++#if GENERATE_FUSE_DEV_INFO
+ unsigned fuse_device_info;
+ unsigned sdmmc_instance;
++#endif
+ TrdxBootDevice boot_device;
+
+ //get the latched strap pins, bit [26:29]
+@@ -187,15 +194,12 @@
+
+ clock_disable(PERIPH_ID_FUSE);
+ #else
+- (void)reg2;
+ #ifdef CONFIG_TEGRA3
+ //simulate a T30 fuse setting
+ reg = NvBootFuseBootDevice_Sdmmc;
+- reg1 = 0;
+ #else
+ //simulate a T20 fuse setting
+ reg = NvBootFuseBootDevice_NandFlash;
+- reg1 = 0;
+ #endif
+ #endif
+ //get the fuse 'SKIP_DEV_SEL_STRAPS', bit 3
+@@ -207,8 +211,10 @@
+ {
+ printf("Using fuses, %u\n", fuse_select);
+ //getting fuse device info and sdmmc instance, bit 7 of fuse_device info
++#if GENERATE_FUSE_DEV_INFO
+ fuse_device_info = reg1 & 0x3fff;
+ sdmmc_instance = ((reg1 & 0x80)==0x80) ? 2 : 3;
++#endif
+ switch(fuse_select)
+ {
+ case NvBootFuseBootDevice_Sdmmc:
+@@ -225,7 +231,9 @@
+ else
+ {
+ /* printf("Using straps, %u\n", strap_select);*/
++#if GENERATE_FUSE_DEV_INFO
+ sdmmc_instance = 3;
++#endif
+ switch(strap_select)
+ {
+ case NvStrapDevSel_Emmc_Primary_x4:
diff --git a/recipes-bsp/u-boot/u-boot-git/u-boot-userspacetools.patch b/recipes-bsp/u-boot/u-boot-git/u-boot-userspacetools.patch
new file mode 100644
index 0000000..6e7a3e9
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/u-boot-userspacetools.patch
@@ -0,0 +1,12 @@
+diff -urNdb u-boot-git.old//tools/env/Makefile u-boot-git//tools/env/Makefile
+--- u-boot-git.old//tools/env/Makefile 2011-11-19 18:17:17.000000000 +0100
++++ u-boot-git//tools/env/Makefile 2011-11-19 18:15:22.000000000 +0100
+@@ -28,6 +28,8 @@
+
+ CPPFLAGS := -Wall -DUSE_HOSTCC -I$(SRCTREE)/include
+
++CPPFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=soft -mthumb-interwork -mno-thumb
++
+ ifeq ($(MTD_VERSION),old)
+ CPPFLAGS += -DMTD_OLD
+ endif
diff --git a/recipes-bsp/u-boot/u-boot-git/u-boot-warning.patch b/recipes-bsp/u-boot/u-boot-git/u-boot-warning.patch
new file mode 100644
index 0000000..2552464
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/u-boot-warning.patch
@@ -0,0 +1,272 @@
+#--- git/include/common.h~ 2012-05-31 21:57:20.000000000 +0200
+#+++ git/include/common.h 2012-05-31 21:57:43.000000000 +0200
+@@ -1,3 +1,6 @@
++#pragma GCC diagnostic warning "-Wunused-but-set-variable"
++#pragma GCC diagnostic warning "-Wmaybe-uninitialized"
++#pragma GCC diagnostic warning "-Wstrict-aliasing"
+ /*
+ * (C) Copyright 2000-2009
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/board/toradex/common/tegra2_nand.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/board/toradex/common/tegra2_nand.c
+--- git/board/toradex/common/tegra2_nand.c 2012-06-01 00:56:03.000000000 +0200
++++ git/board/toradex/common/tegra2_nand.c 2012-06-01 01:03:43.000000000 +0200
+@@ -919,7 +919,7 @@
+ struct nand_info *info = &nand_ctrl;
+ struct fdt_nand *config = &info->config;
+ struct mtd_info tmp_mtd;
+- int tmp_manf, tmp_id, tmp_3rd, tmp_4th;
++ int tmp_manf, tmp_id, /*tmp_3rd,*/ tmp_4th;
+ char compat[8];
+ int node;
+
+@@ -952,7 +952,8 @@
+ /* Read manufacturer and device IDs */
+ tmp_manf = nand_read_byte(&tmp_mtd);
+ tmp_id = nand_read_byte(&tmp_mtd);
+- tmp_3rd = nand_read_byte(&tmp_mtd);
++ /*tmp_3rd = nand_read_byte(&tmp_mtd);
++ (void) tmp_3rd;*/
+ tmp_4th = nand_read_byte(&tmp_mtd);
+
+ sprintf(compat, "%02X,%02X,%02X", tmp_manf, tmp_id, tmp_4th);
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/common/cmd_mtdparts.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/common/cmd_mtdparts.c
+--- git/common/cmd_mtdparts.c 2012-06-01 00:56:04.000000000 +0200
++++ git/common/cmd_mtdparts.c 2012-06-01 01:06:16.000000000 +0200
+@@ -838,7 +838,7 @@
+ struct mtdids *id;
+ const char *mtd_id;
+ unsigned int mtd_id_len;
+- const char *p, *pend;
++ const char *p;
+ LIST_HEAD(tmp_list);
+ struct list_head *entry, *n;
+ u16 num_parts;
+@@ -871,8 +871,7 @@
+ debug("dev type = %d (%s), dev num = %d, mtd-id = %s\n",
+ id->type, MTD_DEV_TYPE(id->type),
+ id->num, id->mtd_id);
+- pend = strchr(p, ';');
+- debug("parsing partitions %.*s\n", (pend ? pend - p : strlen(p)), p);
++ debug("parsing partitions %.*s\n", (strchr(p, ';') ? strchr(p, ';') - p : strlen(p)), p);
+
+
+ /* parse partitions */
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/common/cmd_nand.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/common/cmd_nand.c
+--- git/common/cmd_nand.c 2012-06-01 00:56:04.000000000 +0200
++++ git/common/cmd_nand.c 2012-06-01 01:08:03.000000000 +0200
+@@ -190,7 +190,7 @@
+ loff_t *off, loff_t *size)
+ {
+ int ret;
+- loff_t maxsize;
++ loff_t maxsize=0;
+
+ if (argc == 0) {
+ *off = 0;
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/common/cmd_ubi.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/common/cmd_ubi.c
+--- git/common/cmd_ubi.c 2012-06-01 00:56:04.000000000 +0200
++++ git/common/cmd_ubi.c 2012-06-01 01:09:33.000000000 +0200
+@@ -316,7 +316,6 @@
+ static int ubi_volume_read(char *volume, char *buf, size_t size)
+ {
+ int err, lnum, off, len, tbuf_size;
+- size_t count_save = size;
+ void *tbuf;
+ unsigned long long tmp;
+ struct ubi_volume *vol;
+@@ -347,7 +346,7 @@
+ if (vol->corrupted)
+ printf("read from corrupted volume %d", vol->vol_id);
+ if (offp + size > vol->used_bytes)
+- count_save = size = vol->used_bytes - offp;
++ size = vol->used_bytes - offp;
+
+ tbuf_size = vol->usable_leb_size;
+ if (size < tbuf_size)
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/common/cmd_ximg.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/common/cmd_ximg.c
+--- git/common/cmd_ximg.c 2012-06-01 00:56:04.000000000 +0200
++++ git/common/cmd_ximg.c 2012-06-01 01:15:20.000000000 +0200
+@@ -55,7 +55,7 @@
+ int verify;
+ int part = 0;
+ char pbuf[10];
+- image_header_t *hdr;
++ image_header_t *hdr = NULL;
+ #if defined(CONFIG_FIT)
+ const char *uname = NULL;
+ const void* fit_hdr;
+@@ -238,16 +238,22 @@
+ * space, use slower decompression algorithm
+ * which requires at most 2300 KB of memory.
+ */
+- i = BZ2_bzBuffToBuffDecompress(
+- (char*)ntohl(hdr->ih_load),
+- &unc_len, (char *)data, len,
+- CONFIG_SYS_MALLOC_LEN < (4096 * 1024),
+- 0);
+- if (i != BZ_OK) {
+- printf ("BUNZIP2 ERROR %d - "
+- "image not loaded\n", i);
++ if(hdr == NULL) {
++ printf ("hdr not set\n");
+ return 1;
+ }
++ else {
++ i = BZ2_bzBuffToBuffDecompress(
++ (char*)ntohl(hdr->ih_load),
++ &unc_len, (char *)data, len,
++ CONFIG_SYS_MALLOC_LEN < (4096 * 1024),
++ 0);
++ if (i != BZ_OK) {
++ printf ("BUNZIP2 ERROR %d - "
++ "image not loaded\n", i);
++ return 1;
++ }
++ }
+ }
+ break;
+ #endif /* CONFIG_BZIP2 */
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/drivers/mtd/ubi/vmt.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/drivers/mtd/ubi/vmt.c
+--- git/drivers/mtd/ubi/vmt.c 2012-06-01 00:56:04.000000000 +0200
++++ git/drivers/mtd/ubi/vmt.c 2012-06-01 01:17:21.000000000 +0200
+@@ -678,12 +678,10 @@
+ */
+ void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol)
+ {
+- int err;
+-
+ dbg_msg("free volume %d", vol->vol_id);
+
+ ubi->volumes[vol->vol_id] = NULL;
+- err = ubi_destroy_gluebi(vol);
++ (void)ubi_destroy_gluebi(vol);
+ cdev_del(&vol->cdev);
+ volume_sysfs_close(vol);
+ }
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/drivers/usb/eth/asix.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/drivers/usb/eth/asix.c
+--- git/drivers/usb/eth/asix.c 2012-06-01 00:56:04.000000000 +0200
++++ git/drivers/usb/eth/asix.c 2012-06-01 01:22:07.000000000 +0200
+@@ -326,7 +326,6 @@
+ {
+ int embd_phy;
+ unsigned char buf[ETH_ALEN];
+- u16 rx_ctl;
+ struct ueth_data *dev = (struct ueth_data *)eth->priv;
+ int timeout = 0;
+ char *addr_str, *end;
+@@ -363,13 +362,11 @@
+ goto out_err;
+ }
+
+- rx_ctl = asix_read_rx_ctl(dev);
+- debug("RX_CTL is 0x%04x after software reset\n", rx_ctl);
++ (void) asix_read_rx_ctl(dev);
+ if (asix_write_rx_ctl(dev, 0x0000) < 0)
+ goto out_err;
+
+- rx_ctl = asix_read_rx_ctl(dev);
+- debug("RX_CTL is 0x%04x setting to 0x0000\n", rx_ctl);
++ (void) asix_read_rx_ctl(dev);
+
+ if ((dev->pusb_dev->descriptor.idVendor == 0x0b95) && (dev->pusb_dev->descriptor.idProduct == 0x772b)) {
+ #define AX_CMD_READ_EEPROM 0x0B
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/fs/jffs2/jffs2_1pass.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/fs/jffs2/jffs2_1pass.c
+--- git/fs/jffs2/jffs2_1pass.c 2012-06-01 00:56:04.000000000 +0200
++++ git/fs/jffs2/jffs2_1pass.c 2012-06-01 01:26:48.000000000 +0200
+@@ -696,7 +696,6 @@
+ u32 latestVersion = 0;
+ uchar *lDest;
+ uchar *src;
+- long ret;
+ int i;
+ u32 counter = 0;
+ #ifdef CONFIG_SYS_JFFS2_SORT_FRAGMENTS
+@@ -768,28 +767,23 @@
+ #endif
+ switch (jNode->compr) {
+ case JFFS2_COMPR_NONE:
+- ret = (unsigned long) ldr_memcpy(lDest, src, jNode->dsize);
++ (void) ldr_memcpy(lDest, src, jNode->dsize);
+ break;
+ case JFFS2_COMPR_ZERO:
+- ret = 0;
+ for (i = 0; i < jNode->dsize; i++)
+ *(lDest++) = 0;
+ break;
+ case JFFS2_COMPR_RTIME:
+- ret = 0;
+ rtime_decompress(src, lDest, jNode->csize, jNode->dsize);
+ break;
+ case JFFS2_COMPR_DYNRUBIN:
+ /* this is slow but it works */
+- ret = 0;
+ dynrubin_decompress(src, lDest, jNode->csize, jNode->dsize);
+ break;
+ case JFFS2_COMPR_ZLIB:
+- ret = zlib_decompress(src, lDest, jNode->csize, jNode->dsize);
+ break;
+ #if defined(CONFIG_JFFS2_LZO)
+ case JFFS2_COMPR_LZO:
+- ret = lzo_decompress(src, lDest, jNode->csize, jNode->dsize);
+ break;
+ #endif
+ default:
+@@ -1575,9 +1569,8 @@
+
+ if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) {
+ uint32_t inbuf_ofs;
+- uint32_t empty_start, scan_end;
++ uint32_t scan_end;
+
+- empty_start = ofs;
+ ofs += 4;
+ scan_end = min_t(uint32_t, EMPTY_SCAN_SIZE(
+ part->sector_size)/8,
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/include/u-boot/md5.h u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/include/u-boot/md5.h
+--- git/include/u-boot/md5.h 2012-06-01 00:56:04.000000000 +0200
++++ git/include/u-boot/md5.h 2012-06-01 01:44:25.000000000 +0200
+@@ -11,7 +11,10 @@
+ struct MD5Context {
+ __u32 buf[4];
+ __u32 bits[2];
+- unsigned char in[64];
++ union {
++ unsigned char in[64];
++ __u32 in32[16];
++ };
+ };
+
+ /*
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/lib/lzo/lzo1x_decompress.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/lib/lzo/lzo1x_decompress.c
+--- git/lib/lzo/lzo1x_decompress.c 2012-06-01 00:56:04.000000000 +0200
++++ git/lib/lzo/lzo1x_decompress.c 2012-06-01 01:31:29.000000000 +0200
+@@ -32,7 +32,6 @@
+
+ static inline const unsigned char *parse_header(const unsigned char *src)
+ {
+- u8 level = 0;
+ u16 version;
+ int i;
+
+@@ -47,7 +46,6 @@
+ version = get_unaligned_be16(src);
+ src += 7;
+ if (version >= 0x0940)
+- level = *src++;
+ if (get_unaligned_be32(src) & HEADER_HAS_FILTER)
+ src += 4; /* filter info */
+
+diff -Naur u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0.orig/git/lib/md5.c u-boot-r0+gitra86e39a5abbe0a14106bc7ae828fb48a10396a91-r0/git/lib/md5.c
+--- git/lib/md5.c 2012-06-01 00:56:04.000000000 +0200
++++ git/lib/md5.c 2012-06-01 01:42:05.000000000 +0200
+@@ -153,8 +153,8 @@
+ byteReverse(ctx->in, 14);
+
+ /* Append length in bits and transform */
+- ((__u32 *) ctx->in)[14] = ctx->bits[0];
+- ((__u32 *) ctx->in)[15] = ctx->bits[1];
++ ctx->in32[14] = ctx->bits[0];
++ ctx->in32[15] = ctx->bits[1];
+
+ MD5Transform(ctx->buf, (__u32 *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
diff --git a/recipes-bsp/u-boot/u-boot-git/u-boot_ap20warning.patch b/recipes-bsp/u-boot/u-boot-git/u-boot_ap20warning.patch
new file mode 100644
index 0000000..d99fc12
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-git/u-boot_ap20warning.patch
@@ -0,0 +1,11 @@
+--- git/arch/arm/cpu/armv7/tegra3/ap20.c 2012-01-28 12:16:25.000000000 +0100
++++ git/arch/arm/cpu/armv7/tegra3/ap20.c~ 2012-01-28 12:42:44.640356495 +0100
+@@ -72,6 +72,8 @@
+ return id == (PG_UP_TAG_0_PID_CPU & 0xff);
+ }
+
++//u-boot treats all errors as warnings, &clkrst->crc_pll[CLOCK_ID_XCPU] uses a subscript out of range
++#pragma GCC diagnostic warning "-Warray-bounds"
+ static int pllx_set_rate(u32 divn, u32 divm, u32 divp, u32 cpcon)
+ {
+ struct clk_rst_ctlr *clkrst = (struct clk_rst_ctlr *)NV_PA_CLK_RST_BASE;
diff --git a/recipes-bsp/u-boot/u-boot.inc b/recipes-bsp/u-boot/u-boot.inc
new file mode 100644
index 0000000..720f995
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot.inc
@@ -0,0 +1,68 @@
+DESCRIPTION = "U-Boot - the Universal Boot Loader"
+HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+SECTION = "bootloaders"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b"
+
+PROVIDES = "virtual/bootloader"
+
+DEPENDS = "mtd-utils"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+PARALLEL_MAKE=""
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+
+UBOOT_MACHINE ?= "${MACHINE}_config"
+UBOOT_BINARY ?= "u-boot.bin"
+UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
+UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
+UBOOT_MAKE_TARGET ?= "all"
+
+do_configure () {
+ oe_runmake ${UBOOT_MACHINE}
+}
+
+do_compile () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake ${UBOOT_MAKE_TARGET}
+}
+
+do_install () {
+ install -d ${D}/boot
+ install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
+ ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
+
+ if [ -e ${WORKDIR}/fw_env.config ] ; then
+ install -d ${D}${sysconfdir}
+ install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+ fi
+
+}
+
+FILES_${PN} = "/boot ${sysconfdir}"
+# no gnu_hash in uboot.bin, by design, so skip QA
+INSANE_SKIP_${PN} = "1"
+
+inherit deploy
+
+addtask deploy before do_package after do_compile
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install ${S}/${UBOOT_BINARY} ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
+
+ cd ${DEPLOY_DIR_IMAGE}
+ rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
+ ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
+ ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
+
+ if [ -e ${S}/MLO ] ; then
+ install ${S}/MLO ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE}-${PV}
+ rm -f ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE} ${DEPLOY_DIR_IMAGE}/MLO
+ ln -sf MLO-${MACHINE}-${PV} ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE}
+ ln -sf MLO-${MACHINE}-${PV} ${DEPLOY_DIR_IMAGE}/MLO
+ fi
+}
diff --git a/recipes-bsp/u-boot/u-boot_git.bb b/recipes-bsp/u-boot/u-boot_git.bb
new file mode 100644
index 0000000..2b32ab8
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot_git.bb
@@ -0,0 +1,61 @@
+require u-boot.inc
+PR ="r68"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_ti814x = "-1"
+DEFAULT_PREFERENCE_ti816x = "-1"
+
+FILESPATHPKG =. "u-boot-git:"
+
+# ~ TI PSP v2009.11_OMAPPSP_03.00.01.06 (+ couple of commits)
+SRC_URI_omap3evm = "git://arago-project.org/git/projects/u-boot-omap3.git;protocol=git \
+ file://0001-omap3evm-Change-default-console-serial-port-from.patch \
+"
+SRCREV_${PN}_omap3evm = "c0a8fb217fdca7888d89f9a3dee74a4cec865620"
+PV_omap3evm = "2009.11+${PR}+gitr${SRCREV}"
+
+# ~ TI PSP v2009.11_OMAPPSP_03.00.01.06 (+ couple of commits)
+SRC_URI_pn-${PN}_am3517-evm = "git://arago-project.org/git/projects/u-boot-omap3.git;protocol=git"
+SRCREV_pn-${PN}_am3517-evm = "c0a8fb217fdca7888d89f9a3dee74a4cec865620"
+PV_pn-${PN}_am3517-evm = "2009.11+${PR}+gitr${SRCREV}"
+
+# ~ TI PSP v2009.11_OMAPPSP_03.00.01.06 (+ couple of commits)
+SRC_URI_am37x-evm = "git://arago-project.org/git/projects/u-boot-omap3.git;protocol=git \
+ file://0001-omap3evm-Change-default-console-serial-port-from.patch \
+"
+SRCREV_pn-${PN}_am37x-evm = "c0a8fb217fdca7888d89f9a3dee74a4cec865620"
+PV_am37x-evm = "2009.11+${PR}+gitr${SRCREV}"
+
+SRC_URI_omap3-touchbook = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev;protocol=git \
+ file://fw_env.config \
+ file://dss2.patch \
+ file://600mhz.patch \
+ file://new-pinmux.patch \
+ file://spi3.patch \
+ file://spi4.patch \
+ file://headphone.patch \
+ file://power.patch \
+ file://ai-logo.patch \
+ file://mmcinit.patch \
+ file://touchbook-config.patch \
+ file://dont-inline-weak-symbols.patch \
+"
+SRCREV_pn-${PN}_omap3-touchbook = "d363f9cb0918a1b6b92e2e20d01543d0c4f53274"
+PV_omap3-touchbook = "2009.05+${PR}+gitr${SRCREV}"
+
+# OMAPL1 omapl137/omapl138 - PSP 3.20.0.11
+
+SRC_URI_omapl138 = "git://arago-project.org/git/projects/u-boot-omapl1.git;protocol=http"
+SRCREV_pn-${PN}_omapl138 = "5f16b8551b125f16cd8d58f278cb25b94272fd9f"
+PV_omapl138 = "2009.11+${PR}+gitr${SRCREV}"
+
+# hawkboard - master branch (hawk still .07beta)
+SRC_URI_hawkboard = "git://arago-project.org/git/people/sekhar/u-boot-omapl1.git;protocol=git;branch=master"
+SRC_URI_hawkboard += "file://dont-inline-weak-symbols2.patch"
+SRCREV_pn-${PN}_hawkboard = "0d291f2f255e6d66a78b3dc2445362a96ae39a57"
+PV_hawkboard = "2009.08+gitr${SRCREV}"
+
+
+S = "${WORKDIR}/git"
+
+RRECOMMENDS_${PN}_omap3-touchbook = "u-boot-fw-utils"
diff --git a/recipes-bsp/u-boot/u-boot_git.bbappend b/recipes-bsp/u-boot/u-boot_git.bbappend
new file mode 100644
index 0000000..27ce04a
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot_git.bbappend
@@ -0,0 +1,70 @@
+# Extends the core U-Boot GIT recipe
+# to take the u-boot sources including the colibri stuff from our git repository
+PR ="r1"
+DEPENDS += "dtc-native"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-git:"
+
+# Also overwries the license checksum to suit the updated text file in our U-Boot snapshot.
+LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
+
+COMPATIBLE_MACHINE_colibri-t20 = "colibri-t20"
+COMPATIBLE_MACHINE_colibri-t30 = "colibri-t30"
+
+DEFAULT_PREFERENCE_colibri-t20 = "1"
+DEFAULT_PREFERENCE_colibri-t30 = "1"
+
+UBOOT_MACHINE_colibri-t20 = "colibri_t20_config"
+UBOOT_MACHINE_colibri-t30 = "colibri_t30_config"
+
+#gitorious git
+FILESPATHPKG =. "git:"
+S="${WORKDIR}/git"
+SRC_URI_COLIBRI = "git://gitorious.org/colibri-t20-embedded-linux-bsp/colibri_t20-u-boot.git;protocol=git;branch=master \
+ file://u-boot-warning.patch \
+ file://u-boot-board-unused.patch \
+"
+
+# file://remove-unused.patch \
+# file://u-boot_ap20warning.patch \
+# file://colibri_t30.patch \
+# file://bootaddr.patch \
+#"
+SRCREV_colibri-t20 = "63c37d9e1d3ea97391576384d237728c44b5e33b"
+SRCREV_colibri-t30 = "63c37d9e1d3ea97391576384d237728c44b5e33b"
+
+PV_colibri-t20 = "${PR}+gitr${SRCREV}"
+PV_colibri-t30 = "${PR}+gitr${SRCREV}"
+
+#internal SVN
+#S = "${WORKDIR}/bootloader/u-boot"
+#SVN_REV = 218
+#SRC_URI_COLIBRI = "svn://tegradev:tegra123!@mammut.toradex.int:8090/colibri_tegra_linux/trunk;module=bootloader/u-boot;rev=${SVN_REV};proto=http \
+# file://remove-unused.patch "
+
+SRC_URI_colibri-t20 = "${SRC_URI_COLIBRI} "
+SRC_URI_colibri-t30 = "${SRC_URI_COLIBRI} "
+
+#compile with -O2 not -Os as with gcc 4.5 the code does not work
+do_configure_append() {
+ # sed -i -e 's/-Os/-O2 -fno-ipa-sra -fno-caller-saves -fno-schedule-insns/' ${S}/config.mk
+ sed -i -e 's/-Os/-O2 -fno-ipa-sra -fno-caller-saves -fno-schedule-insns -mno-unaligned-access/' ${S}/config.mk
+}
+
+
+#build additionally a u-boot binary which uses/stores its environment on an T20 external sd or mmc card
+do_compile_append_colibri-t20() {
+ mv u-boot.bin u-boot-nand.bin
+ oe_runmake colibri_t20_sdboot_config
+ oe_runmake all
+ mv u-boot.bin u-boot-hsmmc.bin
+ mv u-boot-nand.bin u-boot.bin
+}
+
+UBOOT_IMAGE ?= "u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin"
+do_deploy_append_colibri-t20 () {
+ install ${S}/u-boot-hsmmc.bin ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin
+ ln -sf u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc.bin
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc.bin
+}
diff --git a/recipes-bsp/u-boot/u-boot_git.bbappend.orig b/recipes-bsp/u-boot/u-boot_git.bbappend.orig
new file mode 100644
index 0000000..9a1acc8
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot_git.bbappend.orig
@@ -0,0 +1,23 @@
+# Extends the core U-Boot GIT recipe
+# to take the u-boot sources including the colibri stuff from our git repository
+
+# Also overwries the license checksum to suit the updated text file in our U-Boot snapshot.
+#LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
+
+COMPATIBLE_MACHINE = "omap3-pandora"
+DEFAULT_PREFERENCE_omap3-pandora = "1"
+
+# Latest SRCREV.
+SRCREV_pn-${PN}_omap3-pandora = "55d0d2dd5d07fbfd57309997c38da5281b9824b5"
+
+PR ="r3"
+PV_omap3-pandora = "omap3-pandora+${PR}+gitr${SRCREV}"
+
+SRC_URI_omap3-pandora = "git://git.openpandora.org/pandora-u-boot.git;branch=pandora-2011.12;protocol=git \
+"
+
+UBOOT_MACHINE_omap3-pandora = "omap3_pandora_config"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/u-boot/u-boot_git.bbappend~ b/recipes-bsp/u-boot/u-boot_git.bbappend~
new file mode 100644
index 0000000..ad1be2f
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot_git.bbappend~
@@ -0,0 +1,68 @@
+# Extends the core U-Boot GIT recipe
+# to take the u-boot sources including the colibri stuff from our git repository
+PR ="r1"
+DEPENDS += "dtc-native"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-git:"
+
+# Also overwries the license checksum to suit the updated text file in our U-Boot snapshot.
+LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
+
+COMPATIBLE_MACHINE_colibri-t20 = "colibri-t20"
+COMPATIBLE_MACHINE_colibri-t30 = "colibri-t30"
+
+DEFAULT_PREFERENCE_colibri-t20 = "1"
+DEFAULT_PREFERENCE_colibri-t30 = "1"
+
+UBOOT_MACHINE_colibri-t20 = "colibri_t20_config"
+UBOOT_MACHINE_colibri-t30 = "colibri_t30_config"
+
+#gitorious git
+FILESPATHPKG =. "git:"
+S="${WORKDIR}/git"
+SRC_URI_COLIBRI = "git://gitorious.org/colibri-t20-embedded-linux-bsp/colibri_t20-u-boot.git;protocol=git;branch=master \
+ file://u-boot-warning.patch \
+"
+# file://remove-unused.patch \
+# file://u-boot_ap20warning.patch \
+# file://colibri_t30.patch \
+# file://bootaddr.patch \
+#"
+SRCREV_colibri-t20 = "63c37d9e1d3ea97391576384d237728c44b5e33b"
+SRCREV_colibri-t30 = "63c37d9e1d3ea97391576384d237728c44b5e33b"
+
+PV_colibri-t20 = "${PR}+gitr${SRCREV}"
+PV_colibri-t30 = "${PR}+gitr${SRCREV}"
+
+#internal SVN
+#S = "${WORKDIR}/bootloader/u-boot"
+#SVN_REV = 218
+#SRC_URI_COLIBRI = "svn://tegradev:tegra123!@mammut.toradex.int:8090/colibri_tegra_linux/trunk;module=bootloader/u-boot;rev=${SVN_REV};proto=http \
+# file://remove-unused.patch "
+
+SRC_URI_colibri-t20 = "${SRC_URI_COLIBRI} "
+SRC_URI_colibri-t30 = "${SRC_URI_COLIBRI} "
+
+#compile with -O2 not -Os as with gcc 4.5 the code does not work
+do_configure_append() {
+ # sed -i -e 's/-Os/-O2 -fno-ipa-sra -fno-caller-saves -fno-schedule-insns/' ${S}/config.mk
+ sed -i -e 's/-Os/-O2 -fno-ipa-sra -fno-caller-saves -fno-schedule-insns -mno-unaligned-access/' ${S}/config.mk
+}
+
+
+#build additionally a u-boot binary which uses/stores its environment on an T20 external sd or mmc card
+do_compile_append_colibri-t20() {
+ mv u-boot.bin u-boot-nand.bin
+ oe_runmake colibri_t20_sdboot_config
+ oe_runmake all
+ mv u-boot.bin u-boot-hsmmc.bin
+ mv u-boot-nand.bin u-boot.bin
+}
+
+UBOOT_IMAGE ?= "u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin"
+do_deploy_append_colibri-t20 () {
+ install ${S}/u-boot-hsmmc.bin ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin
+ ln -sf u-boot-hsmmc-${MACHINE}-${PV}-${PR}.bin ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc.bin
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/u-boot-hsmmc.bin
+}