Currently VoodooI2C is disabled due to none of I2C devices on Surface series is usable (Ambient Light Sensor can be enabled but it readings are not properly configured)
VoodooI2C is a project consisting of macOS kernel extensions that add support for I2C bus devices. This kext is intended to be installed by anyone whose computer requires some form of I2C support. It consists of I2C controller drivers and is responsible for publishing device nubs to the IOService plane.
The following Intel I2C controllers are fully supported:
INT33C2andINT33C3- Haswell eraINT3432andINT3433- Broadwell erapci8086,9d60,pci8086,9d61,pci8086,9d62andpci8086,9d63- Skylake erapci8086,a160,pci8086,a161,pci8086,a162andpci8086,a163- Kaby Lake erapci8086,9de8,pci8086,9de9,pci8086,9deaandpci8086,9deb- Cannon Lake/Whiskey Lake erapci8086,a368,pci8086,a369,pci8086,a36aandpci8086,a36b- Coffee Lake erapci8086,2e8,pci8086,2e9,pci8086,2ea,pci8086,2eb,pci8086,6e8,pci8086,6e9,pci8086,6eaandpci8086,6eb- Comet Lake erapci8086,34e8,pci8086,34e9,pci8086,34eaandpci8086,34eb- Ice Lake era
The following device classes are fully supported:
- I2C-HID devices
- ELAN devices
- FTE devices
Note that there is sometimes an overlap between device classes. For example, some ELAN devices may also be I2C-HID devices.
The following UART devices are supported:
34a88086 clk_rate 64000000 baud_rate 4000000 -> divisor 1, clk_config M=8 N=15
9d278086 clk_rate 48000000 baud_rate 3000000 -> divisor 1, clk_config M=2 N=5 (in this config it is usable but produces a lot of transmission errors, further investigations are needed)
Interrupt mode is not realised due to the failure of interrupt registration
This program is protected by the GPL license. Please refer to the LICENSE.txt file for more information