ppc4xx: Add variable "korat_usbcf" for Korat board
The new environment variable "korat_usbcf" selects the USB port used by the Korat board's CompactFlash controller. Signed-off-by: Larry Johnson <lrj@acm.org> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
		
							parent
							
								
									c1b7c70083
								
							
						
					
					
						commit
						f20405e316
					
				|  | @ -1,5 +1,5 @@ | ||||||
| /*
 | /*
 | ||||||
|  * (C) Copyright 2007-2008 |  * (C) Copyright 2007-2009 | ||||||
|  * Larry Johnson, lrj@acm.org |  * Larry Johnson, lrj@acm.org | ||||||
|  * |  * | ||||||
|  * (C) Copyright 2006-2007 |  * (C) Copyright 2006-2007 | ||||||
|  | @ -351,6 +351,7 @@ int misc_init_r(void) | ||||||
| 	unsigned long sdr0_pfc1; | 	unsigned long sdr0_pfc1; | ||||||
| 	uint32_t const flash1_size = gd->bd->bi_flashsize - CONFIG_SYS_FLASH0_SIZE; | 	uint32_t const flash1_size = gd->bd->bi_flashsize - CONFIG_SYS_FLASH0_SIZE; | ||||||
| 	char const *const act = getenv("usbact"); | 	char const *const act = getenv("usbact"); | ||||||
|  | 	char const *const usbcf = getenv("korat_usbcf"); | ||||||
| 
 | 
 | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * Re-do FLASH1 sizing and adjust flash start and offset. | 	 * Re-do FLASH1 sizing and adjust flash start and offset. | ||||||
|  | @ -405,6 +406,26 @@ int misc_init_r(void) | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * USB suff... | 	 * USB suff... | ||||||
| 	 */ | 	 */ | ||||||
|  | 	/*
 | ||||||
|  | 	 * Select the USB controller on the 440EPx ("ppc") or on the PCI bus | ||||||
|  | 	 * ("pci") for the CompactFlash. | ||||||
|  | 	 */ | ||||||
|  | 	if (usbcf != NULL && (strcmp(usbcf, "ppc") == 0)) { | ||||||
|  | 		/*
 | ||||||
|  | 		 * If environment variable "usbcf" is defined and set to "ppc", | ||||||
|  | 		 * then connect the CompactFlash controller to the PowerPC USB | ||||||
|  | 		 * port. | ||||||
|  | 		 */ | ||||||
|  | 		printf("Attaching CompactFalsh controller to PPC USB\n"); | ||||||
|  | 		out_8((u8 *) CONFIG_SYS_CPLD_BASE + 0x02, | ||||||
|  | 		      in_8((u8 *) CONFIG_SYS_CPLD_BASE + 0x02) | 0x10); | ||||||
|  | 	} else { | ||||||
|  | 		if (usbcf != NULL && (strcmp(usbcf, "pci") != 0)) | ||||||
|  | 			printf("Warning: \"korat_usbcf\" is not set to a legal " | ||||||
|  | 			       "value (\"ppc\" or \"pci\")\n"); | ||||||
|  | 
 | ||||||
|  | 		printf("Attaching CompactFalsh controller to PCI USB\n"); | ||||||
|  | 	} | ||||||
| 	if (act == NULL || strcmp(act, "hostdev") == 0) { | 	if (act == NULL || strcmp(act, "hostdev") == 0) { | ||||||
| 		/* SDR Setting */ | 		/* SDR Setting */ | ||||||
| 		mfsdr(SDR0_PFC1, sdr0_pfc1); | 		mfsdr(SDR0_PFC1, sdr0_pfc1); | ||||||
|  |  | ||||||
|  | @ -49,3 +49,17 @@ creates the upgradable U-Boot but selecting loader file "u-boot-F7FC.lds" and | ||||||
| leaving preprocessor symbol "CONFIG_KORAT_PERMANENT" undefined. | leaving preprocessor symbol "CONFIG_KORAT_PERMANENT" undefined. | ||||||
| 
 | 
 | ||||||
| 2008-02-22, Larry Johnson <lrj@acm.org> | 2008-02-22, Larry Johnson <lrj@acm.org> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The CompactFlash(R) controller on the Korat board provides a hi-speed USB | ||||||
|  | interface.  This may be connected to either a dedicated port on the on-board | ||||||
|  | USB controller, or to a USB port on the PowerPC 440EPx processor.  The U-Boot | ||||||
|  | environment variable "korat_usbcf" can be used to specify which of these two | ||||||
|  | USB host ports is used for CompactFlash.  The valid setting for the variable are | ||||||
|  | the strings "pci" and "ppc".  If the variable defined and set to "ppc", then the | ||||||
|  | PowerPC USB port is used.  In all other cases the on-board USB controller is | ||||||
|  | used, but if "korat_usbcf" is defined but is set to a string other than the two | ||||||
|  | valid options, a warning is also issued. | ||||||
|  | 
 | ||||||
|  | 2009-01-28, Larry Johnson <lrj@acm.org> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue