[PATCH 1/3] dt-bindings: iio: adc: Add BD7910[0,1,2,3]

Matti Vaittinen posted 3 patches 1 month, 3 weeks ago
There is a newer version of this series
[PATCH 1/3] dt-bindings: iio: adc: Add BD7910[0,1,2,3]
Posted by Matti Vaittinen 1 month, 3 weeks ago
The ROHM BD79100, BD79101, BD79102, BD79103 are very similar ADCs as the
ROHM BD79104. The BD79100 has only 1 channel. BD79101 has 2 channels and
the BD79102 has 4 channels. Both BD79103 and BD79104 have 4 channels,
and, based on the data sheets, they seem identical from the software
point-of-view.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
---
 .../devicetree/bindings/iio/adc/rohm,bd79104.yaml     | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
index f0a1347ba4db..6a6e6ab4aca3 100644
--- a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
@@ -14,7 +14,16 @@ description: |
 
 properties:
   compatible:
-    const: rohm,bd79104
+    oneOf:
+      - items:
+          - enum:
+              - rohm,bd79100
+              - rohm,bd79101
+              - rohm,bd79102
+              - rohm,bd79104
+      - items:
+          - const: rohm,bd79104
+          - const: rohm,bd79103
 
   reg:
     maxItems: 1
-- 
2.50.1

Re: [PATCH 1/3] dt-bindings: iio: adc: Add BD7910[0,1,2,3]
Posted by Matti Vaittinen 1 month, 3 weeks ago
On 14/08/2025 11:35, Matti Vaittinen wrote:
> The ROHM BD79100, BD79101, BD79102, BD79103 are very similar ADCs as the
> ROHM BD79104. The BD79100 has only 1 channel. BD79101 has 2 channels and
> the BD79102 has 4 channels. Both BD79103 and BD79104 have 4 channels,
> and, based on the data sheets, they seem identical from the software
> point-of-view.
> 
> Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
> ---
>   .../devicetree/bindings/iio/adc/rohm,bd79104.yaml     | 11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
> index f0a1347ba4db..6a6e6ab4aca3 100644
> --- a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
> @@ -14,7 +14,16 @@ description: |
>   
>   properties:
>     compatible:
> -    const: rohm,bd79104
> +    oneOf:
> +      - items:
> +          - enum:
> +              - rohm,bd79100
> +              - rohm,bd79101
> +              - rohm,bd79102
> +              - rohm,bd79104
> +      - items:
> +          - const: rohm,bd79104
> +          - const: rohm,bd79103

Oops. I believe the order of the compatibles is wrong for the fallback.

>   
>     reg:
>       maxItems: 1

Yours,
	-- Matti
Re: [PATCH 1/3] dt-bindings: iio: adc: Add BD7910[0,1,2,3]
Posted by David Lechner 1 month, 3 weeks ago
On 8/14/25 4:57 AM, Matti Vaittinen wrote:
> On 14/08/2025 11:35, Matti Vaittinen wrote:
>> The ROHM BD79100, BD79101, BD79102, BD79103 are very similar ADCs as the
>> ROHM BD79104. The BD79100 has only 1 channel. BD79101 has 2 channels and
>> the BD79102 has 4 channels. Both BD79103 and BD79104 have 4 channels,

Is it just a difference in max sample rate? or pinout?

>> and, based on the data sheets, they seem identical from the software
>> point-of-view.
>>
>> Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
>> ---
>>   .../devicetree/bindings/iio/adc/rohm,bd79104.yaml     | 11 ++++++++++-
>>   1 file changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
>> index f0a1347ba4db..6a6e6ab4aca3 100644
>> --- a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
>> +++ b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
>> @@ -14,7 +14,16 @@ description: |
>>     properties:
>>     compatible:
>> -    const: rohm,bd79104
>> +    oneOf:
>> +      - items:

You can drop the items: here since there is only one item.

>> +          - enum:
>> +              - rohm,bd79100
>> +              - rohm,bd79101
>> +              - rohm,bd79102
>> +              - rohm,bd79104
>> +      - items:
>> +          - const: rohm,bd79104
>> +          - const: rohm,bd79103
> 
> Oops. I believe the order of the compatibles is wrong for the fallback.

Indeed.

> 
>>       reg:
>>       maxItems: 1
> 
> Yours,
>     -- Matti

Re: [PATCH 1/3] dt-bindings: iio: adc: Add BD7910[0,1,2,3]
Posted by Matti Vaittinen 1 month, 2 weeks ago
On 14/08/2025 17:51, David Lechner wrote:
> On 8/14/25 4:57 AM, Matti Vaittinen wrote:
>> On 14/08/2025 11:35, Matti Vaittinen wrote:
>>> The ROHM BD79100, BD79101, BD79102, BD79103 are very similar ADCs as the
>>> ROHM BD79104. The BD79100 has only 1 channel. BD79101 has 2 channels and
>>> the BD79102 has 4 channels. Both BD79103 and BD79104 have 4 channels,
> 
> Is it just a difference in max sample rate? or pinout?

The BD79104 comes in 2 different packages (BD79104MUF - VQFN16FV3030 and 
BD79104FV - SSOP-B16).

BD79103MUF pins seem identical to the BD79104MUF pins. Not sure if there 
is (or will be) BD79103FV. (Both the MUF and FV have identically named 
pins, with same functionality. Only the pin positioning and potentially 
amount of unused pins differ).

So, looking at the functionality, the pinout is same. Looking at the 
physical IC, they may use different packaging for these ICs.

Finally, the only difference between BD79104 and BD79103 I have been 
able to find from the data-sheet is the differential nonlinearity.

For BD79104 it is said to be:
DNL: +1.2 / -0.99 LSB @ VDD = 3 V (Typ)

For BD79103 it is said to be:
DNL: ±0.99 LSB @ VDD = 3 V (Typ)

> 
>>> and, based on the data sheets, they seem identical from the software
>>> point-of-view.
>>>
>>> Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
>>> ---
>>>    .../devicetree/bindings/iio/adc/rohm,bd79104.yaml     | 11 ++++++++++-
>>>    1 file changed, 10 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
>>> index f0a1347ba4db..6a6e6ab4aca3 100644
>>> --- a/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
>>> +++ b/Documentation/devicetree/bindings/iio/adc/rohm,bd79104.yaml
>>> @@ -14,7 +14,16 @@ description: |
>>>      properties:
>>>      compatible:
>>> -    const: rohm,bd79104
>>> +    oneOf:
>>> +      - items:
> 
> You can drop the items: here since there is only one item.

Thanks.

> 
>>> +          - enum:
>>> +              - rohm,bd79100
>>> +              - rohm,bd79101
>>> +              - rohm,bd79102
>>> +              - rohm,bd79104
>>> +      - items:
>>> +          - const: rohm,bd79104
>>> +          - const: rohm,bd79103
>>
>> Oops. I believe the order of the compatibles is wrong for the fallback.
> 
> Indeed.

Probably needless to say, but I'll fix this for the next version :)

Thanks for the review David!

Yours,
	-- Matti