[PATCH v2 00/16] add AUXADC, EFUSE and thermal drivers for the MediaTek mt6323 PMIC
Roman Vivchar via B4 Relay
devnull+rva333.protonmail.com at kernel.org
Mon May 11 22:18:14 PDT 2026
This series adds support for AUXADC, EFUSE and thermal drivers for the
MediaTek mt6323 PMIC
Usually vendor downstream kernels for devices with mt6323 include various
useful drivers like AUXADC, thermal, fuel gauge etc. Bring it to the
upstream kernel by rewriting some drivers from 3.18 vendor tree.
Currently dt-bindings limit some values like ADC channel count and names
to what mt6323 has, but the drivers were designed in a way to support
other PMICs like mt6358 (which has very similar thermal logic).
Tested on the MediaTek mt6572 and mt8163 SoCs, both paired with mt6323.
Tested-by: Ben Grisdale <bengris32 at protonmail.ch> # Amazon Echo Dot (2nd Generation)
Signed-off-by: Roman Vivchar <rva333 at protonmail.com>
---
Changes in v2:
- dt-bindings:
- Drop Tested-by tags (Krzysztof)
- AUXADC: drop mt6323 standalone binding and merge into mt6359 (Krzysztof)
- EFUSE: drop mt6323 standalone binding and merge into mt6397 (Krzysztof)
- Thermal: drop iio-channel-names, nvmem-cells description, unused label (Rob)
- Thermal: Merge into mt6397 mfd
- AUXADC driver:
- Fix formatting for macro, OF table, etc (Andy, Jonathan)
- Drop dev field from the mt6323_auxadc struct (Andy)
- Use dt-bindings constants for channels instead of raw numbers
- Simplify mt6323_auxadc_check_if_stuck implemenetation with iopoll (Andy)
- Drop untested audio channel support (Andy, Jonathan)
- Replace check for chan->address with chan->channel to avoid confusion (Jonathan)
- Replace scoped_guard with guard in mt6323_auxadc_read_raw (Andy)
- Replace mutex_init with devm helper in probe (Andy)
- EFUSE driver:
- Add comments about read function (Andy)
- Use sizeof() (Andy)
- Thermal driver:
- Rename to mtk_pmic_thermal for proper module name
- Add module name to Kconfig
- Use bitfield.h APIs for efuse extraction (Andy)
- Drop nvmem cell name for consistency with devicetree bindings
- Replace raw numbers with constants (Andy)
- Add comments to read function, remove redundant parentheses (Andy)
- Add comments to precalc function, simplify it for readability (Andy)
- Reorder struct fields (Andy)
- Drop cali_val field, since per-PMIC functions are used
- Use __free for nvmem_cell_read cleanup (Andy)
- Maintainers:
- Split patch into 3 for different subsystems (Krzysztof)
- Downgrade to "Odd fixes"
- Note: Signing key has been changed since v1. Sorry for inconvenience
- Link to v1: https://patch.msgid.link/20260504-mt6323-v1-0-799b58b355ff@protonmail.com
---
Roman Vivchar (16):
dt-bindings: iio: adc: mt6359: generalize description for mt63xx series
dt-bindings: iio: adc: mt6359: add mt6323 PMIC AUXADC
dt-bindings: mfd: mediatek: mt6397: add mt6323 PMIC EFUSE
dt-bindings: mfd: mediatek: mt6397: add mt6323 PMIC thermal
iio: adc: mediatek: add mt6323 PMIC AUXADC driver
nvmem: add mt6323 PMIC EFUSE driver
thermal: mediatek: add PMIC thermal support
mfd: mt6397-core: add mt6323 AUXADC support
mfd: mt6397-core: add mt6323 EFUSE support
mfd: mt6397-core: add mt6323 thermal support
ARM: dts: mediatek: mt6323: add AUXADC support
ARM: dts: mediatek: mt6323: add EFUSE support
ARM: dts: mediatek: mt6323: add thermal support
MAINTAINERS: add MediaTek mt6323 PMIC AUXADC driver maintainer
MAINTAINERS: add MediaTek mt6323 PMIC EFUSE driver maintainer
MAINTAINERS: add MediaTek mt6323 PMIC thermal driver maintainer
.../bindings/iio/adc/mediatek,mt6359-auxadc.yaml | 3 +-
.../devicetree/bindings/mfd/mediatek,mt6397.yaml | 65 +++++
MAINTAINERS | 15 +
arch/arm/boot/dts/mediatek/mt6323.dtsi | 40 +++
drivers/iio/adc/Kconfig | 11 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/mt6323-auxadc.c | 319 +++++++++++++++++++++
drivers/mfd/mt6397-core.c | 9 +
drivers/nvmem/Kconfig | 11 +
drivers/nvmem/Makefile | 2 +
drivers/nvmem/mt6323-efuse.c | 86 ++++++
drivers/thermal/mediatek/Kconfig | 12 +
drivers/thermal/mediatek/Makefile | 1 +
drivers/thermal/mediatek/mtk_pmic_thermal.c | 316 ++++++++++++++++++++
.../dt-bindings/iio/adc/mediatek,mt6323-auxadc.h | 24 ++
15 files changed, 914 insertions(+), 1 deletion(-)
---
base-commit: 028ef9c96e96197026887c0f092424679298aae8
change-id: 20260502-mt6323-94e1f2d2abb3
Best regards,
--
Roman Vivchar <rva333 at protonmail.com>
More information about the Linux-mediatek
mailing list