FAILED: patch "[PATCH] iio: dac: ad3552r-common: fix ad3541/2r ranges" failed to apply to 6.1-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x 1e758b613212b6964518a67939535910b5aee831
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025021011-gully-stillness-9d82@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1e758b613212b6964518a67939535910b5aee831 Mon Sep 17 00:00:00 2001
From: Angelo Dureghello <[email protected]>
Date: Wed, 8 Jan 2025 18:29:15 +0100
Subject: [PATCH] iio: dac: ad3552r-common: fix ad3541/2r ranges
Fix ad3541/2r voltage ranges to be as per ad3542r datasheet, rev. C, table 38 (page 57).
The wrong ad354xr ranges was generating erroneous Vpp output.
In more details:
- fix wrong number of ranges, they are 5 ranges, not 6,
- remove non-existent 0-3V range,
- adjust order, since ad3552r_find_range() get a wrong index, producing a wrong Vpp as output.
Retested all the ranges on real hardware, EVALAD3542RFMCZ:
adi,output-range-microvolt (fdt):
<(000000) (2500000)>; ok (Rfbx1, switch 10) <(000000) (5000000)>; ok (Rfbx1, switch 10) <(000000) (10000000)>; ok (Rfbx1, switch 10)
<(-5000000) (5000000)>; ok (Rfbx2, switch +/- 5) <(-2500000) (7500000)>; ok (Rfbx2, switch -2.5/7.5)
drivers/iio/dac/ad3552r-common.c +2 -3
@@ -22,11 +22,10 @@ EXPORT_SYMBOL_NS_GPL(ad3552r_ch_ranges, "IIO_AD3552R");const s32 ad3542r_ch_ranges[AD3542R_MAX_RANGES ][2 ] = { [AD3542R_CH_OUTPUT_RANGE_0__2P5V ] = {0 ,2500 }, - [AD3542R_CH_OUTPUT_RANGE_0__3V ] = {0 ,3000 }, [AD3542R_CH_OUTPUT_RANGE_0__5V ] = {0 ,5000 }, [AD3542R_CH_OUTPUT_RANGE_0__10V ] = {0 ,10000 }, - [AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V ] = {-2500 ,7500 }, - [AD3542R_CH_OUTPUT_RANGE_NEG_5__5V ] = {-5000 ,5000 } + [AD3542R_CH_OUTPUT_RANGE_NEG_5__5V ] = {-5000 ,5000 }, + [AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V ] = {-2500 ,7500 } };EXPORT_SYMBOL_NS_GPL (ad3542r_ch_ranges,"IIO_AD3552R" );
drivers/iio/dac/ad3552r.h +3 -5
@@ -131,7 +131,7 @@#define AD3552R_CH1_ACTIVE BIT(1)#define AD3552R_MAX_RANGES 5 -#define AD3542R_MAX_RANGES 6 +#define AD3542R_MAX_RANGES 5#define AD3552R_QUAD_SPI 2extern const s32 ad3552r_ch_ranges[AD3552R_MAX_RANGES ][2 ];
@@ -189,16 +189,14 @@ enum ad3552r_ch_vref_select {enum ad3542r_ch_output_range {/* Range from 0 V to 2.5 V. Requires Rfb1x connection */ AD3542R_CH_OUTPUT_RANGE_0__2P5V , -/* Range from 0 V to 3 V. Requires Rfb1x connection */ -AD3542R_CH_OUTPUT_RANGE_0__3V ,/* Range from 0 V to 5 V. Requires Rfb1x connection */ AD3542R_CH_OUTPUT_RANGE_0__5V ,/* Range from 0 V to 10 V. Requires Rfb2x connection */ AD3542R_CH_OUTPUT_RANGE_0__10V , -/* Range from -2.5 V to 7.5 V. Requires Rfb2x connection */ -AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V ,/* Range from -5 V to 5 V. Requires Rfb2x connection */ AD3542R_CH_OUTPUT_RANGE_NEG_5__5V , +/* Range from -2.5 V to 7.5 V. Requires Rfb2x connection */ +AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V , };enum ad3552r_ch_output_range {