From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CC626C433EF for ; Sat, 19 Feb 2022 15:54:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3LUxRYYxtD00gvV2TA/Iy/9UrHzfqWS5nMwlVZFA2/A=; b=N9LSVIYQlYnlIY mOJBvnVF5lc9bryRZcJOhBk7J5iiWYvu7svUxLJIA5RVaBAVK7Ttj6HCjSoiXWt0aZpaCQXy+nqLg kTDU4iFu3S4zXg9hY4c+DEfIYMfiU8rh8oTCmajTWYl+LtQXRXBAgX1iKn1Um2rNdLv3HCcwU5bEd AKNk7X4AJSsnZtq2y0ED9REqvijmzeTeNCE5pkdo4FzPqlsT2eaH1HPJxkusCohZXNRKUS1KrM4xY MSsTS1HdHYq95VQ3nweWhuLJJX2Z1R5kEmFhKVchMHL3iNDzT6sO49krbYVcqiFH+mX78PxEfqMNX fxG1016dJlYIZGbYxTDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nLS2z-00HF6G-P0; Sat, 19 Feb 2022 15:53:21 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nLS2v-00HF5g-H7 for linux-arm-kernel@lists.infradead.org; Sat, 19 Feb 2022 15:53:18 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 231FA60B14; Sat, 19 Feb 2022 15:53:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F10FBC004E1; Sat, 19 Feb 2022 15:53:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1645285995; bh=11WW/0CiWWZWGKAlkXmLRY9zQt6EZ/inhLlfKd2t1A4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=NrQkJ89IEx40yyfAVF3VfET136xZuCzqYWcRFvS5ee2ja7Ft4X6napM2LZkJuwNBz MWrPpGQVMACJwNX7COvOz67F/vFv0MbXghjvG33HGxVKrMn6cZHJ3QdIt2lkaeoUmq uZj8JaNHbKDtXl9Ru43GMDMQ/LzR/MRIPQS0d5xh1viDi01JVO/YwSMw746uSYEFL7 eFCyEvtSSiZakS7BIqO5lEHFCXGYY0MqIH/pvBDHZxmZM8TFopsizZwu7VKuvxQi1i 4ghNAtBMLKwQIfnoFp+34PqnlScK51VwXPSsIfol3WS7fiGCJMGBnnGKVVUPvJTk+R vghP+RdHubACA== Date: Sat, 19 Feb 2022 16:00:02 +0000 From: Jonathan Cameron To: Billy Tsai Cc: , , , , , , , , Konstantin Klubnichkin Subject: Re: [PATCH] iio: adc: aspeed: Add divider flag to fix incorrect voltage reading. Message-ID: <20220219160002.46e301b8@jic23-huawei> In-Reply-To: <20220218085708.8194-1-billy_tsai@aspeedtech.com> References: <20220218085708.8194-1-billy_tsai@aspeedtech.com> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220219_075317_676316_CD58ACE2 X-CRM114-Status: GOOD ( 21.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, 18 Feb 2022 16:57:08 +0800 Billy Tsai wrote: > The formula for the ADC sampling period in ast2400/ast2500 is: > ADC clock period = PCLK * 2 * (ADC0C[31:17] + 1) * (ADC0C[9:0]) > When ADC0C[9:0] is set to 0 the sampling voltage will be lower than > expected, because the hardware may not have enough time to > charge/discharge to a stable voltage. > > Reported-by: Konstantin Klubnichkin > Signed-off-by: Billy Tsai Hi Billy, Fixes tag? Also, would be good to call out in the patch description that CLK_DIVIDER_ONE_BASED rules at 0 as a valid value and hence avoids the ADC0C[9:0] value of 0 that is causing problems. That may be obvious to people who make frequent use of clk dividers but it's not locally obvious when looking at this patch. Otherwise looks good to me. Thanks, Jonathan > --- > drivers/iio/adc/aspeed_adc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/aspeed_adc.c b/drivers/iio/adc/aspeed_adc.c > index a957cad1bfab..ffae64f39221 100644 > --- a/drivers/iio/adc/aspeed_adc.c > +++ b/drivers/iio/adc/aspeed_adc.c > @@ -539,7 +539,9 @@ static int aspeed_adc_probe(struct platform_device *pdev) > data->clk_scaler = devm_clk_hw_register_divider( > &pdev->dev, clk_name, clk_parent_name, scaler_flags, > data->base + ASPEED_REG_CLOCK_CONTROL, 0, > - data->model_data->scaler_bit_width, 0, &data->clk_lock); > + data->model_data->scaler_bit_width, > + data->model_data->need_prescaler ? CLK_DIVIDER_ONE_BASED : 0, > + &data->clk_lock); > if (IS_ERR(data->clk_scaler)) > return PTR_ERR(data->clk_scaler); > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel