From 562788b0a303f3528b920d81f547f5ca77ba528e Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Wed, 17 Sep 2008 11:45:51 +0200 Subject: [PATCH 1/8] socrates: fix SPD EEPROM address Commit be0bd8234b9777ecd63c4c686f72af070d886517 changed SPD EEPROM address to 0x51 and DDR SDRAM detection stopped working. Change this address back to 0x50. Signed-off-by: Anatolij Gustschin --- include/configs/socrates.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/configs/socrates.h b/include/configs/socrates.h index 0135ac8531..28e8fd2f9c 100644 --- a/include/configs/socrates.h +++ b/include/configs/socrates.h @@ -117,7 +117,7 @@ #define CONFIG_CHIP_SELECTS_PER_CTRL 2 /* I2C addresses of SPD EEPROMs */ -#define SPD_EEPROM_ADDRESS 0x51 /* CTLR 0 DIMM 0 */ +#define SPD_EEPROM_ADDRESS 0x50 /* CTLR 0 DIMM 0 */ #define CONFIG_DDR_DEFAULT_CL 30 /* CAS latency 3 */ From d666b2d59674b5e002c0821b7ab83ec3ff90d670 Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Wed, 17 Sep 2008 12:34:45 +0200 Subject: [PATCH 2/8] socrates: fix crash after relocation Currently U-Boot crashes after relocation to RAM. Changing the CPO value of the DDR SDRAM TIMING_CFG_2 register to READ_LAT + 1 (to the value it was before conversion of socrates to new DDR code) fixes the problem. Signed-off-by: Anatolij Gustschin --- board/socrates/ddr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/socrates/ddr.c b/board/socrates/ddr.c index bbb5ee2c4a..62a5951831 100644 --- a/board/socrates/ddr.c +++ b/board/socrates/ddr.c @@ -57,7 +57,7 @@ void fsl_ddr_board_options(memctl_options_t *popts, unsigned int ctrl_num) * - frequency * - ddr1 vs. ddr2 */ - popts->cpo_override = 10; + popts->cpo_override = 0; /* * Factors to consider for write data delay: From 5c65ecf7cd94df250b295621f3b24135cbcfe579 Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Wed, 17 Sep 2008 13:46:17 +0200 Subject: [PATCH 3/8] socrates: change default mtest address range Running mtest command on socrates without specifying an address range crashes the board. This patch changes default mtest address range to prevent this behavior. Signed-off-by: Anatolij Gustschin --- include/configs/socrates.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/configs/socrates.h b/include/configs/socrates.h index 28e8fd2f9c..bbb9d18b5b 100644 --- a/include/configs/socrates.h +++ b/include/configs/socrates.h @@ -87,8 +87,8 @@ #define CFG_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */ #undef CFG_DRAM_TEST /* memory test, takes time */ -#define CFG_MEMTEST_START 0x00000000 -#define CFG_MEMTEST_END 0x10000000 +#define CFG_MEMTEST_START 0x00400000 +#define CFG_MEMTEST_END 0x00C00000 /* * Base addresses -- Note these are effective addresses where the From 28113e1f0da4146b823ffce37680d31d5685a60b Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 17 Sep 2008 17:41:58 +0200 Subject: [PATCH 4/8] Remove duplicate Spartan-3E definition. Signed-off-by: Laurent Pinchart Signed-off-by: Wolfgang Denk --- include/spartan3.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/include/spartan3.h b/include/spartan3.h index 9a3a5d49bc..6d471e3959 100644 --- a/include/spartan3.h +++ b/include/spartan3.h @@ -81,9 +81,6 @@ typedef struct { #define XILINX_XC3S1200E_SIZE 3841184/8 #define XILINX_XC3S1600E_SIZE 5969696/8 -/* Spartan-IIIE (1.2V) */ -#define XILINX_XC3S1200E_SIZE 3841184/8 - /* Descriptor Macros *********************************************************************/ /* Spartan-III devices */ @@ -111,7 +108,6 @@ typedef struct { #define XILINX_XC3S5000_DESC(iface, fn_table, cookie) \ { Xilinx_Spartan3, iface, XILINX_XC3S5000E_SIZE, fn_table, cookie } - /* Spartan-3E devices */ #define XILINX_XC3S100E_DESC(iface, fn_table, cookie) \ { Xilinx_Spartan3, iface, XILINX_XC3S100E_SIZE, fn_table, cookie } @@ -128,9 +124,4 @@ typedef struct { #define XILINX_XC3S1600E_DESC(iface, fn_table, cookie) \ { Xilinx_Spartan3, iface, XILINX_XC3S1600E_SIZE, fn_table, cookie } - -/* Spartan-IIIE devices */ -#define XILINX_XC3S1200E_DESC(iface, fn_table, cookie) \ -{ Xilinx_Spartan3, iface, XILINX_XC3S1200E_SIZE, fn_table, cookie } - #endif /* _SPARTAN3_H_ */ From a07faf7b9ad5a86763a577c79922c4ff9a70ef23 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 17 Sep 2008 17:57:34 +0200 Subject: [PATCH 5/8] Fix Spartan-3 definitions. A few Spartan-3 definitions erroneously use Spartan-3E size constants. This patch fixes them. Signed-off-by: Laurent Pinchart --- include/spartan3.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/spartan3.h b/include/spartan3.h index 6d471e3959..b0fa1cdaee 100644 --- a/include/spartan3.h +++ b/include/spartan3.h @@ -100,13 +100,13 @@ typedef struct { { Xilinx_Spartan3, iface, XILINX_XC3S1500_SIZE, fn_table, cookie } #define XILINX_XC3S2000_DESC(iface, fn_table, cookie) \ -{ Xilinx_Spartan3, iface, XILINX_XC3S2000E_SIZE, fn_table, cookie } +{ Xilinx_Spartan3, iface, XILINX_XC3S2000_SIZE, fn_table, cookie } #define XILINX_XC3S4000_DESC(iface, fn_table, cookie) \ -{ Xilinx_Spartan3, iface, XILINX_XC3S4000E_SIZE, fn_table, cookie } +{ Xilinx_Spartan3, iface, XILINX_XC3S4000_SIZE, fn_table, cookie } #define XILINX_XC3S5000_DESC(iface, fn_table, cookie) \ -{ Xilinx_Spartan3, iface, XILINX_XC3S5000E_SIZE, fn_table, cookie } +{ Xilinx_Spartan3, iface, XILINX_XC3S5000_SIZE, fn_table, cookie } /* Spartan-3E devices */ #define XILINX_XC3S100E_DESC(iface, fn_table, cookie) \ From 5fdc215f0b351b0c36cc3f8a0fa5850f24454bed Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Mon, 22 Sep 2008 22:23:06 +0200 Subject: [PATCH 6/8] Fix DPRAM memory leak when CFG_ALLOC_DPRAM is defined, which eventually leads to a machine check. This change assures that DPRAM is allocated only once in that case. Signed-off-by: Gary Jennejohn Signed-off-by: Wolfgang Denk --- cpu/mpc8xx/scc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cpu/mpc8xx/scc.c b/cpu/mpc8xx/scc.c index 09a3db107b..09a6348fd0 100644 --- a/cpu/mpc8xx/scc.c +++ b/cpu/mpc8xx/scc.c @@ -215,12 +215,14 @@ static int scc_init (struct eth_device *dev, bd_t * bis) rxIdx = 0; txIdx = 0; + if (!rtx) { #ifdef CFG_ALLOC_DPRAM - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + - dpram_alloc_align (sizeof (RTXBD), 8)); + rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + + dpram_alloc_align (sizeof (RTXBD), 8)); #else - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + CPM_SCC_BASE); -#endif /* 0 */ + rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + CPM_SCC_BASE); +#endif + } #if (defined(PA_ENET_RXD) && defined(PA_ENET_TXD)) /* Configure port A pins for Txd and Rxd. From 6e24a1eb1490aa043770bcf0061ac1fad0864fd9 Mon Sep 17 00:00:00 2001 From: Remy Bohmer Date: Fri, 19 Sep 2008 13:30:06 +0200 Subject: [PATCH 7/8] Add missing device types to dev_print() in part.c Signed-off-by: Remy Bohmer --- disk/part.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/disk/part.c b/disk/part.c index 877e9886af..80532a7a7c 100644 --- a/disk/part.c +++ b/disk/part.c @@ -117,6 +117,7 @@ void dev_print (block_dev_desc_t *dev_desc) dev_desc->product, dev_desc->revision); break; + case IF_TYPE_ATAPI: case IF_TYPE_IDE: case IF_TYPE_SATA: printf ("Model: %s Firm: %s Ser#: %s\n", @@ -124,15 +125,22 @@ void dev_print (block_dev_desc_t *dev_desc) dev_desc->revision, dev_desc->product); break; + case IF_TYPE_SD: + case IF_TYPE_MMC: case IF_TYPE_USB: printf ("Vendor: %s Rev: %s Prod: %s\n", dev_desc->vendor, dev_desc->revision, dev_desc->product); break; + case IF_TYPE_DOC: + puts("device type DOC\n"); + return; case IF_TYPE_UNKNOWN: + puts("device type unknown\n"); + return; default: - puts ("not available\n"); + printf("Unhandled device type: %i\n", dev_desc->if_type); return; } puts (" Type: "); From 8fd4166c467a46773f80208bda1ec3b4757747bc Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Mon, 22 Sep 2008 16:10:43 +0200 Subject: [PATCH 8/8] ppc4xx: Canyonlands: Remove unnecessary FDT warning upon DTB fixup Depending on the configuration jumper "SATA SELECT", U-Boot disabled either one PCIe node or the SATA node in the device tree blob. This patch removes the unnecessary and even confusing warning, when the node is not found at all. Signed-off-by: Stefan Roese --- board/amcc/canyonlands/canyonlands.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/board/amcc/canyonlands/canyonlands.c b/board/amcc/canyonlands/canyonlands.c index e9eba49c4b..47667eeec3 100644 --- a/board/amcc/canyonlands/canyonlands.c +++ b/board/amcc/canyonlands/canyonlands.c @@ -460,12 +460,8 @@ void ft_board_setup(void *blob, bd_t *bd) * node in the device tree, so that Linux doesn't initialize * it. */ - rc = fdt_find_and_setprop(blob, "/plb/pciex@d00000000", "status", - "disabled", sizeof("disabled"), 1); - if (rc) { - printf("Unable to update property status in PCIe node, err=%s\n", - fdt_strerror(rc)); - } + fdt_find_and_setprop(blob, "/plb/pciex@d00000000", "status", + "disabled", sizeof("disabled"), 1); } if (gd->board_type == BOARD_CANYONLANDS_PCIE) { @@ -474,12 +470,8 @@ void ft_board_setup(void *blob, bd_t *bd) * node in the device tree, so that Linux doesn't initialize * it. */ - rc = fdt_find_and_setprop(blob, "/plb/sata@bffd1000", "status", - "disabled", sizeof("disabled"), 1); - if (rc) { - printf("Unable to update property status in PCIe node, err=%s\n", - fdt_strerror(rc)); - } + fdt_find_and_setprop(blob, "/plb/sata@bffd1000", "status", + "disabled", sizeof("disabled"), 1); } } #endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */