iio:adc:berlin2-adc: Fix register definition
authorHartmut Knaack <knaack.h@gmx.de>
Mon, 27 Jul 2015 22:38:57 +0000 (00:38 +0200)
committerJonathan Cameron <jic23@kernel.org>
Wed, 12 Aug 2015 18:24:08 +0000 (19:24 +0100)
Active channel number is stored in BERLIN2_SM_CTRL as value, instead of a
bit map.
The masks for channel interrupts and data ready are a 16 bits wide bit
map each, instead of just 4 bits.

Also correct the data mask for the temperature sensor, which was
Reported-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Hartmut Knaack <knaack.h@gmx.de>
Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/berlin2-adc.c

index 3aaf3a9..4946d9b 100644 (file)
@@ -26,7 +26,7 @@
 #define BERLIN2_SM_CTRL                                0x14
 #define  BERLIN2_SM_CTRL_SM_SOC_INT            BIT(1)
 #define  BERLIN2_SM_CTRL_SOC_SM_INT            BIT(2)
-#define  BERLIN2_SM_CTRL_ADC_SEL(x)            (BIT(x) << 5)   /* 0-15 */
+#define  BERLIN2_SM_CTRL_ADC_SEL(x)            ((x) << 5)      /* 0-15 */
 #define  BERLIN2_SM_CTRL_ADC_SEL_MASK          (0xf << 5)
 #define  BERLIN2_SM_CTRL_ADC_POWER             BIT(9)
 #define  BERLIN2_SM_CTRL_ADC_CLKSEL_DIV2       (0x0 << 10)
 #define  BERLIN2_SM_ADC_MASK                   0x3ff
 #define BERLIN2_SM_ADC_STATUS                  0x1c
 #define  BERLIN2_SM_ADC_STATUS_DATA_RDY(x)     BIT(x)          /* 0-15 */
-#define  BERLIN2_SM_ADC_STATUS_DATA_RDY_MASK   0xf
+#define  BERLIN2_SM_ADC_STATUS_DATA_RDY_MASK   GENMASK(15, 0)
 #define  BERLIN2_SM_ADC_STATUS_INT_EN(x)       (BIT(x) << 16)  /* 0-15 */
-#define  BERLIN2_SM_ADC_STATUS_INT_EN_MASK     (0xf << 16)
+#define  BERLIN2_SM_ADC_STATUS_INT_EN_MASK     GENMASK(31, 16)
 #define BERLIN2_SM_TSEN_STATUS                 0x24
 #define  BERLIN2_SM_TSEN_STATUS_DATA_RDY       BIT(0)
 #define  BERLIN2_SM_TSEN_STATUS_INT_EN         BIT(1)
 #define BERLIN2_SM_TSEN_DATA                   0x28
-#define  BERLIN2_SM_TSEN_MASK                  0xfff
+#define  BERLIN2_SM_TSEN_MASK                  GENMASK(9, 0)
 #define BERLIN2_SM_TSEN_CTRL                   0x74
 #define  BERLIN2_SM_TSEN_CTRL_START            BIT(8)
 #define  BERLIN2_SM_TSEN_CTRL_SETTLING_4       (0x0 << 21)     /* 4 us */