Commit 95ea3e76 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: cb_das16_cs: fix ai mux register programming

The ai mux register is used program the hi/lo channels in a scan.
According to the user manual, the hi and lo channels should be
the same  to sample one channel.

Introduce some macros to set the appropriate bits in the ai mux
register and fix the ai (*insn_read).
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2845efb9
......@@ -46,6 +46,10 @@
*/
#define DAS16CS_AI_DATA_REG 0x00
#define DAS16CS_AI_MUX_REG 0x02
#define DAS16CS_AI_MUX_HI_CHAN(x) (((x) & 0xf) << 4)
#define DAS16CS_AI_MUX_LO_CHAN(x) (((x) & 0xf) << 0)
#define DAS16CS_AI_MUX_SINGLE_CHAN(x) (DAS16CS_AI_MUX_HI_CHAN(x) | \
DAS16CS_AI_MUX_LO_CHAN(x))
#define DAS16CS_MISC1_REG 0x04
#define DAS16CS_MISC2_REG 0x06
#define DAS16CS_TIMER_BASE 0x08
......@@ -111,7 +115,8 @@ static int das16cs_ai_rinsn(struct comedi_device *dev,
int ret;
int i;
outw(chan, dev->iobase + DAS16CS_AI_MUX_REG);
outw(DAS16CS_AI_MUX_SINGLE_CHAN(chan),
dev->iobase + DAS16CS_AI_MUX_REG);
devpriv->status1 &= ~0xf320;
devpriv->status1 |= (aref == AREF_DIFF) ? 0 : 0x0020;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment