SL3 uses a custom ambient light sensor (MSHW0184) under i2c-12. By dumping some logs on windows I was able to find the correct sequence to turn the sensor on:
https://gist.github.com/archseer/3f58a74d4dd02dd0c9284b571fdbc1df
Intel(R) Serial IO I2C Host Controller 34C5 -> Surface Light Sensor (MSHW0184) -> VHF (HID, the hid-iio framework should take care of that). _SB.PCI0.I2C4.ACSD on the ACPI.
All the registers seem to line up with APDS9960 which is already upstream so we can probably just reuse the same driver. I wasn't able to get the driver to bind after boot via sysfs (I think it said something like "resource busy").
We should be able to get the driver to bind by modifying this to include MSHW0184 but I haven't had the time to do a full kernel recompile yet.
Lastly, this might also affect SP7, I'm not sure.
SL3 uses a custom ambient light sensor (MSHW0184) under i2c-12. By dumping some logs on windows I was able to find the correct sequence to turn the sensor on:
https://gist.github.com/archseer/3f58a74d4dd02dd0c9284b571fdbc1df
Intel(R) Serial IO I2C Host Controller 34C5 -> Surface Light Sensor (MSHW0184) -> VHF (HID, the hid-iio framework should take care of that). _SB.PCI0.I2C4.ACSD on the ACPI.
All the registers seem to line up with APDS9960 which is already upstream so we can probably just reuse the same driver. I wasn't able to get the driver to bind after boot via sysfs (I think it said something like "resource busy").
We should be able to get the driver to bind by modifying this to include MSHW0184 but I haven't had the time to do a full kernel recompile yet.
Lastly, this might also affect SP7, I'm not sure.