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:
INT33C2
andINT33C3
- Haswell eraINT3432
andINT3433
- Broadwell erapci8086,9d60
,pci8086,9d61
,pci8086,9d62
andpci8086,9d63
- Skylake erapci8086,a160
,pci8086,a161
,pci8086,a162
andpci8086,a163
- Kaby Lake erapci8086,9de8
,pci8086,9de9
,pci8086,9dea
andpci8086,9deb
- Cannon Lake/Whiskey Lake erapci8086,a368
,pci8086,a369
,pci8086,a36a
andpci8086,a36b
- Coffee Lake erapci8086,2e8
,pci8086,2e9
,pci8086,2ea
,pci8086,2eb
,pci8086,6e8
,pci8086,6e9
,pci8086,6ea
andpci8086,6eb
- Comet Lake erapci8086,34e8
,pci8086,34e9
,pci8086,34ea
andpci8086,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