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 X-Spam-Level: X-Spam-Status: No, score=-14.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4BD54C433EF for ; Fri, 17 Sep 2021 12:46:31 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 0761D61056 for ; Fri, 17 Sep 2021 12:46:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0761D61056 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=aspeedtech.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/0FWjF3CRxlcv9t/OY0tBK6im83P/y3tIiM3ekzH+MM=; b=qI9RDa7tICFpBl ZZvLy89X8Lyf4Wk430ya34q8qD0QhDGQYxcJDCGwqoXzwnGXP0Ep2Ic3CtZawo+ll5yK9RNq+dho7 1dAgCnTvnzC/oOnqDp4A+4/WGp3x0RvqmdY/C4cOxQRa4LyddxHnQwsvsj3GM218yjJ+DwYjFElKw Axm3mKkLzrwLjxb/z2+ZGWJ17h4zAhjTE0OkAgxND9xKCyWT30GUOpBSVQ0r66NrkXs3FEK8y8Ybo j9mAfAQgVmB4HNAxcV3ZMM4OBEQY2lHYfd/pMceWUWIGtL7PRIu+4vUBXoPb2hH90+xhOLNS0vFd5 mNH0j/O4tz1Qqbr5W7QQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mRDDu-00E9IU-7a; Fri, 17 Sep 2021 12:44:10 +0000 Received: from mail-eopbgr1300094.outbound.protection.outlook.com ([40.107.130.94] helo=APC01-HK2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mRDDi-00E9FT-Hq for linux-arm-kernel@lists.infradead.org; Fri, 17 Sep 2021 12:44:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fb679cXRvzUCwZbGi+Huz9jVqROisgDBLWhjM6uyvaUJTxvKC7zWvyXLtlneo5wJybIjYi96KKZLYgi1T5ekvNwgDMbKnAZ+m5VvfmQh02MwoIfjjmzsxL2yn4DQZZIAviammd0p+PxTWDyBI/+DXdy8bsX1bNkJb9Sy2c1Iz+tMoExnu4F+s4bGgOfVV6bzGLZDrX1VwBJOQ5zHdkRu+oitt/VASepjxo3u/KVPBRxTyvZbNO0RjgrlGNVntIDkoeO7ZfgV6Un2E6aiZ+vu3a0G4u5SDxbcCSkHtnSqiAUjo9Ta9g5vgLmq47C2yQVOkMjq3BpBjhE8scQ7gdq5kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=SQUHKh8Dzhm/cwclk+ZhQGB3YQD9w3hjEl3XDb+0/YI=; b=e8luKdoZxKzUldZ5MM0k8hBzjKZH7JmUfUruD5/g77tkFOGYEbXsJkH+/d4XHuBcuukKlTM3pq0i1rHWbo4bleMJ9tmiYsTGQ6Ilxnk4jtHf1t20IfmnljrEUjvkEt2oqu5xWuhuKBiL//LRG55+WSEOgZ+q55sZirNqB/5D6+1RuTXBDFh/ij+LBtxOkV/VIjuYJi6PX97aCND2Ki/enWTrToqGOTJscOONDpQ5RSQXEVb3drZDed424OHxWTE6ij1goI+UjjpRkuRwUFMPXuhnkwOnTIQd3VDnj7Y1hmSIheLmfBeZ2Zu2URp5FALpc6gKu3I1jXAu+6UVJYGlsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SQUHKh8Dzhm/cwclk+ZhQGB3YQD9w3hjEl3XDb+0/YI=; b=K392SVTGjbEWwUOTLpKJHeThyGSJffsVi6ve/ngfxAmFqQs1Xf+S4FixFcXfY9emDCuWlrvEX7F5UosOfeyioIAtu1PgWXdVz1QJY5etPofjyBg3vpC/mb4NP2zMvklTEFYRAk1woJfS8cGzHXUil8rO7M1VYdr8+GhsBv67iB6JxyhaTrZvcGRPFLNzmAiSbu+9dRTmh8s4lXPenn8ghfmjm/4UDw67oY7fzVZVRxGBxAIv8C355R/lgtnJP57kFiO8bHpavDvIEjG4ZjEb7MvoPGTme5TOi724NSFM2SajyqrFtRT592aZLqoHgXJJ1YIKnSpGqnj6cPxW2XYmAw== Received: from HK0PR06MB3362.apcprd06.prod.outlook.com (2603:1096:203:8b::10) by HK0PR06MB3826.apcprd06.prod.outlook.com (2603:1096:203:b9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.15; Fri, 17 Sep 2021 01:12:13 +0000 Received: from HK0PR06MB3362.apcprd06.prod.outlook.com ([fe80::8d9e:5d92:ad14:6515]) by HK0PR06MB3362.apcprd06.prod.outlook.com ([fe80::8d9e:5d92:ad14:6515%5]) with mapi id 15.20.4523.016; Fri, 17 Sep 2021 01:12:13 +0000 From: Billy Tsai To: "jic23@kernel.org" , "lars@metafoo.de" , "pmeerw@pmeerw.net" , "robh+dt@kernel.org" , "joel@jms.id.au" , "andrew@aj.id.au" , "p.zabel@pengutronix.de" , "lgirdwood@gmail.com" , "broonie@kernel.org" , "linux-iio@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-aspeed@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" CC: BMC-SW Subject: Re: [v6 07/11] iio: adc: aspeed: Fix the calculate error of clock. Thread-Topic: [v6 07/11] iio: adc: aspeed: Fix the calculate error of clock. Thread-Index: AQHXqHQgFRjVWjPurUeUzP9TebODvKun90oA Date: Fri, 17 Sep 2021 01:12:13 +0000 Message-ID: <1A7A8472-1AAA-4F51-A9CF-08BF1837F9EB@aspeedtech.com> References: <20210913075337.19991-1-billy_tsai@aspeedtech.com> <20210913075337.19991-8-billy_tsai@aspeedtech.com> In-Reply-To: <20210913075337.19991-8-billy_tsai@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ad7cc8eb-3020-4400-59f2-08d979782e98 x-ms-traffictypediagnostic: HK0PR06MB3826: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:254; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: I17imtJKZoShe23klYsEvpVKTtKTJl8mVin7bfYoeU6hh8b/cjdYqj6Aj6EKW/NhXqnLvZfIVvs3A5OzHTfM87B2kF1Yfk/9whTvjPYl8r2RA9qXWPLglmyIHNrrBANO25Z7ru3xuqNgRK+QjbF+tSoWHxdMRT7LTzc3Fe5rTwB5Wv4KaIRE7sMQ0XhAu+IaF4f+bUN3l4isDWE8d8rXkRTDFh/0A8UTX9CEm7bXcBe+GtUD46zuk+baQD+pqMQkhQw3Va6bDP1Yc/EpSmkWRiux+7cMwX9Sr+5EYs55Fxpm+VPGj/P7OGIWwWWmaH+hZK3eVvyV9pkos1lfGe41gJYxi4oC9bKcVfr7mEyisb38bzEqo7RVHBba/7/QZvwo0SJkr9SAZ9xElhx0l0EgwfUBIoByPTk0nymy/UKB9tD7x99Nihn5Lgh+L9/6mRHhzxKEU0zc93tW8X9CbVgGwG7xTDKJzsKA+rD51gTngSvsGNIcBexIC7LDpPD6alRJV5klYTe0UXJzJnoC3XTVlb5sWlLLYCDmwGjE77sDNm2DmfezKLk0sqvg3QoI6hefX2hycm03jSM4qX0Q8Qhnh0VQOaV0jlN3LdA7BuiQHtLHA+mzTfvrIZ+hrjLSkhIu19K2PZeY0CwU7G7TygZPmXMFYhPaPRKoVRBwFwBFZno+y6pw44aiQGy7Zle35AKo/fI0Kg6KBb6AvNrZfoT5CNH/LPXiZ7Ij2eFRmfrELu0M9D9gbgD8fePNv5wyuC3/T2NQE8WxZaBU55+MCRwKnQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HK0PR06MB3362.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(39840400004)(376002)(396003)(346002)(136003)(366004)(66446008)(110136005)(316002)(76116006)(26005)(508600001)(66946007)(64756008)(66476007)(921005)(122000001)(66556008)(36756003)(6486002)(8936002)(83380400001)(2616005)(33656002)(38100700002)(86362001)(53546011)(71200400001)(107886003)(186003)(6512007)(6506007)(4326008)(2906002)(7416002)(8676002)(38070700005)(5660300002)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WG94YjgvaCtVQjQyRnJ6NkRuZE1xMG5UMnVpQit6MXBybzdET2RTTCtoc0Jq?= =?utf-8?B?RWRSVWRPQks4ckJJamZiYy9oeWpJNi9Hb1VjaEtWTjdIOWNMc3NBSzFFblZP?= =?utf-8?B?czhEK0lMTEpGT1hxUVBpUTlIM3hRUnEya0tyam92YWFTWHR2YnNJSzQvNTlj?= =?utf-8?B?bElhWnlDejVmQWd3Q0FjNldYN2pSaE9qKzJ1SStJRjYxOGZJQVpsaVVrcDVo?= =?utf-8?B?ZEFSU1lIcllSQU5SWnlqVVRmWTB4Wmpyb0ZWQjQ3amxxZW1BaEhMako4VkZK?= =?utf-8?B?QzYvWSs4YWZCckxEYStaQ1k3NXZvZ3JZNEdXcnduYzVyMnRicDcvTHo2cXhD?= =?utf-8?B?QkpSeGZiZmFKWXRaUXFDZThUdmQvYkpRRnVrKzZDT2p5WGUwb1BxamVUOUQx?= =?utf-8?B?MURYdmZYYWxDTUpOR2N3L0dmNldkK1lic2pNc3hRTlRGS0JGdjdsb0ZXWURy?= =?utf-8?B?S05QNlRab09pM2t6SlpEMjFUV1dBdXRDcHNlWWJMaWJ0OUwyRmpGaVhNZTNq?= =?utf-8?B?MHBGOTZUbGZFQlBUc294QjF0Z3NwQ2drYW9hLzcyR2lKVFoxMG4vbW5Hc3lE?= =?utf-8?B?d2l3b1JYT29KTDZjKzJETWxCVGJpRUVZQVlqZERJcnNNYkJxMkVEQkdyTjVI?= =?utf-8?B?TWpHeDJXck54MDdaVlVHN0h6UkMzempNLzZZN29FeTZEODU0ZVBLZmdsaEw2?= =?utf-8?B?aWVqQjJIckRaQitvdm5UbWQ5SmJUOERKdm1uTFNjVXFtZTRJMjNrYWNEbWtu?= =?utf-8?B?MlQya1FEZ1RTTklvN2dWOWdKSzV5cWFvKzJMMllOV1QrWGFBYXlsa3Fyc3h6?= =?utf-8?B?cUFnbk9OMHRkeGJpYlAySHVuZ3pwQkhIbjhMQVJXcFk1U2JRa2wzMjBoeUlU?= =?utf-8?B?NGpTN2FYcWRiRGpDN3BncW9ZN3VsQTAydkVDVHF6VHdtUTcvd3ZYVyszT0du?= =?utf-8?B?bERva0hNaG16R3JDUGlCL0FETk5nRm4wWG9lVkpmNXlQa0JtbTIzQ25DNmMv?= =?utf-8?B?a2s5bngwU3AzZ0hlZ0FjaXFvRTVTdG9STTVoZjlnVSswQkpDVHpTcUJubUhw?= =?utf-8?B?RHdGdFo1TG1keDZ5NERiOVNGTjlRekhXdlFtZzlzV2JxZHlBemZBamdTcHJ5?= =?utf-8?B?WlF1TjdvZFVITk1ySHJYNmFDMFpXMTNoZFNDemM1dXNQN2NUQ0dMZ3haOExN?= =?utf-8?B?OXRMdXQ2ZnFlcFNFaUcwUi85OHNrT1dPRjdoSXM0ZHhjUWRDS1MxVXBUMkRX?= =?utf-8?B?bXZlMDNVdWNhbytTZ1ZydjdwdnAzdjM3OENPU21SUGFZWjB1L2lYRHIxYWR2?= =?utf-8?B?RHlQZE1ESFMydU5jbCtNaGJOeHBWTVVIQ09Td2dxd3JZTnBuQUphdXE3SW56?= =?utf-8?B?UE1RYXhOMXNKZHNQUnllL01PckZKbnN5blR1UjhrMWhFaUhRZXViT1hwL2x1?= =?utf-8?B?NmludFRPbHFQcDEvK25FRWJRQityRFJlcnZ4bzg5TEdlK1pIYTd0Zm9KN2ZS?= =?utf-8?B?SW9peWRyd1EwVWM5U0RHYllrUlkxQ3BXUFE1WVArbFFyMVR5WHowN2tlTC91?= =?utf-8?B?UlFwditkekJNbUhMamlkZTY3a0FrYkMwb2QzQ1F1eFc0aGNCUGloUWVRL3hC?= =?utf-8?B?SFVsdFRlenJnWDBLN3dWMWphOTV6ZDdFUW9sRjhWcGRiYjNNdXNteUNKRTNH?= =?utf-8?B?ZHJGd1I5Nm02OVBwSllaandHYzBhSGoyQkFIQUNSWE9XSTNmV3V4a0tWaHhm?= =?utf-8?B?SXZBMnEzeFoxb3UzYmhhYW1aUk1kMk00a1lIV1hCQ0VqdkhUd28vc0N0UFox?= =?utf-8?B?aVBxTU53NHRnMHgyYnBtUT09?= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: HK0PR06MB3362.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad7cc8eb-3020-4400-59f2-08d979782e98 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Sep 2021 01:12:13.2279 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sXXIXLgWuHx1sQvcKxW8ZGhnivlpxpA5xFb7J6QbLglspTRSfovlGQ73MvbXmRZID78/28a/toMvfg9l1MUr90t1AKzfQSByqxDrYzM9XuY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK0PR06MB3826 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210917_054358_691382_013D2371 X-CRM114-Status: GOOD ( 22.64 ) 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 2021/9/13, 3:51 PM, "Billy Tsai" wrote: > The ADC clock formula is > ast2400/2500: > ADC clock period = PCLK * 2 * (ADC0C[31:17] + 1) * (ADC0C[9:0] + 1) > ast2600: > ADC clock period = PCLK * 2 * (ADC0C[15:0] + 1) > They all have one fixed divided 2 and the legacy driver didn't handle it. > This patch register the fixed factory clock device as the parent of ADC > clock scaler to fix this issue. > Signed-off-by: Billy Tsai > --- > drivers/iio/adc/aspeed_adc.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > diff --git a/drivers/iio/adc/aspeed_adc.c b/drivers/iio/adc/aspeed_adc.c > index 3ec4e1a2ddd3..262b5f80c728 100644 > --- a/drivers/iio/adc/aspeed_adc.c > +++ b/drivers/iio/adc/aspeed_adc.c > @@ -4,6 +4,12 @@ > * > * Copyright (C) 2017 Google, Inc. > * Copyright (C) 2021 Aspeed Technology Inc. > + * > + * ADC clock formula: > + * Ast2400/Ast2500: > + * clock period = period of PCLK * 2 * (ADC0C[31:17] + 1) * (ADC0C[9:0] + 1) > + * Ast2600: > + * clock period = period of PCLK * 2 * (ADC0C[15:0] + 1) > */ > #include > @@ -85,6 +91,7 @@ struct aspeed_adc_data { > struct regulator *regulator; > void __iomem *base; > spinlock_t clk_lock; > + struct clk_hw *fixed_div_clk; > struct clk_hw *clk_prescaler; > struct clk_hw *clk_scaler; > struct reset_control *rst; > @@ -197,6 +204,13 @@ static const struct iio_info aspeed_adc_iio_info = { > .debugfs_reg_access = aspeed_adc_reg_access, > }; > +static void aspeed_adc_unregister_fixed_divider(void *data) > +{ > + struct clk_hw *clk = data; > + > + clk_hw_unregister_fixed_factor(clk); > +} > + > static void aspeed_adc_reset_assert(void *data) > { > struct reset_control *rst = data; > @@ -321,6 +335,19 @@ static int aspeed_adc_probe(struct platform_device *pdev) > spin_lock_init(&data->clk_lock); > snprintf(clk_parent_name, ARRAY_SIZE(clk_parent_name), "%s", > of_clk_get_parent_name(pdev->dev.of_node, 0)); > + snprintf(clk_name, ARRAY_SIZE(clk_name), "%s-fixed-div", > + data->model_data->model_name); > + data->fixed_div_clk = clk_hw_register_fixed_factor( > + &pdev->dev, clk_name, clk_parent_name, 0, 1, 2); > + if (IS_ERR(data->fixed_div_clk)) > + return PTR_ERR(data->fixed_div_clk); > + > + ret = devm_add_action_or_reset(data->dev, > + aspeed_adc_unregister_fixed_divider, > + data->clk_prescaler); I found that the parameter aspeed_adc_unregister_fixed_divider is wrong. I will send patch v7 after the other patches are reviewed. Thanks > + if (ret) > + return ret; > + snprintf(clk_parent_name, ARRAY_SIZE(clk_parent_name), clk_name); > if (data->model_data->need_prescaler) { > snprintf(clk_name, ARRAY_SIZE(clk_name), "%s-prescaler", > -- > 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel