[PATCH v1 1/4] dt-bindings: iio: adc: Add MediaTek MT6359 PMIC AUXADC

Jonathan Cameron jic23 at kernel.org
Thu Jun 6 12:40:48 PDT 2024


On Tue, 4 Jun 2024 11:04:25 +0200
AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com> wrote:

> Il 02/06/24 11:40, Jonathan Cameron ha scritto:
> > On Thu, 30 May 2024 11:34:07 +0200
> > AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com> wrote:
> >   
> >> Add a new binding for the MT6350 Series (MT6357/8/9) PMIC AUXADC,
> >> providing various ADC channels for both internal temperatures and
> >> voltages, audio accessory detection (hp/mic/hp+mic and buttons,
> >> usually on a 3.5mm jack) other than some basic battery statistics
> >> on boards where the battery is managed by this PMIC.
> >>
> >> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>  
> > Hi,
> > 
> > What are all the headers for given the binding doc doesn't use anything from
> > them?
> >   
> 
> The binding document doesn't use them, yes, but those are part of the devicetree
> binding itself, as those can be used by devicetrees to reference an ADC channel
> like <&pmic_adc MT6359_AUXADC_ACCDET>.
> 
> I think growing the binding example to add an "external" node using one of those
> channels is irrelevant, as that is "outside" of the description of the AUXADC HW.

Add a note on that to the patch description and that is fine.

J
> 
> Cheers,
> Angelo
> 
> > Jonathan
> >   
> >> ---
> >>   .../iio/adc/mediatek,mt6359-auxadc.yaml       | 43 +++++++++++++++++++
> >>   .../iio/adc/mediatek,mt6357-auxadc.h          | 21 +++++++++
> >>   .../iio/adc/mediatek,mt6358-auxadc.h          | 22 ++++++++++
> >>   .../iio/adc/mediatek,mt6359-auxadc.h          | 22 ++++++++++
> >>   4 files changed, 108 insertions(+)
> >>   create mode 100644 Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml
> >>   create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6357-auxadc.h
> >>   create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6358-auxadc.h
> >>   create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6359-auxadc.h
> >>
> >> diff --git a/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml
> >> new file mode 100644
> >> index 000000000000..dd6c331905cf
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml
> >> @@ -0,0 +1,43 @@
> >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/iio/adc/mediatek,mt6359-auxadc.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: MediaTek MT6350 series PMIC AUXADC
> >> +
> >> +maintainers:
> >> +  - AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> >> +
> >> +description:
> >> +  The Auxiliary Analog/Digital Converter (AUXADC) is an ADC found
> >> +  in some MediaTek PMICs, performing various PMIC related measurements
> >> +  such as battery and PMIC internal voltage regulators temperatures,
> >> +  accessory detection resistance (usually, for a 3.5mm audio jack)
> >> +  other than voltages for various PMIC internal components.
> >> +
> >> +properties:
> >> +  compatible:
> >> +    enum:
> >> +      - mediatek,mt6357-auxadc
> >> +      - mediatek,mt6358-auxadc
> >> +      - mediatek,mt6359-auxadc
> >> +
> >> +  "#io-channel-cells":
> >> +    const: 1
> >> +
> >> +additionalProperties: false
> >> +
> >> +required:
> >> +  - compatible
> >> +  - "#io-channel-cells"
> >> +
> >> +examples:
> >> +  - |
> >> +    pmic {
> >> +        pmic_adc: adc {
> >> +            compatible = "mediatek,mt6359-auxadc";
> >> +            #io-channel-cells = <1>;
> >> +        };
> >> +    };
> >> +...
> >> diff --git a/include/dt-bindings/iio/adc/mediatek,mt6357-auxadc.h b/include/dt-bindings/iio/adc/mediatek,mt6357-auxadc.h
> >> new file mode 100644
> >> index 000000000000..03ebb1d23953
> >> --- /dev/null
> >> +++ b/include/dt-bindings/iio/adc/mediatek,mt6357-auxadc.h
> >> @@ -0,0 +1,21 @@
> >> +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
> >> +
> >> +#ifndef _DT_BINDINGS_MEDIATEK_MT6357_AUXADC_H
> >> +#define _DT_BINDINGS_MEDIATEK_MT6357_AUXADC_H
> >> +
> >> +/* ADC Channel Index */
> >> +#define MT6357_AUXADC_BATADC		0
> >> +#define MT6357_AUXADC_ISENSE		1
> >> +#define MT6357_AUXADC_VCDT		2
> >> +#define MT6357_AUXADC_BAT_TEMP		3
> >> +#define MT6357_AUXADC_CHIP_TEMP		4
> >> +#define MT6357_AUXADC_ACCDET		5
> >> +#define MT6357_AUXADC_VDCXO		6
> >> +#define MT6357_AUXADC_TSX_TEMP		7
> >> +#define MT6357_AUXADC_HPOFS_CAL		8
> >> +#define MT6357_AUXADC_DCXO_TEMP		9
> >> +#define MT6357_AUXADC_VCORE_TEMP	10
> >> +#define MT6357_AUXADC_VPROC_TEMP	11
> >> +#define MT6357_AUXADC_VBAT		12
> >> +
> >> +#endif
> >> diff --git a/include/dt-bindings/iio/adc/mediatek,mt6358-auxadc.h b/include/dt-bindings/iio/adc/mediatek,mt6358-auxadc.h
> >> new file mode 100644
> >> index 000000000000..efa08398fafd
> >> --- /dev/null
> >> +++ b/include/dt-bindings/iio/adc/mediatek,mt6358-auxadc.h
> >> @@ -0,0 +1,22 @@
> >> +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
> >> +
> >> +#ifndef _DT_BINDINGS_MEDIATEK_MT6358_AUXADC_H
> >> +#define _DT_BINDINGS_MEDIATEK_MT6358_AUXADC_H
> >> +
> >> +/* ADC Channel Index */
> >> +#define MT6358_AUXADC_BATADC		0
> >> +#define MT6358_AUXADC_VCDT		1
> >> +#define MT6358_AUXADC_BAT_TEMP		2
> >> +#define MT6358_AUXADC_CHIP_TEMP		3
> >> +#define MT6358_AUXADC_ACCDET		4
> >> +#define MT6358_AUXADC_VDCXO		5
> >> +#define MT6358_AUXADC_TSX_TEMP		6
> >> +#define MT6358_AUXADC_HPOFS_CAL		7
> >> +#define MT6358_AUXADC_DCXO_TEMP		8
> >> +#define MT6358_AUXADC_VBIF		9
> >> +#define MT6358_AUXADC_VCORE_TEMP	10
> >> +#define MT6358_AUXADC_VPROC_TEMP	11
> >> +#define MT6358_AUXADC_VGPU_TEMP		12
> >> +#define MT6358_AUXADC_VBAT		13
> >> +
> >> +#endif
> >> diff --git a/include/dt-bindings/iio/adc/mediatek,mt6359-auxadc.h b/include/dt-bindings/iio/adc/mediatek,mt6359-auxadc.h
> >> new file mode 100644
> >> index 000000000000..59826393ee7e
> >> --- /dev/null
> >> +++ b/include/dt-bindings/iio/adc/mediatek,mt6359-auxadc.h
> >> @@ -0,0 +1,22 @@
> >> +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
> >> +
> >> +#ifndef _DT_BINDINGS_MEDIATEK_MT6359_AUXADC_H
> >> +#define _DT_BINDINGS_MEDIATEK_MT6359_AUXADC_H
> >> +
> >> +/* ADC Channel Index */
> >> +#define MT6359_AUXADC_BATADC		0
> >> +#define MT6359_AUXADC_BAT_TEMP		1
> >> +#define MT6359_AUXADC_CHIP_TEMP		2
> >> +#define MT6359_AUXADC_ACCDET		3
> >> +#define MT6359_AUXADC_VDCXO		4
> >> +#define MT6359_AUXADC_TSX_TEMP		5
> >> +#define MT6359_AUXADC_HPOFS_CAL		6
> >> +#define MT6359_AUXADC_DCXO_TEMP		7
> >> +#define MT6359_AUXADC_VBIF		8
> >> +#define MT6359_AUXADC_VCORE_TEMP	9
> >> +#define MT6359_AUXADC_VPROC_TEMP	10
> >> +#define MT6359_AUXADC_VGPU_TEMP		11
> >> +#define MT6359_AUXADC_VBAT		12
> >> +#define MT6359_AUXADC_IBAT		13
> >> +
> >> +#endif  
> >   
> 




More information about the linux-arm-kernel mailing list