Message ID | 20240604123008.327424-2-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | MediaTek MT6357/8/9 PMIC Auxiliary ADC support | expand |
On Tue, Jun 04, 2024 at 02:30:04PM +0200, 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. > > Also add the necessary dt-binding headers for devicetree consumers. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > .../iio/adc/mediatek,mt6359-auxadc.yaml | 33 +++++++++++++++++++ > .../iio/adc/mediatek,mt6357-auxadc.h | 21 ++++++++++++ > .../iio/adc/mediatek,mt6358-auxadc.h | 22 +++++++++++++ > .../iio/adc/mediatek,mt6359-auxadc.h | 22 +++++++++++++ > 4 files changed, 98 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..6497c416094d > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml > @@ -0,0 +1,33 @@ > +# 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 Why do you need a node here? Just add #io-channel-cells to the parent node. > + > +required: > + - compatible > + - "#io-channel-cells" > + > +additionalProperties: false
Il 06/06/24 01:52, Rob Herring ha scritto: > On Tue, Jun 04, 2024 at 02:30:04PM +0200, 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. >> >> Also add the necessary dt-binding headers for devicetree consumers. >> >> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> >> --- >> .../iio/adc/mediatek,mt6359-auxadc.yaml | 33 +++++++++++++++++++ >> .../iio/adc/mediatek,mt6357-auxadc.h | 21 ++++++++++++ >> .../iio/adc/mediatek,mt6358-auxadc.h | 22 +++++++++++++ >> .../iio/adc/mediatek,mt6359-auxadc.h | 22 +++++++++++++ >> 4 files changed, 98 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..6497c416094d >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml >> @@ -0,0 +1,33 @@ >> +# 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 > > Why do you need a node here? Just add #io-channel-cells to the parent > node. > Because some boards will want to avoid probing the related driver, as that will trigger a reset and this may not play well with ECs (namely, some Chromebooks), which are reading the same AUXADC block. If I avoid using a new node, instead of just using `status`, I'll have to add a "mediatek,disable-auxadc" property to the parent node, which isn't pretty... Cheers, Angelo >> + >> +required: >> + - compatible >> + - "#io-channel-cells" >> + >> +additionalProperties: false
On Mon, 10 Jun 2024 10:00:55 +0200 AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > Il 06/06/24 01:52, Rob Herring ha scritto: > > On Tue, Jun 04, 2024 at 02:30:04PM +0200, 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. > >> > >> Also add the necessary dt-binding headers for devicetree consumers. > >> > >> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > >> --- > >> .../iio/adc/mediatek,mt6359-auxadc.yaml | 33 +++++++++++++++++++ > >> .../iio/adc/mediatek,mt6357-auxadc.h | 21 ++++++++++++ > >> .../iio/adc/mediatek,mt6358-auxadc.h | 22 +++++++++++++ > >> .../iio/adc/mediatek,mt6359-auxadc.h | 22 +++++++++++++ > >> 4 files changed, 98 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..6497c416094d > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml > >> @@ -0,0 +1,33 @@ > >> +# 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 > > > > Why do you need a node here? Just add #io-channel-cells to the parent > > node. > > > > Because some boards will want to avoid probing the related driver, as that will > trigger a reset and this may not play well with ECs (namely, some Chromebooks), > which are reading the same AUXADC block. > > If I avoid using a new node, instead of just using `status`, I'll have to add a > "mediatek,disable-auxadc" property to the parent node, which isn't pretty... Rob, does this answer the question to your satisfaction? If you are fine with this I'd like to queue it up (with the typo in one of the patch descriptions that Andy caught fixed up). Thanks, Jonathan > > Cheers, > Angelo > > >> + > >> +required: > >> + - compatible > >> + - "#io-channel-cells" > >> + > >> +additionalProperties: false > >
On Mon, Jun 17, 2024 at 08:33:14PM +0100, Jonathan Cameron wrote: > On Mon, 10 Jun 2024 10:00:55 +0200 > AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > > > Il 06/06/24 01:52, Rob Herring ha scritto: > > > On Tue, Jun 04, 2024 at 02:30:04PM +0200, 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. > > >> > > >> Also add the necessary dt-binding headers for devicetree consumers. > > >> > > >> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > > >> --- > > >> .../iio/adc/mediatek,mt6359-auxadc.yaml | 33 +++++++++++++++++++ > > >> .../iio/adc/mediatek,mt6357-auxadc.h | 21 ++++++++++++ > > >> .../iio/adc/mediatek,mt6358-auxadc.h | 22 +++++++++++++ > > >> .../iio/adc/mediatek,mt6359-auxadc.h | 22 +++++++++++++ > > >> 4 files changed, 98 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..6497c416094d > > >> --- /dev/null > > >> +++ b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml > > >> @@ -0,0 +1,33 @@ > > >> +# 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 > > > > > > Why do you need a node here? Just add #io-channel-cells to the parent > > > node. > > > > > > > Because some boards will want to avoid probing the related driver, as that will > > trigger a reset and this may not play well with ECs (namely, some Chromebooks), > > which are reading the same AUXADC block. > > > > If I avoid using a new node, instead of just using `status`, I'll have to add a > > "mediatek,disable-auxadc" property to the parent node, which isn't pretty... > > Rob, does this answer the question to your satisfaction? > > If you are fine with this I'd like to queue it up (with the typo in one of the > patch descriptions that Andy caught fixed up). Yes. Reviewed-by: Rob Herring <robh@kernel.org>
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..6497c416094d --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml @@ -0,0 +1,33 @@ +# 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 + +required: + - compatible + - "#io-channel-cells" + +additionalProperties: false 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
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. Also add the necessary dt-binding headers for devicetree consumers. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> --- .../iio/adc/mediatek,mt6359-auxadc.yaml | 33 +++++++++++++++++++ .../iio/adc/mediatek,mt6357-auxadc.h | 21 ++++++++++++ .../iio/adc/mediatek,mt6358-auxadc.h | 22 +++++++++++++ .../iio/adc/mediatek,mt6359-auxadc.h | 22 +++++++++++++ 4 files changed, 98 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