Reference

isl(4freebsd)

Intersil(TM) I2C ISL29018 sensor driver

NAME

isl – Intersil(TM) I2C ISL29018 sensor driver

SYNOPSIS

To compile this driver into the kernel, place the following lines into the kernel configuration file:

device isl device ig4 device iicbus

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

isl_load="YES"
ig4_load="YES"

On many Chromebook models this driver can be automatically configured with the help of the chromebook_platform(4) driver. Alternatively, the

isl driver can be manually configured in /boot/device.hints: hint.isl.0.at="iicbus0" hint.isl.0.addr="0x88" hint.isl.1.at="iicbus1" hint.isl.1.addr="0x88"

DESCRIPTION

The isl driver provides access to sensor data provided by the Intersil(TM) I2C ISL29018 Digital Ambient Light Sensor and Proximity Sensor with Interrupt Function. Functionality is basic and provided through the sysctl(8) interface.

On a system using device.hints(5), these values are configurable for isl:

hint.isl.%d.at

target iicbus(4).

hint.isl.%d.addr

isl i2c address on the iicbus(4).

SYSCTL VARIABLES

The following sysctl(8) variables are available:

dev.isl.X.als

Current ALS (Ambient Light Sensor) readout.

dev.isl.X.ir

Current IR (InfraRed) sensor readout.

dev.isl.X.prox

Current proximity sensor readout.

dev.isl.X.resolution

Current sensor resolution.

dev.isl.X.range

Current sensor range.

EXAMPLES

Ambient light sensor read out

$ sysctl dev.isl.0.als
dev.isl.0.als: 64

Automatically adjust brightness

This requires the port graphics/intel-backlight and only works with laptops using a supported Intel(R) GPU.

$ pkg install intel-backlight
$ sh /usr/local/share/examples/intel-backlight/isl_backlight.sh

SEE ALSO

chromebook_platform(4), ig4(4), iicbus(4)

AUTHORS

The isl driver was written by Michael Gmelin ⟨[email protected]⟩.

This manual page was written by Michael Gmelin ⟨[email protected]⟩.

BUGS

The isl driver detects the device based from the I2C address. This might have unforeseen consequences if the initialization sequence is sent to an unknown device at that address.

History