[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250112111059.677f8708@jic23-huawei>
Date: Sun, 12 Jan 2025 11:10:59 +0000
From: Jonathan Cameron <jic23@...nel.org>
To: Mikael Gonella-Bolduc via B4 Relay
<devnull+mgonellabolduc.dimonoff.com@...nel.org>
Cc: mgonellabolduc@...onoff.com, Lars-Peter Clausen <lars@...afoo.de>, Rob
Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor
Dooley <conor+dt@...nel.org>, Nathan Chancellor <nathan@...nel.org>, Nick
Desaulniers <ndesaulniers@...gle.com>, Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>, Mikael Gonella-Bolduc
<m.gonella.bolduc@...il.com>, linux-iio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev, Hugo Villeneuve <hvilleneuve@...onoff.com>, Matti
Vaittinen <mazziesaccount@...il.com>
Subject: Re: [PATCH v4 1/2] dt-bindings: iio: light: Add APDS9160 binding
On Mon, 06 Jan 2025 17:23:01 -0500
Mikael Gonella-Bolduc via B4 Relay <devnull+mgonellabolduc.dimonoff.com@...nel.org> wrote:
> From: Mikael Gonella-Bolduc <mgonellabolduc@...onoff.com>
>
> Add device tree bindings for APDS9160
> Note: Using alternate email for maintainer
>
> Signed-off-by: Mikael Gonella-Bolduc <mgonellabolduc@...onoff.com>
> ---
> .../bindings/iio/light/brcm,apds9160.yaml | 86 ++++++++++++++++++++++
> 1 file changed, 86 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/light/brcm,apds9160.yaml b/Documentation/devicetree/bindings/iio/light/brcm,apds9160.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..756d46c2edb171da840ee49a7339cb781fe84ad2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/light/brcm,apds9160.yaml
> @@ -0,0 +1,86 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/light/brcm,apds9160.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom Combined Proximity & Ambient light sensor
> +
> +maintainers:
> + - Mikael Gonella-Bolduc <m.gonella.bolduc@...il.com>
> +
> +description: |
> + Datasheet: https://docs.broadcom.com/docs/APDS-9160-003-DS
> +
> +properties:
> + compatible:
> + enum:
> + - brcm,apds9160
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + vdd-supply: true
> +
> + ps-cancellation-duration:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Proximity sensor cancellation pulse duration in half clock cycles.
> + This parameter determines a cancellation pulse duration.
> + The cancellation is applied in the integration phase to cancel out
> + unwanted reflected light from very near objects such as tempered glass
> + in front of the sensor.
> + minimum: 0
> + maximum: 63
> + default: 0
> +
> + ps-cancellation-current-coarse:
I've lost track on what we've discussed previously but I'm curious as to whether
we can end up with a cleaner binding for this. We may well see other identical
controls in future, so nice to have something more 'generic'. I'm not suggesting
we don't keep it vendor specific though as not sure it will generalize beyond
different broadcomm parts.
It is a multiple of nA, so can we just express the combination of
this and ps-cancellation-current-fine as a single parameter, probably in pA
The tricky bit being there seem to be holes, so the allowed list would be complex.
Even if we can't do that can we express it as two nA values rather than indexes?
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Proximity sensor crosstalk cancellation current coarse value.
> + This parameter adjust the current in steps of 60 nA up to 240 nA.
> + This parameter is used in conjunction with the cancellation duration.
> + minimum: 0
> + maximum: 4
> + default: 0
> +
> + ps-cancellation-current-fine:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Proximity sensor crosstalk cancellation current fine value.
> + This parameter adjust the current in steps of 2.4 nA up to 36 nA.
> + This parameter is used in conjunction with the cancellation duration.
> + minimum: 0
> + maximum: 15
> + default: 0
> +
> +required:
> + - compatible
> + - reg
> + - vdd-supply
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + light-sensor@53 {
> + compatible = "brcm,apds9160";
> + reg = <0x53>;
> + vdd-supply = <&vdd_reg>;
> + interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
> + interrupt-parent = <&pinctrl>;
> + ps-cancellation-duration = <10>;
> + ps-cancellation-current-coarse = <2>;
> + ps-cancellation-current-fine = <10>;
> + };
> + };
> +...
>
Powered by blists - more mailing lists