lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250809202106.59d405c5@jic23-huawei>
Date: Sat, 9 Aug 2025 20:21:06 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Matti Vaittinen <mazziesaccount@...il.com>
Cc: Matti Vaittinen <matti.vaittinen@...rohmeurope.com>, Lars-Peter Clausen
 <lars@...afoo.de>, Michael Hennerich <Michael.Hennerich@...log.com>, David
 Lechner <dlechner@...libre.com>, Nuno Sá
 <nuno.sa@...log.com>, Andy Shevchenko <andy@...nel.org>, Rob Herring
 <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, Liam Girdwood <lgirdwood@...il.com>, Mark Brown
 <broonie@...nel.org>, linux-iio@...r.kernel.org,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 08/10] dt-bindings: iio: adc: ad7476: Add ROHM
 bd79105

On Fri, 8 Aug 2025 11:54:25 +0300
Matti Vaittinen <mazziesaccount@...il.com> wrote:

> The ROHM BD79105 is a simple, 16-bit, 1-channel ADC with a 'CONVSTART'
> pin used to start the ADC conversion. Other than the 'CONVSTART', there
> are 3 supply pins (one used as a reference), analog inputs, ground and
> communication pins. It's worth noting that the pin somewhat confusingly
> labeled as 'DIN', is a pin which should be used as a chip-select. The IC
> does not have any writable registers.
> 
> The device is designed so that the output pin can, in addition to
> outputting the data, be used as a 'data-ready'-IRQ. This, however, would
> require the IRQ to be masked from host side for the duration of the data
> reads - and it wouldn't also work when the SPI is shared. (As access to
> the other SPI devices would cause data line changes to be detected as
> IRQs - and the BD79105 provides no means to detect if it has generated
> an IRQ).
> 
> Hence the device-tree does not contain any IRQ properties.

Commit message needs an update as it now allows for IRQ properties.


> 
> Add a compatible for the bd79105.
> 
> Signed-off-by: Matti Vaittinen <mazziesaccount@...il.com>
> 
> ---
> Revision history:
>  v2 => :
>  - No changes
> 
>  v1 => v2:
>  - BD79105 can provide data-ready IRQ (or GPIO) via DOUT-pin.
> ---
>  .../bindings/iio/adc/adi,ad7476.yaml          | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
> index d0cb32f136e5..c411a7467651 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
> @@ -41,6 +41,7 @@ properties:
>                - adi,ad7910
>                - adi,ad7920
>                - adi,ad7940
> +              - rohm,bd79105
>                - ti,adc081s
>                - ti,adc101s
>                - ti,adc121s
> @@ -55,6 +56,11 @@ properties:
>    reg:
>      maxItems: 1
>  
> +  interrupts:
> +    description:
> +      The data-ready interrupt. Provided via DOUT pin.
> +    maxItems: 1
> +
>    vcc-supply:
>      description:
>        Main powersupply voltage for the chips, sometimes referred to as VDD on
> @@ -75,6 +81,10 @@ properties:
>      description: A GPIO used to trigger the start of a conversion
>      maxItems: 1
>  
> +  rdy-gpios:
> +    description: A GPIO for detecting the data-ready.
> +    maxItems: 1
> +
>  required:
>    - compatible
>    - reg
> @@ -82,6 +92,20 @@ required:
>  allOf:
>    - $ref: /schemas/spi/spi-peripheral-props.yaml#
>  
> +# Devices with an IRQ
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - rohm,bd79105
> +    then:
> +      properties:
> +        interrupts: true

It's been a while since I wrote one of these, but do we need
the true bit given we have already specified the interrupts
property.  I think we only need to do the setting to false
on an if: not: 

> +    else:
> +      properties:
> +        interrupts: false
> +
>    # Devices where reference is vcc
>    - if:
>        properties:
> @@ -115,6 +139,7 @@ allOf:
>                - adi,ad7274
>                - adi,ad7475
>                - lltc,ltc2314-14
> +              - rohm,bd79105
>      then:
>        properties:
>          vref-supply: true
> @@ -131,6 +156,7 @@ allOf:
>                - adi,ad7274
>                - adi,ad7475
>                - lltc,ltc2314-14
> +              - rohm,bd79105
>      then:
>        required:
>          - vref-supply
> @@ -141,12 +167,28 @@ allOf:
>              enum:
>                - adi,ad7475
>                - adi,ad7495
> +              - rohm,bd79105
>      then:
>        properties:
>          vdrive-supply: true
>      else:
>        properties:
>          vdrive-supply: false
> +
> +  # Devices which support polling the data-ready via GPIO
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - rohm,bd79105
> +    then:
> +      properties:
> +        rdy-gpios: true

As above, I believe we only need the not case.

> +    else:
> +      properties:
> +        rdy-gpios: false
> +
>    - if:
>        properties:
>          compatible:
> @@ -154,6 +196,7 @@ allOf:
>              enum:
>                - adi,ad7091
>                - adi,ad7091r
> +              - rohm,bd79105
>      then:
>        properties:
>          adi,conversion-start-gpios: true
> @@ -161,6 +204,17 @@ allOf:
>        properties:
>          adi,conversion-start-gpios: false
>  
> +  # Devices with a convstart GPIO where it is not optional
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - rohm,bd79105
> +    then:
> +      required:
> +        - adi,conversion-start-gpios
> +
>  unevaluatedProperties: false
>  
>  examples:


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ