diff mbox series

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

Message ID 20240530093410.112716-2-angelogioacchino.delregno@collabora.com (mailing list archive)
State New
Headers show
Series MediaTek MT6357/8/9 PMIC Auxiliary ADC support | expand

Commit Message

AngeloGioacchino Del Regno May 30, 2024, 9:34 a.m. UTC
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@collabora.com>
---
 .../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

Comments

Krzysztof Kozlowski June 1, 2024, 3:32 p.m. UTC | #1
On 30/05/2024 11:34, AngeloGioacchino Del Regno 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@collabora.com>
> ---
>  .../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@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

If there is going to be a re-spin, please move this below required: block.

> +
> +required:
> +  - compatible
> +  - "#io-channel-cells"
> +
> +examples:
> +  - |
> +    pmic {
> +        pmic_adc: adc {
> +            compatible = "mediatek,mt6359-auxadc";
> +            #io-channel-cells = <1>;
> +        };

This suggests that you should grow (make complete) the parent PMIC example.

Actually having this as a separate node is not really needed. Why it
cannot be just part of the MFD/parent node?


Best regards,
Krzysztof
Jonathan Cameron June 2, 2024, 9:40 a.m. UTC | #2
On Thu, 30 May 2024 11:34:07 +0200
AngeloGioacchino Del Regno <angelogioacchino.delregno@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@collabora.com>
Hi,

What are all the headers for given the binding doc doesn't use anything from
them?

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@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
AngeloGioacchino Del Regno June 4, 2024, 8:55 a.m. UTC | #3
Il 01/06/24 17:32, Krzysztof Kozlowski ha scritto:
> On 30/05/2024 11:34, AngeloGioacchino Del Regno 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@collabora.com>
>> ---
>>   .../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@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
> 
> If there is going to be a re-spin, please move this below required: block.
> 

Yep, will do. Fixed up for v2.

>> +
>> +required:
>> +  - compatible
>> +  - "#io-channel-cells"
>> +
>> +examples:
>> +  - |
>> +    pmic {
>> +        pmic_adc: adc {
>> +            compatible = "mediatek,mt6359-auxadc";
>> +            #io-channel-cells = <1>;
>> +        };
> 
> This suggests that you should grow (make complete) the parent PMIC example.

Uhm, should I instead add that to bindings/mfd/mediatek,mt6357.yaml and avoid
growing the parent example?

   adc:
     type: object
     $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml
     unevaluatedProperties: false

> 
> Actually having this as a separate node is not really needed. Why it
> cannot be just part of the MFD/parent node?
> 

(glossary: PWRAP = PMIC [SPI] WRAPper)

The top node is the PWRAP, an IP that is (mostly) used to dispatch commands to
the PMIC, but the AUXADC is not integrated into the PWRAP, but into the PMIC.

Declaring the AUXADC as a PWRAP child would therefore be an incorrect description
of the hardware.

P.S.: not necessary, but to "complete the circle" ... note that the PWRAP can be
       skipped on some SoCs/firmwares/configurations, even though afaik that's only
       mostly for debugging purposes, it's not granted that you have pwrap between
       SoC and PMIC on all SoCs/fws/confs, even though, all of the boards that are
       supported upstream do have it and do require it.

Cheers,
Angelo

> 
> Best regards,
> Krzysztof
>
AngeloGioacchino Del Regno June 4, 2024, 9:04 a.m. UTC | #4
Il 02/06/24 11:40, Jonathan Cameron ha scritto:
> On Thu, 30 May 2024 11:34:07 +0200
> AngeloGioacchino Del Regno <angelogioacchino.delregno@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@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.

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@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
>
Krzysztof Kozlowski June 4, 2024, 9:38 a.m. UTC | #5
On 04/06/2024 10:55, AngeloGioacchino Del Regno wrote:
> Il 01/06/24 17:32, Krzysztof Kozlowski ha scritto:
>> On 30/05/2024 11:34, AngeloGioacchino Del Regno 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@collabora.com>
>>> ---
>>>   .../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@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
>>
>> If there is going to be a re-spin, please move this below required: block.
>>
> 
> Yep, will do. Fixed up for v2.
> 
>>> +
>>> +required:
>>> +  - compatible
>>> +  - "#io-channel-cells"
>>> +
>>> +examples:
>>> +  - |
>>> +    pmic {
>>> +        pmic_adc: adc {
>>> +            compatible = "mediatek,mt6359-auxadc";
>>> +            #io-channel-cells = <1>;
>>> +        };
>>
>> This suggests that you should grow (make complete) the parent PMIC example.
> 
> Uhm, should I instead add that to bindings/mfd/mediatek,mt6357.yaml and avoid
> growing the parent example?

No. You should avoid this example and grow the parent example. Not avoid
parent example...

> 
>    adc:
>      type: object
>      $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml
>      unevaluatedProperties: false
> 
>>
>> Actually having this as a separate node is not really needed. Why it
>> cannot be just part of the MFD/parent node?
>>
> 
> (glossary: PWRAP = PMIC [SPI] WRAPper)
> 
> The top node is the PWRAP, an IP that is (mostly) used to dispatch commands to
> the PMIC, but the AUXADC is not integrated into the PWRAP, but into the PMIC.

Eh? mediatek,mt6357.yaml says it is a PMIC...

> 
> Declaring the AUXADC as a PWRAP child would therefore be an incorrect description
> of the hardware.
> 
> P.S.: not necessary, but to "complete the circle" ... note that the PWRAP can be
>        skipped on some SoCs/firmwares/configurations, even though afaik that's only
>        mostly for debugging purposes, it's not granted that you have pwrap between
>        SoC and PMIC on all SoCs/fws/confs, even though, all of the boards that are
>        supported upstream do have it and do require it.

Best regards,
Krzysztof
AngeloGioacchino Del Regno June 4, 2024, 12:24 p.m. UTC | #6
Il 04/06/24 11:38, Krzysztof Kozlowski ha scritto:
> On 04/06/2024 10:55, AngeloGioacchino Del Regno wrote:
>> Il 01/06/24 17:32, Krzysztof Kozlowski ha scritto:
>>> On 30/05/2024 11:34, AngeloGioacchino Del Regno 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@collabora.com>
>>>> ---
>>>>    .../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@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
>>>
>>> If there is going to be a re-spin, please move this below required: block.
>>>
>>
>> Yep, will do. Fixed up for v2.
>>
>>>> +
>>>> +required:
>>>> +  - compatible
>>>> +  - "#io-channel-cells"
>>>> +
>>>> +examples:
>>>> +  - |
>>>> +    pmic {
>>>> +        pmic_adc: adc {
>>>> +            compatible = "mediatek,mt6359-auxadc";
>>>> +            #io-channel-cells = <1>;
>>>> +        };
>>>
>>> This suggests that you should grow (make complete) the parent PMIC example.
>>
>> Uhm, should I instead add that to bindings/mfd/mediatek,mt6357.yaml and avoid
>> growing the parent example?
> 
> No. You should avoid this example and grow the parent example. Not avoid
> parent example...
> 

I will remove examples from here and move the example that I wrote in here
to mediatek,mt6357.yaml.

>>
>>     adc:
>>       type: object
>>       $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml
>>       unevaluatedProperties: false
>>
>>>
>>> Actually having this as a separate node is not really needed. Why it
>>> cannot be just part of the MFD/parent node?
>>>
>>
>> (glossary: PWRAP = PMIC [SPI] WRAPper)
>>
>> The top node is the PWRAP, an IP that is (mostly) used to dispatch commands to
>> the PMIC, but the AUXADC is not integrated into the PWRAP, but into the PMIC.
> 
> Eh? mediatek,mt6357.yaml says it is a PMIC...
> 

Eh, apparently my brain cells are somewhere else today.
I was thinking about the HW, and some synapse got disconnected in the process, lol.

Just pretend I never wrote this useless wall of text, sorry. Ugh :-)

Cheers,
Angelo
Jonathan Cameron June 6, 2024, 7:40 p.m. UTC | #7
On Tue, 4 Jun 2024 11:04:25 +0200
AngeloGioacchino Del Regno <angelogioacchino.delregno@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@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@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@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  
> >   
>
diff mbox series

Patch

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@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