From 39568d0bb422fe4c4f04582973a4be97004ce949 Mon Sep 17 00:00:00 2001 From: Simon Xue Date: Fri, 12 Nov 2021 09:42:50 +0800 Subject: [PATCH] iio: adc: rockchip_saradc: fix RK3588 saradc interrupt issue Fixes: 7af20071ed3b ("iio: adc: rockchip_saradc: add support rk3588 new saradc") Change-Id: Ice925d6a9c1a57b76d3cf99bd07bd843439139a3 Signed-off-by: Simon Xue --- drivers/iio/adc/rockchip_saradc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/iio/adc/rockchip_saradc.c b/drivers/iio/adc/rockchip_saradc.c index 5afaa7664ad1..309fb02d04c5 100644 --- a/drivers/iio/adc/rockchip_saradc.c +++ b/drivers/iio/adc/rockchip_saradc.c @@ -38,7 +38,9 @@ #define SARADC_MAX_CHANNELS 8 /* v2 registers */ -#define SARADC2_CONV_CON 0x0 +#define SARADC2_CONV_CON 0x0 +#define SARADC_T_PD_SOC 0x4 +#define SARADC_T_DAS_SOC 0xc #define SARADC2_END_INT_EN 0x104 #define SARADC2_ST_CON 0x108 #define SARADC2_STATUS 0x10c @@ -95,6 +97,8 @@ static void rockchip_saradc_start_v2(struct rockchip_saradc *info, { int val; + writel_relaxed(0xc, info->regs + SARADC_T_DAS_SOC); + writel_relaxed(0x20, info->regs + SARADC_T_PD_SOC); val = SARADC2_EN_END_INT << 16 | SARADC2_EN_END_INT; writel_relaxed(val, info->regs + SARADC2_END_INT_EN); val = SARADC2_START | SARADC2_SINGLE_MODE | chn;