ISL(4)

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
-nosplit The isl driver was written by Michael Gmelin <freebsd@grem.de>.

This manual page was written by Michael Gmelin <freebsd@grem.de>.

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.