Re: [PATCH 1/4] dt-bindings: Add Raspberry Pi's RP1 ADC

Stanimir Varbanov
2025-09-30T10:21:03Z

Hi,

On 9/25/25 11:37 PM, Guenter Roeck wrote:
> On Thu, Sep 25, 2025 at 08:40:54PM +0100, Conor Dooley wrote:
>> On Thu, Sep 25, 2025 at 03:04:13AM +0300, Stanimir Varbanov wrote:
>>> Document dt-bindings for Raspberry Pi's RP1 ADC.
>>>
>>> Signed-off-by: Stanimir Varbanov <svarbanov@suse.de>
>>> ---
>>> .../bindings/hwmon/raspberrypi,rp1-adc.yaml | 46 +++++++++++++++++++
>>> 1 file changed, 46 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/hwmon/raspberrypi,rp1-adc.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/hwmon/raspberrypi,rp1-adc.yaml b/Documentation/devicetree/bindings/hwmon/raspberrypi,rp1-adc.yaml
>>> new file mode 100644
>>> index 000000000000..5266b253fd2b
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/hwmon/raspberrypi,rp1-adc.yaml
>>> @@ -0,0 +1,46 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/hwmon/raspberrypi,rp1-adc.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Rasberry Pi RP1 ADC device
>>> +
>>> +maintainers:
>>> + - Stanimir Varbanov <svarbanov@suse.de>
>>> +
>>> +description: |
>>> + The RP1 ADC is a five input successive-approximation ADC with 12-bit
>>> + resolution (ENOB 9.5-bit) at 500kSPS. It has four external inputs
>>> + and one internal temperature sensor.
>>> +
>>> +properties:
>>> + compatible:
>>> + const: raspberrypi,rp1-adc
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + clocks:
>>> + maxItems: 1
>>> +
>>> + vref-supply:
>>> + description:
>>> + Reference voltage regulator 3.3V.
>>
>> Looks like you're missing the io-channels-cells property that allows
>> this device to be a provider of adc channels to other devices.
>>
> Only makes sense if the driver is implemented as iio driver.
> Which would be fine with me, assuming this is a generic ADC.
> The iio -> hwmon bridge can then be used to instantiate a
> hwmon device if needed.
>

According to the RP1 peripheral document the information about ADC is
limited and I cannot be 100% sure that this is generic ADC, but it looks
like it is. On RPi5 board the ADC inputs are not configurable, but that
could change on another board.

I personally don't have objections to implement it as IIO driver.

Phil, are you fine with implementing the driver as IIO?

~Stan