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,,) } } } } } |