diff options
Diffstat (limited to 'board/mpc8349emds/pci.c')
| -rw-r--r-- | board/mpc8349emds/pci.c | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/board/mpc8349emds/pci.c b/board/mpc8349emds/pci.c index 63e440557..a4d6508bb 100644 --- a/board/mpc8349emds/pci.c +++ b/board/mpc8349emds/pci.c @@ -68,11 +68,16 @@ static struct pci_controller pci_hose[] = {  void  pib_init(void)  { -	u8 val8; +	u8 val8, orig_i2c_bus;  	/*  	 * Assign PIB PMC slot to desired PCI bus  	 */ -	mpc8349_i2c = (i2c_t*)(CFG_IMMRBAR + CFG_I2C2_OFFSET); +	/* Switch temporarily to I2C bus #2 */ +	orig_i2c_bus = i2c_get_bus_num(); + +	if(orig_i2c_bus != I2C_BUS_2) +	 	i2c_set_bus_num(I2C_BUS_2); +  	i2c_init(CFG_I2C_SPEED, CFG_I2C_SLAVE);  	val8 = 0; @@ -118,6 +123,9 @@ pib_init(void)  	printf("PCI1: 32-bit on PMC1, PMC2\n");  	printf("PCI2: 32-bit on PMC3\n");  #endif +	/* Reset to original I2C bus */ +	if(orig_i2c_bus != I2C_BUS_2) +	 	i2c_set_bus_num(orig_i2c_bus);  }  /************************************************************************** |