diff options
| -rw-r--r-- | board/esd/cpci750/ide.c | 21 | ||||
| -rw-r--r-- | include/ata.h | 2 | ||||
| -rw-r--r-- | include/configs/CPCI750.h | 19 | 
3 files changed, 33 insertions, 9 deletions
| diff --git a/board/esd/cpci750/ide.c b/board/esd/cpci750/ide.c index a3bd1b73d..aa001df0b 100644 --- a/board/esd/cpci750/ide.c +++ b/board/esd/cpci750/ide.c @@ -31,6 +31,18 @@  #include <pci.h>  extern ulong ide_bus_offset[CONFIG_SYS_IDE_MAXBUS]; +int cpci_hd_type; + +int ata_device(int dev) +{ +	int retval; + +	retval = (dev & 1) << 4; +	if (cpci_hd_type == 2) +		retval ^= 1 << 4; +	return retval; +} +  int ide_preinit (void)  { @@ -39,14 +51,21 @@ int ide_preinit (void)  	int l;  	status = 1; +	cpci_hd_type = 0;  	if (CPCI750_SLAVE_TEST != 0)  		return status;  	for (l = 0; l < CONFIG_SYS_IDE_MAXBUS; l++) {  		ide_bus_offset[l] = -ATA_STATUS;  	}  	devbusfn = pci_find_device (0x1103, 0x0004, 0); -	if (devbusfn == -1) +	if (devbusfn != -1) { +		cpci_hd_type = 1; +	} else {  	        devbusfn = pci_find_device (0x1095, 0x3114, 0); +		if (devbusfn != -1) { +			cpci_hd_type = 2; +		} +	}  	if (devbusfn != -1) {  		ulong *ide_bus_offset_ptr; diff --git a/include/ata.h b/include/ata.h index b51475da8..3b2d737e6 100644 --- a/include/ata.h +++ b/include/ata.h @@ -82,7 +82,9 @@  /*   * Device / Head Register Bits   */ +#ifndef ATA_DEVICE  #define ATA_DEVICE(x)	((x & 1)<<4) +#endif /* ATA_DEVICE */  #define ATA_LBA		0xE0  /* diff --git a/include/configs/CPCI750.h b/include/configs/CPCI750.h index d735e613d..a6af86c93 100644 --- a/include/configs/CPCI750.h +++ b/include/configs/CPCI750.h @@ -187,6 +187,8 @@  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_SPEED	80000		/* I2C speed default */ +#define CONFIG_PRAM 0 +  #define CONFIG_SYS_GT_DUAL_CPU			/* also for JTAG even with one cpu */  #define CONFIG_SYS_LONGHELP			/* undef to save memory		*/  #define CONFIG_SYS_PROMPT	"=> "		/* Monitor Command Prompt	*/ @@ -241,11 +243,6 @@  #define CONFIG_SYS_TCLK		133000000 -/*#define CONFIG_SYS_750FX_HID0		0x8000c084*/ -#define CONFIG_SYS_750FX_HID0		0x80008484 -#define CONFIG_SYS_750FX_HID1		0x54800000 -#define CONFIG_SYS_750FX_HID2		0x00000000 -  /*   * Low Level Configuration Settings   * (address mappings, register initial values, etc.) @@ -457,7 +454,11 @@  #define CONFIG_SYS_ATA_DATA_OFFSET	0x0000	/* Offset for data I/O			*/  #define CONFIG_SYS_ATA_REG_OFFSET	0x0000	/* Offset for normal register accesses	*/  #define CONFIG_SYS_ATA_ALT_OFFSET	0x0000	/* Offset for alternate registers	*/ - +#ifndef __ASSEMBLY__ +int ata_device(int dev); +#endif +#define ATA_DEVICE(dev)                 ata_device(dev) +#define CONFIG_ATAPI                    1  /*----------------------------------------------------------------------   * Initial BAT mappings @@ -497,8 +498,8 @@   * IBAT4 and DBAT4   * FIXME: ingo disable BATs for Linux Kernel   */ -#undef SETUP_HIGH_BATS_FX750		/* don't initialize BATS 4-7 */ -/*#define SETUP_HIGH_BATS_FX750*/		/* initialize BATS 4-7 */ +/* #undef SETUP_HIGH_BATS_FX750	*/	/* don't initialize BATS 4-7 */ +#define SETUP_HIGH_BATS_FX750		/* initialize BATS 4-7 */  #ifdef SETUP_HIGH_BATS_FX750  #define CONFIG_SYS_IBAT4L (CONFIG_SYS_SDRAM1_BASE | BATL_PP_RW | BATL_CACHEINHIBIT) @@ -622,4 +623,6 @@  #define CPCI750_ECC_TEST	(((in8(0xf0300000) & 0x02) == 0) ? 1 : 0)  #define CONFIG_SYS_PLD_VER	0xf0e00000 +#define CONFIG_OF_LIBFDT 1 +  #endif	/* __CONFIG_H */ |