Message ID | 20180717084158.23532-4-masneyb@onstation.org |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | ARM: dts: qcom: msm8974-hammerhead: add more sensors | expand |
On Tue, Jul 17, 2018 at 04:41:54AM -0400, Brian Masney wrote: > This patch adds support for optionally reading the prox_diode and > prox_power settings from device tree. This was tested using a LG > Nexus 5 (hammerhead) which requires a different diode than the driver > default for the IR LED. > > Signed-off-by: Brian Masney <masneyb@onstation.org> > --- > The next patch in the series removes the tsl2772 driver from the > trivial-devices.txt file. I separated it out so that change can go > through device tree. > > .../devicetree/bindings/iio/light/tsl2772.txt | 39 +++++++++++++++++++ Please split DT bindings to separate patch. > drivers/iio/light/tsl2772.c | 16 ++++++++ > include/dt-bindings/iio/amstaos,tsl2772.h | 24 ++++++++++++ > 3 files changed, 79 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt > create mode 100644 include/dt-bindings/iio/amstaos,tsl2772.h > > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > new file mode 100644 > index 000000000000..ab553d52b9fc > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > @@ -0,0 +1,39 @@ > +* AMS/TAOS ALS and proximity sensor > + > +Required properties: > + > + - compatible: Should be one of > + "amstaos,tsl2571" > + "amstaos,tsl2671" > + "amstaos,tmd2671" > + "amstaos,tsl2771" > + "amstaos,tmd2771" > + "amstaos,tsl2572" > + "amstaos,tsl2672" > + "amstaos,tmd2672" > + "amstaos,tsl2772" > + "amstaos,tmd2772" > + - reg: the I2C address of the device > + > +Optional properties: > + > + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or > + TSL2772_DIODE_BOTH. s/_/-/ > + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, > + or TSL2772_13_mA. I wonder if this should be common. Perhaps we should use the existing 'led-max-microamp' as this is setting the current for an IR LED. And while called 'power' this setting is current. > + - interrupt-parent: should be the phandle for the interrupt controller Don't need to document this. It's implied by interrupts (and could be in a parent node). > + - interrupts: the sole interrupt generated by the device > + > + Refer to interrupt-controller/interrupts.txt for generic interrupt client > + node bindings. > + > +Example: > + > +#include <dt-bindings/iio/amstaos,tsl2772.h> > + > +tsl2772@39 { > + compatible = "amstaos,tsl2772"; > + reg = <0x39>; > + interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>; > + amstaos,prox_diode = <TSL2772_DIODE0>; > +}; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 17 Jul 2018 04:41:54 -0400 Brian Masney <masneyb@onstation.org> wrote: > This patch adds support for optionally reading the prox_diode and > prox_power settings from device tree. This was tested using a LG > Nexus 5 (hammerhead) which requires a different diode than the driver > default for the IR LED. > > Signed-off-by: Brian Masney <masneyb@onstation.org> I think we can make this binding more 'generic' as right now the amstaos bindings aren't even general enough to apply to future amstaos devices that need a similar binding. I'm always anti defines rather than real values in DT (where possible) and I think there is no reason not to use real values here. Jonathan > --- > The next patch in the series removes the tsl2772 driver from the > trivial-devices.txt file. I separated it out so that change can go > through device tree. > > .../devicetree/bindings/iio/light/tsl2772.txt | 39 +++++++++++++++++++ > drivers/iio/light/tsl2772.c | 16 ++++++++ > include/dt-bindings/iio/amstaos,tsl2772.h | 24 ++++++++++++ > 3 files changed, 79 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt > create mode 100644 include/dt-bindings/iio/amstaos,tsl2772.h > > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > new file mode 100644 > index 000000000000..ab553d52b9fc > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > @@ -0,0 +1,39 @@ > +* AMS/TAOS ALS and proximity sensor > + > +Required properties: > + > + - compatible: Should be one of > + "amstaos,tsl2571" > + "amstaos,tsl2671" > + "amstaos,tmd2671" > + "amstaos,tsl2771" > + "amstaos,tmd2771" > + "amstaos,tsl2572" > + "amstaos,tsl2672" > + "amstaos,tmd2672" > + "amstaos,tsl2772" > + "amstaos,tmd2772" > + - reg: the I2C address of the device > + > +Optional properties: > + > + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or > + TSL2772_DIODE_BOTH. > + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, > + or TSL2772_13_mA. > + - interrupt-parent: should be the phandle for the interrupt controller > + - interrupts: the sole interrupt generated by the device > + > + Refer to interrupt-controller/interrupts.txt for generic interrupt client > + node bindings. > + > +Example: > + > +#include <dt-bindings/iio/amstaos,tsl2772.h> > + > +tsl2772@39 { > + compatible = "amstaos,tsl2772"; > + reg = <0x39>; > + interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>; > + amstaos,prox_diode = <TSL2772_DIODE0>; > +}; > diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c > index 34d42a2504c9..0be57f2ecb02 100644 > --- a/drivers/iio/light/tsl2772.c > +++ b/drivers/iio/light/tsl2772.c > @@ -515,6 +515,18 @@ static int tsl2772_get_prox(struct iio_dev *indio_dev) > return ret; > } > > +#ifdef CONFIG_OF > +static void tsl2772_parse_dt(struct tsl2772_chip *chip) > +{ > + struct device_node *of_node = chip->client->dev.of_node; > + > + of_property_read_u32(of_node, "amstaos,prox_diode", > + &chip->settings.prox_diode); > + of_property_read_u32(of_node, "amstaos,prox_power", > + &chip->settings.prox_power); > +} > +#endif > + > /** > * tsl2772_defaults() - Populates the device nominal operating parameters > * with those provided by a 'platform' data struct or > @@ -541,6 +553,10 @@ static void tsl2772_defaults(struct tsl2772_chip *chip) > memcpy(chip->tsl2772_device_lux, > tsl2772_default_lux_table_group[chip->id], > TSL2772_DEFAULT_TABLE_BYTES); > + > +#ifdef CONFIG_OF > + tsl2772_parse_dt(chip); > +#endif > } > > /** > diff --git a/include/dt-bindings/iio/amstaos,tsl2772.h b/include/dt-bindings/iio/amstaos,tsl2772.h > new file mode 100644 > index 000000000000..ad6f9fbc0845 > --- /dev/null > +++ b/include/dt-bindings/iio/amstaos,tsl2772.h > @@ -0,0 +1,24 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Device driver for monitoring ambient light intensity (lux) > + * and proximity (prox) within the TAOS TSL2772 family of devices. > + * > + * Copyright (c) 2012 TAOS Corporation. > + * Copyright (c) 2017-2018 Brian Masney <masneyb@onstation.org> > + */ > + > +#ifndef _DT_BINDINGS_AMSTAOS_TSL2772_H > +#define _DT_BINDINGS_AMSTAOS_TSL2772_H > + > +/* Proximity diode to use */ > +#define TSL2772_DIODE0 0x01 > +#define TSL2772_DIODE1 0x02 > +#define TSL2772_DIODE_BOTH 0x03 Can we have two separate parameters to enable them? > + > +/* LED Power */ > +#define TSL2772_100_mA 0x00 > +#define TSL2772_50_mA 0x01 > +#define TSL2772_25_mA 0x02 > +#define TSL2772_13_mA 0x03 I'd like to see real numbers rather than defines. List the valid values in the binding then match them to register addresses in the driver. A different instance of this binding for a different taos device might have different values that are valid. > + > +#endif /* _DT_BINDINGS_AMSTAOS_TSL2772_H */ -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 20 Jul 2018 11:36:35 -0600 Rob Herring <robh@kernel.org> wrote: > On Tue, Jul 17, 2018 at 04:41:54AM -0400, Brian Masney wrote: > > This patch adds support for optionally reading the prox_diode and > > prox_power settings from device tree. This was tested using a LG > > Nexus 5 (hammerhead) which requires a different diode than the driver > > default for the IR LED. > > > > Signed-off-by: Brian Masney <masneyb@onstation.org> > > --- > > The next patch in the series removes the tsl2772 driver from the > > trivial-devices.txt file. I separated it out so that change can go > > through device tree. > > > > .../devicetree/bindings/iio/light/tsl2772.txt | 39 +++++++++++++++++++ > > Please split DT bindings to separate patch. > > > drivers/iio/light/tsl2772.c | 16 ++++++++ > > include/dt-bindings/iio/amstaos,tsl2772.h | 24 ++++++++++++ > > 3 files changed, 79 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt > > create mode 100644 include/dt-bindings/iio/amstaos,tsl2772.h > > > > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > > new file mode 100644 > > index 000000000000..ab553d52b9fc > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > > @@ -0,0 +1,39 @@ > > +* AMS/TAOS ALS and proximity sensor > > + > > +Required properties: > > + > > + - compatible: Should be one of > > + "amstaos,tsl2571" > > + "amstaos,tsl2671" > > + "amstaos,tmd2671" > > + "amstaos,tsl2771" > > + "amstaos,tmd2771" > > + "amstaos,tsl2572" > > + "amstaos,tsl2672" > > + "amstaos,tmd2672" > > + "amstaos,tsl2772" > > + "amstaos,tmd2772" > > + - reg: the I2C address of the device > > + > > +Optional properties: > > + > > + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or > > + TSL2772_DIODE_BOTH. > > s/_/-/ > > > + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, > > + or TSL2772_13_mA. > > I wonder if this should be common. Perhaps we should use the existing > 'led-max-microamp' as this is setting the current for an IR LED. Seems reasonable, then perhaps have two controls to turn on the diodes above. > > And while called 'power' this setting is current. Also can we have real values? I really don't like defines if they aren't absolutely necessary - particularly when there is a nice real unit to be used. > > > + - interrupt-parent: should be the phandle for the interrupt controller > > Don't need to document this. It's implied by interrupts (and could be in > a parent node). > > > + - interrupts: the sole interrupt generated by the device > > + > > + Refer to interrupt-controller/interrupts.txt for generic interrupt client > > + node bindings. > > + > > +Example: > > + > > +#include <dt-bindings/iio/amstaos,tsl2772.h> > > + > > +tsl2772@39 { > > + compatible = "amstaos,tsl2772"; > > + reg = <0x39>; > > + interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>; > > + amstaos,prox_diode = <TSL2772_DIODE0>; > > +}; > -- > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, Jul 21, 2018 at 06:37:16PM +0100, Jonathan Cameron wrote: > On Fri, 20 Jul 2018 11:36:35 -0600 > Rob Herring <robh@kernel.org> wrote: > > > On Tue, Jul 17, 2018 at 04:41:54AM -0400, Brian Masney wrote: > > > This patch adds support for optionally reading the prox_diode and > > > prox_power settings from device tree. This was tested using a LG > > > Nexus 5 (hammerhead) which requires a different diode than the driver > > > default for the IR LED. > > > > > > Signed-off-by: Brian Masney <masneyb@onstation.org> > > > --- > > > The next patch in the series removes the tsl2772 driver from the > > > trivial-devices.txt file. I separated it out so that change can go > > > through device tree. > > > > > > .../devicetree/bindings/iio/light/tsl2772.txt | 39 +++++++++++++++++++ > > > > Please split DT bindings to separate patch. > > > > > drivers/iio/light/tsl2772.c | 16 ++++++++ > > > include/dt-bindings/iio/amstaos,tsl2772.h | 24 ++++++++++++ > > > 3 files changed, 79 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt > > > create mode 100644 include/dt-bindings/iio/amstaos,tsl2772.h > > > > > > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > > > new file mode 100644 > > > index 000000000000..ab553d52b9fc > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > > > @@ -0,0 +1,39 @@ > > > +* AMS/TAOS ALS and proximity sensor > > > + > > > +Required properties: > > > + > > > + - compatible: Should be one of > > > + "amstaos,tsl2571" > > > + "amstaos,tsl2671" > > > + "amstaos,tmd2671" > > > + "amstaos,tsl2771" > > > + "amstaos,tmd2771" > > > + "amstaos,tsl2572" > > > + "amstaos,tsl2672" > > > + "amstaos,tmd2672" > > > + "amstaos,tsl2772" > > > + "amstaos,tmd2772" > > > + - reg: the I2C address of the device > > > + > > > +Optional properties: > > > + > > > + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or > > > + TSL2772_DIODE_BOTH. > > > > s/_/-/ > > > > > + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, > > > + or TSL2772_13_mA. > > > > I wonder if this should be common. Perhaps we should use the existing > > 'led-max-microamp' as this is setting the current for an IR LED. > > Seems reasonable, then perhaps have two controls to turn on the diodes > above. > > > > > And while called 'power' this setting is current. > > Also can we have real values? I really don't like defines if they > aren't absolutely necessary - particularly when there is a nice real > unit to be used. How about these options then? amstaos,proximity-diode-0-enabled; amstaos,proximity-diode-1-enabled; led-max-microamp = <100000>; Brian -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, 22 Jul 2018 12:37:20 +0000 Brian Masney <masneyb@onstation.org> wrote: > On Sat, Jul 21, 2018 at 06:37:16PM +0100, Jonathan Cameron wrote: > > On Fri, 20 Jul 2018 11:36:35 -0600 > > Rob Herring <robh@kernel.org> wrote: > > > > > On Tue, Jul 17, 2018 at 04:41:54AM -0400, Brian Masney wrote: > > > > This patch adds support for optionally reading the prox_diode and > > > > prox_power settings from device tree. This was tested using a LG > > > > Nexus 5 (hammerhead) which requires a different diode than the driver > > > > default for the IR LED. > > > > > > > > Signed-off-by: Brian Masney <masneyb@onstation.org> > > > > --- > > > > The next patch in the series removes the tsl2772 driver from the > > > > trivial-devices.txt file. I separated it out so that change can go > > > > through device tree. > > > > > > > > .../devicetree/bindings/iio/light/tsl2772.txt | 39 +++++++++++++++++++ > > > > > > Please split DT bindings to separate patch. > > > > > > > drivers/iio/light/tsl2772.c | 16 ++++++++ > > > > include/dt-bindings/iio/amstaos,tsl2772.h | 24 ++++++++++++ > > > > 3 files changed, 79 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt > > > > create mode 100644 include/dt-bindings/iio/amstaos,tsl2772.h > > > > > > > > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > > > > new file mode 100644 > > > > index 000000000000..ab553d52b9fc > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.txt > > > > @@ -0,0 +1,39 @@ > > > > +* AMS/TAOS ALS and proximity sensor > > > > + > > > > +Required properties: > > > > + > > > > + - compatible: Should be one of > > > > + "amstaos,tsl2571" > > > > + "amstaos,tsl2671" > > > > + "amstaos,tmd2671" > > > > + "amstaos,tsl2771" > > > > + "amstaos,tmd2771" > > > > + "amstaos,tsl2572" > > > > + "amstaos,tsl2672" > > > > + "amstaos,tmd2672" > > > > + "amstaos,tsl2772" > > > > + "amstaos,tmd2772" > > > > + - reg: the I2C address of the device > > > > + > > > > +Optional properties: > > > > + > > > > + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or > > > > + TSL2772_DIODE_BOTH. > > > > > > s/_/-/ > > > > > > > + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, > > > > + or TSL2772_13_mA. > > > > > > I wonder if this should be common. Perhaps we should use the existing > > > 'led-max-microamp' as this is setting the current for an IR LED. > > > > Seems reasonable, then perhaps have two controls to turn on the diodes > > above. > > > > > > > > And while called 'power' this setting is current. > > > > Also can we have real values? I really don't like defines if they > > aren't absolutely necessary - particularly when there is a nice real > > unit to be used. > > How about these options then? > > amstaos,proximity-diode-0-enabled; > amstaos,proximity-diode-1-enabled; > led-max-microamp = <100000>; Works for me. Rob? J > > Brian -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jul 22, 2018 at 11:17 AM Jonathan Cameron <jic23@kernel.org> wrote: > > On Sun, 22 Jul 2018 12:37:20 +0000 > Brian Masney <masneyb@onstation.org> wrote: > > > On Sat, Jul 21, 2018 at 06:37:16PM +0100, Jonathan Cameron wrote: > > > On Fri, 20 Jul 2018 11:36:35 -0600 > > > Rob Herring <robh@kernel.org> wrote: > > > > > > > On Tue, Jul 17, 2018 at 04:41:54AM -0400, Brian Masney wrote: > > > > > This patch adds support for optionally reading the prox_diode and > > > > > prox_power settings from device tree. This was tested using a LG > > > > > Nexus 5 (hammerhead) which requires a different diode than the driver > > > > > default for the IR LED. > > > > > > > > > > Signed-off-by: Brian Masney <masneyb@onstation.org> > > > > > + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or > > > > > + TSL2772_DIODE_BOTH. > > > > > > > > s/_/-/ > > > > > > > > > + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, > > > > > + or TSL2772_13_mA. > > > > > > > > I wonder if this should be common. Perhaps we should use the existing > > > > 'led-max-microamp' as this is setting the current for an IR LED. > > > > > > Seems reasonable, then perhaps have two controls to turn on the diodes > > > above. > > > > > > > > > > > And while called 'power' this setting is current. > > > > > > Also can we have real values? I really don't like defines if they > > > aren't absolutely necessary - particularly when there is a nice real > > > unit to be used. > > > > How about these options then? > > > > amstaos,proximity-diode-0-enabled; > > amstaos,proximity-diode-1-enabled; > > led-max-microamp = <100000>; > > Works for me. Rob? I think we're bikeshedding, but I'd prefer a single property though perhaps as a list (0, 1, or <0 1>) or mask. A list would be similar to the "led-sources" property format. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt new file mode 100644 index 000000000000..ab553d52b9fc --- /dev/null +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.txt @@ -0,0 +1,39 @@ +* AMS/TAOS ALS and proximity sensor + +Required properties: + + - compatible: Should be one of + "amstaos,tsl2571" + "amstaos,tsl2671" + "amstaos,tmd2671" + "amstaos,tsl2771" + "amstaos,tmd2771" + "amstaos,tsl2572" + "amstaos,tsl2672" + "amstaos,tmd2672" + "amstaos,tsl2772" + "amstaos,tmd2772" + - reg: the I2C address of the device + +Optional properties: + + - amstaos,prox_diode - must be TSL2772_DIODE0, TSL2772_DIODE1, or + TSL2772_DIODE_BOTH. + - amstaos,prox_power - must be TSL2772_100_mA, TSL2772_50_mA, TSL2772_25_mA, + or TSL2772_13_mA. + - interrupt-parent: should be the phandle for the interrupt controller + - interrupts: the sole interrupt generated by the device + + Refer to interrupt-controller/interrupts.txt for generic interrupt client + node bindings. + +Example: + +#include <dt-bindings/iio/amstaos,tsl2772.h> + +tsl2772@39 { + compatible = "amstaos,tsl2772"; + reg = <0x39>; + interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>; + amstaos,prox_diode = <TSL2772_DIODE0>; +}; diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c index 34d42a2504c9..0be57f2ecb02 100644 --- a/drivers/iio/light/tsl2772.c +++ b/drivers/iio/light/tsl2772.c @@ -515,6 +515,18 @@ static int tsl2772_get_prox(struct iio_dev *indio_dev) return ret; } +#ifdef CONFIG_OF +static void tsl2772_parse_dt(struct tsl2772_chip *chip) +{ + struct device_node *of_node = chip->client->dev.of_node; + + of_property_read_u32(of_node, "amstaos,prox_diode", + &chip->settings.prox_diode); + of_property_read_u32(of_node, "amstaos,prox_power", + &chip->settings.prox_power); +} +#endif + /** * tsl2772_defaults() - Populates the device nominal operating parameters * with those provided by a 'platform' data struct or @@ -541,6 +553,10 @@ static void tsl2772_defaults(struct tsl2772_chip *chip) memcpy(chip->tsl2772_device_lux, tsl2772_default_lux_table_group[chip->id], TSL2772_DEFAULT_TABLE_BYTES); + +#ifdef CONFIG_OF + tsl2772_parse_dt(chip); +#endif } /** diff --git a/include/dt-bindings/iio/amstaos,tsl2772.h b/include/dt-bindings/iio/amstaos,tsl2772.h new file mode 100644 index 000000000000..ad6f9fbc0845 --- /dev/null +++ b/include/dt-bindings/iio/amstaos,tsl2772.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Device driver for monitoring ambient light intensity (lux) + * and proximity (prox) within the TAOS TSL2772 family of devices. + * + * Copyright (c) 2012 TAOS Corporation. + * Copyright (c) 2017-2018 Brian Masney <masneyb@onstation.org> + */ + +#ifndef _DT_BINDINGS_AMSTAOS_TSL2772_H +#define _DT_BINDINGS_AMSTAOS_TSL2772_H + +/* Proximity diode to use */ +#define TSL2772_DIODE0 0x01 +#define TSL2772_DIODE1 0x02 +#define TSL2772_DIODE_BOTH 0x03 + +/* LED Power */ +#define TSL2772_100_mA 0x00 +#define TSL2772_50_mA 0x01 +#define TSL2772_25_mA 0x02 +#define TSL2772_13_mA 0x03 + +#endif /* _DT_BINDINGS_AMSTAOS_TSL2772_H */
This patch adds support for optionally reading the prox_diode and prox_power settings from device tree. This was tested using a LG Nexus 5 (hammerhead) which requires a different diode than the driver default for the IR LED. Signed-off-by: Brian Masney <masneyb@onstation.org> --- The next patch in the series removes the tsl2772 driver from the trivial-devices.txt file. I separated it out so that change can go through device tree. .../devicetree/bindings/iio/light/tsl2772.txt | 39 +++++++++++++++++++ drivers/iio/light/tsl2772.c | 16 ++++++++ include/dt-bindings/iio/amstaos,tsl2772.h | 24 ++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt create mode 100644 include/dt-bindings/iio/amstaos,tsl2772.h