1ca2e4ecdSMichael Gmelin.\" Copyright (c) 2015 Michael Gmelin <freebsd@grem.de> 2ca2e4ecdSMichael Gmelin.\" All rights reserved. 3ca2e4ecdSMichael Gmelin.\" 4ca2e4ecdSMichael Gmelin.\" Redistribution and use in source and binary forms, with or without 5ca2e4ecdSMichael Gmelin.\" modification, are permitted provided that the following conditions 6ca2e4ecdSMichael Gmelin.\" are met: 7ca2e4ecdSMichael Gmelin.\" 1. Redistributions of source code must retain the above copyright 8ca2e4ecdSMichael Gmelin.\" notice, this list of conditions and the following disclaimer. 9ca2e4ecdSMichael Gmelin.\" 2. Redistributions in binary form must reproduce the above copyright 10ca2e4ecdSMichael Gmelin.\" notice, this list of conditions and the following disclaimer in the 11ca2e4ecdSMichael Gmelin.\" documentation and/or other materials provided with the distribution. 12ca2e4ecdSMichael Gmelin.\" 13ca2e4ecdSMichael Gmelin.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14ca2e4ecdSMichael Gmelin.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15ca2e4ecdSMichael Gmelin.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16ca2e4ecdSMichael Gmelin.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17ca2e4ecdSMichael Gmelin.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18ca2e4ecdSMichael Gmelin.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19ca2e4ecdSMichael Gmelin.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20ca2e4ecdSMichael Gmelin.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21ca2e4ecdSMichael Gmelin.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22ca2e4ecdSMichael Gmelin.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23ca2e4ecdSMichael Gmelin.\" SUCH DAMAGE. 24ca2e4ecdSMichael Gmelin.\" 25*d4ee9420SAndriy Gapon.Dd December 18, 2018 26ca2e4ecdSMichael Gmelin.Dt ISL 4 27ca2e4ecdSMichael Gmelin.Os 28ca2e4ecdSMichael Gmelin.Sh NAME 29ca2e4ecdSMichael Gmelin.Nm isl 30ca2e4ecdSMichael Gmelin.Nd Intersil(TM) I2C ISL29018 sensor driver 31ca2e4ecdSMichael Gmelin.Sh SYNOPSIS 32ca2e4ecdSMichael GmelinTo compile this driver into the kernel, place the following lines into 33ca2e4ecdSMichael Gmelinthe kernel configuration file: 34ca2e4ecdSMichael Gmelin.Bd -ragged -offset indent 35ca2e4ecdSMichael Gmelin.Cd "device isl" 36ca2e4ecdSMichael Gmelin.Cd "device ig4" 37448897d3SAndriy Gapon.Cd "device iicbus" 38ca2e4ecdSMichael Gmelin.Ed 39ca2e4ecdSMichael Gmelin.Pp 40ca2e4ecdSMichael GmelinAlternatively, to load the driver as a module at boot time, place the following line in 41ca2e4ecdSMichael Gmelin.Xr loader.conf 5 : 42ca2e4ecdSMichael Gmelin.Bd -literal -offset indent 43ca2e4ecdSMichael Gmelinisl_load="YES" 44ca2e4ecdSMichael Gmelinig4_load="YES" 45ca2e4ecdSMichael Gmelin.Ed 46448897d3SAndriy Gapon.Pp 47*d4ee9420SAndriy GaponOn many Chromebook models this driver can be automatically configured with the 48*d4ee9420SAndriy Gaponhelp of the 49*d4ee9420SAndriy Gapon.Xr chromebook_platform 4 50*d4ee9420SAndriy Gapondriver. 51*d4ee9420SAndriy GaponAlternatively, the 52*d4ee9420SAndriy Gapon.Nm 53*d4ee9420SAndriy Gapondriver can be manually configured in 54448897d3SAndriy Gapon.Pa /boot/device.hints : 55448897d3SAndriy Gapon.Cd hint.isl.0.at="iicbus0" 56448897d3SAndriy Gapon.Cd hint.isl.0.addr="0x88" 57448897d3SAndriy Gapon.Cd hint.isl.1.at="iicbus1" 58448897d3SAndriy Gapon.Cd hint.isl.1.addr="0x88" 59ca2e4ecdSMichael Gmelin.Sh DESCRIPTION 60ca2e4ecdSMichael GmelinThe 61ca2e4ecdSMichael Gmelin.Nm 62ca2e4ecdSMichael Gmelindriver provides access to sensor data provided by the Intersil(TM) I2C 63ca2e4ecdSMichael GmelinISL29018 Digital Ambient Light Sensor and Proximity Sensor with Interrupt 64ca2e4ecdSMichael GmelinFunction. 65ca2e4ecdSMichael GmelinFunctionality is basic and provided through the 66ca2e4ecdSMichael Gmelin.Xr sysctl 8 67ca2e4ecdSMichael Gmelininterface. 68448897d3SAndriy Gapon.Pp 69448897d3SAndriy GaponOn a system using 70448897d3SAndriy Gapon.Xr device.hints 5 , 71448897d3SAndriy Gaponthese values are configurable for 72448897d3SAndriy Gapon.Nm : 73448897d3SAndriy Gapon.Bl -tag -width "hint.isl.%d.addr" 74448897d3SAndriy Gapon.It Va hint.isl.%d.at 75448897d3SAndriy Gapontarget 76448897d3SAndriy Gapon.Xr iicbus 4 . 77448897d3SAndriy Gapon.It Va hint.isl.%d.addr 78448897d3SAndriy Gapon.Nm 79448897d3SAndriy Gaponi2c address on the 80448897d3SAndriy Gapon.Xr iicbus 4 . 81448897d3SAndriy Gapon.El 82ca2e4ecdSMichael Gmelin.Sh SYSCTL VARIABLES 83ca2e4ecdSMichael GmelinThe following 84ca2e4ecdSMichael Gmelin.Xr sysctl 8 85ca2e4ecdSMichael Gmelinvariables are available: 86ca2e4ecdSMichael Gmelin.Bl -tag -width "dev.isl.X.resolution" 87ca2e4ecdSMichael Gmelin.It Va dev.isl.X.als 88ca2e4ecdSMichael GmelinCurrent ALS (Ambient Light Sensor) readout. 89ca2e4ecdSMichael Gmelin.It Va dev.isl.X.ir 90ca2e4ecdSMichael GmelinCurrent IR (InfraRed) sensor readout. 91ca2e4ecdSMichael Gmelin.It Va dev.isl.X.prox 92ca2e4ecdSMichael GmelinCurrent proximity sensor readout. 93ca2e4ecdSMichael Gmelin.It Va dev.isl.X.resolution 94ca2e4ecdSMichael GmelinCurrent sensor resolution. 95ca2e4ecdSMichael Gmelin.It Va dev.isl.X.range 96ca2e4ecdSMichael GmelinCurrent sensor range. 97ca2e4ecdSMichael Gmelin.El 98ca2e4ecdSMichael Gmelin.Sh EXAMPLES 99ca2e4ecdSMichael Gmelin.Ss Ambient light sensor read out 100ca2e4ecdSMichael Gmelin.Bd -literal 101ca2e4ecdSMichael Gmelin$ sysctl dev.isl.0.als 102ca2e4ecdSMichael Gmelindev.isl.0.als: 64 103ca2e4ecdSMichael Gmelin.Ed 104ca2e4ecdSMichael Gmelin.Ss Automatically adjust brightness 105ca2e4ecdSMichael GmelinThis requires the port 106ca2e4ecdSMichael Gmelin.Pa graphics/intel-backlight 107ca2e4ecdSMichael Gmelinand only works with laptops using a supported Intel(R) GPU. 108ca2e4ecdSMichael Gmelin.Bd -literal 109ca2e4ecdSMichael Gmelin$ pkg install intel-backlight 110ca2e4ecdSMichael Gmelin$ sh /usr/local/share/examples/intel-backlight/isl_backlight.sh 111ca2e4ecdSMichael Gmelin.Ed 112ca2e4ecdSMichael Gmelin.Sh SEE ALSO 113*d4ee9420SAndriy Gapon.Xr chromebook_platform 4 , 114ca2e4ecdSMichael Gmelin.Xr ig4 4 , 115448897d3SAndriy Gapon.Xr iicbus 4 116ca2e4ecdSMichael Gmelin.Sh AUTHORS 117ca2e4ecdSMichael Gmelin.An -nosplit 118ca2e4ecdSMichael GmelinThe 119ca2e4ecdSMichael Gmelin.Nm 120ca2e4ecdSMichael Gmelindriver was written by 121ca2e4ecdSMichael Gmelin.An Michael Gmelin Aq Mt freebsd@grem.de . 122ca2e4ecdSMichael Gmelin.Pp 123ca2e4ecdSMichael GmelinThis manual page was written by 124ca2e4ecdSMichael Gmelin.An Michael Gmelin Aq Mt freebsd@grem.de . 125ca2e4ecdSMichael Gmelin.Sh BUGS 126ca2e4ecdSMichael GmelinThe 127ca2e4ecdSMichael Gmelin.Nm 128448897d3SAndriy Gapondriver detects the device based from the I2C address. 129ca2e4ecdSMichael GmelinThis might have unforeseen consequences if the initialization sequence 130ca2e4ecdSMichael Gmelinis sent to an unknown device at that address. 131