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:
Larry Johnson 2009-01-28 15:30:02 -05:00 committed by Stefan Roese
parent c1b7c70083
commit f20405e316
2 changed files with 36 additions and 1 deletions

View File

@ -1,5 +1,5 @@
/*
* (C) Copyright 2007-2008
* (C) Copyright 2007-2009
* Larry Johnson, lrj@acm.org
*
* (C) Copyright 2006-2007
@ -351,6 +351,7 @@ int misc_init_r(void)
unsigned long sdr0_pfc1;
uint32_t const flash1_size = gd->bd->bi_flashsize - CONFIG_SYS_FLASH0_SIZE;
char const *const act = getenv("usbact");
char const *const usbcf = getenv("korat_usbcf");
/*
* Re-do FLASH1 sizing and adjust flash start and offset.
@ -405,6 +406,26 @@ int misc_init_r(void)
/*
* 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) {
/* SDR Setting */
mfsdr(SDR0_PFC1, sdr0_pfc1);

View File

@ -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.
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>