patch "iio: adc: imx8qxp: Fix address for command buffer registers" added to char-misc-linus
Subsystems (4)
This is a note to let you know that I've just added the patch titled
iio: adc: imx8qxp: Fix address for command buffer registers
to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 850101b3598277794f92a9e363a60a66e0d42890 Mon Sep 17 00:00:00 2001
From: Philipp Rossak <[email protected]>
Date: Tue, 5 Sep 2023 00:02:04 +0200
Subject: iio: adc: imx8qxp: Fix address for command buffer registers
The ADC Command Buffer Register high and low are currently pointing to the wrong address and makes it impossible to perform correct ADC measurements over all channels.
According to the datasheet of the imx8qxp the ADC_CMDL register starts at address 0x100 and the ADC_CMDH register starts at address 0x104.
This bug seems to be in the kernel since the introduction of this driver.
This can be observed by checking all raw voltages of the adc and they are all nearly identical:
cat /sys/bus/iio/devices/iio\:device0/in_voltage*_raw 3498
3494
3491
3491
3489
3490
3490
3490
--- drivers/iio/adc/imx8qxp-adc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/iio/adc/imx8qxp-adc.c +2 -2
@@ -38,8 +38,8 @@#define IMX8QXP_ADR_ADC_FCTRL 0x30#define IMX8QXP_ADR_ADC_SWTRIG 0x34#define IMX8QXP_ADR_ADC_TCTRL (tid) (0xc0 + (tid) * 4) -#define IMX8QXP_ADR_ADC_CMDH (cid) (0x100 + (cid) * 8) -#define IMX8QXP_ADR_ADC_CMDL (cid) (0x104 + (cid) * 8) +#define IMX8QXP_ADR_ADC_CMDL (cid) (0x100 + (cid) * 8) +#define IMX8QXP_ADR_ADC_CMDH (cid) (0x104 + (cid) * 8)#define IMX8QXP_ADR_ADC_RESFIFO 0x300#define IMX8QXP_ADR_ADC_TST 0xffc
Signature · 1 line
2.42.0