62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0
 | |
| 
 | |
| ==============
 | |
| ACPI I2C Muxes
 | |
| ==============
 | |
| 
 | |
| Describing an I2C device hierarchy that includes I2C muxes requires an ACPI
 | |
| Device () scope per mux channel.
 | |
| 
 | |
| Consider this topology::
 | |
| 
 | |
|     +------+   +------+
 | |
|     | SMB1 |-->| MUX0 |--CH00--> i2c client A (0x50)
 | |
|     |      |   | 0x70 |--CH01--> i2c client B (0x50)
 | |
|     +------+   +------+
 | |
| 
 | |
| which corresponds to the following ASL::
 | |
| 
 | |
|     Device (SMB1)
 | |
|     {
 | |
|         Name (_HID, ...)
 | |
|         Device (MUX0)
 | |
|         {
 | |
|             Name (_HID, ...)
 | |
|             Name (_CRS, ResourceTemplate () {
 | |
|                 I2cSerialBus (0x70, ControllerInitiated, I2C_SPEED,
 | |
|                             AddressingMode7Bit, "^SMB1", 0x00,
 | |
|                             ResourceConsumer,,)
 | |
|             }
 | |
| 
 | |
|             Device (CH00)
 | |
|             {
 | |
|                 Name (_ADR, 0)
 | |
| 
 | |
|                 Device (CLIA)
 | |
|                 {
 | |
|                     Name (_HID, ...)
 | |
|                     Name (_CRS, ResourceTemplate () {
 | |
|                         I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
 | |
|                                     AddressingMode7Bit, "^CH00", 0x00,
 | |
|                                     ResourceConsumer,,)
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             Device (CH01)
 | |
|             {
 | |
|                 Name (_ADR, 1)
 | |
| 
 | |
|                 Device (CLIB)
 | |
|                 {
 | |
|                     Name (_HID, ...)
 | |
|                     Name (_CRS, ResourceTemplate () {
 | |
|                         I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
 | |
|                                     AddressingMode7Bit, "^CH01", 0x00,
 | |
|                                     ResourceConsumer,,)
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 |