The AN7583 support merged for 7.3-rc1 reads the wrong mux positions: the
mux field names are swapped, and v5 of the series swapped the call
arguments to match them. Patch 1 fixes the field definitions.
Patch 2 serialises mux selection and ADC sampling.
Patches 3 and 4 add one thermal sensor cell for AN7583 and a zone per
sensor. Device trees without cells keep reading the bandgap sensor.
Tested on a Nokia XG-040G-MF (AN7583) with this driver on a 6.18 kernel
in OpenWrt. Without the series the board powers off 2.6 s into boot.
With it the three zones match direct ADC reads, and concurrent readers
during CPU frequency changes gave no failed read and no shutdown. EN7581
was tested with equivalent changes on a Nokia XG-040G-MD. Build-tested
on arm64 with W=1; the binding passes dt_binding_check.
Vitaliy Sochnev (4):
thermal/drivers/airoha: Fix AN7583 ADC mux field mapping
thermal/drivers/airoha: Serialise access to the shared ADC
dt-bindings: arm: airoha: Allow one thermal sensor cell for AN7583
thermal/drivers/airoha: Register a thermal zone per AN7583 sensor
.../bindings/arm/airoha,en7581-chip-scu.yaml | 5 +-
drivers/thermal/airoha_thermal.c | 159 ++++++++++++++----
2 files changed, 128 insertions(+), 36 deletions(-)
base-commit: 5ad0af4f4367202b1bc71813052fe39b5116cdb9
--
2.55.0