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