Re: [PATCH 5/6] dt-bindings: iio: scd30: add device binding file

From: Jonathan Cameron
Date: Sat Apr 25 2020 - 15:23:49 EST


On Wed, 22 Apr 2020 16:11:34 +0200
Tomasz Duszynski <tomasz.duszynski@xxxxxxxxxxx> wrote:

> Add SCD30 sensor binding file.
>
> Signed-off-by: Tomasz Duszynski <tomasz.duszynski@xxxxxxxxxxx>
> ---
> .../iio/chemical/sensirion,scd30.yaml | 71 +++++++++++++++++++
> 1 file changed, 71 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml b/Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml
> new file mode 100644
> index 000000000000..b092b2530c76
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml
> @@ -0,0 +1,71 @@
> +# SPDX-License-Identifier: GPL-2.0

Dual license preferred with BSD for bindings.

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/chemical/sensirion,scd30.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sensirion SCD30 carbon dioxide sensor
> +
> +maintainers:
> + - Tomasz Duszynski <tomasz.duszynski@xxxxxxxxxxx>
> +
> +description: |
> + Air quality sensor capable of measuring co2 concentration, temperature
> + and relative humidity.
> +
> +properties:
> + compatible:
> + enum:
> + - sensirion,scd30
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + vdd-supply: true
> +
> + sensirion,sel-gpios:
> + description: GPIO connected to the SEL line
> + maxItems: 1
> +
> + sensirion,pwm-gpios:
> + description: GPIO connected to the PWM line
> + maxItems: 1
> +
> +required:
> + - compatible
> + - vdd-supply

Only enable it I think in the driver. Should be fine with a stub regulator
as provided if we don't specify one in the dt binding because it's not
controllable and we are lazy.

> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + # include <dt-bindings/gpio/gpio.h>
> + # include <dt-bindings/interrupt-controller/irq.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + scd30@61 {
> + compatible = "sensirion,scd30";
> + reg = <0x61>;
> + vdd-supply = <&vdd>;
> + interrupt-parrent = <&gpio0>;
> + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> + };
> + };
> + - |
> + # include <dt-bindings/gpio/gpio.h>

Why gpio?

> + # include <dt-bindings/interrupt-controller/irq.h>
> + serial {
> + scd30 {
> + compatible = "sensirion,scd30";
> + vdd-supply = <&vdd>;
> + interrupt-parrent = <&gpio0>;
> + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> + };
> + };
> +
> +...