update to 2009.11.1 [release 2009.11.1-1mamba;Wed Mar 31 2010]

This commit is contained in:
Silvan Calarco 2024-01-05 18:46:05 +01:00
parent 5edb273991
commit 29b7e6038b
6 changed files with 8091 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# u-boot
Das U-Boot (or just "U-Boot" for short) is Open Source Firmware for Embedded PowerPC, ARM, MIPS and x86 processors.

View File

@ -0,0 +1,27 @@
diff -Nru u-boot-1.1.4.orig/cpu/pxa/start.S u-boot-1.1.4/cpu/pxa/start.S
--- u-boot-1.1.4.orig/cpu/pxa/start.S 2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/cpu/pxa/start.S 2006-08-23 11:21:03.000000000 +0200
@@ -221,10 +221,10 @@
* before relocating, we have to setup RAM timing
* because memory timing is board-dependend, you will
* find a lowlevel_init.S in your board directory.
- */
mov ip, lr
bl lowlevel_init
mov lr, ip
+ */
/* Memory interfaces are working. Disable MMU and enable I-cache. */
diff -Nru u-boot-1.1.4.orig/include/configs/pxa255_idp.h u-boot-1.1.4/include/configs/pxa255_idp.h
--- u-boot-1.1.4.orig/include/configs/pxa255_idp.h 2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/include/configs/pxa255_idp.h 2006-08-23 11:22:23.000000000 +0200
@@ -41,7 +41,7 @@
* If we are developing, we might want to start armboot from ram
* so we MUST NOT initialize critical regs like mem-timing ...
*/
-#define CONFIG_INIT_CRITICAL /* undef for developing */
+/*#define CONFIG_INIT_CRITICAL /* undef for developing */
/*
* define the following to enable debug blinks. A debug blink function

1388
u-boot-1.1.6-mainstone.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,402 @@
diff -Nru u-boot-1.1.6/board/mainstone/lowlevel_init.S u-boot-1.1.6-dest/board/mainstone/lowlevel_init.S
--- u-boot-1.1.6/board/mainstone/lowlevel_init.S 2007-01-30 13:28:48.000000000 +0100
+++ u-boot-1.1.6-dest/board/mainstone/lowlevel_init.S 2007-01-18 13:33:06.000000000 +0100
@@ -45,7 +45,7 @@
/*********** Write out to HEX 7 segment leds *********/
-#define DEBUG_HEXLOG
+/* #define DEBUG_HEXLOG */
#ifdef DEBUG_HEXLOG
#define LEDCTL 0x08000040
@@ -106,93 +106,6 @@
.globl lowlevel_init
lowlevel_init:
-
- /* Set up GPIO pins first */
-
- ldr r0, =GPSR0
- ldr r1, =CFG_GPSR0_VAL
- str r1, [r0]
-
- ldr r0, =GPSR1
- ldr r1, =CFG_GPSR1_VAL
- str r1, [r0]
-
- ldr r0, =GPSR2
- ldr r1, =CFG_GPSR2_VAL
- str r1, [r0]
-
- ldr r0, =GPSR3
- ldr r1, =CFG_GPSR3_VAL
- str r1, [r0]
-
- ldr r0, =GPCR0
- ldr r1, =CFG_GPCR0_VAL
- str r1, [r0]
-
- ldr r0, =GPCR1
- ldr r1, =CFG_GPCR1_VAL
- str r1, [r0]
-
- ldr r0, =GPCR2
- ldr r1, =CFG_GPCR2_VAL
- str r1, [r0]
-
- ldr r0, =GPCR3
- ldr r1, =CFG_GPCR3_VAL
- str r1, [r0]
-
- ldr r0, =GPDR0
- ldr r1, =CFG_GPDR0_VAL
- str r1, [r0]
-
- ldr r0, =GPDR1
- ldr r1, =CFG_GPDR1_VAL
- str r1, [r0]
-
- ldr r0, =GPDR2
- ldr r1, =CFG_GPDR2_VAL
- str r1, [r0]
-
- ldr r0, =GPDR3
- ldr r1, =CFG_GPDR3_VAL
- str r1, [r0]
-
- ldr r0, =GAFR0_L
- ldr r1, =CFG_GAFR0_L_VAL
- str r1, [r0]
-
- ldr r0, =GAFR0_U
- ldr r1, =CFG_GAFR0_U_VAL
- str r1, [r0]
-
- ldr r0, =GAFR1_L
- ldr r1, =CFG_GAFR1_L_VAL
- str r1, [r0]
-
- ldr r0, =GAFR1_U
- ldr r1, =CFG_GAFR1_U_VAL
- str r1, [r0]
-
- ldr r0, =GAFR2_L
- ldr r1, =CFG_GAFR2_L_VAL
- str r1, [r0]
-
- ldr r0, =GAFR2_U
- ldr r1, =CFG_GAFR2_U_VAL
- str r1, [r0]
-
- ldr r0, =GAFR3_L
- ldr r1, =CFG_GAFR3_L_VAL
- str r1, [r0]
-
- ldr r0, =GAFR3_U
- ldr r1, =CFG_GAFR3_U_VAL
- str r1, [r0]
-
- ldr r0, =PSSR /* enable GPIO pins */
- ldr r1, =CFG_PSSR_VAL
- str r1, [r0]
-
/* ---------------------------------------------------------------- */
/* Enable memory interface */
/* */
@@ -386,7 +299,7 @@
/* Step 4e: Wait for the clock to the SDRAMs to stabilize, */
- /* 100..200 µsec. */
+ /* 100..200 sec. */
/* The sequence below is based on the recommended init steps detailed */
/* in the Intel PXA255 Processor Developer's Manual Section 6.11 */
@@ -440,13 +353,100 @@
hexlog #0x6 /* HEXLOG */
-setvoltage:
+ /* Set up GPIO pins */
+
+ ldr r0, =GPSR0
+ ldr r1, =CFG_GPSR0_VAL
+ str r1, [r0]
+
+ ldr r0, =GPSR1
+ ldr r1, =CFG_GPSR1_VAL
+ str r1, [r0]
+
+ ldr r0, =GPSR2
+ ldr r1, =CFG_GPSR2_VAL
+ str r1, [r0]
+
+ ldr r0, =GPSR3
+ ldr r1, =CFG_GPSR3_VAL
+ str r1, [r0]
+
+ ldr r0, =GPCR0
+ ldr r1, =CFG_GPCR0_VAL
+ str r1, [r0]
+
+ ldr r0, =GPCR1
+ ldr r1, =CFG_GPCR1_VAL
+ str r1, [r0]
+
+ ldr r0, =GPCR2
+ ldr r1, =CFG_GPCR2_VAL
+ str r1, [r0]
+
+ ldr r0, =GPCR3
+ ldr r1, =CFG_GPCR3_VAL
+ str r1, [r0]
+
+ ldr r0, =GPDR0
+ ldr r1, =CFG_GPDR0_VAL
+ str r1, [r0]
+
+ ldr r0, =GPDR1
+ ldr r1, =CFG_GPDR1_VAL
+ str r1, [r0]
+
+ ldr r0, =GPDR2
+ ldr r1, =CFG_GPDR2_VAL
+ str r1, [r0]
+
+ ldr r0, =GPDR3
+ ldr r1, =CFG_GPDR3_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR0_L
+ ldr r1, =CFG_GAFR0_L_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR0_U
+ ldr r1, =CFG_GAFR0_U_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR1_L
+ ldr r1, =CFG_GAFR1_L_VAL
+ str r1, [r0]
+ ldr r0, =GAFR1_U
+ ldr r1, =CFG_GAFR1_U_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR2_L
+ ldr r1, =CFG_GAFR2_L_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR2_U
+ ldr r1, =CFG_GAFR2_U_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR3_L
+ ldr r1, =CFG_GAFR3_L_VAL
+ str r1, [r0]
+
+ ldr r0, =GAFR3_U
+ ldr r1, =CFG_GAFR3_U_VAL
+ str r1, [r0]
+
+ ldr r0, =PSSR /* enable GPIO pins */
+ ldr r1, =CFG_PSSR_VAL
+ str r1, [r0]
+
+#ifdef CFG_INITPXAVOLTAGE
+setvoltage:
mov r10, lr
bl initPXAvoltage /* In case the board is rebooting with a */
mov lr, r10 /* low voltage raise it up to a good one. */
hexlog #0x7 /* HEXLOG */
+#endif
wakeup:
/* Are we waking from sleep? */
diff -Nru u-boot-1.1.6/cpu/pxa/start.S u-boot-1.1.6-dest/cpu/pxa/start.S
--- u-boot-1.1.6/cpu/pxa/start.S 2007-01-30 13:28:48.000000000 +0100
+++ u-boot-1.1.6-dest/cpu/pxa/start.S 2007-01-17 18:18:42.000000000 +0100
@@ -263,11 +263,11 @@
/*
* before relocating, we have to setup RAM timing
* because memory timing is board-dependend, you will
- * find a lowlevel_init.S in your board directory.
+ * find a lowlevel_init.S in your board directory. */
mov ip, lr
bl lowlevel_init
mov lr, ip
- */
+ /* */
/* Memory interfaces are working. Disable MMU and enable I-cache. */
/* mk: hmm, this is not in the monahans docs, leave it now but
diff -Nru u-boot-1.1.6/include/configs/mainstone.h u-boot-1.1.6-dest/include/configs/mainstone.h
--- u-boot-1.1.6/include/configs/mainstone.h 2007-01-30 13:28:48.000000000 +0100
+++ u-boot-1.1.6-dest/include/configs/mainstone.h 2007-01-18 11:31:47.000000000 +0100
@@ -144,7 +144,7 @@
* Physical Memory Map
*/
#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */
-#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */
+#define PHYS_SDRAM_1 0xa0000000 /* SDRAM_PHYSICAL_BASE */ /* SDRAM Bank #1 */
#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
#define PHYS_SDRAM_2 0xa4000000 /* SDRAM Bank #2 */
#define PHYS_SDRAM_2_SIZE 0x00000000 /* 0 MB */
@@ -164,37 +164,65 @@
* GPIO settings for Mainstone
*/
-#define CFG_GPSR0_VAL 0x00708800
-#define CFG_GPSR1_VAL 0x03cf0002
-#define CFG_GPSR2_VAL 0x0021FC00
-#define CFG_GPSR3_VAL 0x00000000
-
-#define CFG_GPCR0_VAL 0x00001000
-#define CFG_GPCR1_VAL 0x00000000
-#define CFG_GPCR2_VAL 0x00000000
-#define CFG_GPCR3_VAL 0x00000000
-
-#define CFG_GPDR0_VAL 0xC27B9C04
-#define CFG_GPDR1_VAL 0x00EFAA83
-#define CFG_GPDR2_VAL 0x0E23FC00
-#define CFG_GPDR3_VAL 0x001E1F81
+#define CFG_GPSR0_VAL 0x00709C04 /* GPSR0_value */
+#define CFG_GPSR1_VAL 0x00CF0002 /* GPSR1_value */
+#define CFG_GPSR2_VAL 0x052DE000 /* GPSR2_value */
+#define CFG_GPSR3_VAL 0x00160000 /* GPSR3_value */
+
+#define CFG_GPCR0_VAL 0x00043000 /* GPCR0_value */
+#define CFG_GPCR1_VAL 0x00100380 /* GPCR1_value */
+#define CFG_GPCR2_VAL 0x08000000 /* GPCR1_value */
+#define CFG_GPCR3_VAL 0x00080003 /* GPCR1_value */
+
+#define CFG_GPDR0_VAL 0xC991F800 /* GPDR0_value */
+#define CFG_GPDR1_VAL 0xFCFFAB83 /* GPDR1_value */
+#define CFG_GPDR2_VAL 0xF3FFFFF /* GPDR2_value */
+#define CFG_GPDR3_VAL 0x01E1F80 /* GPDR3_value */
-#define CFG_GAFR0_L_VAL 0x94F00000
+/*#define CFG_GAFR0_L_VAL 0x94F00000
#define CFG_GAFR0_U_VAL 0x015A859A
#define CFG_GAFR1_L_VAL 0x999A955A
#define CFG_GAFR1_U_VAL 0x0005A4AA
#define CFG_GAFR2_L_VAL 0x6AA00000
#define CFG_GAFR2_U_VAL 0x55A8041A
#define CFG_GAFR3_L_VAL 0x56AA955A
-#define CFG_GAFR3_U_VAL 0x00000001
+#define CFG_GAFR3_U_VAL 0x00000001 */
+
+#define CFG_GAFR0_L_VAL 0x3 << 22 | 0x2 << 30
+#define CFG_GAFR0_U_VAL 0x1 << 24 | 0x1 << 26 | 0x2 << 28 | 0x2 << 30
+#define CFG_GAFR1_L_VAL 0x2 << 0 | 0x2 << 2 | 0x1 << 4 | 0x1 << 6 | 0x1 << 8 | 0x1 << 10 | 0x1 << 12 | 0x2 << 14 | 0x2 << 16 | 0x2 << 18 | 0x1 << 20 | 0x2 << 22 | 0x1 << 24 | 0x2 << 26 | 0x2 << 28 | 0x1 << 30
+#define CFG_GAFR1_U_VAL 0x2 << 0 | 0x2 << 2 | 0x1 << 4 | 0x1 << 6 | 0x1 << 8 | 0x1 << 10 | 0x1 << 12 | 0x2 << 14 | 0x2 << 16 | 0x2 << 18 | 0x1 << 20 | 0x2 << 22 | 0x1 << 24 | 0x2 << 26 | 0x2 << 28 | 0x1 << 30
+#define CFG_GAFR2_L_VAL 0x2 << 0 | 0x2 << 2 | 0x2 << 4 | 0x2 << 6 | 0x2 << 12 | 0x2 << 14 | 0x1 << 16 | 0x1 << 18
+#define CFG_GAFR2_U_VAL 0x2 << 28 | 0x1 << 30
+#define CFG_GAFR3_L_VAL 0x1 << 0 | 0x1 << 2 | 0x3 << 4 | 0x3 << 6 | 0x1 << 8 | 0x1 << 10 | 0x1 << 12 | 0x2 << 14 | 0x2 << 16 | 0x2 << 18 | 0x2 << 20 | 0x2 << 22 | 0x2 << 24 | 0x1 << 26 | 0x1 << 28 | 0x1 << 30
+#define CFG_GAFR3_U_VAL 0x1 << 0 | 0x2 << 2 | 0x1 << 10 | 0x1 << 12
+
+/*
+xlli_GAFR0_L_value EQU (GPIO_11_AF3_48MCLK:OR:GPIO_15_AF2_nCS1)
+ 0x3 << 22 | 0x2 << 30
+xlli_GAFR0_U_value EQU (GPIO_18_AF1_RDY:OR:GPIO_28_AF1_AC97_I2S_BITCLK:OR:GPIO_29_AF1_AC97SDATAIN0:OR:GPIO_30_AF2_AC97SDATAOUT:OR:GPIO_31_AF2_AC97SYNC)
+ 0x1 << 24 | 0x1 << 26 | 0x2 << 28 | 0x2 << 30
+xlli_GAFR1_L_value EQU (GPIO_32_AF2_MMCLK:OR:GPIO_33_AF2_nCS5:OR:GPIO_34_AF1_FFRXD:OR:GPIO_35_AF1_FFCTS:OR:GPIO_36_AF1_FFDCD:OR:GPIO_37_AF1_FFDSR:OR:GPIO_38_AF1_FFRI:OR:GPIO_39_AF2_FFTXD:OR:GPIO_40_AF2_FFDTR:OR:GPIO_41_AF2_FFRTS:OR:GPIO_42_AF1_BTRXD:OR:GPIO_43_AF2_BTTXD:OR:GPIO_44_AF1_BTCTS:OR:GPIO_45_AF2_BTRTS:OR:GPIO_46_AF2_STDRXD_PWMOUT2:OR:GPIO_47_AF1_STDTXD)
+ 0x2 << 0 | 0x2 << 2 | 0x1 << 4 | 0x1 << 6 | 0x1 << 8 | 0x1 << 10 | 0x1 << 12 | 0x2 << 14 | 0x2 << 16 | 0x2 << 18 | 0x1 << 20 | 0x2 << 22 | 0x1 << 24 | 0x2 << 26 | 0x2 << 28 | 0x1 << 30
+xlli_GAFR1_U_value EQU (GPIO_48_AF2_PCMCIAnPOE:OR:GPIO_49_AF2_nPWE:OR:GPIO_50_AF2_PCMCIAnPIOR:OR:GPIO_51_AF2_PCMCIAnPIOW:OR:GPIO_54_AF2_BBOBWAIT_PCMCIAnPCE2:OR:GPIO_55_AF2_BBIBDAT1_PCMCIAnPREG:OR:GPIO_56_AF1_PCMCIAnPWAIT:OR:GPIO_57_AF1_PCMCIAnIOIS16)
+ 0x2 << 0 | 0x2 << 2 | 0x2 << 4 | 0x2 << 6 | 0x2 << 12 | 0x2 << 14 | 0x1 << 16 | 0x1 << 18
+xlli_GAFR2_L_value EQU (GPIO_78_AF2_nCS2:OR:GPIO_79_AF1_PCMCIAPSKTSEL)
+ 0x2 << 28 | 0x1 << 30
+xlli_GAFR2_U_value EQU (GPIO_80_AF2_MBREQ_nCS4:OR:GPIO_85_AF1_PCMCIAnPCE1:OR:GPIO_89_AF1_AC97SYSCLK:OR:GPIO_92_AF1_MMDAT0:OR:GPIO_93_AF1_KPDKIN0:OR:GPIO_94_AF1_KPDKIN1:OR:GPIO_95_AF1_KPDKIN2)
+ 0x2 << 0 | 0x1 << 10 | 0x1 << 18 | 0x1 << 24 | 0x1 << 26 | 0x1 << 28 | 0x1 << 30
+xlli_GAFR3_L_value EQU (GPIO_96_AF1_KPDKIN3:OR:GPIO_97_AF1_KPDKIN4:OR:GPIO_98_AF3_KPMKIN4:OR:GPIO_99_AF3_KPMKIN5:OR:GPIO_100_AF1_KPMKIN0:OR:GPIO_101_AF1_KPMKIN1:OR:GPIO_102_AF1_KPMKIN2:OR:GPIO_103_AF2_KPMKOUT0:OR:GPIO_104_AF2_KPMKOUT1:OR:GPIO_105_AF2_KPMKOUT2:OR:GPIO_106_AF2_KPMKOUT3:OR:GPIO_107_AF2_KPMKOUT4:OR:GPIO_108_AF2_KPMKOUT5:OR:GPIO_109_AF1_MMDAT1:OR:GPIO_110_AF1_MMDAT2:OR:GPIO_111_AF1_MMDAT3)
+ 0x1 << 0 | 0x1 << 2 | 0x3 << 4 | 0x3 << 6 | 0x1 << 8 | 0x1 << 10 | 0x1 << 12 | 0x2 << 14 | 0x2 << 16 | 0x2 << 18 | 0x2 << 20 | 0x2 << 22 | 0x2 << 24 | 0x1 << 26 | 0x1 << 28 | 0x1 << 30
+xlli_GAFR3_U_value EQU (GPIO_112_AF1_MMCMD:OR:GPIO_113_AF2_AC97nRESET:OR:GPIO_117_AF1_SCL:OR:GPIO_118_AF1_SDA)
+ 0x1 << 0 | 0x2 << 2 | 0x1 << 10 | 0x1 << 12
+*/
#define CFG_PSSR_VAL 0x20 // ???????????
/*
* Clock settings
*/
-#define CFG_CKEN 0x00400200
-#define CFG_CCCR 0x02000290 /* 520Mhz */
+#define CFG_CKEN 0x00400200 /* CKEN_value */
+#define CFG_CCCR 0x00000107 /* CCCR_value */ /* 520Mhz */
/* #define CFG_CCCR 0x02000210 416 Mhz */
/*
@@ -202,26 +230,26 @@
*/
//#define CFG_MSC0_VAL 0x39F2A7A3 // DO NOT SET IT !
-#define CFG_MSC1_VAL 0x0000A691
-#define CFG_MSC2_VAL 0x0000B884
-
-#define CFG_MDCNFG_VAL 0x00000AC8 /* start with SDRAM part. disabled */
-#define CFG_MDREFR_VAL 0x20ca2018
-#define CFG_MDMRS_VAL 0x00000000
-
-#define CFG_FLYCNFG_VAL 0x00010001
-#define CFG_SXCNFG_VAL 0x40044004
+#define CFG_MSC1_VAL 0x7FF07FF4 /* MSC1_value */
+#define CFG_MSC2_VAL 0x7FFC7FF4 /* MSC2_value */
+#define CFG_MDCNFG_VAL 0x80000AD0 /* MDCNFG_value */ /* start with SDRAM part. disabled */
+#define CFG_MDREFR_VAL 0x0000001E /* MDREFR_value */
+#define CFG_MDMRS_VAL 0x00000000 /* MDMRS_value */
+
+#define CFG_FLYCNFG_VAL 0x00010001 /* FLYCNFG_value */
+#define CFG_SXCNFG_VAL 0x40044004 /* SXCNFG_value */
+//
/*
* PCMCIA and CF Interfaces
*/
-#define CFG_MECR_VAL 0x00000001
-#define CFG_MCMEM0_VAL 0x00010204
-#define CFG_MCMEM1_VAL 0x00010204
-#define CFG_MCATT0_VAL 0x00010204
-#define CFG_MCATT1_VAL 0x00010204
-#define CFG_MCIO0_VAL 0x0000c108
-#define CFG_MCIO1_VAL 0x0001c108
+#define CFG_MECR_VAL 0x00000000 /* MECR_value */
+#define CFG_MCMEM0_VAL 0x0002470F /* MCMEM0_value */
+#define CFG_MCMEM1_VAL 0x0002470F /* MCMEM1_value */
+#define CFG_MCATT0_VAL 0x0002C80F /* MCATT0_value */
+#define CFG_MCATT1_VAL 0x0002C80F /* MCATT1_value */
+#define CFG_MCIO0_VAL 0x0002471F /* MCIO0_value */
+#define CFG_MCIO1_VAL 0x0002471F /* MCIO1_value */
//#define CONFIG_PXA_PCMCIA 1
//#define CONFIG_PXA_IDE 1
@@ -277,9 +305,9 @@
#define CFG_ENV_SECT_SIZE 0x20000 /* Total Size of Environment Sector */
/* FPGA */
-#define MST_FPGA_BASE 0x08000000
-#define MST_LEDDAT1 0x08000010
+#define MST_FPGA_BASE 0x08000000 /* PLATFORM_REGISTERS */
+#define MST_LEDDAT1 0x08000010 /* PLATFORM_HEXLED_DATA_offset */
#define MST_LEDDAT2 0x08000014
-#define MST_LEDCTL 0x08000040
+#define MST_LEDCTL 0x08000040 /* PLATFORM_LED_CONTROL_offset */
#endif /* __CONFIG_H */
diff -Nru u-boot-1.1.6/MAKEALL u-boot-1.1.6-dest/MAKEALL
--- u-boot-1.1.6/MAKEALL 2006-11-02 15:15:01.000000000 +0100
+++ u-boot-1.1.6-dest/MAKEALL 2007-01-17 00:16:03.000000000 +0100
@@ -218,9 +218,9 @@
LIST_pxa=" \
adsvix cerf250 cradle csb226 \
- delta innokom lubbock pleb2 \
- pxa255_idp wepep250 xaeniax xm250 \
- xsengine zylonite \
+ delta innokom lubbock mainstone \
+ pleb2 pxa255_idp wepep250 xaeniax \
+ xm250 xsengine zylonite \
"
LIST_ixp="ixdp425 ixdpg425 pdnb3"

File diff suppressed because it is too large Load Diff

127
u-boot.spec Normal file
View File

@ -0,0 +1,127 @@
#
# u-boot multiplatform specfile
# Copyright (c) 2007-2010 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
# Build examples:
# rpmbuild -ba u-boot.spec --define="TARGET_BOARD pxa255_idp" --target="arm"
#
# Tested targets:
# mainstone
# mainstone_rr
#
Name: u-boot
Version: 2009.11.1
Release: 1mamba
Summary: Open Source Firmware for Embedded PowerPC, ARM, MIPS and x86 processors
Group: System/Kernel and Hardware
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://u-boot.sourceforge.net/
Source: ftp://ftp.denx.de/pub/u-boot/%{name}-%{version}.tar.bz2
#Source: http://surfnet.dl.sourceforge.net/sourceforge/u-boot/%{name}-%{version}.tar.bz2
Patch0: u-boot-1.1.4-pxa255_idp.patch
Patch1: u-boot-1.1.6-phycore-pxa270-4.diff
Patch2: u-boot-1.1.6-mainstone.patch
Patch3: u-boot-1.1.6-mainstone_rr.patch
License: GPL
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Das U-Boot (or just "U-Boot" for short) is Open Source Firmware for Embedded PowerPC, ARM, MIPS and x86 processors.
%if "%{?TARGET_BOARD}"
%package %{TARGET_BOARD}
Summary: The u-boot firmware for the %{TARGET_BOARD} %{_TARGET_CPU} platform
Group: System/Kernel and Hardware
%description %{TARGET_BOARD}
Das U-Boot (or just "U-Boot" for short) is Open Source Firmware for Embedded PowerPC, ARM, MIPS and x86 processors.
This package contains mkimage, a tool that creates kernel bootable images for u-boot.
This package contains the firmware for the %{TARGET_BOARD} %{_TARGET_CPU} platform.
%endif
%package tools
Summary: Tools for the u-boot Firmware
Group: System/Kernel and Hardware
%description tools
Das U-Boot (or just "U-Boot" for short) is Open Source Firmware for Embedded PowerPC, ARM, MIPS and x86 processors.
This package contains mkimage, a tool that creates kernel bootable images for u-boot.
%prep
%setup -q
%if "%{?TARGET_BOARD}"
%patch0 -p1
%patch1 -p1
%patch2 -p1
%endif
sed -i "s|-idirafter|-I|" tools/Makefile
%build
%if "%{?TARGET_BOARD}"
%if "%{?TARGET_BOARD}" == "mainstone_rr"
patch -p1 < %{PATCH3}
make mainstone_config
%else
make %{TARGET_BOARD}_config
%endif
CROSS_COMPILE=%{_target_platform}- make all
%else
# configure for a fictituous target (only tools will be build)
%make TQM850L_config
%make CC=%{_target_platform}-gcc tools
%endif
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
install -D -m 0755 tools/mkimage %{buildroot}%{_bindir}/mkimage
#install -d -m 0755 tools/img2srec %{buildroot}%{_bindir}/img2srec
%if "%{?TARGET_BOARD}"
install -D -m 0755 u-boot.bin %{buildroot}/boot/u-boot-%{TARGET_BOARD}.bin
install -D -m 0644 u-boot.map %{buildroot}/boot/u-boot-%{TARGET_BOARD}.map
%endif
%clean
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%if "%{?TARGET_BOARD}"
%files %{TARGET_BOARD}
%defattr(-,root,root)
/boot/u-boot-%{TARGET_BOARD}.bin
/boot/u-boot-%{TARGET_BOARD}.map
%endif
%files tools
%defattr(-,root,root)
%{_bindir}/mkimage
%doc COPYING CREDITS README
%changelog
* Wed Mar 31 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2009.11.1-1mamba
- update to 2009.11.1
* Wed Mar 31 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.4-1mamba
- update to 1.3.4
* Sun Aug 31 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.6-1mamba
- update to 1.1.6
* Tue Jan 30 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.6-3qilnx
- added mainstone_rr patch
* Tue Jan 16 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.6-2qilnx
- rename u-boot.* to u-boot-%{TARGET_BOARD}
* Mon Jan 15 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.6-1qilnx
- update to version 1.1.6 by autospec
* Mon Aug 21 2006 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.4-1qilnx
- update to version 1.1.4 by autospec
* Thu Sep 01 2005 Silvan Calarco <silvan.calarco@qilinux.it> 1.1.3-2qilnx
- don't rename mkimage because the kernel uses it with this name (make uImage)
* Wed Aug 31 2005 Silvan Calarco <silvan.calarco@qilinux.it> 1.1.3-1qilnx
- package created by autospec