mbox series

[0/2] Add Richtek RTQ6056 support

Message ID 1655458375-30478-1-git-send-email-u0084500@gmail.com
Headers show
Series Add Richtek RTQ6056 support | expand

Message

cy_huang June 17, 2022, 9:32 a.m. UTC
From: ChiYuan Huang <cy_huang@richtek.com>

This patch series is to enable Richtek RTQ6056 support.

The RTQ6056 is a high accuracy current-sense monitor with I2C interface, and
the device provides full information for system by reading out the load current
and power.

ChiYuan Huang (2):
  dt-bindings: iio: adc: Add rtq6056 adc support
  iio: adc: Add rtq6056 support

 .../ABI/testing/sysfs-bus-iio-adc-rtq6056          |  58 +++
 .../bindings/iio/adc/richtek,rtq6056-adc.yaml      |  57 +++
 drivers/iio/adc/Kconfig                            |  15 +
 drivers/iio/adc/Makefile                           |   1 +
 drivers/iio/adc/rtq6056-adc.c                      | 548 +++++++++++++++++++++
 5 files changed, 679 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-adc-rtq6056
 create mode 100644 Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
 create mode 100644 drivers/iio/adc/rtq6056-adc.c

Comments

Krzysztof Kozlowski June 18, 2022, 1:45 a.m. UTC | #1
On 17/06/2022 02:32, cy_huang wrote:
> From: ChiYuan Huang <cy_huang@richtek.com>
> 
> Add the documentation for Richtek RTQ6056.
> 
> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
> ---
>  .../bindings/iio/adc/richtek,rtq6056-adc.yaml      | 57 ++++++++++++++++++++++
>  1 file changed, 57 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml b/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
> new file mode 100644
> index 00000000..6b4e0e0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
> @@ -0,0 +1,57 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/richtek,rtq6056-adc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: RTQ6056 Bi-Directional Current and Power Monitor with 16-bit ADC
> +
> +maintainers:
> +  - ChiYuan Huang <cy_huang@richtek.com>
> +
> +description: |
> +  The RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
> +  interface, and the device provides full information for system by reading
> +  out the loading current and power.
> +
> +  The device monitors both of the drops across sense resistor and the BUS
> +  voltage, converts into the current in amperes, and power in watts through
> +  internal analog-to-digital converter ADC. The programmable calibration,
> +  adjustable conversion time, and averaging function are also built in for
> +  more design flexibility.
> +
> +  Datasheet is available at
> +  https://www.richtek.com/assets/product_file/RTQ6056/DSQ6056-00.pdf
> +
> +properties:
> +  compatible:
> +    const: richtek,rtq6056
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#io-channel-cells":
> +    const: 1
> +
> +  richtek,shunt-resistor-uohm:

Use standard properties, so "-micro-ohms". Drop the unit from
description and drop the ref.

> +    description: Shunt IN+/IN- sensing node resistor in microohm.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
> +required:
> +  - compatible
> +  - reg
> +  - "#io-channel-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +      rtq6056@40 {

Generic node name, so probably "adc" (or something else appropriate).

> +        compatible = "richtek,rtq6056";
> +        reg = <0x40>;
> +        #io-channel-cells = <1>;
> +      };
> +    };


Best regards,
Krzysztof
Krzysztof Kozlowski June 18, 2022, 5 p.m. UTC | #2
On 18/06/2022 08:50, ChiYuan Huang wrote:
> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 於 2022年6月18日 週六 上午9:45寫道:
>>
>> On 17/06/2022 02:32, cy_huang wrote:
>>> From: ChiYuan Huang <cy_huang@richtek.com>
>>>
>>> Add the documentation for Richtek RTQ6056.
>>>
>>> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
>>> ---
>>>  .../bindings/iio/adc/richtek,rtq6056-adc.yaml      | 57 ++++++++++++++++++++++
>>>  1 file changed, 57 insertions(+)
>>>  create mode 100644 Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml b/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
>>> new file mode 100644
>>> index 00000000..6b4e0e0
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
>>> @@ -0,0 +1,57 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/iio/adc/richtek,rtq6056-adc.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: RTQ6056 Bi-Directional Current and Power Monitor with 16-bit ADC
>>> +
>>> +maintainers:
>>> +  - ChiYuan Huang <cy_huang@richtek.com>
>>> +
>>> +description: |
>>> +  The RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
>>> +  interface, and the device provides full information for system by reading
>>> +  out the loading current and power.
>>> +
>>> +  The device monitors both of the drops across sense resistor and the BUS
>>> +  voltage, converts into the current in amperes, and power in watts through
>>> +  internal analog-to-digital converter ADC. The programmable calibration,
>>> +  adjustable conversion time, and averaging function are also built in for
>>> +  more design flexibility.
>>> +
>>> +  Datasheet is available at
>>> +  https://www.richtek.com/assets/product_file/RTQ6056/DSQ6056-00.pdf
>>> +
>>> +properties:
>>> +  compatible:
>>> +    const: richtek,rtq6056
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  "#io-channel-cells":
>>> +    const: 1
>>> +
>>> +  richtek,shunt-resistor-uohm:
>>
>> Use standard properties, so "-micro-ohms". Drop the unit from
>> description and drop the ref.
>>
> Use richtek.shunt-resistor-micro-ohms?

Yes.

> Or the prefix 'richtek,' can be removed?

No, the vendor prefix must stay.

Best regards,
Krzysztof
Jonathan Cameron June 18, 2022, 5:35 p.m. UTC | #3
On Sat, 18 Jun 2022 18:34:40 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Sat, 18 Jun 2022 19:00:19 +0200
> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
> 
> > On 18/06/2022 08:50, ChiYuan Huang wrote:  
> > > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 於 2022年6月18日 週六 上午9:45寫道:    
> > >>
> > >> On 17/06/2022 02:32, cy_huang wrote:    
> > >>> From: ChiYuan Huang <cy_huang@richtek.com>
> > >>>
> > >>> Add the documentation for Richtek RTQ6056.
> > >>>
> > >>> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
> > >>> ---
> > >>>  .../bindings/iio/adc/richtek,rtq6056-adc.yaml      | 57 ++++++++++++++++++++++
> > >>>  1 file changed, 57 insertions(+)
> > >>>  create mode 100644 Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
> > >>>
> > >>> diff --git a/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml b/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
> > >>> new file mode 100644
> > >>> index 00000000..6b4e0e0
> > >>> --- /dev/null
> > >>> +++ b/Documentation/devicetree/bindings/iio/adc/richtek,rtq6056-adc.yaml
> > >>> @@ -0,0 +1,57 @@
> > >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > >>> +%YAML 1.2
> > >>> +---
> > >>> +$id: http://devicetree.org/schemas/iio/adc/richtek,rtq6056-adc.yaml#
> > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > >>> +
> > >>> +title: RTQ6056 Bi-Directional Current and Power Monitor with 16-bit ADC
> > >>> +
> > >>> +maintainers:
> > >>> +  - ChiYuan Huang <cy_huang@richtek.com>
> > >>> +
> > >>> +description: |
> > >>> +  The RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
> > >>> +  interface, and the device provides full information for system by reading
> > >>> +  out the loading current and power.
> > >>> +
> > >>> +  The device monitors both of the drops across sense resistor and the BUS
> > >>> +  voltage, converts into the current in amperes, and power in watts through
> > >>> +  internal analog-to-digital converter ADC. The programmable calibration,
> > >>> +  adjustable conversion time, and averaging function are also built in for
> > >>> +  more design flexibility.
> > >>> +
> > >>> +  Datasheet is available at
> > >>> +  https://www.richtek.com/assets/product_file/RTQ6056/DSQ6056-00.pdf
> > >>> +
> > >>> +properties:
> > >>> +  compatible:
> > >>> +    const: richtek,rtq6056
> > >>> +
> > >>> +  reg:
> > >>> +    maxItems: 1
> > >>> +
> > >>> +  "#io-channel-cells":
> > >>> +    const: 1
> > >>> +
> > >>> +  richtek,shunt-resistor-uohm:    
> > >>
> > >> Use standard properties, so "-micro-ohms". Drop the unit from
> > >> description and drop the ref.
> > >>    
> > > Use richtek.shunt-resistor-micro-ohms?    
> > 
> > Yes.
> >   
> > > Or the prefix 'richtek,' can be removed?    
> > 
> > No, the vendor prefix must stay.  
> 
> It's a standard generic binding used in a bunch of IIO and hwmon
> drivers without vendor prefix.  Mind you I can't find a definition

by which I meant to say "bindings" not drivers :)

> in any of the top level binding files.  Probably wants to be in
> adc.yaml for IIO.
> 
> Jonathan
> 
>  
> > 
> > Best regards,
> > Krzysztof  
>