From patchwork Sat Jul 15 11:05:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 120788 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp122034vqt; Sat, 15 Jul 2023 04:16:18 -0700 (PDT) X-Google-Smtp-Source: APBJJlFtymLraDkqf/9yTinEJT6y41NeMMibiJca+3haf/8JEAS3PGnTDQylC9JDcYfZ3PTIFuuG X-Received: by 2002:a17:903:11cf:b0:1b6:6c32:59a8 with SMTP id q15-20020a17090311cf00b001b66c3259a8mr5196545plh.36.1689419777995; Sat, 15 Jul 2023 04:16:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689419777; cv=none; d=google.com; s=arc-20160816; b=S3q4uh/+mbmNeLoBOrFxVXMxRyuira7zMwEF+ymqvTgOfNJ3WqVnBZfDW/XeOk4HuM NoalPCneqbBUUMJjjw2DLigZSDO9+J4snD8//N/DgERCy7ENpKIA8ZlHw4bX+dFxrakj 8KlcLC1LjJBvAUe8ReIXTr0T3RoOkDS1kvx61Ba+Pn800Cb9rV0PLuZFW2g7ZSPMjsQk 5SzEFXhsD8EISGZYrSo9cPK/HPebXzEuNxJSiG7mMfchNgHUDRzjHLpfk+cgLDDKmBTO axBnXIolGCMA/8CT9hw2/SuH6wdiQixre+8OAR4nx+sZKUmbTzLRIazr+GOw0Hyob2OC pl2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=uzjZyhESz+VGISOfZsao53vOWFInLG46m6Rl5JmIEbE=; fh=VM+ke2h5JKUfvXdNdLjgF4bw6fPLt1uDttKmal/DDbQ=; b=OGPPdIgS+pbViH1nDsqP/6FgF86RRp0buLL5ka4AJePRNuRkrSmW58Q5+PTUmsNUTY W+ZyRH2PeVbL+0i8sMt7xCoRPa/i/dCDJz1AR9sUdtjSU4VVt1b9DW/g52pzxiV4s9dY j6ipB6y3CBRH2ygrg4HTJlsieE4hww3MasCNSQYYDKuShFK9hVhgBbY2u8nHAPT5B+Mt 6bbxkaGK3Om3J0QDyU02Qk2px+NJ8bOyvXlGW9sogvftb+IE68X79n1tneJEPi+n1Mil gKAEQDywKUWDadsQcRcVz3RWxwLMBEKB2uydMvmrowhFR3XFxhhguqdBiixkpf7bc6uj Hw4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=q8uuya69; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j4-20020a170903028400b001b9d95078d9si8561393plr.404.2023.07.15.04.16.04; Sat, 15 Jul 2023 04:16:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=q8uuya69; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230256AbjGOLHL (ORCPT + 99 others); Sat, 15 Jul 2023 07:07:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229483AbjGOLHK (ORCPT ); Sat, 15 Jul 2023 07:07:10 -0400 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED56BB5; Sat, 15 Jul 2023 04:07:06 -0700 (PDT) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 14FC2100006; Sat, 15 Jul 2023 14:07:03 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 14FC2100006 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1689419223; bh=uzjZyhESz+VGISOfZsao53vOWFInLG46m6Rl5JmIEbE=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=q8uuya69cupVj+K0t6x1FUP95DZwX6Loeg0Uthv+GfUE6GNVZtT4gAYKlEZJrksFA cNarILwtoLQP+L7v/kUV0QT/qLGutLarQM3eJxC9dyDcDNQj+N9Zaq3RiQ5f3StT9R S3GMfNFK6B+pxjn3jbWE7Hqa4iq8IkIXFPWR7rwAx8PUDjtIgSG5guyfBGHitmoRRx WYYPqtVVhlnpBTxat8q+2mrF0tIUMiTdXCJNZdDxQuA7ipP3aPff9x0nr9gz1RohlG zS/JLpUhAYKN2B5Pxh7WBbIZ+9fg34BnezG1w+yQh5PS/JwUNmtJWx9jFDwdQSWA7p 1fhlY7Qv5hm8w== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Sat, 15 Jul 2023 14:07:02 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Sat, 15 Jul 2023 14:06:23 +0300 From: George Stark To: , , , , , , , , CC: , , , , Subject: [PATCH v1 1/3] iio: adc: meson: init channels 0,1 input muxes Date: Sat, 15 Jul 2023 14:05:58 +0300 Message-ID: <20230715110654.6035-2-gnstark@sberdevices.ru> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230715110654.6035-1-gnstark@sberdevices.ru> References: <20230715110654.6035-1-gnstark@sberdevices.ru> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m02.sberdevices.ru (172.16.192.103) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 178635 [Jul 15 2023] X-KSMG-AntiSpam-Version: 5.9.59.0 X-KSMG-AntiSpam-Envelope-From: GNStark@sberdevices.ru X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 523 523 523027ce26ed1d9067f7a52a4756a876e54db27c, {Tracking_from_domain_doesnt_match_to}, sberdevices.ru:5.0.1,7.1.1;100.64.160.123:7.1.2;127.0.0.199:7.1.2;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;p-i-exch-sc-m01.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, {Tracking_white_helo}, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/07/15 07:52:00 #21618415 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771485032872288037 X-GMAIL-MSGID: 1771485032872288037 Set up input channels 0,1 muxes in the same way as for the channels 2-7 later in the code. Signed-off-by: George Stark --- drivers/iio/adc/meson_saradc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c index 2411cc864ccd..524e5569381e 100644 --- a/drivers/iio/adc/meson_saradc.c +++ b/drivers/iio/adc/meson_saradc.c @@ -899,6 +899,22 @@ static int meson_sar_adc_init(struct iio_dev *indio_dev) MESON_SAR_ADC_CHAN_10_SW_CHAN1_MUX_SEL_MASK, regval); + regmap_update_bits(priv->regmap, MESON_SAR_ADC_CHAN_10_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN0_XP_DRIVE_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN0_XP_DRIVE_SW); + + regmap_update_bits(priv->regmap, MESON_SAR_ADC_CHAN_10_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN0_YP_DRIVE_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN0_YP_DRIVE_SW); + + regmap_update_bits(priv->regmap, MESON_SAR_ADC_CHAN_10_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN1_XP_DRIVE_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN1_XP_DRIVE_SW); + + regmap_update_bits(priv->regmap, MESON_SAR_ADC_CHAN_10_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN1_YP_DRIVE_SW, + MESON_SAR_ADC_CHAN_10_SW_CHAN1_YP_DRIVE_SW); + /* * set up the input channel muxes in MESON_SAR_ADC_AUX_SW * (2 = SAR_ADC_CH2, 3 = SAR_ADC_CH3, ...) and enable From patchwork Sat Jul 15 11:05:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 120789 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp123006vqt; Sat, 15 Jul 2023 04:19:14 -0700 (PDT) X-Google-Smtp-Source: APBJJlEwer2Qr9Th+wYCMn/+H8x9ulk6lX9XQsczQ7mCoyY2iWK/WrQ//XmIk2kO1b/5ZWYkpK0o X-Received: by 2002:aa7:c40e:0:b0:51d:f589:9c7a with SMTP id j14-20020aa7c40e000000b0051df5899c7amr6284807edq.17.1689419954612; Sat, 15 Jul 2023 04:19:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689419954; cv=none; d=google.com; s=arc-20160816; b=h0hQ8XE3G6if2+Y4GTjZQq/1Xja0GsMjM19XdfPabL/x7i8hGwT/s9YKlXnLBJC/En QRliLMmT2mIDddz4xzMFcpe3mlZaEPMogBG6DGMVQQeMXNueQoXzmY2A8mT7yzJfm7Mm HVTHAC8osbPjEZ1XkgW8PUg1dJNMJJdgx33aGl93ac7IxDi196SpmxobeP2v4JShSMlC RBKbmHz5PGYoBuCvO1zXuN8nvRClRVoDZFphTRHRGtAc/3GNvSBF5LRLhM29JbvWrjyM TSkiQrM2swPCUzBgbO95mm6MqNcXYGiohT07PbGoHUaS3M28o1s59SWLO2AvC6shaZDN Yp3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=dZOh2J+PejsEqvr9CEyYrAsUac8NNrLT8A1ago5/XVo=; fh=VM+ke2h5JKUfvXdNdLjgF4bw6fPLt1uDttKmal/DDbQ=; b=0CAOc/xCkNwH5TgCuS4NtVb0El9LxpVzFoUVfky4HOh3aMp+CbjVotVWVA6bc7ETcx AquT/XAQyS/oqFLQzEoiEvAQs+Pr0+IwF7MOsvwV+bYB8bOGfHQo2gSEP/JmvaHKT67Y TDrQB4s4uIuZj1EHi79p706OZ8ni0TIxpR3uXUAAM6v/VoQ59yPID52p2axYPcbsGAVk 7zrdhXaijmiNeOQxKYMqGVG0T/w1lL/e8fs0Vb2pW9iX1uxv4UFIAZiHHvnGb4wcsqr8 lAGiIzb2irWFMnrcDNQZte2d8iV4nzvK1CYZhBJXQ25mq+8CbXim2R5F9VxBar2x4gf6 0N8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=L254plI7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t20-20020a05640203d400b0051da32270adsi10496462edw.412.2023.07.15.04.18.49; Sat, 15 Jul 2023 04:19:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=L254plI7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230298AbjGOLHN (ORCPT + 99 others); Sat, 15 Jul 2023 07:07:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229639AbjGOLHK (ORCPT ); Sat, 15 Jul 2023 07:07:10 -0400 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEFA1269D; Sat, 15 Jul 2023 04:07:06 -0700 (PDT) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 45C82100009; Sat, 15 Jul 2023 14:07:03 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 45C82100009 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1689419223; bh=dZOh2J+PejsEqvr9CEyYrAsUac8NNrLT8A1ago5/XVo=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=L254plI7N+aHYEHu1aptAhg3pCJmrU35E7F27SK1G8PLwgqDhPlpeD2mNOCo1jAnA N/4ySi56FUGA+FlEXlxf7UAHlKithRa2IXnwl3uo9OJDDIHhUUG+yXXHYF5fq45CI0 DN3z1DYUv+0Xm507TZwHNjHEvGU8rFhrbWO4xLv3r69guwKlG//PqAvVidtGUADaoW sjSFmzE2B/gOkGy4hodhUeeJwWxKMStWZRRuP5w17r4UQ2aXAkCiATYAE6vojRwwwG IhZ4y2WP/Il7cSncXP4KoWUWAv3h/NmN5PCBqb+WclbaFF9Ec2306S0cuaaQtAMmvg IUPCgaWoZMJ4A== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Sat, 15 Jul 2023 14:07:03 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Sat, 15 Jul 2023 14:06:23 +0300 From: George Stark To: , , , , , , , , CC: , , , , Subject: [PATCH v1 2/3] iio: adc: meson: init internal continuous ring counter Date: Sat, 15 Jul 2023 14:05:59 +0300 Message-ID: <20230715110654.6035-3-gnstark@sberdevices.ru> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230715110654.6035-1-gnstark@sberdevices.ru> References: <20230715110654.6035-1-gnstark@sberdevices.ru> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m02.sberdevices.ru (172.16.192.103) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 178635 [Jul 15 2023] X-KSMG-AntiSpam-Version: 5.9.59.0 X-KSMG-AntiSpam-Envelope-From: GNStark@sberdevices.ru X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 523 523 523027ce26ed1d9067f7a52a4756a876e54db27c, {Tracking_from_domain_doesnt_match_to}, sberdevices.ru:5.0.1,7.1.1;100.64.160.123:7.1.2;127.0.0.199:7.1.2;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;p-i-exch-sc-m01.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, {Tracking_white_helo}, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/07/15 07:52:00 #21618415 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771485217923420901 X-GMAIL-MSGID: 1771485217923420901 Disable internal continuous ring counter at init stage. Disable value depends on SoC family: gxl and later SoCs write 1, others write 0. This bit are inited in vendor boot code (bl2, bl33) already so do it in the driver to not depend on other code. Signed-off-by: George Stark --- drivers/iio/adc/meson_saradc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c index 524e5569381e..806ba7cd7320 100644 --- a/drivers/iio/adc/meson_saradc.c +++ b/drivers/iio/adc/meson_saradc.c @@ -313,6 +313,7 @@ struct meson_sar_adc_param { u8 temperature_trimming_bits; unsigned int temperature_multiplier; unsigned int temperature_divider; + u8 disable_ring_counter; }; struct meson_sar_adc_data { @@ -967,6 +968,12 @@ static int meson_sar_adc_init(struct iio_dev *indio_dev) MESON_SAR_ADC_DELTA_10_TS_REVE0, 0); } + regval = FIELD_PREP(MESON_SAR_ADC_REG3_CTRL_CONT_RING_COUNTER_EN, + priv->param->disable_ring_counter); + regmap_update_bits(priv->regmap, MESON_SAR_ADC_REG3, + MESON_SAR_ADC_REG3_CTRL_CONT_RING_COUNTER_EN, + regval); + ret = clk_set_parent(priv->adc_sel_clk, priv->clkin); if (ret) return dev_err_probe(dev, ret, "failed to set adc parent to clkin\n"); @@ -1196,6 +1203,7 @@ static const struct meson_sar_adc_param meson_sar_adc_gxl_param = { .bandgap_reg = MESON_SAR_ADC_REG11, .regmap_config = &meson_sar_adc_regmap_config_gxbb, .resolution = 12, + .disable_ring_counter = 1, }; static const struct meson_sar_adc_param meson_sar_adc_g12a_param = { @@ -1204,6 +1212,7 @@ static const struct meson_sar_adc_param meson_sar_adc_g12a_param = { .bandgap_reg = MESON_SAR_ADC_REG11, .regmap_config = &meson_sar_adc_regmap_config_gxbb, .resolution = 12, + .disable_ring_counter = 1, }; static const struct meson_sar_adc_data meson_sar_adc_meson8_data = { From patchwork Sat Jul 15 11:06:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 120792 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp165094vqt; Sat, 15 Jul 2023 06:13:46 -0700 (PDT) X-Google-Smtp-Source: APBJJlF+hXdflV6zwcq+hPMgDFvbDPDdCsQCyyZTdAerf4DdwUD88YR2CfSrNFLwdnbSzuNu/DVO X-Received: by 2002:a17:906:5307:b0:994:9ed:300b with SMTP id h7-20020a170906530700b0099409ed300bmr6712411ejo.16.1689426826001; Sat, 15 Jul 2023 06:13:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689426825; cv=none; d=google.com; s=arc-20160816; b=iJ3uZb2NrQKI7cwsbYGVEkR7RugLiH3U7JsVBGPLBjZyd/x6ulJ5Nk0bmDBRfb8xU1 w3353o3y9UNVvE+vpmDOnrrO/KF4dtVIPoH4B6Ulu46KK8dxe1tU3blchxuPzzwnBN8w aYhOVBpg053r4mRU3nSHvTAyXtBtloEJCz82PKQ0zQYVxgWPz73wdYG//lE+wVi9y6v/ jpDUnQlf0mEWE9QAiVjz5S7b2GkSHhDm/uuTaROX00y60+xrVeOM1thVN/T2p8Pjo57T rwJ3iKKgXnq2/4OBPAXrbQGUWl08YpBF6LPqh+zFSpRUAnaiMS0jI94JdSldCiu74cpH VH0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=3mmX30I0FwXOJ51SYCtTE0imFkDvARZbsiRbScj96a4=; fh=VM+ke2h5JKUfvXdNdLjgF4bw6fPLt1uDttKmal/DDbQ=; b=CxT+Lj0AgxwGJBckehs1kb4tYjxYL7UnyHo/a8tvjBvlWTxYXjfDvonNk5VnKRPmTF UBA5wVs0tz1Nq2rJJWZQEVSteXYTRXchQWCwrkxoWWzbxx9Bnr4T1k92u3g+X12n7Lks 5NX9jury4ieos0jgWirA2HdB++lT9IpLlGyicbPGSCTXyh1THcLAMPtauPEev/3FTUXU 4uWvlwXSurDN+llOL71EXs5jF5cbBRgS99vKLdkQt6Qy3eLjRV4V+0stjKyywC1RVuq5 NJhAW6ECHv2fIboWFmQ3ybNkWjtwsrggwJK4u8THIZbdRdA/VvK5f6c5HXD27nX+20Fg U91A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=fxK9S0yG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m16-20020a17090679d000b00992fef51a60si10098973ejo.525.2023.07.15.06.12.57; Sat, 15 Jul 2023 06:13:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=fxK9S0yG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229639AbjGOLHP (ORCPT + 99 others); Sat, 15 Jul 2023 07:07:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45268 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229919AbjGOLHK (ORCPT ); Sat, 15 Jul 2023 07:07:10 -0400 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EF1852702; Sat, 15 Jul 2023 04:07:06 -0700 (PDT) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 6E90310000A; Sat, 15 Jul 2023 14:07:03 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 6E90310000A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1689419223; bh=3mmX30I0FwXOJ51SYCtTE0imFkDvARZbsiRbScj96a4=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=fxK9S0yGCJ66oe6he9tWrrxdTp0sj5iR3ghXAL1UZDufz/Yo53ZQjCXs8OhlV7ctF +qFtfma4MKpl5o7El7xbt5Y7mjPIuxivPTgJ+gXcrxJWA3L482Vaa2a/N6JV+kONXY n2/NXM4XTQD+fyeMZPuwD1t6DcBY4/3nARfYxG2hmvBa8ImcagiK8GEuRKLi7X89oM /UuP8+kbmGI48eTwalZsXh3wxduRQny8vMAOo6KvVuwASEow55LbXJ2INyzEyM4VRQ 7QgPv7XQFQ8xZLBsXtiXHY9WVmQk7dUOPIAWL9rLC2FlvB69yFiX2mZRla+Ma3uy8x Wzziy6SvKSLdw== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Sat, 15 Jul 2023 14:07:03 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Sat, 15 Jul 2023 14:06:23 +0300 From: George Stark To: , , , , , , , , CC: , , , , Subject: [PATCH v1 3/3] iio: adc: meson: init voltage control bits Date: Sat, 15 Jul 2023 14:06:00 +0300 Message-ID: <20230715110654.6035-4-gnstark@sberdevices.ru> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230715110654.6035-1-gnstark@sberdevices.ru> References: <20230715110654.6035-1-gnstark@sberdevices.ru> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m02.sberdevices.ru (172.16.192.103) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 178635 [Jul 15 2023] X-KSMG-AntiSpam-Version: 5.9.59.0 X-KSMG-AntiSpam-Envelope-From: GNStark@sberdevices.ru X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 523 523 523027ce26ed1d9067f7a52a4756a876e54db27c, {Tracking_from_domain_doesnt_match_to}, sberdevices.ru:5.0.1,7.1.1;100.64.160.123:7.1.2;127.0.0.199:7.1.2;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;p-i-exch-sc-m01.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, {Tracking_white_helo}, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/07/15 07:52:00 #21618415 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771492423319761223 X-GMAIL-MSGID: 1771492423319761223 Define and init voltage configuration bits. Those bits are inited in vendor boot code (bl2, bl33) already so do it in the driver to not depend on other code. Introduced bits: REG11[0] - selects Vref. 0 - calibration voltage, 1 - VDDA. txlx and later SoCs support VDDA or calibration voltage as Vref, but others support only calibration voltage. For newer platforms vendor uses VDDA as default. REG11[1] - reserved bit. g12a and later SoCs must write 1, others SoCs write 0. REG11[5] - Vref voltage. 0 - 0.9v, 1 - 1.8v. g12a and later SoCs must write 0, others SoCs write 1. REG11[6] - selects common-mode voltage, 0: from AVDD, 1: from Vref. g12a and later SoCs must write 0, others SoCs write 1. Signed-off-by: George Stark --- drivers/iio/adc/meson_saradc.c | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c index 806ba7cd7320..05fb30b81b8d 100644 --- a/drivers/iio/adc/meson_saradc.c +++ b/drivers/iio/adc/meson_saradc.c @@ -156,6 +156,10 @@ */ #define MESON_SAR_ADC_REG11 0x2c #define MESON_SAR_ADC_REG11_BANDGAP_EN BIT(13) + #define MESON_SAR_ADC_REG11_CMV_SEL BIT(6) + #define MESON_SAR_ADC_REG11_VREF_VOLTAGE BIT(5) + #define MESON_SAR_ADC_REG11_EOC BIT(1) + #define MESON_SAR_ADC_REG11_VREF_SEL BIT(0) #define MESON_SAR_ADC_REG13 0x34 #define MESON_SAR_ADC_REG13_12BIT_CALIBRATION_MASK GENMASK(13, 8) @@ -216,6 +220,11 @@ .datasheet_name = "SAR_ADC_MUX_"#_sel, \ } +enum meson_sar_adc_vref_sel { + VREF_CALIBATION_VOLTAGE = 0, + VREF_VDDA = 1, +}; + enum meson_sar_adc_avg_mode { NO_AVERAGING = 0x0, MEAN_AVERAGING = 0x1, @@ -314,6 +323,12 @@ struct meson_sar_adc_param { unsigned int temperature_multiplier; unsigned int temperature_divider; u8 disable_ring_counter; + bool has_reg11; + bool has_vref_select; + u8 vref_select; + u8 cmv_select; + u8 adc_eoc; + enum meson_sar_adc_vref_sel vref_volatge; }; struct meson_sar_adc_data { @@ -974,6 +989,29 @@ static int meson_sar_adc_init(struct iio_dev *indio_dev) MESON_SAR_ADC_REG3_CTRL_CONT_RING_COUNTER_EN, regval); + if (priv->param->has_reg11) { + regval = FIELD_PREP(MESON_SAR_ADC_REG11_EOC, priv->param->adc_eoc); + regmap_update_bits(priv->regmap, MESON_SAR_ADC_REG11, + MESON_SAR_ADC_REG11_EOC, regval); + + if (priv->param->has_vref_select) { + regval = FIELD_PREP(MESON_SAR_ADC_REG11_VREF_SEL, + priv->param->vref_select); + regmap_update_bits(priv->regmap, MESON_SAR_ADC_REG11, + MESON_SAR_ADC_REG11_VREF_SEL, regval); + } + + regval = FIELD_PREP(MESON_SAR_ADC_REG11_VREF_VOLTAGE, + priv->param->vref_volatge); + regmap_update_bits(priv->regmap, MESON_SAR_ADC_REG11, + MESON_SAR_ADC_REG11_VREF_VOLTAGE, regval); + + regval = FIELD_PREP(MESON_SAR_ADC_REG11_CMV_SEL, + priv->param->cmv_select); + regmap_update_bits(priv->regmap, MESON_SAR_ADC_REG11, + MESON_SAR_ADC_REG11_CMV_SEL, regval); + } + ret = clk_set_parent(priv->adc_sel_clk, priv->clkin); if (ret) return dev_err_probe(dev, ret, "failed to set adc parent to clkin\n"); @@ -1195,6 +1233,9 @@ static const struct meson_sar_adc_param meson_sar_adc_gxbb_param = { .bandgap_reg = MESON_SAR_ADC_REG11, .regmap_config = &meson_sar_adc_regmap_config_gxbb, .resolution = 10, + .has_reg11 = true, + .vref_volatge = 1, + .cmv_select = 1, }; static const struct meson_sar_adc_param meson_sar_adc_gxl_param = { @@ -1204,6 +1245,9 @@ static const struct meson_sar_adc_param meson_sar_adc_gxl_param = { .regmap_config = &meson_sar_adc_regmap_config_gxbb, .resolution = 12, .disable_ring_counter = 1, + .has_reg11 = true, + .vref_volatge = 1, + .cmv_select = 1, }; static const struct meson_sar_adc_param meson_sar_adc_g12a_param = { @@ -1213,6 +1257,10 @@ static const struct meson_sar_adc_param meson_sar_adc_g12a_param = { .regmap_config = &meson_sar_adc_regmap_config_gxbb, .resolution = 12, .disable_ring_counter = 1, + .has_reg11 = true, + .adc_eoc = 1, + .has_vref_select = true, + .vref_select = VREF_VDDA, }; static const struct meson_sar_adc_data meson_sar_adc_meson8_data = {