 065177eece
			
		
	
	
		065177eece
		
	
	
	
	
		
			
			The pca954x is an i2c mux, and this adds support for two variants of this device: the pca9546 and pca9548. This device is very common on BMCs to route a different channel to each PCIe i2c bus downstream from the BMC. Signed-off-by: Patrick Venture <venture@google.com> Reviewed-by: Hao Wu <wuhaotsh@google.com> Reviewed-by: Havard Skinnemoen <hskinnemoen@google.com> Message-Id: <20210412194522.664594-5-venture@google.com> Signed-off-by: Corey Minyard <cminyard@mvista.com>
		
			
				
	
	
		
			20 lines
		
	
	
		
			426 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			426 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef QEMU_I2C_MUX_PCA954X
 | |
| #define QEMU_I2C_MUX_PCA954X
 | |
| 
 | |
| #include "hw/i2c/i2c.h"
 | |
| 
 | |
| #define TYPE_PCA9546 "pca9546"
 | |
| #define TYPE_PCA9548 "pca9548"
 | |
| 
 | |
| /**
 | |
|  * Retrieves the i2c bus associated with the specified channel on this i2c
 | |
|  * mux.
 | |
|  * @mux: an i2c mux device.
 | |
|  * @channel: the i2c channel requested
 | |
|  *
 | |
|  * Returns: a pointer to the associated i2c bus.
 | |
|  */
 | |
| I2CBus *pca954x_i2c_get_bus(I2CSlave *mux, uint8_t channel);
 | |
| 
 | |
| #endif
 |