Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c8ea1b2 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

iio: add LM3533 ambient-light-sensor driver



Add sub-driver for the ambient-light-sensor interface on National
Semiconductor / TI LM3533 lighting power chips.

The sensor interface can be used to control the LEDs and backlights of
the chip through defining five light zones and three sets of
corresponding output-current values.

The driver provides raw and mean adc readings along with the current
light zone through sysfs. A threshold event can be generated on zone
changes. The ALS-control output values can be set per zone for the three
current output channels.

Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Acked-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2979460d
Loading
Loading
Loading
Loading
+62 −0
Original line number Diff line number Diff line
What:		/sys/.../events/in_illuminance0_thresh_either_en
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Event generated when channel passes one of the four thresholds
		in each direction (rising|falling) and a zone change occurs.
		The corresponding light zone can be read from
		in_illuminance0_zone.

What:		/sys/.../events/in_illuminance0_threshY_hysteresis
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Get the hysteresis for thresholds Y, that is,

		threshY_hysteresis = threshY_raising - threshY_falling

What:		/sys/.../events/illuminance_threshY_falling_value
What:		/sys/.../events/illuminance_threshY_raising_value
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Specifies the value of threshold that the device is comparing
		against for the events enabled by
		in_illuminance0_thresh_either_en (0..255), where Y in 0..3.

		Note that threshY_falling must be less than or equal to
		threshY_raising.

		These thresholds correspond to the eight zone-boundary
		registers (boundaryY_{low,high}) and defines the five light
		zones.

What:		/sys/bus/iio/devices/iio:deviceX/in_illuminance0_zone
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Get the current light zone (0..4) as defined by the
		in_illuminance0_threshY_{falling,rising} thresholds.

What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_raw
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Get output current for channel Y (0..255), that is,
		out_currentY_currentZ_raw, where Z is the current zone.

What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_currentZ_raw
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the output current for channel out_currentY when in zone
		Z (0..255), where Y in 0..2 and Z in 0..4.

		These values correspond to the ALS-mapper target registers for
		ALS-mapper Y + 1.
+1 −0
Original line number Diff line number Diff line
@@ -50,5 +50,6 @@ config IIO_CONSUMERS_PER_TRIGGER

source "drivers/iio/adc/Kconfig"
source "drivers/iio/amplifiers/Kconfig"
source "drivers/iio/light/Kconfig"

endif # IIO
+1 −0
Original line number Diff line number Diff line
@@ -11,3 +11,4 @@ obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o

obj-y += adc/
obj-y += amplifiers/
obj-y += light/
+22 −0
Original line number Diff line number Diff line
#
# Light sensors
#
menu "Light sensors"

config SENSORS_LM3533
	tristate "LM3533 ambient light sensor"
	depends on MFD_LM3533
	help
	  If you say yes here you get support for the ambient light sensor
	  interface on National Semiconductor / TI LM3533 Lighting Power
	  chips.

	  The sensor interface can be used to control the LEDs and backlights
	  of the chip through defining five light zones and three sets of
	  corresponding output-current values.

	  The driver provides raw and mean adc readings along with the current
	  light zone through sysfs. A threshold event can be generated on zone
	  changes. The ALS-control output values can be set per zone for the
	  three current output channels.
endmenu
+5 −0
Original line number Diff line number Diff line
#
# Makefile for IIO Light sensors
#

obj-$(CONFIG_SENSORS_LM3533)	+= lm3533-als.o
Loading