i2c-muxes.rst (1719B)
1.. SPDX-License-Identifier: GPL-2.0 2 3============== 4ACPI I2C Muxes 5============== 6 7Describing an I2C device hierarchy that includes I2C muxes requires an ACPI 8Device () scope per mux channel. 9 10Consider this topology:: 11 12 +------+ +------+ 13 | SMB1 |-->| MUX0 |--CH00--> i2c client A (0x50) 14 | | | 0x70 |--CH01--> i2c client B (0x50) 15 +------+ +------+ 16 17which corresponds to the following ASL:: 18 19 Device (SMB1) 20 { 21 Name (_HID, ...) 22 Device (MUX0) 23 { 24 Name (_HID, ...) 25 Name (_CRS, ResourceTemplate () { 26 I2cSerialBus (0x70, ControllerInitiated, I2C_SPEED, 27 AddressingMode7Bit, "^SMB1", 0x00, 28 ResourceConsumer,,) 29 } 30 31 Device (CH00) 32 { 33 Name (_ADR, 0) 34 35 Device (CLIA) 36 { 37 Name (_HID, ...) 38 Name (_CRS, ResourceTemplate () { 39 I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED, 40 AddressingMode7Bit, "^CH00", 0x00, 41 ResourceConsumer,,) 42 } 43 } 44 } 45 46 Device (CH01) 47 { 48 Name (_ADR, 1) 49 50 Device (CLIB) 51 { 52 Name (_HID, ...) 53 Name (_CRS, ResourceTemplate () { 54 I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED, 55 AddressingMode7Bit, "^CH01", 0x00, 56 ResourceConsumer,,) 57 } 58 } 59 } 60 } 61 }