2019-04-16 08:47:10

by Brian Masney

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: iio: tsl2772: convert bindings to YAML format

Convert the tsl2772 device tree bindings to the new YAML format.

Signed-off-by: Brian Masney <[email protected]>
---
.../devicetree/bindings/iio/light/tsl2772.txt | 42 ---------
.../bindings/iio/light/tsl2772.yaml | 85 +++++++++++++++++++
2 files changed, 85 insertions(+), 42 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt
create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.yaml

diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt
deleted file mode 100644
index 1c5e6f17a1df..000000000000
--- a/Documentation/devicetree/bindings/iio/light/tsl2772.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-* 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"
- "avago,apds9930"
- - reg: the I2C address of the device
-
-Optional properties:
-
- - amstaos,proximity-diodes - proximity diodes to enable. <0>, <1>, or <0 1>
- are the only valid values.
- - led-max-microamp - current for the proximity LED. Must be 100000, 50000,
- 25000, or 13000.
- - vdd-supply: phandle to the regulator that provides power to the sensor.
- - vddio-supply: phandle to the regulator that provides power to the bus.
- - interrupts: the sole interrupt generated by the device
-
- Refer to interrupt-controller/interrupts.txt for generic interrupt client
- node bindings.
-
-Example:
-
-tsl2772@39 {
- compatible = "amstaos,tsl2772";
- reg = <0x39>;
- interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
- vdd-supply = <&pm8941_l17>;
- vddio-supply = <&pm8941_lvs1>;
- amstaos,proximity-diodes = <0>;
- led-max-microamp = <100000>;
-};
diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.yaml b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
new file mode 100644
index 000000000000..b3ac182288d2
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
@@ -0,0 +1,85 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/tsl2772.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AMS/TAOS Ambient Light Sensor (ALS) and Proximity Detector
+
+maintainers:
+ - Brian Masney <[email protected]>
+
+description: |
+ Ambient light sensing and proximity detection with an i2c interface.
+ https://ams.com/documents/20143/36005/TSL2772_DS000181_2-00.pdf
+
+properties:
+ compatible:
+ enum:
+ - amstaos,tsl2571
+ - amstaos,tsl2671
+ - amstaos,tmd2671
+ - amstaos,tsl2771
+ - amstaos,tmd2771
+ - amstaos,tsl2572
+ - amstaos,tsl2672
+ - amstaos,tmd2672
+ - amstaos,tsl2772
+ - amstaos,tmd2772
+ - avago,apds9930
+
+ reg:
+ description: The I2C address of the device
+ maxItems: 1
+
+ amstaos,proximity-diodes:
+ description: Proximity diodes to enable
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32-array
+ - minItems: 1
+ maxItems: 2
+ items:
+ minimum: 0
+ maximum: 1
+
+ interrupts:
+ description: Interrupt generated by the device
+ maxItems: 1
+
+ led-max-microamp:
+ description: Current for the proximity LED
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32
+ - enum: [13000, 25000, 50000, 100000]
+
+ vdd-supply:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Regulator that provides power to the sensor
+
+ vddio-supply:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Regulator that provides power to the bus
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ tsl2772@39 {
+ compatible = "amstaos,tsl2772";
+ reg = <0x39>;
+ interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
+ vdd-supply = <&pm8941_l17>;
+ vddio-supply = <&pm8941_lvs1>;
+ amstaos,proximity-diodes = <0>;
+ led-max-microamp = <100000>;
+ };
+ };
+...
--
2.20.1


2019-04-16 08:47:03

by Brian Masney

[permalink] [raw]
Subject: [PATCH 2/2] dt-bindings: iio: tsl2583: convert bindings to YAML format

Convert the tsl2583 device tree bindings to the new YAML format.

Signed-off-by: Brian Masney <[email protected]>
---
I can no longer find the data sheet for this device linked on AMS's
site. The datasheet is still on Digikey [1], however I didn't include it
in the binding document since I assume that we should only link to the
manufacturer's website.
https://media.digikey.com/pdf/Data%20Sheets/Austriamicrosystems%20PDFs/TSL2581,83.pdf

.../devicetree/bindings/iio/light/tsl2583.txt | 25 ----------
.../bindings/iio/light/tsl2583.yaml | 49 +++++++++++++++++++
2 files changed, 49 insertions(+), 25 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iio/light/tsl2583.txt
create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2583.yaml

diff --git a/Documentation/devicetree/bindings/iio/light/tsl2583.txt b/Documentation/devicetree/bindings/iio/light/tsl2583.txt
deleted file mode 100644
index 059dffa1829a..000000000000
--- a/Documentation/devicetree/bindings/iio/light/tsl2583.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-* TAOS TSL 2580/2581/2583 ALS sensor
-
-Required properties:
-
- - compatible: Should be one of
- "amstaos,tsl2580"
- "amstaos,tsl2581"
- "amstaos,tsl2583"
- - reg: the I2C address of the device
-
-Optional properties:
-
- - interrupts: the sole interrupt generated by the device
-
- Refer to interrupt-controller/interrupts.txt for generic interrupt client
- node bindings.
-
- - vcc-supply: phandle to the regulator that provides power to the sensor.
-
-Example:
-
-tsl2581@29 {
- compatible = "amstaos,tsl2581";
- reg = <0x29>;
-};
diff --git a/Documentation/devicetree/bindings/iio/light/tsl2583.yaml b/Documentation/devicetree/bindings/iio/light/tsl2583.yaml
new file mode 100644
index 000000000000..c2d11b605963
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/light/tsl2583.yaml
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/tsl2583.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AMS/TAOS Ambient Light Sensor (ALS)
+
+maintainers:
+ - Brian Masney <[email protected]>
+
+description: |
+ Ambient light sensing with an i2c interface.
+
+properties:
+ compatible:
+ enum:
+ - amstaos,tsl2580
+ - amstaos,tsl2581
+ - amstaos,tsl2583
+
+ reg:
+ description: The I2C address of the device
+ maxItems: 1
+
+ interrupts:
+ description: Interrupt generated by the device
+ maxItems: 1
+
+ vcc-supply:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Regulator that provides power to the sensor
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ tsl2581@29 {
+ compatible = "amstaos,tsl2581";
+ reg = <0x29>;
+ };
+ };
+...
--
2.20.1

2019-04-22 12:53:57

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: iio: tsl2772: convert bindings to YAML format

On Tue, 16 Apr 2019 04:45:51 -0400
Brian Masney <[email protected]> wrote:

> Convert the tsl2772 device tree bindings to the new YAML format.
>
> Signed-off-by: Brian Masney <[email protected]>
Hi Brian,

Good to see this. I'm afraid it's all a bit new to me so what
I haven't yet understood is how prescriptive we should be.
For example, are the phandle references below needed or not?

So for a while yet I'm going to be relying on Rob and others
to review these and put me on the right track.

Jonathan

> ---
> .../devicetree/bindings/iio/light/tsl2772.txt | 42 ---------
> .../bindings/iio/light/tsl2772.yaml | 85 +++++++++++++++++++
> 2 files changed, 85 insertions(+), 42 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt
> create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.txt b/Documentation/devicetree/bindings/iio/light/tsl2772.txt
> deleted file mode 100644
> index 1c5e6f17a1df..000000000000
> --- a/Documentation/devicetree/bindings/iio/light/tsl2772.txt
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -* 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"
> - "avago,apds9930"
> - - reg: the I2C address of the device
> -
> -Optional properties:
> -
> - - amstaos,proximity-diodes - proximity diodes to enable. <0>, <1>, or <0 1>
> - are the only valid values.
> - - led-max-microamp - current for the proximity LED. Must be 100000, 50000,
> - 25000, or 13000.
> - - vdd-supply: phandle to the regulator that provides power to the sensor.
> - - vddio-supply: phandle to the regulator that provides power to the bus.
> - - interrupts: the sole interrupt generated by the device
> -
> - Refer to interrupt-controller/interrupts.txt for generic interrupt client
> - node bindings.
> -
> -Example:
> -
> -tsl2772@39 {
> - compatible = "amstaos,tsl2772";
> - reg = <0x39>;
> - interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
> - vdd-supply = <&pm8941_l17>;
> - vddio-supply = <&pm8941_lvs1>;
> - amstaos,proximity-diodes = <0>;
> - led-max-microamp = <100000>;
> -};
> diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.yaml b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> new file mode 100644
> index 000000000000..b3ac182288d2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> @@ -0,0 +1,85 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/light/tsl2772.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: AMS/TAOS Ambient Light Sensor (ALS) and Proximity Detector
> +
> +maintainers:
> + - Brian Masney <[email protected]>
> +
> +description: |
> + Ambient light sensing and proximity detection with an i2c interface.
> + https://ams.com/documents/20143/36005/TSL2772_DS000181_2-00.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - amstaos,tsl2571
> + - amstaos,tsl2671
> + - amstaos,tmd2671
> + - amstaos,tsl2771
> + - amstaos,tmd2771
> + - amstaos,tsl2572
> + - amstaos,tsl2672
> + - amstaos,tmd2672
> + - amstaos,tsl2772
> + - amstaos,tmd2772
> + - avago,apds9930
> +
> + reg:
> + description: The I2C address of the device
> + maxItems: 1
> +
> + amstaos,proximity-diodes:
> + description: Proximity diodes to enable
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/uint32-array
> + - minItems: 1
> + maxItems: 2
> + items:
> + minimum: 0
> + maximum: 1

Do we need to represent that these can't be <1 0> ?
(specified in old docs)
We also have a tighter spec than the uint32-array format in types.yaml
as don't allow <0>, <1> under the current binding where only <0, 1> is
allowed.

> +
> + interrupts:
> + description: Interrupt generated by the device
> + maxItems: 1
> +
> + led-max-microamp:
> + description: Current for the proximity LED
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/uint32
> + - enum: [13000, 25000, 50000, 100000]
> +
> + vdd-supply:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: Regulator that provides power to the sensor
> +
> + vddio-supply:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: Regulator that provides power to the bus
> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tsl2772@39 {
> + compatible = "amstaos,tsl2772";
> + reg = <0x39>;
> + interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
> + vdd-supply = <&pm8941_l17>;
> + vddio-supply = <&pm8941_lvs1>;
> + amstaos,proximity-diodes = <0>;
> + led-max-microamp = <100000>;
> + };
> + };
> +...

2019-04-24 01:36:27

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: iio: tsl2772: convert bindings to YAML format

On Mon, Apr 22, 2019 at 7:52 AM Jonathan Cameron <[email protected]> wrote:
>
> On Tue, 16 Apr 2019 04:45:51 -0400
> Brian Masney <[email protected]> wrote:
>
> > Convert the tsl2772 device tree bindings to the new YAML format.
> >
> > Signed-off-by: Brian Masney <[email protected]>
> Hi Brian,
>
> Good to see this. I'm afraid it's all a bit new to me so what
> I haven't yet understood is how prescriptive we should be.
> For example, are the phandle references below needed or not?
>
> So for a while yet I'm going to be relying on Rob and others
> to review these and put me on the right track.
>
> Jonathan
>
> > ---
> > .../devicetree/bindings/iio/light/tsl2772.txt | 42 ---------
> > .../bindings/iio/light/tsl2772.yaml | 85 +++++++++++++++++++
> > 2 files changed, 85 insertions(+), 42 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.txt
> > create mode 100644 Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> >

> > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.yaml b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> > new file mode 100644
> > index 000000000000..b3ac182288d2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> > @@ -0,0 +1,85 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

Do you have the rights on the original file to add BSD license?

> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/light/tsl2772.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: AMS/TAOS Ambient Light Sensor (ALS) and Proximity Detector
> > +
> > +maintainers:
> > + - Brian Masney <[email protected]>
> > +
> > +description: |
> > + Ambient light sensing and proximity detection with an i2c interface.
> > + https://ams.com/documents/20143/36005/TSL2772_DS000181_2-00.pdf
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - amstaos,tsl2571
> > + - amstaos,tsl2671
> > + - amstaos,tmd2671
> > + - amstaos,tsl2771
> > + - amstaos,tmd2771
> > + - amstaos,tsl2572
> > + - amstaos,tsl2672
> > + - amstaos,tmd2672
> > + - amstaos,tsl2772
> > + - amstaos,tmd2772
> > + - avago,apds9930
> > +
> > + reg:
> > + description: The I2C address of the device

No need for description on common properties unless you have something
unique to add.

> > + maxItems: 1
> > +
> > + amstaos,proximity-diodes:
> > + description: Proximity diodes to enable
> > + allOf:
> > + - $ref: /schemas/types.yaml#/definitions/uint32-array
> > + - minItems: 1
> > + maxItems: 2
> > + items:
> > + minimum: 0
> > + maximum: 1
>
> Do we need to represent that these can't be <1 0> ?
> (specified in old docs)
> We also have a tighter spec than the uint32-array format in types.yaml
> as don't allow <0>, <1> under the current binding where only <0, 1> is
> allowed.

The uint32-array definition is loose to avoid lots of warnings on
common properties where we can't define the exact size. Over time we
need to tighten up the dts syntax to be consistent (I have a dtc patch
which can spew out lots of warnings to fix these).

So this case is correct. '<0, 1>' means a single array with 2
elements. '<0>, <1>' means 2 arrays each with a single element. There
shouldn't be lots of occurrences.

> > +
> > + interrupts:
> > + description: Interrupt generated by the device

No need for description.

> > + maxItems: 1
> > +
> > + led-max-microamp:
> > + description: Current for the proximity LED

This device only has proximity LEDs, right?

> > + allOf:
> > + - $ref: /schemas/types.yaml#/definitions/uint32
> > + - enum: [13000, 25000, 50000, 100000]

We should assume a common schema for 'led-max-microamp', so we just
need the enum.

> > +
> > + vdd-supply:
> > + $ref: /schemas/types.yaml#/definitions/phandle
> > + description: Regulator that provides power to the sensor

Same here for '*-supply'. So just the description is enough.

> > +
> > + vddio-supply:
> > + $ref: /schemas/types.yaml#/definitions/phandle
> > + description: Regulator that provides power to the bus
> > +
> > +required:
> > + - compatible
> > + - reg
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/interrupt-controller/irq.h>
> > +
> > + i2c {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + tsl2772@39 {

proximity-sensor@39

> > + compatible = "amstaos,tsl2772";
> > + reg = <0x39>;
> > + interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
> > + vdd-supply = <&pm8941_l17>;
> > + vddio-supply = <&pm8941_lvs1>;
> > + amstaos,proximity-diodes = <0>;
> > + led-max-microamp = <100000>;
> > + };
> > + };
> > +...
>

2019-04-24 08:36:30

by Brian Masney

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: iio: tsl2772: convert bindings to YAML format

On Tue, Apr 23, 2019 at 08:34:13PM -0500, Rob Herring wrote:
> On Mon, Apr 22, 2019 at 7:52 AM Jonathan Cameron <[email protected]> wrote:
> > > diff --git a/Documentation/devicetree/bindings/iio/light/tsl2772.yaml b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> > > new file mode 100644
> > > index 000000000000..b3ac182288d2
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/iio/light/tsl2772.yaml
> > > @@ -0,0 +1,85 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>
> Do you have the rights on the original file to add BSD license?

Yes, I'm the only contributor to the original file.

> > > + maxItems: 1
> > > +
> > > + led-max-microamp:
> > > + description: Current for the proximity LED
>
> This device only has proximity LEDs, right?

Yes

The other feedback makes sense. Thanks for the review!

Brian