[PATCH 2/7] dt-bindings: iio: light: veml6030: add veml6035

Javier Carrasco posted 7 patches 2 months, 2 weeks ago
There is a newer version of this series
[PATCH 2/7] dt-bindings: iio: light: veml6030: add veml6035
Posted by Javier Carrasco 2 months, 2 weeks ago
The veml6035 is a similar ambient light sensor to the veml6030, and
from the bindings point of view, it shares the same properties. Its
only difference in that respect is a different I2C address.

Estend the existing bindings to support the veml6035 ALS.

Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
---
 .../bindings/iio/light/vishay,veml6030.yaml        | 40 +++++++++++++++++-----
 1 file changed, 31 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml b/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
index 7f4995557570..f88e043d7ede 100644
--- a/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
+++ b/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
@@ -4,14 +4,14 @@
 $id: http://devicetree.org/schemas/iio/light/vishay,veml6030.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: VEML6030 Ambient Light Sensor (ALS)
+title: VEML6030 and VEML6035 Ambient Light Sensors (ALS)
 
 maintainers:
   - Rishi Gupta <gupt21@gmail.com>
 
 description: |
-  Bindings for the ambient light sensor veml6030 from Vishay
-  Semiconductors over an i2c interface.
+  Bindings for the ambient light sensors veml6030 and veml6035 from
+  Vishay Semiconductors over an i2c interface.
 
   Irrespective of whether interrupt is used or not, application
   can get the ALS and White channel reading from IIO raw interface.
@@ -19,20 +19,18 @@ description: |
   If the interrupts are used, application will receive an IIO event
   whenever configured threshold is crossed.
 
-  Specifications about the sensor can be found at:
+  Specifications about the sensors can be found at:
     https://www.vishay.com/docs/84366/veml6030.pdf
+    https://www.vishay.com/docs/84889/veml6035.pdf
 
 properties:
   compatible:
     enum:
       - vishay,veml6030
+      - vishay,veml6035
 
   reg:
-    description:
-      I2C address of the device.
-    enum:
-      - 0x10 # ADDR pin pulled down
-      - 0x48 # ADDR pin pulled up
+    maxItems: 1
 
   interrupts:
     description:
@@ -45,6 +43,30 @@ required:
   - compatible
   - reg
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          enum:
+            - vishay,veml6030
+    then:
+      properties:
+        reg:
+          enum:
+            - 0x10  # ADDR pin pulled down
+            - 0x48  # ADDR pin pulled up
+
+  - if:
+      properties:
+        compatible:
+          enum:
+            - vishay,veml6035
+    then:
+      properties:
+        reg:
+          enum:
+            - 0x29
+
 additionalProperties: false
 
 examples:

-- 
2.43.0
Re: [PATCH 2/7] dt-bindings: iio: light: veml6030: add veml6035
Posted by Conor Dooley 2 months, 2 weeks ago
On Fri, Sep 13, 2024 at 03:18:57PM +0200, Javier Carrasco wrote:
> The veml6035 is a similar ambient light sensor to the veml6030, and
> from the bindings point of view, it shares the same properties. Its
> only difference in that respect is a different I2C address.
> 
> Estend the existing bindings to support the veml6035 ALS.
> 
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
> ---
>  .../bindings/iio/light/vishay,veml6030.yaml        | 40 +++++++++++++++++-----
>  1 file changed, 31 insertions(+), 9 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml b/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
> index 7f4995557570..f88e043d7ede 100644
> --- a/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
> +++ b/Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
> @@ -4,14 +4,14 @@
>  $id: http://devicetree.org/schemas/iio/light/vishay,veml6030.yaml#
>  $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
> -title: VEML6030 Ambient Light Sensor (ALS)
> +title: VEML6030 and VEML6035 Ambient Light Sensors (ALS)
>  
>  maintainers:
>    - Rishi Gupta <gupt21@gmail.com>
>  
>  description: |
> -  Bindings for the ambient light sensor veml6030 from Vishay
> -  Semiconductors over an i2c interface.
> +  Bindings for the ambient light sensors veml6030 and veml6035 from
> +  Vishay Semiconductors over an i2c interface.
>  
>    Irrespective of whether interrupt is used or not, application
>    can get the ALS and White channel reading from IIO raw interface.
> @@ -19,20 +19,18 @@ description: |
>    If the interrupts are used, application will receive an IIO event
>    whenever configured threshold is crossed.
>  
> -  Specifications about the sensor can be found at:
> +  Specifications about the sensors can be found at:
>      https://www.vishay.com/docs/84366/veml6030.pdf
> +    https://www.vishay.com/docs/84889/veml6035.pdf
>  
>  properties:
>    compatible:
>      enum:
>        - vishay,veml6030
> +      - vishay,veml6035
>  
>    reg:
> -    description:
> -      I2C address of the device.
> -    enum:
> -      - 0x10 # ADDR pin pulled down
> -      - 0x48 # ADDR pin pulled up
> +    maxItems: 1
>  
>    interrupts:
>      description:
> @@ -45,6 +43,30 @@ required:
>    - compatible
>    - reg
>  
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          enum:
> +            - vishay,veml6030
> +    then:
> +      properties:
> +        reg:
> +          enum:
> +            - 0x10  # ADDR pin pulled down
> +            - 0x48  # ADDR pin pulled up

Ordinarily, I'd say that enforcing the reg properties isn't really
needed, but I think in this case the extra detail in the comments makes
it worth retaining.

Acked-by: Conor Dooley <conor.dooley@microchip.com>

> +
> +  - if:
> +      properties:
> +        compatible:
> +          enum:
> +            - vishay,veml6035
> +    then:
> +      properties:
> +        reg:
> +          enum:
> +            - 0x29
> +
>  additionalProperties: false
>  
>  examples:
> 
> -- 
> 2.43.0
>