diff options
57 files changed, 586 insertions, 615 deletions
| diff --git a/board/atum8548/atum8548.c b/board/atum8548/atum8548.c index 226ef57ee..6ef663eeb 100644 --- a/board/atum8548/atum8548.c +++ b/board/atum8548/atum8548.c @@ -37,10 +37,6 @@  #include <libfdt.h>  #include <fdt_support.h> -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  long int fixed_sdram(void);  int board_early_init_f (void) @@ -117,12 +113,6 @@ initdram(int board_type)  	dram_size = fixed_sdram ();  #endif -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif  	puts("    DDR: ");  	return dram_size;  } diff --git a/board/freescale/mpc8536ds/mpc8536ds.c b/board/freescale/mpc8536ds/mpc8536ds.c index 6fed4eaf2..2b17612b3 100644 --- a/board/freescale/mpc8536ds/mpc8536ds.c +++ b/board/freescale/mpc8536ds/mpc8536ds.c @@ -41,10 +41,6 @@  #include "../common/pixis.h"  #include "../common/sgmii_riser.h" -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  phys_size_t fixed_sdram(void);  int checkboard (void) @@ -65,20 +61,12 @@ initdram(int board_type)  #ifdef CONFIG_SPD_EEPROM  	dram_size = fsl_ddr_sdram(); - -	dram_size = setup_ddr_tlbs(dram_size / 0x100000); - -	dram_size *= 0x100000;  #else  	dram_size = fixed_sdram();  #endif +	dram_size = setup_ddr_tlbs(dram_size / 0x100000); +	dram_size *= 0x100000; -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif  	puts("    DDR: ");  	return dram_size;  } diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c index 545d869fc..14581abdd 100644 --- a/board/freescale/mpc8544ds/mpc8544ds.c +++ b/board/freescale/mpc8544ds/mpc8544ds.c @@ -38,10 +38,6 @@  #include "../common/pixis.h"  #include "../common/sgmii_riser.h" -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  int checkboard (void)  {  	volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); @@ -77,12 +73,6 @@ initdram(int board_type)  	dram_size *= 0x100000; -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif  	puts("    DDR: ");  	return dram_size;  } diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c index af5ff42e3..c562fc9d9 100644 --- a/board/freescale/mpc8548cds/mpc8548cds.c +++ b/board/freescale/mpc8548cds/mpc8548cds.c @@ -38,10 +38,6 @@  #include "../common/eeprom.h"  #include "../common/via.h" -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  DECLARE_GLOBAL_DATA_PTR;  void local_bus_init(void); @@ -56,7 +52,6 @@ int checkboard (void)  	uint pci_slot = get_pci_slot ();  	uint cpu_board_rev = get_cpu_board_revision (); -	uint svr;  	printf ("Board: CDS Version 0x%02x, PCI Slot %d\n",  		get_board_version (), pci_slot); @@ -69,17 +64,6 @@ int checkboard (void)  	 */  	local_bus_init (); -	svr = get_svr(); - -	/* -	 * Fix CPU2 errata: A core hang possible while executing a -	 * msync instruction and a snoopable transaction from an I/O -	 * master tagged to make quick forward progress is present. -	 * Fixed in Silicon Rev.2.1 -	 */ -	if (!(SVR_MAJ(svr) >= 2 && SVR_MIN(svr) >= 1)) -		ecm->eebpcr |= (1 << 16); -  	/*  	 * Hack TSEC 3 and 4 IO voltages.  	 */ @@ -118,13 +102,6 @@ initdram(int board_type)  	dram_size = setup_ddr_tlbs(dram_size / 0x100000);  	dram_size *= 0x100000; -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif -  	/*  	 * SDRAM Initialization  	 */ @@ -355,7 +332,7 @@ pci_init_board(void)  		first_free_busno=hose->last_busno+1;  		printf ("PCI on bus %02x - %02x\n",hose->first_busno,hose->last_busno);  #ifdef CONFIG_PCIX_CHECK -		if (!(gur->pordevsr & PORDEVSR_PCI)) { +		if (!(gur->pordevsr & MPC85xx_PORDEVSR_PCI1)) {  			/* PCI-X init */  			if (CONFIG_SYS_CLK_FREQ < 66000000)  				printf("PCI-X will only work at 66 MHz\n"); diff --git a/board/freescale/mpc8568mds/mpc8568mds.c b/board/freescale/mpc8568mds/mpc8568mds.c index 688d8c390..bc93be80f 100644 --- a/board/freescale/mpc8568mds/mpc8568mds.c +++ b/board/freescale/mpc8568mds/mpc8568mds.c @@ -99,11 +99,6 @@ const qe_iop_conf_t qe_iop_conf_tab[] = {  	{0,  0, 0, 0, QE_IOP_TAB_END}, /* END of table */  }; - -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  void local_bus_init(void);  void sdram_init(void); @@ -170,13 +165,6 @@ initdram(int board_type)  	dram_size = setup_ddr_tlbs(dram_size / 0x100000);  	dram_size *= 0x100000; -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif -  	/*  	 * SDRAM Initialization  	 */ diff --git a/board/freescale/mpc8572ds/mpc8572ds.c b/board/freescale/mpc8572ds/mpc8572ds.c index 3a78c98d1..a14db5ad2 100644 --- a/board/freescale/mpc8572ds/mpc8572ds.c +++ b/board/freescale/mpc8572ds/mpc8572ds.c @@ -38,10 +38,6 @@  #include "../common/pixis.h"  #include "../common/sgmii_riser.h" -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  long int fixed_sdram(void);  int checkboard (void) @@ -61,20 +57,12 @@ phys_size_t initdram(int board_type)  #ifdef CONFIG_SPD_EEPROM  	dram_size = fsl_ddr_sdram(); - -	dram_size = setup_ddr_tlbs(dram_size / 0x100000); - -	dram_size *= 0x100000;  #else  	dram_size = fixed_sdram();  #endif +	dram_size = setup_ddr_tlbs(dram_size / 0x100000); +	dram_size *= 0x100000; -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif  	puts("    DDR: ");  	return dram_size;  } diff --git a/board/sbc8548/sbc8548.c b/board/sbc8548/sbc8548.c index 9548ac637..8c073cb4b 100644 --- a/board/sbc8548/sbc8548.c +++ b/board/sbc8548/sbc8548.c @@ -36,10 +36,6 @@  #include <libfdt.h>  #include <fdt_support.h> -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -extern void ddr_enable_ecc(unsigned int dram_size); -#endif -  DECLARE_GLOBAL_DATA_PTR;  void local_bus_init(void); @@ -66,13 +62,6 @@ int checkboard (void)  	local_bus_init ();  	/* -	 * Fix CPU2 errata: A core hang possible while executing a -	 * msync instruction and a snoopable transaction from an I/O -	 * master tagged to make quick forward progress is present. -	 */ -	ecm->eebpcr |= (1 << 16); - -	/*  	 * Hack TSEC 3 and 4 IO voltages.  	 */  	gur->tsec34ioovcr = 0xe7e0;	/*  1110 0111 1110 0xxx */ @@ -114,12 +103,6 @@ initdram(int board_type)  	dram_size = fixed_sdram ();  #endif -#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) -	/* -	 * Initialize and enable DDR ECC. -	 */ -	ddr_enable_ecc(dram_size); -#endif  	/*  	 * SDRAM Initialization  	 */ @@ -429,7 +412,7 @@ pci_init_board(void)  		first_free_busno=hose->last_busno+1;  		printf ("PCI on bus %02x - %02x\n",hose->first_busno,hose->last_busno);  #ifdef CONFIG_PCIX_CHECK -		if (!(gur->pordevsr & PORDEVSR_PCI)) { +		if (!(gur->pordevsr & MPC85xx_PORDEVSR_PCI1)) {  			/* PCI-X init */  			if (CONFIG_SYS_CLK_FREQ < 66000000)  				printf("PCI-X will only work at 66 MHz\n"); diff --git a/board/socrates/tlb.c b/board/socrates/tlb.c index b91b1eab6..4591e466b 100644 --- a/board/socrates/tlb.c +++ b/board/socrates/tlb.c @@ -100,6 +100,7 @@ struct fsl_e_tlb_entry tlb_table[] = {  		      MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  		      0, 6, BOOKE_PAGESZ_64M, 1), +#if !defined(CONFIG_SPD_EEPROM)  	/*  	 * TLB 7+8:	512M	DDR, cache disabled (needed for memory test)  	 * 0x00000000  512M	DDR System memory @@ -114,6 +115,7 @@ struct fsl_e_tlb_entry tlb_table[] = {  	SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000, CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000,  		      MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  		      0, 8, BOOKE_PAGESZ_256M, 1), +#endif  };  int num_tlb_entries = ARRAY_SIZE(tlb_table); diff --git a/board/tqc/tqm85xx/tqm85xx.c b/board/tqc/tqm85xx/tqm85xx.c index 3a828edc1..73f1d01bd 100644 --- a/board/tqc/tqm85xx/tqm85xx.c +++ b/board/tqc/tqm85xx/tqm85xx.c @@ -610,7 +610,7 @@ static inline void init_pci1(void)  		first_free_busno = hose->last_busno + 1;  #ifdef CONFIG_PCIX_CHECK -		if (!(gur->pordevsr & PORDEVSR_PCI)) { +		if (!(gur->pordevsr & MPC85xx_PORDEVSR_PCI1)) {  			ushort reg16 =  				PCI_X_CMD_MAX_SPLIT | PCI_X_CMD_MAX_READ |  				PCI_X_CMD_ERO | PCI_X_CMD_DPERR_E; diff --git a/common/cmd_usb.c b/common/cmd_usb.c index 99e551f97..8b19240a8 100644 --- a/common/cmd_usb.c +++ b/common/cmd_usb.c @@ -36,178 +36,210 @@ static int usb_stor_curr_dev = -1; /* current device */  #endif  /* some display routines (info command) */ -char * usb_get_class_desc(unsigned char dclass) +char *usb_get_class_desc(unsigned char dclass)  { -	switch(dclass) { -		case USB_CLASS_PER_INTERFACE: -			return("See Interface"); -		case USB_CLASS_AUDIO: -			return("Audio"); -		case USB_CLASS_COMM: -			return("Communication"); -		case USB_CLASS_HID: -			return("Human Interface"); -		case USB_CLASS_PRINTER: -			return("Printer"); -		case USB_CLASS_MASS_STORAGE: -			return("Mass Storage"); -		case USB_CLASS_HUB: -			return("Hub"); -		case USB_CLASS_DATA: -			return("CDC Data"); -		case USB_CLASS_VENDOR_SPEC: -			return("Vendor specific"); -		default : -			return(""); +	switch (dclass) { +	case USB_CLASS_PER_INTERFACE: +		return "See Interface"; +	case USB_CLASS_AUDIO: +		return "Audio"; +	case USB_CLASS_COMM: +		return "Communication"; +	case USB_CLASS_HID: +		return "Human Interface"; +	case USB_CLASS_PRINTER: +		return "Printer"; +	case USB_CLASS_MASS_STORAGE: +		return "Mass Storage"; +	case USB_CLASS_HUB: +		return "Hub"; +	case USB_CLASS_DATA: +		return "CDC Data"; +	case USB_CLASS_VENDOR_SPEC: +		return "Vendor specific"; +	default: +		return "";  	}  } -void usb_display_class_sub(unsigned char dclass,unsigned char subclass,unsigned char proto) +void usb_display_class_sub(unsigned char dclass, unsigned char subclass, +			   unsigned char proto)  { -	switch(dclass) { -		case USB_CLASS_PER_INTERFACE: -			printf("See Interface"); +	switch (dclass) { +	case USB_CLASS_PER_INTERFACE: +		printf("See Interface"); +		break; +	case USB_CLASS_HID: +		printf("Human Interface, Subclass: "); +		switch (subclass) { +		case USB_SUB_HID_NONE: +			printf("None");  			break; -		case USB_CLASS_HID: -			printf("Human Interface, Subclass: "); -			switch(subclass) { -				case USB_SUB_HID_NONE: -					printf("None"); -					break; -				case USB_SUB_HID_BOOT: -					printf("Boot "); -					switch(proto) { -						case USB_PROT_HID_NONE: -							printf("None"); -							break; -						case USB_PROT_HID_KEYBOARD: -							printf("Keyboard"); -							break; -						case USB_PROT_HID_MOUSE: -							printf("Mouse"); -							break; -						default: -							printf("reserved"); -					} -					break; -				default: -					printf("reserved"); +		case USB_SUB_HID_BOOT: +			printf("Boot "); +			switch (proto) { +			case USB_PROT_HID_NONE: +				printf("None"); +				break; +			case USB_PROT_HID_KEYBOARD: +				printf("Keyboard"); +				break; +			case USB_PROT_HID_MOUSE: +				printf("Mouse"); +				break; +			default: +				printf("reserved"); +				break;  			}  			break; -		case USB_CLASS_MASS_STORAGE: -			printf("Mass Storage, "); -			switch(subclass) { -				case US_SC_RBC: -					printf("RBC "); -					break; -				case US_SC_8020: -					printf("SFF-8020i (ATAPI)"); -					break; -				case US_SC_QIC: -					printf("QIC-157 (Tape)"); -					break; -				case US_SC_UFI: -					printf("UFI"); -					break; -				case US_SC_8070: -					printf("SFF-8070"); -					break; -				case US_SC_SCSI: -					printf("Transp. SCSI"); -					break; -				default: -					printf("reserved"); -					break; -			} -			printf(", "); -			switch(proto) { -				case US_PR_CB: -					printf("Command/Bulk"); -					break; -				case US_PR_CBI: -					printf("Command/Bulk/Int"); -					break; -				case US_PR_BULK: -					printf("Bulk only"); -					break; -				default: -					printf("reserved"); -			} +		default: +			printf("reserved"); +			break; +		} +		break; +	case USB_CLASS_MASS_STORAGE: +		printf("Mass Storage, "); +		switch (subclass) { +		case US_SC_RBC: +			printf("RBC "); +			break; +		case US_SC_8020: +			printf("SFF-8020i (ATAPI)"); +			break; +		case US_SC_QIC: +			printf("QIC-157 (Tape)"); +			break; +		case US_SC_UFI: +			printf("UFI"); +			break; +		case US_SC_8070: +			printf("SFF-8070"); +			break; +		case US_SC_SCSI: +			printf("Transp. SCSI"); +			break; +		default: +			printf("reserved"); +			break; +		} +		printf(", "); +		switch (proto) { +		case US_PR_CB: +			printf("Command/Bulk"); +			break; +		case US_PR_CBI: +			printf("Command/Bulk/Int"); +			break; +		case US_PR_BULK: +			printf("Bulk only");  			break;  		default: -			printf("%s",usb_get_class_desc(dclass)); +			printf("reserved"); +			break; +		} +		break; +	default: +		printf("%s", usb_get_class_desc(dclass)); +		break;  	}  } -void usb_display_string(struct usb_device *dev,int index) +void usb_display_string(struct usb_device *dev, int index)  {  	char buffer[256]; -	if (index!=0) { -		if (usb_string(dev,index,&buffer[0],256)>0); -			printf("String: \"%s\"",buffer); +	if (index != 0) { +		if (usb_string(dev, index, &buffer[0], 256) > 0) +			printf("String: \"%s\"", buffer);  	}  }  void usb_display_desc(struct usb_device *dev)  { -	if (dev->descriptor.bDescriptorType==USB_DT_DEVICE) { -		printf("%d: %s,  USB Revision %x.%x\n",dev->devnum,usb_get_class_desc(dev->config.if_desc[0].bInterfaceClass), -			(dev->descriptor.bcdUSB>>8) & 0xff,dev->descriptor.bcdUSB & 0xff); -		if (strlen(dev->mf) || strlen(dev->prod) || strlen(dev->serial)) -			printf(" - %s %s %s\n",dev->mf,dev->prod,dev->serial); +	if (dev->descriptor.bDescriptorType == USB_DT_DEVICE) { +		printf("%d: %s,  USB Revision %x.%x\n", dev->devnum, +		usb_get_class_desc(dev->config.if_desc[0].bInterfaceClass), +				   (dev->descriptor.bcdUSB>>8) & 0xff, +				   dev->descriptor.bcdUSB & 0xff); + +		if (strlen(dev->mf) || strlen(dev->prod) || +		    strlen(dev->serial)) +			printf(" - %s %s %s\n", dev->mf, dev->prod, +				dev->serial);  		if (dev->descriptor.bDeviceClass) {  			printf(" - Class: "); -			usb_display_class_sub(dev->descriptor.bDeviceClass,dev->descriptor.bDeviceSubClass,dev->descriptor.bDeviceProtocol); +			usb_display_class_sub(dev->descriptor.bDeviceClass, +					      dev->descriptor.bDeviceSubClass, +					      dev->descriptor.bDeviceProtocol);  			printf("\n"); +		} else { +			printf(" - Class: (from Interface) %s\n", +			       usb_get_class_desc( +				dev->config.if_desc[0].bInterfaceClass));  		} -		else { -			printf(" - Class: (from Interface) %s\n",usb_get_class_desc(dev->config.if_desc[0].bInterfaceClass)); -		} -		printf(" - PacketSize: %d  Configurations: %d\n",dev->descriptor.bMaxPacketSize0,dev->descriptor.bNumConfigurations); -		printf(" - Vendor: 0x%04x  Product 0x%04x Version %d.%d\n",dev->descriptor.idVendor,dev->descriptor.idProduct,(dev->descriptor.bcdDevice>>8) & 0xff,dev->descriptor.bcdDevice & 0xff); +		printf(" - PacketSize: %d  Configurations: %d\n", +			dev->descriptor.bMaxPacketSize0, +			dev->descriptor.bNumConfigurations); +		printf(" - Vendor: 0x%04x  Product 0x%04x Version %d.%d\n", +			dev->descriptor.idVendor, dev->descriptor.idProduct, +			(dev->descriptor.bcdDevice>>8) & 0xff, +			dev->descriptor.bcdDevice & 0xff);  	}  } -void usb_display_conf_desc(struct usb_config_descriptor *config,struct usb_device *dev) +void usb_display_conf_desc(struct usb_config_descriptor *config, +			   struct usb_device *dev)  { -	printf("   Configuration: %d\n",config->bConfigurationValue); -	printf("   - Interfaces: %d %s%s%dmA\n",config->bNumInterfaces,(config->bmAttributes & 0x40) ? "Self Powered " : "Bus Powered ", -	(config->bmAttributes & 0x20) ? "Remote Wakeup " : "",config->MaxPower*2); +	printf("   Configuration: %d\n", config->bConfigurationValue); +	printf("   - Interfaces: %d %s%s%dmA\n", config->bNumInterfaces, +	       (config->bmAttributes & 0x40) ? "Self Powered " : "Bus Powered ", +	       (config->bmAttributes & 0x20) ? "Remote Wakeup " : "", +		config->MaxPower*2);  	if (config->iConfiguration) {  		printf("   - "); -		usb_display_string(dev,config->iConfiguration); +		usb_display_string(dev, config->iConfiguration);  		printf("\n");  	}  } -void usb_display_if_desc(struct usb_interface_descriptor *ifdesc,struct usb_device *dev) +void usb_display_if_desc(struct usb_interface_descriptor *ifdesc, +			 struct usb_device *dev)  { -	printf("     Interface: %d\n",ifdesc->bInterfaceNumber); -	printf("     - Alternate Setting %d, Endpoints: %d\n",ifdesc->bAlternateSetting,ifdesc->bNumEndpoints); +	printf("     Interface: %d\n", ifdesc->bInterfaceNumber); +	printf("     - Alternate Setting %d, Endpoints: %d\n", +		ifdesc->bAlternateSetting, ifdesc->bNumEndpoints);  	printf("     - Class "); -	usb_display_class_sub(ifdesc->bInterfaceClass,ifdesc->bInterfaceSubClass,ifdesc->bInterfaceProtocol); +	usb_display_class_sub(ifdesc->bInterfaceClass, +		ifdesc->bInterfaceSubClass, ifdesc->bInterfaceProtocol);  	printf("\n");  	if (ifdesc->iInterface) {  		printf("     - "); -		usb_display_string(dev,ifdesc->iInterface); +		usb_display_string(dev, ifdesc->iInterface);  		printf("\n");  	}  }  void usb_display_ep_desc(struct usb_endpoint_descriptor *epdesc)  { -	printf("     - Endpoint %d %s ",epdesc->bEndpointAddress & 0xf,(epdesc->bEndpointAddress & 0x80) ? "In" : "Out"); -	switch((epdesc->bmAttributes & 0x03)) -	{ -		case 0: printf("Control"); break; -		case 1: printf("Isochronous"); break; -		case 2: printf("Bulk"); break; -		case 3: printf("Interrupt"); break; +	printf("     - Endpoint %d %s ", epdesc->bEndpointAddress & 0xf, +		(epdesc->bEndpointAddress & 0x80) ? "In" : "Out"); +	switch ((epdesc->bmAttributes & 0x03)) { +	case 0: +		printf("Control"); +		break; +	case 1: +		printf("Isochronous"); +		break; +	case 2: +		printf("Bulk"); +		break; +	case 3: +		printf("Interrupt"); +		break;  	} -	printf(" MaxPacket %d",epdesc->wMaxPacketSize); -	if ((epdesc->bmAttributes & 0x03)==0x3) -		printf(" Interval %dms",epdesc->bInterval); +	printf(" MaxPacket %d", epdesc->wMaxPacketSize); +	if ((epdesc->bmAttributes & 0x03) == 0x3) +		printf(" Interval %dms", epdesc->bInterval);  	printf("\n");  } @@ -217,15 +249,15 @@ void usb_display_config(struct usb_device *dev)  	struct usb_config_descriptor *config;  	struct usb_interface_descriptor *ifdesc;  	struct usb_endpoint_descriptor *epdesc; -	int i,ii; +	int i, ii; -	config= &dev->config; -	usb_display_conf_desc(config,dev); -	for(i=0;i<config->no_of_if;i++) { -		ifdesc= &config->if_desc[i]; -		usb_display_if_desc(ifdesc,dev); -		for(ii=0;ii<ifdesc->no_of_ep;ii++) { -			epdesc= &ifdesc->ep_desc[ii]; +	config = &dev->config; +	usb_display_conf_desc(config, dev); +	for (i = 0; i < config->no_of_if; i++) { +		ifdesc = &config->if_desc[i]; +		usb_display_if_desc(ifdesc, dev); +		for (ii = 0; ii < ifdesc->no_of_ep; ii++) { +			epdesc = &ifdesc->ep_desc[ii];  			usb_display_ep_desc(epdesc);  		}  	} @@ -233,31 +265,33 @@ void usb_display_config(struct usb_device *dev)  }  /* shows the device tree recursively */ -void usb_show_tree_graph(struct usb_device *dev,char *pre) +void usb_show_tree_graph(struct usb_device *dev, char *pre)  { -	int i,index; -	int has_child,last_child,port; +	int i, index; +	int has_child, last_child, port; -	index=strlen(pre); -	printf(" %s",pre); +	index = strlen(pre); +	printf(" %s", pre);  	/* check if the device has connected children */ -	has_child=0; -	for(i=0;i<dev->maxchild;i++) { -		if (dev->children[i]!=NULL) -			has_child=1; +	has_child = 0; +	for (i = 0; i < dev->maxchild; i++) { +		if (dev->children[i] != NULL) +			has_child = 1;  	}  	/* check if we are the last one */ -	last_child=1; -	if (dev->parent!=NULL) { -		for(i=0;i<dev->parent->maxchild;i++) { +	last_child = 1; +	if (dev->parent != NULL) { +		for (i = 0; i < dev->parent->maxchild; i++) {  			/* search for children */ -			if (dev->parent->children[i]==dev) { -				/* found our pointer, see if we have a little sister */ -				port=i; -				while(i++<dev->parent->maxchild) { -					if (dev->parent->children[i]!=NULL) { +			if (dev->parent->children[i] == dev) { +				/* found our pointer, see if we have a +				 * little sister +				 */ +				port = i; +				while (i++ < dev->parent->maxchild) { +					if (dev->parent->children[i] != NULL) {  						/* found a sister */ -						last_child=0; +						last_child = 0;  						break;  					} /* if */  				} /* while */ @@ -265,28 +299,27 @@ void usb_show_tree_graph(struct usb_device *dev,char *pre)  		} /* for all children of the parent */  		printf("\b+-");  		/* correct last child */ -		if (last_child) { -			pre[index-1]=' '; -		} +		if (last_child) +			pre[index-1] = ' ';  	} /* if not root hub */  	else  		printf(" "); -	printf("%d ",dev->devnum); -	pre[index++]=' '; -	pre[index++]= has_child ? '|' : ' '; -	pre[index]=0; -	printf(" %s (%s, %dmA)\n",usb_get_class_desc(dev->config.if_desc[0].bInterfaceClass), -		dev->slow ? "1.5MBit/s" : "12MBit/s",dev->config.MaxPower * 2); -	if (strlen(dev->mf) || -	   strlen(dev->prod) || -	   strlen(dev->serial)) -		printf(" %s  %s %s %s\n",pre,dev->mf,dev->prod,dev->serial); -	printf(" %s\n",pre); -	if (dev->maxchild>0) { -		for(i=0;i<dev->maxchild;i++) { -			if (dev->children[i]!=NULL) { -				usb_show_tree_graph(dev->children[i],pre); -				pre[index]=0; +	printf("%d ", dev->devnum); +	pre[index++] = ' '; +	pre[index++] = has_child ? '|' : ' '; +	pre[index] = 0; +	printf(" %s (%s, %dmA)\n", usb_get_class_desc( +					dev->config.if_desc[0].bInterfaceClass), +					dev->slow ? "1.5MBit/s" : "12MBit/s", +					dev->config.MaxPower * 2); +	if (strlen(dev->mf) || strlen(dev->prod) || strlen(dev->serial)) +		printf(" %s  %s %s %s\n", pre, dev->mf, dev->prod, dev->serial); +	printf(" %s\n", pre); +	if (dev->maxchild > 0) { +		for (i = 0; i < dev->maxchild; i++) { +			if (dev->children[i] != NULL) { +				usb_show_tree_graph(dev->children[i], pre); +				pre[index] = 0;  			}  		}  	} @@ -297,8 +330,8 @@ void usb_show_tree(struct usb_device *dev)  {  	char preamble[32]; -	memset(preamble,0,32); -	usb_show_tree_graph(dev,&preamble[0]); +	memset(preamble, 0, 32); +	usb_show_tree_graph(dev, &preamble[0]);  } @@ -306,11 +339,11 @@ void usb_show_tree(struct usb_device *dev)   * usb boot command intepreter. Derived from diskboot   */  #ifdef CONFIG_USB_STORAGE -int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) +int do_usbboot(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  {  	char *boot_device = NULL;  	char *ep; -	int dev, part=1, rcode; +	int dev, part = 1, rcode;  	ulong addr, cnt;  	disk_partition_t info;  	image_header_t *hdr; @@ -322,95 +355,98 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	switch (argc) {  	case 1:  		addr = CONFIG_SYS_LOAD_ADDR; -		boot_device = getenv ("bootdevice"); +		boot_device = getenv("bootdevice");  		break;  	case 2:  		addr = simple_strtoul(argv[1], NULL, 16); -		boot_device = getenv ("bootdevice"); +		boot_device = getenv("bootdevice");  		break;  	case 3:  		addr = simple_strtoul(argv[1], NULL, 16);  		boot_device = argv[2];  		break;  	default: -		printf ("Usage:\n%s\n", cmdtp->usage); +		printf("Usage:\n%s\n", cmdtp->usage);  		return 1;  	}  	if (!boot_device) { -		puts ("\n** No boot device **\n"); +		puts("\n** No boot device **\n");  		return 1;  	}  	dev = simple_strtoul(boot_device, &ep, 16); -	stor_dev=usb_stor_get_dev(dev); +	stor_dev = usb_stor_get_dev(dev);  	if (stor_dev->type == DEV_TYPE_UNKNOWN) { -		printf ("\n** Device %d not available\n", dev); +		printf("\n** Device %d not available\n", dev);  		return 1;  	} -	if (stor_dev->block_read==NULL) { +	if (stor_dev->block_read == NULL) {  		printf("storage device not initialized. Use usb scan\n");  		return 1;  	}  	if (*ep) {  		if (*ep != ':') { -			puts ("\n** Invalid boot device, use `dev[:part]' **\n"); +			puts("\n** Invalid boot device, use `dev[:part]' **\n");  			return 1;  		}  		part = simple_strtoul(++ep, NULL, 16);  	} -	if (get_partition_info (stor_dev, part, &info)) { +	if (get_partition_info(stor_dev, part, &info)) {  		/* try to boot raw .... */ -		strncpy((char *)&info.type[0], BOOT_PART_TYPE, sizeof(BOOT_PART_TYPE)); +		strncpy((char *)&info.type[0], BOOT_PART_TYPE, +			sizeof(BOOT_PART_TYPE));  		strncpy((char *)&info.name[0], "Raw", 4); -		info.start=0; -		info.blksz=0x200; -		info.size=2880; +		info.start = 0; +		info.blksz = 0x200; +		info.size = 2880;  		printf("error reading partinfo...try to boot raw\n");  	} -	if ((strncmp((char *)info.type, BOOT_PART_TYPE, sizeof(info.type)) != 0) && -	    (strncmp((char *)info.type, BOOT_PART_COMP, sizeof(info.type)) != 0)) { -		printf ("\n** Invalid partition type \"%.32s\"" +	if ((strncmp((char *)info.type, BOOT_PART_TYPE, +	    sizeof(info.type)) != 0) && +	    (strncmp((char *)info.type, BOOT_PART_COMP, +	    sizeof(info.type)) != 0)) { +		printf("\n** Invalid partition type \"%.32s\""  			" (expect \"" BOOT_PART_TYPE "\")\n",  			info.type);  		return 1;  	} -	printf ("\nLoading from USB device %d, partition %d: " +	printf("\nLoading from USB device %d, partition %d: "  		"Name: %.32s  Type: %.32s\n",  		dev, part, info.name, info.type); -	debug ("First Block: %ld,  # of blocks: %ld, Block Size: %ld\n", +	debug("First Block: %ld,  # of blocks: %ld, Block Size: %ld\n",  		info.start, info.size, info.blksz);  	if (stor_dev->block_read(dev, info.start, 1, (ulong *)addr) != 1) { -		printf ("** Read error on %d:%d\n", dev, part); +		printf("** Read error on %d:%d\n", dev, part);  		return 1;  	} -	switch (genimg_get_format ((void *)addr)) { +	switch (genimg_get_format((void *)addr)) {  	case IMAGE_FORMAT_LEGACY:  		hdr = (image_header_t *)addr; -		if (!image_check_hcrc (hdr)) { -			puts ("\n** Bad Header Checksum **\n"); +		if (!image_check_hcrc(hdr)) { +			puts("\n** Bad Header Checksum **\n");  			return 1;  		} -		image_print_contents (hdr); +		image_print_contents(hdr); -		cnt = image_get_image_size (hdr); +		cnt = image_get_image_size(hdr);  		break;  #if defined(CONFIG_FIT)  	case IMAGE_FORMAT_FIT:  		fit_hdr = (const void *)addr; -		puts ("Fit image detected...\n"); +		puts("Fit image detected...\n"); -		cnt = fit_get_size (fit_hdr); +		cnt = fit_get_size(fit_hdr);  		break;  #endif  	default: -		puts ("** Unknown image type\n"); +		puts("** Unknown image type\n");  		return 1;  	} @@ -418,36 +454,38 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	cnt /= info.blksz;  	cnt -= 1; -	if (stor_dev->block_read (dev, info.start+1, cnt, +	if (stor_dev->block_read(dev, info.start+1, cnt,  		      (ulong *)(addr+info.blksz)) != cnt) { -		printf ("\n** Read error on %d:%d\n", dev, part); +		printf("\n** Read error on %d:%d\n", dev, part);  		return 1;  	}  #if defined(CONFIG_FIT) -	/* This cannot be done earlier, we need complete FIT image in RAM first */ -	if (genimg_get_format ((void *)addr) == IMAGE_FORMAT_FIT) { -		if (!fit_check_format (fit_hdr)) { -			puts ("** Bad FIT image format\n"); +	/* This cannot be done earlier, we need complete FIT image in RAM +	 * first +	 */ +	if (genimg_get_format((void *)addr) == IMAGE_FORMAT_FIT) { +		if (!fit_check_format(fit_hdr)) { +			puts("** Bad FIT image format\n");  			return 1;  		} -		fit_print_contents (fit_hdr); +		fit_print_contents(fit_hdr);  	}  #endif  	/* Loading ok, update default load address */  	load_addr = addr; -	flush_cache (addr, (cnt+1)*info.blksz); +	flush_cache(addr, (cnt+1)*info.blksz);  	/* Check if we should attempt an auto-start */ -	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) { +	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep, "yes") == 0)) {  		char *local_args[2]; -		extern int do_bootm (cmd_tbl_t *, int, int, char *[]); +		extern int do_bootm(cmd_tbl_t *, int, int, char *[]);  		local_args[0] = argv[0];  		local_args[1] = NULL; -		printf ("Automatic boot of image at addr 0x%08lX ...\n", addr); -		rcode=do_bootm (cmdtp, 0, 1, local_args); +		printf("Automatic boot of image at addr 0x%08lX ...\n", addr); +		rcode = do_bootm(cmdtp, 0, 1, local_args);  		return rcode;  	}  	return 0; @@ -455,10 +493,10 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  #endif /* CONFIG_USB_STORAGE */ -/********************************************************************************* +/******************************************************************************   * usb command intepreter   */ -int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) +int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  {  	int i; @@ -469,7 +507,7 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  #endif  	if ((strncmp(argv[1], "reset", 5) == 0) || -		 (strncmp(argv[1], "start", 5) == 0)){ +		 (strncmp(argv[1], "start", 5) == 0)) {  		usb_stop();  		printf("(Re)start USB...\n");  		i = usb_init(); @@ -480,16 +518,17 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  #endif  		return 0;  	} -	if (strncmp(argv[1],"stop",4) == 0) { +	if (strncmp(argv[1], "stop", 4) == 0) {  #ifdef CONFIG_USB_KEYBOARD -		if (argc==2) { -			if (usb_kbd_deregister()!=0) { -				printf("USB not stopped: usbkbd still using USB\n"); +		if (argc == 2) { +			if (usb_kbd_deregister() != 0) { +				printf("USB not stopped: usbkbd still" +					" using USB\n");  				return 1;  			} -		} -		else { /* forced stop, switch console in to serial */ -			console_assign(stdin,"serial"); +		} else { +			/* forced stop, switch console in to serial */ +			console_assign(stdin, "serial");  			usb_kbd_deregister();  		}  #endif @@ -501,40 +540,38 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  		printf("USB is stopped. Please issue 'usb start' first.\n");  		return 1;  	} -	if (strncmp(argv[1],"tree",4) == 0) { +	if (strncmp(argv[1], "tree", 4) == 0) {  		printf("\nDevice Tree:\n");  		usb_show_tree(usb_get_dev_index(0));  		return 0;  	} -	if (strncmp(argv[1],"inf",3) == 0) { +	if (strncmp(argv[1], "inf", 3) == 0) {  		int d; -		if (argc==2) { -			for(d=0;d<USB_MAX_DEVICE;d++) { -				dev=usb_get_dev_index(d); -				if (dev==NULL) +		if (argc == 2) { +			for (d = 0; d < USB_MAX_DEVICE; d++) { +				dev = usb_get_dev_index(d); +				if (dev == NULL)  					break;  				usb_display_desc(dev);  				usb_display_config(dev);  			}  			return 0; -		} -		else { +		} else {  			int d; -			i=simple_strtoul(argv[2], NULL, 16); -			printf("config for device %d\n",i); -			for(d=0;d<USB_MAX_DEVICE;d++) { -				dev=usb_get_dev_index(d); -				if (dev==NULL) +			i = simple_strtoul(argv[2], NULL, 16); +			printf("config for device %d\n", i); +			for (d = 0; d < USB_MAX_DEVICE; d++) { +				dev = usb_get_dev_index(d); +				if (dev == NULL)  					break; -				if (dev->devnum==i) +				if (dev->devnum == i)  					break;  			} -			if (dev==NULL) { +			if (dev == NULL) {  				printf("*** NO Device avaiable ***\n");  				return 0; -			} -			else { +			} else {  				usb_display_desc(dev);  				usb_display_config(dev);  			} @@ -542,37 +579,28 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  		return 0;  	}  #ifdef CONFIG_USB_STORAGE -	if (strncmp(argv[1], "scan", 4) == 0) { -		printf("  NOTE: this command is obsolete and will be phased out\n"); -		printf("  please use 'usb storage' for USB storage devices information\n\n"); -		usb_stor_info(); -		return 0; -	} - -	if (strncmp(argv[1], "stor", 4) == 0) { +	if (strncmp(argv[1], "stor", 4) == 0)  		return usb_stor_info(); -	} -	if (strncmp(argv[1],"part",4) == 0) { +	if (strncmp(argv[1], "part", 4) == 0) {  		int devno, ok = 0; -		if (argc==2) { -			for (devno=0; devno<USB_MAX_STOR_DEV; ++devno) { -				stor_dev=usb_stor_get_dev(devno); -				if (stor_dev->type!=DEV_TYPE_UNKNOWN) { +		if (argc == 2) { +			for (devno = 0; devno < USB_MAX_STOR_DEV; ++devno) { +				stor_dev = usb_stor_get_dev(devno); +				if (stor_dev->type != DEV_TYPE_UNKNOWN) {  					ok++;  					if (devno)  						printf("\n"); -					printf("print_part of %x\n",devno); +					printf("print_part of %x\n", devno);  					print_part(stor_dev);  				}  			} -		} -		else { -			devno=simple_strtoul(argv[2], NULL, 16); -			stor_dev=usb_stor_get_dev(devno); -			if (stor_dev->type!=DEV_TYPE_UNKNOWN) { +		} else { +			devno = simple_strtoul(argv[2], NULL, 16); +			stor_dev = usb_stor_get_dev(devno); +			if (stor_dev->type != DEV_TYPE_UNKNOWN) {  				ok++; -				printf("print_part of %x\n",devno); +				printf("print_part of %x\n", devno);  				print_part(stor_dev);  			}  		} @@ -582,22 +610,24 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  		}  		return 0;  	} -	if (strcmp(argv[1],"read") == 0) { -		if (usb_stor_curr_dev<0) { +	if (strcmp(argv[1], "read") == 0) { +		if (usb_stor_curr_dev < 0) {  			printf("no current device selected\n");  			return 1;  		} -		if (argc==5) { +		if (argc == 5) {  			unsigned long addr = simple_strtoul(argv[2], NULL, 16);  			unsigned long blk  = simple_strtoul(argv[3], NULL, 16);  			unsigned long cnt  = simple_strtoul(argv[4], NULL, 16);  			unsigned long n; -			printf ("\nUSB read: device %d block # %ld, count %ld ... ", -					usb_stor_curr_dev, blk, cnt); -			stor_dev=usb_stor_get_dev(usb_stor_curr_dev); -			n = stor_dev->block_read(usb_stor_curr_dev, blk, cnt, (ulong *)addr); -			printf ("%ld blocks read: %s\n",n,(n==cnt) ? "OK" : "ERROR"); -			if (n==cnt) +			printf("\nUSB read: device %d block # %ld, count %ld" +				" ... ", usb_stor_curr_dev, blk, cnt); +			stor_dev = usb_stor_get_dev(usb_stor_curr_dev); +			n = stor_dev->block_read(usb_stor_curr_dev, blk, cnt, +						 (ulong *)addr); +			printf("%ld blocks read: %s\n", n, +				(n == cnt) ? "OK" : "ERROR"); +			if (n == cnt)  				return 0;  			return 1;  		} @@ -605,34 +635,31 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	if (strncmp(argv[1], "dev", 3) == 0) {  		if (argc == 3) {  			int dev = (int)simple_strtoul(argv[2], NULL, 10); -			printf ("\nUSB device %d: ", dev); +			printf("\nUSB device %d: ", dev);  			if (dev >= USB_MAX_STOR_DEV) {  				printf("unknown device\n");  				return 1;  			} -			printf ("\n    Device %d: ", dev); -			stor_dev=usb_stor_get_dev(dev); +			printf("\n    Device %d: ", dev); +			stor_dev = usb_stor_get_dev(dev);  			dev_print(stor_dev); -			if (stor_dev->type == DEV_TYPE_UNKNOWN) { +			if (stor_dev->type == DEV_TYPE_UNKNOWN)  				return 1; -			}  			usb_stor_curr_dev = dev;  			printf("... is now current device\n");  			return 0; -		} -		else { -			printf ("\nUSB device %d: ", usb_stor_curr_dev); -			stor_dev=usb_stor_get_dev(usb_stor_curr_dev); +		} else { +			printf("\nUSB device %d: ", usb_stor_curr_dev); +			stor_dev = usb_stor_get_dev(usb_stor_curr_dev);  			dev_print(stor_dev); -			if (stor_dev->type == DEV_TYPE_UNKNOWN) { +			if (stor_dev->type == DEV_TYPE_UNKNOWN)  				return 1; -			}  			return 0;  		}  		return 0;  	}  #endif /* CONFIG_USB_STORAGE */ -	printf ("Usage:\n%s\n", cmdtp->usage); +	printf("Usage:\n%s\n", cmdtp->usage);  	return 1;  } @@ -646,7 +673,8 @@ U_BOOT_CMD(  	"usb info [dev] - show available USB devices\n"  	"usb storage  - show details of USB storage devices\n"  	"usb dev [dev] - show or set current USB storage device\n" -	"usb part [dev] - print partition table of one or all USB storage devices\n" +	"usb part [dev] - print partition table of one or all USB storage" +	" devices\n"  	"usb read addr blk# cnt - read `cnt' blocks starting at block `blk#'\n"  	"    to memory address `addr'\n"  ); diff --git a/common/env_onenand.c b/common/env_onenand.c index 3c65b3e48..dbccc7912 100644 --- a/common/env_onenand.c +++ b/common/env_onenand.c @@ -97,6 +97,7 @@ int saveenv(void)  	instr.len = CONFIG_ENV_SIZE;  	instr.addr = env_addr; +	instr.mtd = &onenand_mtd;  	if (onenand_erase(&onenand_mtd, &instr)) {  		printf("OneNAND: erase failed at 0x%08lx\n", env_addr);  		return 1; diff --git a/common/usb.c b/common/usb.c index 7ab5df670..ee181528c 100644 --- a/common/usb.c +++ b/common/usb.c @@ -58,7 +58,7 @@  #undef USB_DEBUG  #ifdef	USB_DEBUG -#define	USB_PRINTF(fmt, args...)	printf (fmt , ##args) +#define	USB_PRINTF(fmt, args...)	printf(fmt , ##args)  #else  #define USB_PRINTF(fmt, args...)  #endif @@ -87,11 +87,12 @@ static int hub_port_reset(struct usb_device *dev, int port,   * wait_ms   */ -void __inline__ wait_ms(unsigned long ms) +inline void wait_ms(unsigned long ms)  {  	while (ms-- > 0)  		udelay(1000);  } +  /***************************************************************************   * Init USB Device   */ @@ -245,9 +246,9 @@ int usb_maxpacket(struct usb_device *dev, unsigned long pipe)  {  	/* direction is out -> use emaxpacket out */  	if ((pipe & USB_DIR_IN) == 0) -		return(dev->epmaxpacketout[((pipe>>15) & 0xf)]); +		return dev->epmaxpacketout[((pipe>>15) & 0xf)];  	else -		return(dev->epmaxpacketin[((pipe>>15) & 0xf)]); +		return dev->epmaxpacketin[((pipe>>15) & 0xf)];  }  /* The routine usb_set_maxpacket_ep() is extracted from the loop of routine @@ -269,7 +270,7 @@ usb_set_maxpacket_ep(struct usb_device *dev, struct usb_endpoint_descriptor *ep)  						USB_ENDPOINT_XFER_CONTROL) {  		/* Control => bidirectional */  		dev->epmaxpacketout[b] = ep->wMaxPacketSize; -		dev->epmaxpacketin [b] = ep->wMaxPacketSize; +		dev->epmaxpacketin[b] = ep->wMaxPacketSize;  		USB_PRINTF("##Control EP epmaxpacketout/in[%d] = %d\n",  			   b, dev->epmaxpacketin[b]);  	} else { @@ -779,13 +780,13 @@ int usb_new_device(struct usb_device *dev)  	 * invalid header while reading 8 bytes as device descriptor. */  	dev->descriptor.bMaxPacketSize0 = 8;	    /* Start off at 8 bytes  */  	dev->maxpacketsize = PACKET_SIZE_8; -	dev->epmaxpacketin [0] = 8; +	dev->epmaxpacketin[0] = 8;  	dev->epmaxpacketout[0] = 8;  	err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, &dev->descriptor, 8);  	if (err < 8) {  		printf("\n      USB device not responding, " \ -		       "giving up (status=%lX)\n",dev->status); +		       "giving up (status=%lX)\n", dev->status);  		return 1;  	}  #else @@ -793,7 +794,8 @@ int usb_new_device(struct usb_device *dev)  	 * reset of the device (Linux uses the same sequence)  	 * Some equipment is said to work only with such init sequence; this  	 * patch is based on the work by Alan Stern: -	 * http://sourceforge.net/mailarchive/forum.php?thread_id=5729457&forum_id=5398 +	 * http://sourceforge.net/mailarchive/forum.php? +	 * thread_id=5729457&forum_id=5398  	 */  	struct usb_device_descriptor *desc;  	int port = -1; @@ -809,7 +811,7 @@ int usb_new_device(struct usb_device *dev)  	dev->descriptor.bMaxPacketSize0 = 64;	    /* Start off at 64 bytes  */  	/* Default to 64 byte max packet size */  	dev->maxpacketsize = PACKET_SIZE_64; -	dev->epmaxpacketin [0] = 64; +	dev->epmaxpacketin[0] = 64;  	dev->epmaxpacketout[0] = 64;  	err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, 64); @@ -844,13 +846,21 @@ int usb_new_device(struct usb_device *dev)  	}  #endif -	dev->epmaxpacketin [0] = dev->descriptor.bMaxPacketSize0; +	dev->epmaxpacketin[0] = dev->descriptor.bMaxPacketSize0;  	dev->epmaxpacketout[0] = dev->descriptor.bMaxPacketSize0;  	switch (dev->descriptor.bMaxPacketSize0) { -	case 8: dev->maxpacketsize  = PACKET_SIZE_8; break; -	case 16: dev->maxpacketsize = PACKET_SIZE_16; break; -	case 32: dev->maxpacketsize = PACKET_SIZE_32; break; -	case 64: dev->maxpacketsize = PACKET_SIZE_64; break; +	case 8: +		dev->maxpacketsize  = PACKET_SIZE_8; +		break; +	case 16: +		dev->maxpacketsize = PACKET_SIZE_16; +		break; +	case 32: +		dev->maxpacketsize = PACKET_SIZE_32; +		break; +	case 64: +		dev->maxpacketsize = PACKET_SIZE_64; +		break;  	}  	dev->devnum = addr; @@ -947,7 +957,7 @@ void usb_scan_devices(void)  #undef	USB_HUB_DEBUG  #ifdef	USB_HUB_DEBUG -#define	USB_HUB_PRINTF(fmt, args...)	printf (fmt , ##args) +#define	USB_HUB_PRINTF(fmt, args...)	printf(fmt , ##args)  #else  #define USB_HUB_PRINTF(fmt, args...)  #endif diff --git a/cpu/mpc85xx/cpu_init.c b/cpu/mpc85xx/cpu_init.c index 3a8aef20d..0b7c60971 100644 --- a/cpu/mpc85xx/cpu_init.c +++ b/cpu/mpc85xx/cpu_init.c @@ -132,6 +132,12 @@ void config_8560_ioports (volatile ccsr_cpm_t * cpm)  /* We run cpu_init_early_f in AS = 1 */  void cpu_init_early_f(void)  { +	/* Pointer is writable since we allocated a register for it */ +	gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET); + +	/* Clear initial global data */ +	memset ((void *) gd, 0, sizeof (gd_t)); +  	set_tlb(0, CONFIG_SYS_CCSRBAR, CONFIG_SYS_CCSRBAR_PHYS,  		MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  		1, 0, BOOKE_PAGESZ_4K, 0); @@ -140,24 +146,19 @@ void cpu_init_early_f(void)  #if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR_PHYS)  	{  		u32 temp; +		volatile u32 *ccsr_virt = +			(volatile u32 *)(CONFIG_SYS_CCSRBAR + 0x1000); -		set_tlb(0, CONFIG_SYS_CCSRBAR_DEFAULT, CONFIG_SYS_CCSRBAR_DEFAULT, +		set_tlb(0, (u32)ccsr_virt, CONFIG_SYS_CCSRBAR_DEFAULT,  			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  			1, 1, BOOKE_PAGESZ_4K, 0); -		temp = in_be32((volatile u32 *)CONFIG_SYS_CCSRBAR_DEFAULT); -		out_be32((volatile u32 *)CONFIG_SYS_CCSRBAR_DEFAULT, CONFIG_SYS_CCSRBAR_PHYS >> 12); - +		temp = in_be32(ccsr_virt); +		out_be32(ccsr_virt, CONFIG_SYS_CCSRBAR_PHYS >> 12);  		temp = in_be32((volatile u32 *)CONFIG_SYS_CCSRBAR);  	}  #endif -	/* Pointer is writable since we allocated a register for it */ -	gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET); - -	/* Clear initial global data */ -	memset ((void *) gd, 0, sizeof (gd_t)); -  	init_laws();  	invalidate_tlb(0);  	init_tlbs(); @@ -174,6 +175,19 @@ void cpu_init_f (void)  {  	volatile ccsr_lbc_t *memctl = (void *)(CONFIG_SYS_MPC85xx_LBC_ADDR);  	extern void m8560_cpm_reset (void); +#ifdef CONFIG_MPC8548 +	ccsr_local_ecm_t *ecm = (void *)(CONFIG_SYS_MPC85xx_ECM_ADDR); +	uint svr = get_svr(); + +	/* +	 * CPU2 errata workaround: A core hang possible while executing +	 * a msync instruction and a snoopable transaction from an I/O +	 * master tagged to make quick forward progress is present. +	 * Fixed in silicon rev 2.1. +	 */ +	if ((SVR_MAJ(svr) == 1) || ((SVR_MAJ(svr) == 2 && SVR_MIN(svr) == 0x0))) +		out_be32(&ecm->eebpcr, in_be32(&ecm->eebpcr) | (1 << 16)); +#endif  	disable_tlb(14);  	disable_tlb(15); diff --git a/cpu/mpc85xx/pci.c b/cpu/mpc85xx/pci.c index 112f18c2b..787c6eb74 100644 --- a/cpu/mpc85xx/pci.c +++ b/cpu/mpc85xx/pci.c @@ -70,7 +70,7 @@ pci_mpc85xx_init(struct pci_controller *board_hose)  	 */  	pci_hose_write_config_word(hose, dev, PCI_STATUS, 0xffff); -	if (!(gur->pordevsr & PORDEVSR_PCI)) { +	if (!(gur->pordevsr & MPC85xx_PORDEVSR_PCI1)) {  		/* PCI-X init */  		if (CONFIG_SYS_CLK_FREQ < 66000000)  			printf("PCI-X will only work at 66 MHz\n"); diff --git a/cpu/mpc8xxx/ddr/main.c b/cpu/mpc8xxx/ddr/main.c index 21a16d97e..f1ad13286 100644 --- a/cpu/mpc8xxx/ddr/main.c +++ b/cpu/mpc8xxx/ddr/main.c @@ -475,9 +475,14 @@ phys_size_t fsl_ddr_sdram(void)  			 */  			memctl_interleaved = 1;  		} else { -			printf("Error: memctl interleaving not " +			printf("Warning: memctl interleaving not "  				"properly configured on all controllers\n"); -			while (1); +			memctl_interleaved = 0; +			for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++) +				info.memctl_opts[i].memctl_interleaving = 0; +			debug("Recomputing with memctl_interleaving off.\n"); +			total_memory = fsl_ddr_compute(&info, +						       STEP_ASSIGN_ADDRESSES);  		}  	} diff --git a/cpu/mpc8xxx/ddr/options.c b/cpu/mpc8xxx/ddr/options.c index 714e88d7f..af7f73a83 100644 --- a/cpu/mpc8xxx/ddr/options.c +++ b/cpu/mpc8xxx/ddr/options.c @@ -197,10 +197,10 @@ unsigned int populate_memctl_options(int all_DIMMs_registered,  	 */  	if ((p = getenv("memctl_intlv_ctl")) != NULL) {  		if (pdimm[0].n_ranks == 0) { -			printf("There is no rank on CS0. Because only rank on \ -				CS0 and ranks chip-select interleaved with CS0\ -				are controller interleaved, force non memory \ -				controller interleaving\n"); +			printf("There is no rank on CS0. Because only rank on " +				"CS0 and ranks chip-select interleaved with CS0" +				" are controller interleaved, force non memory " +				"controller interleaving\n");  			popts->memctl_interleaving = 0;  		} else {  			popts->memctl_interleaving = 1; @@ -239,22 +239,22 @@ unsigned int populate_memctl_options(int all_DIMMs_registered,  		case FSL_DDR_CS0_CS1:  			if (pdimm[0].n_ranks != 2) {  				popts->ba_intlv_ctl = 0; -				printf("No enough bank(chip-select) for \ -					CS0+CS1, force non-interleaving!\n"); +				printf("Not enough bank(chip-select) for " +					"CS0+CS1, force non-interleaving!\n");  			}  			break;  		case FSL_DDR_CS2_CS3:  			if (pdimm[1].n_ranks !=2){  				popts->ba_intlv_ctl = 0; -				printf("No enough bank(CS) for CS2+CS3, \ -					force non-interleaving!\n"); +				printf("Not enough bank(CS) for CS2+CS3, " +					"force non-interleaving!\n");  			}  			break;  		case FSL_DDR_CS0_CS1_AND_CS2_CS3:  			if ((pdimm[0].n_ranks != 2)||(pdimm[1].n_ranks != 2)) {  				popts->ba_intlv_ctl = 0; -				printf("No enough bank(CS) for CS0+CS1 or \ -					 CS2+CS3, force non-interleaving!\n"); +				printf("Not enough bank(CS) for CS0+CS1 or " +					"CS2+CS3, force non-interleaving!\n");  			}  			break;  		default: diff --git a/doc/README.mpc8641hpcn b/doc/README.mpc8641hpcn index 5ac39e678..d8fe0a4a1 100644 --- a/doc/README.mpc8641hpcn +++ b/doc/README.mpc8641hpcn @@ -134,15 +134,15 @@ For 36-bit-enabled u-boot, the virtual map is the same as for 32-bit.  However, the physical map is altered to reside in 36-bit space, as follows.  Addresses are no longer mapped with VA == PA.  All accesses from  software use the VA; the PA is only used for setting up windows -and mappings. Note that the low 32 bits are the same as the VA above; -only the top 4 bits vary: +and mappings. Note that with the exception of PCI MEM and RIO, the low + 32 bits are the same as the VA above; only the top 4 bits vary:  	Memory Range			Device		Size  	------------			------		----  	0x0_0000_0000	0x0_7fff_ffff	DDR		2G -	0xc_8000_0000	0xc_9fff_ffff	RIO MEM		512M -	0xc_8000_0000	0xc_9fff_ffff	PCI1/PEX1 MEM	512M -	0xc_a000_0000	0xc_bfff_ffff	PCI2/PEX2 MEM	512M +	0xc_0000_0000	0xc_1fff_ffff	RIO MEM		512M +	0xc_0000_0000	0xc_1fff_ffff	PCI1/PEX1 MEM	512M +	0xc_2000_0000	0xc_3fff_ffff	PCI2/PEX2 MEM	512M  	0xf_ffe0_0000	0xf_ffef_ffff	CCSR		1M  	0xf_ffdf_0000	0xf_ffdf_7fff	PIXIS		8K  	0xf_ffdf_8000	0xf_ffdf_ffff	CF		8K diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c index 7625cccec..e57acba0d 100644 --- a/drivers/pci/fsl_pci_init.c +++ b/drivers/pci/fsl_pci_init.c @@ -58,7 +58,7 @@ void pciauto_config_init(struct pci_controller *hose);  int fsl_pci_setup_inbound_windows(struct pci_region *r)  {  	struct pci_region *rgn_base = r; -	u64 sz = min((u64)gd->ram_size, 1ull << 32); +	u64 sz = min((u64)gd->ram_size, (1ull << 32) - 1);  	phys_addr_t phys_start = CONFIG_SYS_PCI_MEMORY_PHYS;  	pci_addr_t bus_start = CONFIG_SYS_PCI_MEMORY_BUS; diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index c67a490f0..856f51a75 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -25,15 +25,22 @@ include $(TOPDIR)/config.mk  LIB	:= $(obj)libusb.a +# core +COBJS-y += usbdcore.o +COBJS-$(CONFIG_USB_OHCI_NEW) += usb_ohci.o + +# host +COBJS-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o  COBJS-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o +COBJS-$(CONFIG_USB_SL811HS) += sl811_usb.o -COBJS-y += isp116x-hcd.o -COBJS-y += sl811_usb.o -COBJS-y += usb_ohci.o -COBJS-y += usbdcore.o +# device +ifdef CONFIG_USB_DEVICE  COBJS-y += usbdcore_ep0.o -COBJS-y += usbdcore_mpc8xx.o -COBJS-y += usbdcore_omap1510.o +COBJS-$(CONFIG_OMAP1510) += usbdcore_omap1510.o +COBJS-$(CONFIG_OMAP1610) += usbdcore_omap1510.o +COBJS-$(CONFIG_MPC885_FAMILY) += usbdcore_mpc8xx.o +endif  COBJS	:= $(COBJS-y)  SRCS	:= $(COBJS:.o=.c) diff --git a/drivers/usb/isp116x-hcd.c b/drivers/usb/isp116x-hcd.c index cc46dfe9f..348e404fe 100644 --- a/drivers/usb/isp116x-hcd.c +++ b/drivers/usb/isp116x-hcd.c @@ -56,8 +56,6 @@   */  #include <common.h> - -#ifdef CONFIG_USB_ISP116X_HCD  #include <asm/io.h>  #include <usb.h>  #include <malloc.h> @@ -1441,5 +1439,3 @@ int usb_lowlevel_stop(void)  	return 0;  } - -#endif				/* CONFIG_USB_ISP116X_HCD */ diff --git a/drivers/usb/sl811_usb.c b/drivers/usb/sl811_usb.c index 48f1ee95f..a03e469d1 100644 --- a/drivers/usb/sl811_usb.c +++ b/drivers/usb/sl811_usb.c @@ -36,7 +36,6 @@   */  #include <common.h> -#ifdef CONFIG_USB_SL811HS  #include <mpc8xx.h>  #include <usb.h>  #include "sl811.h" @@ -733,5 +732,3 @@ static int sl811_rh_submit_urb(struct usb_device *usb_dev, unsigned long pipe,  	return status == 0 ? len : status;  } - -#endif	/* CONFIG_USB_SL811HS */ diff --git a/drivers/usb/usb_ohci.c b/drivers/usb/usb_ohci.c index e03371c09..d68fdcf06 100644 --- a/drivers/usb/usb_ohci.c +++ b/drivers/usb/usb_ohci.c @@ -46,9 +46,6 @@   */  #include <common.h> - -#ifdef CONFIG_USB_OHCI_NEW -  #include <asm/byteorder.h>  #if defined(CONFIG_PCI_OHCI) @@ -2016,4 +2013,3 @@ int usb_lowlevel_stop(void)  	ohci_inited = 0;  	return 0;  } -#endif /* CONFIG_USB_OHCI_NEW */ diff --git a/drivers/usb/usbdcore_ep0.c b/drivers/usb/usbdcore_ep0.c index cf3f3826c..f6e017df1 100644 --- a/drivers/usb/usbdcore_ep0.c +++ b/drivers/usb/usbdcore_ep0.c @@ -51,8 +51,6 @@   */  #include <common.h> - -#if defined(CONFIG_USB_DEVICE)  #include "usbdcore.h"  #if 0 @@ -597,5 +595,3 @@ int ep0_recv_setup (struct urb *urb)  	}  	return -1;  } - -#endif diff --git a/drivers/usb/usbdcore_mpc8xx.c b/drivers/usb/usbdcore_mpc8xx.c index 53bde0dca..0e311ada1 100644 --- a/drivers/usb/usbdcore_mpc8xx.c +++ b/drivers/usb/usbdcore_mpc8xx.c @@ -58,8 +58,6 @@   */  #include <common.h>  #include <config.h> - -#if defined(CONFIG_MPC885_FAMILY) && defined(CONFIG_USB_DEVICE)  #include <commproc.h>  #include "usbdcore.h"  #include "usbdcore_mpc8xx.h" @@ -1398,5 +1396,3 @@ static u32 mpc8xx_udc_alloc (u32 data_size, u32 alignment)  	return retaddr;  } - -#endif /* CONFIG_MPC885_FAMILY && CONFIG_USB_DEVICE) */ diff --git a/drivers/usb/usbdcore_omap1510.c b/drivers/usb/usbdcore_omap1510.c index 4e3239f58..cb9dc442e 100644 --- a/drivers/usb/usbdcore_omap1510.c +++ b/drivers/usb/usbdcore_omap1510.c @@ -27,9 +27,6 @@   */  #include <common.h> - -#if ((defined(CONFIG_OMAP1510) || defined(CONFIG_OMAP1610)) && defined(CONFIG_USB_DEVICE)) -  #include <asm/io.h>  #ifdef CONFIG_OMAP_SX1  #include <i2c.h> @@ -1566,4 +1563,3 @@ void udc_unset_nak (int epid)  {  	/* TODO: implement this functionality in omap1510 */  } -#endif diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 2f0bd8c14..06eabc362 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -184,7 +184,7 @@ static void get_name (dir_entry *dirent, char *s_name)  	if (*s_name == DELETED_FLAG)  		*s_name = '\0';  	else if (*s_name == aRING) -		*s_name = 'å'; +		*s_name = DELETED_FLAG;  	downcase (s_name);  } @@ -489,7 +489,7 @@ get_vfatname(fsdata *mydata, int curclust, __u8 *cluster,  	l_name[idx] = '\0';  	if (*l_name == DELETED_FLAG) *l_name = '\0'; -	else if (*l_name == aRING) *l_name = 'å'; +	else if (*l_name == aRING) *l_name = DELETED_FLAG;  	downcase(l_name);  	/* Return the real directory entry */ diff --git a/include/asm-ppc/fsl_lbc.h b/include/asm-ppc/fsl_lbc.h index cac7bf6bf..51fc5c13b 100644 --- a/include/asm-ppc/fsl_lbc.h +++ b/include/asm-ppc/fsl_lbc.h @@ -69,6 +69,14 @@  #define BR_RES				~(BR_BA | BR_PS | BR_DECC | BR_WP | BR_MSEL | BR_ATOM | BR_V)  #endif +/* Convert an address into the right format for the BR registers */ +#ifdef CONFIG_PHYS_64BIT +#define BR_PHYS_ADDR(x)	((unsigned long)((x & 0x0ffff8000ULL) | \ +					 ((x & 0x300000000ULL) >> 19))) +#else +#define BR_PHYS_ADDR(x) (x & 0xffff8000) +#endif +  /* OR - Option Registers   */  #define OR0				0x5004		/* Register offset to immr */ diff --git a/include/asm-ppc/immap_85xx.h b/include/asm-ppc/immap_85xx.h index 75b451d20..e5046bef3 100644 --- a/include/asm-ppc/immap_85xx.h +++ b/include/asm-ppc/immap_85xx.h @@ -1569,6 +1569,7 @@ typedef struct ccsr_gur {  #define MPC85xx_PORDEVSR_SGMII3_DIS	0x08000000  #define MPC85xx_PORDEVSR_SGMII4_DIS	0x04000000  #define MPC85xx_PORDEVSR_SRDS2_IO_SEL   0x38000000 +#define MPC85xx_PORDEVSR_PCI1		0x00800000  #define MPC85xx_PORDEVSR_IO_SEL		0x00780000  #define MPC85xx_PORDEVSR_PCI2_ARB	0x00040000  #define MPC85xx_PORDEVSR_PCI1_ARB	0x00020000 @@ -1647,8 +1648,6 @@ typedef struct ccsr_gur {  	char	res15[61648];	/* 0xe0f30 to 0xefffff */  } ccsr_gur_t; -#define PORDEVSR_PCI	(0x00800000)	/* PCI Mode */ -  #define CONFIG_SYS_MPC85xx_GUTS_OFFSET	(0xE0000)  #define CONFIG_SYS_MPC85xx_GUTS_ADDR	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_GUTS_OFFSET)  #define CONFIG_SYS_MPC85xx_ECM_OFFSET	(0x0000) diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h index bbdc211c0..8e82aac7b 100644 --- a/include/configs/MPC8349EMDS.h +++ b/include/configs/MPC8349EMDS.h @@ -193,7 +193,6 @@  #define CONFIG_SYS_BR1_PRELIM		(CONFIG_SYS_BCSR|0x00000801)	/* Port-size=8bit, MSEL=GPCM */  #define CONFIG_SYS_OR1_PRELIM		0xFFFFE8F0		/* length 32K */ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xFD000000		/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x1000			/* End of used area in RAM*/ diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h index f633f24bd..14cbc4571 100644 --- a/include/configs/MPC8349ITX.h +++ b/include/configs/MPC8349ITX.h @@ -266,7 +266,6 @@ boards, we say we have two, but don't display a message if we find only one. */  #undef	CONFIG_SYS_RAMBOOT  #endif -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK  #define CONFIG_SYS_INIT_RAM_ADDR	0xFD000000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x1000		/* End of used area in RAM*/ diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index fff888abc..5a99d5fe7 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -99,7 +99,7 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  #define CONFIG_DDR_SPD  #undef CONFIG_DDR_DLL -#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */ +#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */  #define CONFIG_MEM_INIT_VALUE	0xDeadBeef  #define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000 @@ -231,8 +231,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  #define PIXIS_VCLKL		0x1A	/* VELA VCLKL register */  #define CONFIG_SYS_PIXIS_VBOOT_MASK	0xc0 -/* define to use L1 as initial stack */ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xffd00000	/* Initial L1 address */  #define CONFIG_SYS_INIT_RAM_END	0x00004000	/* End of used area in RAM */ diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h index 79a52d9d1..0b8fe6ad6 100644 --- a/include/configs/MPC8540ADS.h +++ b/include/configs/MPC8540ADS.h @@ -258,7 +258,6 @@  #define CONFIG_SYS_OR4_PRELIM		0xffffe1f1  #define CONFIG_SYS_BCSR		(CONFIG_SYS_BR4_PRELIM & 0xffff8000) -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/MPC8540EVAL.h b/include/configs/MPC8540EVAL.h index 46a141a2c..21cf965ab 100644 --- a/include/configs/MPC8540EVAL.h +++ b/include/configs/MPC8540EVAL.h @@ -161,7 +161,6 @@  #define CONFIG_SYS_OR4_PRELIM          0xffffe1f1  #define CONFIG_SYS_BCSR                (CONFIG_SYS_BR4_PRELIM & 0xffff8000) -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0x40000000	/* Initial RAM address	*/  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/MPC8541CDS.h b/include/configs/MPC8541CDS.h index 7ada8a222..eaa737b88 100644 --- a/include/configs/MPC8541CDS.h +++ b/include/configs/MPC8541CDS.h @@ -281,7 +281,6 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_SYS_BR3_PRELIM   0xf8000801  #define CONFIG_SYS_OR3_PRELIM   0xfff00ff7 -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000	    /* End of used area in RAM */ diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h index cdbbea60d..b31c2bb37 100644 --- a/include/configs/MPC8544DS.h +++ b/include/configs/MPC8544DS.h @@ -97,7 +97,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_SPD_EEPROM		/* Use SPD EEPROM for DDR setup */  #define CONFIG_DDR_SPD -#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */ +#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */  #define CONFIG_MEM_INIT_VALUE	0xDeadBeef  #define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000 @@ -207,8 +207,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define PIXIS_VCFGEN1_MASK	(PIXIS_VCFGEN1_TSEC1SER|PIXIS_VCFGEN1_TSEC3SER) -/* define to use L1 as initial stack */ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK      1  #define CONFIG_SYS_INIT_RAM_ADDR      0xf4010000      /* Initial L1 address */  #define CONFIG_SYS_INIT_RAM_END       0x00004000      /* End of used area in RAM */ diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h index 083afba9a..7a7e5a145 100644 --- a/include/configs/MPC8548CDS.h +++ b/include/configs/MPC8548CDS.h @@ -100,7 +100,7 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_DDR_SPD  #define CONFIG_DDR_DLL			/* possible DLL fix needed */ -#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */ +#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */  #define CONFIG_MEM_INIT_VALUE	0xDeadBeef  #define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000	/* DDR is system memory*/ @@ -303,7 +303,6 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_SYS_BR3_PRELIM	 0xf8000801  #define CONFIG_SYS_OR3_PRELIM	 0xfff00ff7 -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/MPC8555CDS.h b/include/configs/MPC8555CDS.h index f9419ccd0..40b40ed3a 100644 --- a/include/configs/MPC8555CDS.h +++ b/include/configs/MPC8555CDS.h @@ -279,7 +279,6 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_SYS_BR3_PRELIM   0xf8000801  #define CONFIG_SYS_OR3_PRELIM   0xfff00ff7 -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000	    /* End of used area in RAM */ diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h index f67d48963..2b5b2c106 100644 --- a/include/configs/MPC8560ADS.h +++ b/include/configs/MPC8560ADS.h @@ -254,7 +254,6 @@  #define CONFIG_SYS_OR4_PRELIM		0xffffe1f1  #define CONFIG_SYS_BCSR		(CONFIG_SYS_BR4_PRELIM & 0xffff8000) -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h index ab3e6d694..8bdec65b7 100644 --- a/include/configs/MPC8568MDS.h +++ b/include/configs/MPC8568MDS.h @@ -92,7 +92,7 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_SPD_EEPROM		/* Use SPD EEPROM for DDR setup*/  #define CONFIG_DDR_SPD  #define CONFIG_DDR_DLL			/* possible DLL fix needed */ -#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */ +#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */  #define CONFIG_MEM_INIT_VALUE	0xDeadBeef @@ -265,7 +265,6 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_SYS_BR5_PRELIM	 0xf8010801  #define CONFIG_SYS_OR5_PRELIM	 0xffff69f7 -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000	    /* End of used area in RAM */ diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h index c3693b856..9a66ca810 100644 --- a/include/configs/MPC8572DS.h +++ b/include/configs/MPC8572DS.h @@ -99,6 +99,7 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  #define CONFIG_DDR_SPD  #undef CONFIG_DDR_DLL +#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER  #define CONFIG_MEM_INIT_VALUE	0xDeadBeef  #define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000 @@ -114,22 +115,22 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  #define SPD_EEPROM_ADDRESS2	0x52	/* CTLR 1 DIMM 0 */  /* These are used when DDR doesn't use SPD.  */ -#define CONFIG_SYS_SDRAM_SIZE		256		/* DDR is 256MB */ -#define CONFIG_SYS_DDR_CS0_BNDS	0x0000001F -#define CONFIG_SYS_DDR_CS0_CONFIG	0x80010102	/* Enable, no interleaving */ -#define CONFIG_SYS_DDR_TIMING_3	0x00000000 -#define CONFIG_SYS_DDR_TIMING_0	0x00260802 -#define CONFIG_SYS_DDR_TIMING_1	0x3935d322 -#define CONFIG_SYS_DDR_TIMING_2	0x14904cc8 -#define CONFIG_SYS_DDR_MODE_1		0x00480432 +#define CONFIG_SYS_SDRAM_SIZE		512		/* DDR is 512MB */ +#define CONFIG_SYS_DDR_CS0_BNDS		0x0000001F +#define CONFIG_SYS_DDR_CS0_CONFIG	0x80010202	/* Enable, no interleaving */ +#define CONFIG_SYS_DDR_TIMING_3		0x00020000 +#define CONFIG_SYS_DDR_TIMING_0		0x00260802 +#define CONFIG_SYS_DDR_TIMING_1		0x626b2634 +#define CONFIG_SYS_DDR_TIMING_2		0x062874cf +#define CONFIG_SYS_DDR_MODE_1		0x00440462  #define CONFIG_SYS_DDR_MODE_2		0x00000000 -#define CONFIG_SYS_DDR_INTERVAL	0x06180100 +#define CONFIG_SYS_DDR_INTERVAL		0x0c300100  #define CONFIG_SYS_DDR_DATA_INIT	0xdeadbeef -#define CONFIG_SYS_DDR_CLK_CTRL	0x03800000 -#define CONFIG_SYS_DDR_OCD_CTRL	0x00000000 +#define CONFIG_SYS_DDR_CLK_CTRL		0x00800000 +#define CONFIG_SYS_DDR_OCD_CTRL		0x00000000  #define CONFIG_SYS_DDR_OCD_STATUS	0x00000000 -#define CONFIG_SYS_DDR_CONTROL		0xC3008000	/* Type = DDR2 */ -#define CONFIG_SYS_DDR_CONTROL2	0x04400010 +#define CONFIG_SYS_DDR_CONTROL		0xc3000008	/* Type = DDR2 */ +#define CONFIG_SYS_DDR_CONTROL2		0x24400000  #define CONFIG_SYS_DDR_ERR_INT_EN	0x0000000d  #define CONFIG_SYS_DDR_ERR_DIS		0x00000000 @@ -248,8 +249,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  					| PIXIS_VCFGEN1_TSEC3SER \  					| PIXIS_VCFGEN1_TSEC4SER) -/* define to use L1 as initial stack */ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xffd00000	/* Initial L1 address */  #define CONFIG_SYS_INIT_RAM_END	0x00004000	/* End of used area in RAM */ diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h index f2fe4a6cf..27517e5b1 100644 --- a/include/configs/MPC8610HPCD.h +++ b/include/configs/MPC8610HPCD.h @@ -81,6 +81,9 @@  #define CONFIG_SYS_CCSRBAR		0xe0000000	/* relocated CCSRBAR */  #define CONFIG_SYS_IMMR		CONFIG_SYS_CCSRBAR	/* PQII uses CONFIG_SYS_IMMR */ +#define CONFIG_SYS_CCSRBAR_PHYS_LOW	CONFIG_SYS_CCSRBAR +#define CONFIG_SYS_CCSRBAR_PHYS_HIGH	0x0 +  #define CONFIG_SYS_PCI1_ADDR		(CONFIG_SYS_CCSRBAR+0x8000)  #define CONFIG_SYS_PCIE1_ADDR		(CONFIG_SYS_CCSRBAR+0xa000)  #define CONFIG_SYS_PCIE2_ADDR		(CONFIG_SYS_CCSRBAR+0x9000) @@ -206,7 +209,6 @@  #undef CONFIG_CLOCKS_IN_MHZ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #ifndef CONFIG_SYS_INIT_RAM_LOCK  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */ @@ -388,6 +390,17 @@  #define CONFIG_SYS_IBAT3L	(CONFIG_SYS_CCSRBAR | BATL_PP_RW | BATL_CACHEINHIBIT)  #define CONFIG_SYS_IBAT3U	CONFIG_SYS_DBAT3U +#if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR) +#define CONFIG_SYS_CCSR_DEFAULT_DBATL (CONFIG_SYS_CCSRBAR_DEFAULT \ +				       | BATL_PP_RW | BATL_CACHEINHIBIT \ +				       | BATL_GUARDEDSTORAGE) +#define CONFIG_SYS_CCSR_DEFAULT_DBATU (CONFIG_SYS_CCSRBAR_DEFAULT \ +				       | BATU_BL_1M | BATU_VS | BATU_VP) +#define CONFIG_SYS_CCSR_DEFAULT_IBATL (CONFIG_SYS_CCSRBAR_DEFAULT \ +				       | BATL_PP_RW | BATL_CACHEINHIBIT) +#define CONFIG_SYS_CCSR_DEFAULT_IBATU CONFIG_SYS_CCSR_DEFAULT_DBATU +#endif +  /*   * BAT4		32M	Cache-inhibited, guarded   * 0xe200_0000	1M	PCI-Express 2 I/O diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h index 69b4c4410..5a832961c 100644 --- a/include/configs/MPC8641HPCN.h +++ b/include/configs/MPC8641HPCN.h @@ -186,17 +186,8 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_SYS_FLASH_BASE_PHYS	(CONFIG_SYS_FLASH_BASE \  					 | CONFIG_SYS_PHYS_ADDR_HIGH) -  #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE} -/* Convert an address into the right format for the BR registers */ -#ifdef CONFIG_PHYS_64BIT -#define BR_PHYS_ADDR(x)	((unsigned long)((x & 0x0ffff8000ULL) | \ -					 ((x & 0x300000000ULL) >> 19))) -#else -#define BR_PHYS_ADDR(x) (x & 0xffff8000) -#endif -  #define CONFIG_SYS_BR0_PRELIM	(BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) \  				 | 0x00001001)	/* port size 16bit */  #define CONFIG_SYS_OR0_PRELIM	0xff806ff7	/* 8MB Boot Flash area*/ @@ -268,7 +259,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #undef CONFIG_CLOCKS_IN_MHZ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #ifndef CONFIG_SYS_INIT_RAM_LOCK  #define CONFIG_SYS_INIT_RAM_ADDR	0x0fd00000	/* Initial RAM address */ diff --git a/include/configs/MVBLM7.h b/include/configs/MVBLM7.h index bc2d8253b..4ecf8068e 100644 --- a/include/configs/MVBLM7.h +++ b/include/configs/MVBLM7.h @@ -130,7 +130,6 @@  #define CONFIG_SYS_MONITOR_BASE	TEXT_BASE  #undef	CONFIG_SYS_RAMBOOT -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK  #define CONFIG_SYS_INIT_RAM_ADDR	0xFD000000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x1000		/* End of used area in RAM*/ diff --git a/include/configs/PM854.h b/include/configs/PM854.h index c3a7f816f..1cc80ad21 100644 --- a/include/configs/PM854.h +++ b/include/configs/PM854.h @@ -161,7 +161,6 @@  #define CONFIG_SYS_LBC_MRTPR		0x20000000    /* LB refresh timer prescal*/ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/PM856.h b/include/configs/PM856.h index b3bcf23c5..698ad2d91 100644 --- a/include/configs/PM856.h +++ b/include/configs/PM856.h @@ -164,7 +164,6 @@  #define CONFIG_SYS_LBC_MRTPR		0x20000000    /* LB refresh timer prescal*/ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/SBC8540.h b/include/configs/SBC8540.h index 48c933980..2853fba06 100644 --- a/include/configs/SBC8540.h +++ b/include/configs/SBC8540.h @@ -186,7 +186,6 @@  #define CONFIG_SYS_BCSR		((CONFIG_SYS_BR5_PRELIM & 0xff000000)|0x00400000)  /* the size of CS5 needs to be >= 16M for TLB and LAW setups */ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0x70000000	/* Initial RAM address	*/  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h index 2961a1b2a..796030d06 100644 --- a/include/configs/TQM834x.h +++ b/include/configs/TQM834x.h @@ -171,7 +171,6 @@ extern int tqm834x_num_flash_banks;  #undef  CONFIG_SYS_RAMBOOT  #endif -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0x20000000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x1000		/* End of used area in RAM*/ diff --git a/include/configs/TQM85xx.h b/include/configs/TQM85xx.h index 2d4048a92..300f49079 100644 --- a/include/configs/TQM85xx.h +++ b/include/configs/TQM85xx.h @@ -234,7 +234,6 @@  #define CONFIG_SYS_LBC_LSRT		0x20000000	/* LB sdram refresh timer */  #define CONFIG_SYS_LBC_MRTPR		0x20000000	/* LB refresh timer presc.*/ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	(CONFIG_SYS_CCSRBAR \  				 + 0x04010000)	/* Initial RAM address	*/ diff --git a/include/configs/sbc8349.h b/include/configs/sbc8349.h index 174149b61..0603e3c8a 100644 --- a/include/configs/sbc8349.h +++ b/include/configs/sbc8349.h @@ -162,7 +162,6 @@  #undef  CONFIG_SYS_RAMBOOT  #endif -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xFD000000		/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x1000			/* End of used area in RAM*/ diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h index aefd30a1e..5ce4dac5e 100644 --- a/include/configs/sbc8548.h +++ b/include/configs/sbc8548.h @@ -280,7 +280,6 @@  				| CONFIG_SYS_LBC_LSDMR_RFEN		\  				) -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/sbc8560.h b/include/configs/sbc8560.h index 43012754d..e1d3a52b5 100644 --- a/include/configs/sbc8560.h +++ b/include/configs/sbc8560.h @@ -180,7 +180,6 @@  #define CONFIG_SYS_BCSR		((CONFIG_SYS_BR5_PRELIM & 0xff000000)|0x00400000)  /* the size of CS5 needs to be >= 16M for TLB and LAW setups */ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0x70000000	/* Initial RAM address	*/  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h index 45d81792e..001294575 100644 --- a/include/configs/sbc8641d.h +++ b/include/configs/sbc8641d.h @@ -104,6 +104,9 @@  #define CONFIG_SYS_CCSRBAR		0xf8000000	/* relocated CCSRBAR */  #define CONFIG_SYS_IMMR		CONFIG_SYS_CCSRBAR	/* PQII uses CONFIG_SYS_IMMR */ +#define CONFIG_SYS_CCSRBAR_PHYS_LOW	CONFIG_SYS_CCSRBAR +#define CONFIG_SYS_CCSRBAR_PHYS_HIGH	0x0 +  #define CONFIG_SYS_PCI1_ADDR		(CONFIG_SYS_CCSRBAR+0x8000)  #define CONFIG_SYS_PCI2_ADDR		(CONFIG_SYS_CCSRBAR+0x9000) @@ -241,7 +244,6 @@  #undef CONFIG_CLOCKS_IN_MHZ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #ifndef CONFIG_SYS_INIT_RAM_LOCK  #define CONFIG_SYS_INIT_RAM_ADDR	0x0fd00000	/* Initial RAM address */ @@ -433,6 +435,17 @@  #define CONFIG_SYS_IBAT3L	(CONFIG_SYS_CCSRBAR | BATL_PP_RW | BATL_CACHEINHIBIT)  #define CONFIG_SYS_IBAT3U	CONFIG_SYS_DBAT3U +#if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR) +#define CONFIG_SYS_CCSR_DEFAULT_DBATL (CONFIG_SYS_CCSRBAR_DEFAULT \ +				       | BATL_PP_RW | BATL_CACHEINHIBIT \ +				       | BATL_GUARDEDSTORAGE) +#define CONFIG_SYS_CCSR_DEFAULT_DBATU (CONFIG_SYS_CCSRBAR_DEFAULT \ +				       | BATU_BL_1M | BATU_VS | BATU_VP) +#define CONFIG_SYS_CCSR_DEFAULT_IBATL (CONFIG_SYS_CCSRBAR_DEFAULT \ +				       | BATL_PP_RW | BATL_CACHEINHIBIT) +#define CONFIG_SYS_CCSR_DEFAULT_IBATU CONFIG_SYS_CCSR_DEFAULT_DBATU +#endif +  /*   * BAT4         32M    Cache-inhibited, guarded   * 0xe200_0000  16M    PCI-Express 1 I/O diff --git a/include/configs/socrates.h b/include/configs/socrates.h index c67db8f25..e89b5a3fb 100644 --- a/include/configs/socrates.h +++ b/include/configs/socrates.h @@ -167,7 +167,6 @@  #define CONFIG_SYS_LBC_LSRT		0x20000000    /* LB sdram refresh timer	*/  #define CONFIG_SYS_LBC_MRTPR		0x20000000    /* LB refresh timer presc.*/ -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address	*/  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End used area in RAM	*/ diff --git a/include/configs/stxgp3.h b/include/configs/stxgp3.h index 2188e5401..a0f2ed0da 100644 --- a/include/configs/stxgp3.h +++ b/include/configs/stxgp3.h @@ -151,7 +151,6 @@  #define CONFIG_SYS_LBC_LSDMR_4		0x1861b723  #define CONFIG_SYS_LBC_LSDMR_5		0x4061b723 -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR       0x60000000      /* Initial RAM address  */  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/configs/stxssa.h b/include/configs/stxssa.h index b0bd0508b..f0990c679 100644 --- a/include/configs/stxssa.h +++ b/include/configs/stxssa.h @@ -164,7 +164,6 @@  #define CONFIG_SYS_LBC_LSDMR_4		0x1861b723  #define CONFIG_SYS_LBC_LSDMR_5		0x4061b723 -#define CONFIG_L1_INIT_RAM  #define CONFIG_SYS_INIT_RAM_LOCK	1  #define CONFIG_SYS_INIT_RAM_ADDR	0x60000000	/* Initial RAM address	*/  #define CONFIG_SYS_INIT_RAM_END	0x4000		/* End of used area in RAM */ diff --git a/include/fat.h b/include/fat.h index 59de3fbec..c8b949362 100644 --- a/include/fat.h +++ b/include/fat.h @@ -67,7 +67,7 @@  #define ATTR_VFAT     (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME)  #define DELETED_FLAG	((char)0xe5) /* Marks deleted files when in name[0] */ -#define aRING		0x05	     /* Used to represent 'å' in name[0] */ +#define aRING		0x05	     /* Used as special character in name[0] */  /* Indicates that the entry is the last long entry in a set of long   * dir entries diff --git a/include/usb.h b/include/usb.h index 9a2e72c9d..84a77b2f8 100644 --- a/include/usb.h +++ b/include/usb.h @@ -43,89 +43,88 @@  /* String descriptor */  struct usb_string_descriptor { -	unsigned char  bLength; -	unsigned char  bDescriptorType; -	unsigned short wData[1]; +	unsigned char	bLength; +	unsigned char	bDescriptorType; +	unsigned short	wData[1];  } __attribute__ ((packed));  /* device request (setup) */  struct devrequest { -	unsigned char requesttype; -	unsigned char request; -	unsigned short value; -	unsigned short index; -	unsigned short length; +	unsigned char	requesttype; +	unsigned char	request; +	unsigned short	value; +	unsigned short	index; +	unsigned short	length;  } __attribute__ ((packed)); -  /* All standard descriptors have these 2 fields in common */  struct usb_descriptor_header { -	unsigned char  bLength; -	unsigned char  bDescriptorType; +	unsigned char	bLength; +	unsigned char	bDescriptorType;  } __attribute__ ((packed));  /* Device descriptor */  struct usb_device_descriptor { -	unsigned char  bLength; -	unsigned char  bDescriptorType; -	unsigned short bcdUSB; -	unsigned char  bDeviceClass; -	unsigned char  bDeviceSubClass; -	unsigned char  bDeviceProtocol; -	unsigned char  bMaxPacketSize0; -	unsigned short idVendor; -	unsigned short idProduct; -	unsigned short bcdDevice; -	unsigned char  iManufacturer; -	unsigned char  iProduct; -	unsigned char  iSerialNumber; -	unsigned char  bNumConfigurations; +	unsigned char	bLength; +	unsigned char	bDescriptorType; +	unsigned short	bcdUSB; +	unsigned char	bDeviceClass; +	unsigned char	bDeviceSubClass; +	unsigned char	bDeviceProtocol; +	unsigned char	bMaxPacketSize0; +	unsigned short	idVendor; +	unsigned short	idProduct; +	unsigned short	bcdDevice; +	unsigned char	iManufacturer; +	unsigned char	iProduct; +	unsigned char	iSerialNumber; +	unsigned char	bNumConfigurations;  } __attribute__ ((packed)); -  /* Endpoint descriptor */  struct usb_endpoint_descriptor { -	unsigned char  bLength; -	unsigned char  bDescriptorType; -	unsigned char  bEndpointAddress; -	unsigned char  bmAttributes; -	unsigned short wMaxPacketSize; -	unsigned char  bInterval; -	unsigned char  bRefresh; -	unsigned char  bSynchAddress; - +	unsigned char	bLength; +	unsigned char	bDescriptorType; +	unsigned char	bEndpointAddress; +	unsigned char	bmAttributes; +	unsigned short	wMaxPacketSize; +	unsigned char	bInterval; +	unsigned char	bRefresh; +	unsigned char	bSynchAddress;  } __attribute__ ((packed)); +  /* Interface descriptor */  struct usb_interface_descriptor { -	unsigned char  bLength; -	unsigned char  bDescriptorType; -	unsigned char  bInterfaceNumber; -	unsigned char  bAlternateSetting; -	unsigned char  bNumEndpoints; -	unsigned char  bInterfaceClass; -	unsigned char  bInterfaceSubClass; -	unsigned char  bInterfaceProtocol; -	unsigned char  iInterface; +	unsigned char	bLength; +	unsigned char	bDescriptorType; +	unsigned char	bInterfaceNumber; +	unsigned char	bAlternateSetting; +	unsigned char	bNumEndpoints; +	unsigned char	bInterfaceClass; +	unsigned char	bInterfaceSubClass; +	unsigned char	bInterfaceProtocol; +	unsigned char	iInterface; + +	unsigned char	no_of_ep; +	unsigned char	num_altsetting; +	unsigned char	act_altsetting; -	unsigned char  no_of_ep; -	unsigned char  num_altsetting; -	unsigned char  act_altsetting;  	struct usb_endpoint_descriptor ep_desc[USB_MAXENDPOINTS];  } __attribute__ ((packed));  /* Configuration descriptor information.. */  struct usb_config_descriptor { -	unsigned char  bLength; -	unsigned char  bDescriptorType; -	unsigned short wTotalLength; -	unsigned char  bNumInterfaces; -	unsigned char  bConfigurationValue; -	unsigned char  iConfiguration; -	unsigned char  bmAttributes; -	unsigned char  MaxPower; +	unsigned char	bLength; +	unsigned char	bDescriptorType; +	unsigned short	wTotalLength; +	unsigned char	bNumInterfaces; +	unsigned char	bConfigurationValue; +	unsigned char	iConfiguration; +	unsigned char	bmAttributes; +	unsigned char	MaxPower; -	unsigned char  no_of_if;		/* number of interfaces */ +	unsigned char	no_of_if;	/* number of interfaces */  	struct usb_interface_descriptor if_desc[USB_MAXINTERFACES];  } __attribute__ ((packed)); @@ -138,19 +137,20 @@ enum {  };  struct usb_device { -	int devnum;			/* Device number on USB bus */ -	int slow;			/* Slow device? */ -	char mf[32];			/* manufacturer */ -	char prod[32];			/* product */ -	char serial[32];		/* serial number */ +	int	devnum;			/* Device number on USB bus */ +	int	slow;			/* Slow device? */ +	char	mf[32];			/* manufacturer */ +	char	prod[32];		/* product */ +	char	serial[32];		/* serial number */  	/* Maximum packet size; one of: PACKET_SIZE_* */  	int maxpacketsize;  	/* one bit for each endpoint ([0] = IN, [1] = OUT) */  	unsigned int toggle[2]; -	/* endpoint halts; one bit per endpoint # & direction; */ +	/* endpoint halts; one bit per endpoint # & direction; +	 * [0] = IN, [1] = OUT +	 */  	unsigned int halted[2]; -			    /* [0] = IN, [1] = OUT */  	int epmaxpacketin[16];		/* INput endpoint specific maximums */  	int epmaxpacketout[16];		/* OUTput endpoint specific maximums */ @@ -180,21 +180,22 @@ struct usb_device {   */  #if defined(CONFIG_USB_UHCI) || defined(CONFIG_USB_OHCI) || \ -	defined(CONFIG_USB_OHCI_NEW) || defined (CONFIG_USB_SL811HS) || \ +	defined(CONFIG_USB_OHCI_NEW) || defined(CONFIG_USB_SL811HS) || \  	defined(CONFIG_USB_ISP116X_HCD) || defined(CONFIG_USB_R8A66597_HCD)  int usb_lowlevel_init(void);  int usb_lowlevel_stop(void); -int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, void *buffer,int transfer_len); +int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, +			void *buffer, int transfer_len);  int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer, -			int transfer_len,struct devrequest *setup); +			int transfer_len, struct devrequest *setup);  int submit_int_msg(struct usb_device *dev, unsigned long pipe, void *buffer,  			int transfer_len, int interval);  void usb_event_poll(void);  /* Defines */ -#define USB_UHCI_VEND_ID 0x8086 -#define USB_UHCI_DEV_ID	 0x7112 +#define USB_UHCI_VEND_ID	0x8086 +#define USB_UHCI_DEV_ID		0x7112  #else  #error USB Lowlevel not defined @@ -221,8 +222,9 @@ int usb_stop(void); /* stop the USB Controller */  int usb_set_protocol(struct usb_device *dev, int ifnum, int protocol); -int usb_set_idle(struct usb_device *dev, int ifnum, int duration, int report_id); -struct usb_device * usb_get_dev_index(int index); +int usb_set_idle(struct usb_device *dev, int ifnum, int duration, +			int report_id); +struct usb_device *usb_get_dev_index(int index);  int usb_control_msg(struct usb_device *dev, unsigned int pipe,  			unsigned char request, unsigned char requesttype,  			unsigned short value, unsigned short index, @@ -230,14 +232,17 @@ int usb_control_msg(struct usb_device *dev, unsigned int pipe,  int usb_bulk_msg(struct usb_device *dev, unsigned int pipe,  			void *data, int len, int *actual_length, int timeout);  int usb_submit_int_msg(struct usb_device *dev, unsigned long pipe, -			void *buffer,int transfer_len, int interval); +			void *buffer, int transfer_len, int interval);  void usb_disable_asynch(int disable); -int usb_maxpacket(struct usb_device *dev,unsigned long pipe); -void __inline__ wait_ms(unsigned long ms); -int usb_get_configuration_no(struct usb_device *dev,unsigned char *buffer,int cfgno); -int usb_get_report(struct usb_device *dev, int ifnum, unsigned char type, unsigned char id, void *buf, int size); +int usb_maxpacket(struct usb_device *dev, unsigned long pipe); +inline void wait_ms(unsigned long ms); +int usb_get_configuration_no(struct usb_device *dev, unsigned char *buffer, +				int cfgno); +int usb_get_report(struct usb_device *dev, int ifnum, unsigned char type, +			unsigned char id, void *buf, int size);  int usb_get_class_descriptor(struct usb_device *dev, int ifnum, -		unsigned char type, unsigned char id, void *buf, int size); +			unsigned char type, unsigned char id, void *buf, +			int size);  int usb_clear_halt(struct usb_device *dev, int pipe);  int usb_string(struct usb_device *dev, int index, char *buf, size_t size);  int usb_set_interface(struct usb_device *dev, int interface, int alternate); @@ -247,7 +252,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);  #define __swap_16(x) \  	({ unsigned short x_ = (unsigned short)x; \  	 (unsigned short)( \ -		((x_ & 0x00FFU) << 8) | ((x_ & 0xFF00U) >> 8) ); \ +		((x_ & 0x00FFU) << 8) | ((x_ & 0xFF00U) >> 8)); \  	})  #define __swap_32(x) \  	({ unsigned long x_ = (unsigned long)x; \ @@ -255,7 +260,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);  		((x_ & 0x000000FFUL) << 24) | \  		((x_ & 0x0000FF00UL) <<	 8) | \  		((x_ & 0x00FF0000UL) >>	 8) | \ -		((x_ & 0xFF000000UL) >> 24) ); \ +		((x_ & 0xFF000000UL) >> 24)); \  	})  #ifdef LITTLEENDIAN @@ -286,12 +291,14 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);   * unsigned int. The encoding is:   *   *  - max size:		bits 0-1	(00 = 8, 01 = 16, 10 = 32, 11 = 64) - *  - direction:	bit 7		(0 = Host-to-Device [Out], 1 = Device-to-Host [In]) + *  - direction:	bit 7		(0 = Host-to-Device [Out], + *					(1 = Device-to-Host [In])   *  - device:		bits 8-14   *  - endpoint:		bits 15-18   *  - Data0/1:		bit 19   *  - speed:		bit 26		(0 = Full, 1 = Low Speed) - *  - pipe type:	bits 30-31	(00 = isochronous, 01 = interrupt, 10 = control, 11 = bulk) + *  - pipe type:	bits 30-31	(00 = isochronous, 01 = interrupt, + *					 10 = control, 11 = bulk)   *   * Why? Because it's arbitrary, and whatever encoding we select is really   * up to us. This one happens to share a lot of bit positions with the UHCI @@ -300,24 +307,42 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);   */  /* Create various pipes... */  #define create_pipe(dev,endpoint) \ -		(((dev)->devnum << 8) | (endpoint << 15) | ((dev)->slow << 26) | (dev)->maxpacketsize) -#define default_pipe(dev) ((dev)->slow <<26) +		(((dev)->devnum << 8) | (endpoint << 15) | \ +		((dev)->slow << 26) | (dev)->maxpacketsize) +#define default_pipe(dev) ((dev)->slow << 26) -#define usb_sndctrlpipe(dev,endpoint)	((PIPE_CONTROL << 30) | create_pipe(dev,endpoint)) -#define usb_rcvctrlpipe(dev,endpoint)	((PIPE_CONTROL << 30) | create_pipe(dev,endpoint) | USB_DIR_IN) -#define usb_sndisocpipe(dev,endpoint)	((PIPE_ISOCHRONOUS << 30) | create_pipe(dev,endpoint)) -#define usb_rcvisocpipe(dev,endpoint)	((PIPE_ISOCHRONOUS << 30) | create_pipe(dev,endpoint) | USB_DIR_IN) -#define usb_sndbulkpipe(dev,endpoint)	((PIPE_BULK << 30) | create_pipe(dev,endpoint)) -#define usb_rcvbulkpipe(dev,endpoint)	((PIPE_BULK << 30) | create_pipe(dev,endpoint) | USB_DIR_IN) -#define usb_sndintpipe(dev,endpoint)	((PIPE_INTERRUPT << 30) | create_pipe(dev,endpoint)) -#define usb_rcvintpipe(dev,endpoint)	((PIPE_INTERRUPT << 30) | create_pipe(dev,endpoint) | USB_DIR_IN) -#define usb_snddefctrl(dev)		((PIPE_CONTROL << 30) | default_pipe(dev)) -#define usb_rcvdefctrl(dev)		((PIPE_CONTROL << 30) | default_pipe(dev) | USB_DIR_IN) +#define usb_sndctrlpipe(dev, endpoint)	((PIPE_CONTROL << 30) | \ +					 create_pipe(dev, endpoint)) +#define usb_rcvctrlpipe(dev, endpoint)	((PIPE_CONTROL << 30) | \ +					 create_pipe(dev, endpoint) | \ +					 USB_DIR_IN) +#define usb_sndisocpipe(dev, endpoint)	((PIPE_ISOCHRONOUS << 30) | \ +					 create_pipe(dev, endpoint)) +#define usb_rcvisocpipe(dev, endpoint)	((PIPE_ISOCHRONOUS << 30) | \ +					 create_pipe(dev, endpoint) | \ +					 USB_DIR_IN) +#define usb_sndbulkpipe(dev, endpoint)	((PIPE_BULK << 30) | \ +					 create_pipe(dev, endpoint)) +#define usb_rcvbulkpipe(dev, endpoint)	((PIPE_BULK << 30) | \ +					 create_pipe(dev, endpoint) | \ +					 USB_DIR_IN) +#define usb_sndintpipe(dev, endpoint)	((PIPE_INTERRUPT << 30) | \ +					 create_pipe(dev, endpoint)) +#define usb_rcvintpipe(dev, endpoint)	((PIPE_INTERRUPT << 30) | \ +					 create_pipe(dev, endpoint) | \ +					 USB_DIR_IN) +#define usb_snddefctrl(dev)		((PIPE_CONTROL << 30) | \ +					 default_pipe(dev)) +#define usb_rcvdefctrl(dev)		((PIPE_CONTROL << 30) | \ +					 default_pipe(dev) | \ +					 USB_DIR_IN)  /* The D0/D1 toggle bits */  #define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> ep) & 1)  #define usb_dotoggle(dev, ep, out)  ((dev)->toggle[out] ^= (1 << ep)) -#define usb_settoggle(dev, ep, out, bit) ((dev)->toggle[out] = ((dev)->toggle[out] & ~(1 << ep)) | ((bit) << ep)) +#define usb_settoggle(dev, ep, out, bit) ((dev)->toggle[out] = \ +						((dev)->toggle[out] & \ +						 ~(1 << ep)) | ((bit) << ep))  /* Endpoint halt control/status */  #define usb_endpoint_out(ep_dir)	(((ep_dir >> 7) & 1) ^ 1) @@ -325,7 +350,8 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);  #define usb_endpoint_running(dev, ep, out) ((dev)->halted[out] &= ~(1 << (ep)))  #define usb_endpoint_halted(dev, ep, out) ((dev)->halted[out] & (1 << (ep))) -#define usb_packetid(pipe)	(((pipe) & USB_DIR_IN) ? USB_PID_IN : USB_PID_OUT) +#define usb_packetid(pipe)	(((pipe) & USB_DIR_IN) ? USB_PID_IN : \ +				 USB_PID_OUT)  #define usb_pipeout(pipe)	((((pipe) >> 7) & 1) ^ 1)  #define usb_pipein(pipe)	(((pipe) >> 7) & 1) @@ -365,7 +391,7 @@ struct usb_hub_descriptor {  	unsigned char  bHubContrCurrent;  	unsigned char  DeviceRemovable[(USB_MAXCHILDREN+1+7)/8];  	unsigned char  PortPowerCtrlMask[(USB_MAXCHILDREN+1+7)/8]; -		/* DeviceRemovable and PortPwrCtrlMask want to be variable-length +	/* DeviceRemovable and PortPwrCtrlMask want to be variable-length  	   bitmaps that hold max 255 entries. (bit0 is ignored) */  } __attribute__ ((packed)); |