linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: citral23 <cbranchereau@gmail.com>
To: paul@crapouillou.net
Cc: jic23@kernel.org, lars@metafoo.de, linux-mips@vger.kernel.org,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	robh+dt@kernel.org, devicetree@vger.kernel.org,
	linux@roeck-us.net, contact@artur-rojek.eu,
	citral23 <cbranchereau@gmail.com>
Subject: [PATCH 4/6] iio/adc: ingenic: add JZ4760B support to the sadc driver
Date: Wed, 21 Jul 2021 12:53:15 +0200	[thread overview]
Message-ID: <20210721105317.36742-5-cbranchereau@gmail.com> (raw)
In-Reply-To: <20210721105317.36742-1-cbranchereau@gmail.com>

The JZ4760B variant differs slightly from the JZ4760, in that it has a bit called VBAT_SEL
in the CFG register. In order to correctly sample the battery voltage on existing handhelds
using this SOC, the bit must be cleared.

We leave the possibility to set the bit, by using the "ingenic,use-internal-divider" in the devicetree.

Signed-off-by: citral23 <cbranchereau@gmail.com>
---
 drivers/iio/adc/ingenic-adc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/iio/adc/ingenic-adc.c b/drivers/iio/adc/ingenic-adc.c
index 285e7aa8e37a..618150475421 100644
--- a/drivers/iio/adc/ingenic-adc.c
+++ b/drivers/iio/adc/ingenic-adc.c
@@ -37,6 +37,7 @@
 #define JZ_ADC_REG_CFG_SAMPLE_NUM(n)	((n) << 10)
 #define JZ_ADC_REG_CFG_PULL_UP(n)	((n) << 16)
 #define JZ_ADC_REG_CFG_CMD_SEL		BIT(22)
+#define JZ_ADC_REG_CFG_VBAT_SEL		BIT(30)
 #define JZ_ADC_REG_CFG_TOUCH_OPS_MASK	(BIT(31) | GENMASK(23, 10))
 #define JZ_ADC_REG_ADCLK_CLKDIV_LSB	0
 #define JZ4725B_ADC_REG_ADCLK_CLKDIV10US_LSB	16
@@ -869,6 +870,10 @@ static int ingenic_adc_probe(struct platform_device *pdev)
 	/* Put hardware in a known passive state. */
 	writeb(0x00, adc->base + JZ_ADC_REG_ENABLE);
 	writeb(0xff, adc->base + JZ_ADC_REG_CTRL);
+
+	if (!device_property_present(dev, "ingenic,use-internal-divider")) /* JZ4760B specific */
+		ingenic_adc_set_config(adc, JZ_ADC_REG_CFG_VBAT_SEL, 0);
+
 	usleep_range(2000, 3000); /* Must wait at least 2ms. */
 	clk_disable(adc->clk);
 
@@ -896,6 +901,7 @@ static const struct of_device_id ingenic_adc_of_match[] = {
 	{ .compatible = "ingenic,jz4725b-adc", .data = &jz4725b_adc_soc_data, },
 	{ .compatible = "ingenic,jz4740-adc", .data = &jz4740_adc_soc_data, },
 	{ .compatible = "ingenic,jz4760-adc", .data = &jz4760_adc_soc_data, },
+	{ .compatible = "ingenic,jz4760b-adc", .data = &jz4760_adc_soc_data, },
 	{ .compatible = "ingenic,jz4770-adc", .data = &jz4770_adc_soc_data, },
 	{ },
 };
-- 
2.30.2


  parent reply	other threads:[~2021-07-21 11:23 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21 10:53 [PATCH] Ingenic: iio/adc: add JZ4760(B) support to the citral23
2021-07-21 10:53 ` [PATCH 1/6] iio/adc: ingenic: rename has_aux2 to has_aux_md citral23
2021-07-21 17:46   ` Paul Cercueil
2021-07-21 10:53 ` [PATCH 2/6] dt-bindings: iio/adc: add an INGENIC_ADC_AUX0 entry citral23
2021-07-21 17:46   ` Paul Cercueil
2021-07-21 10:53 ` [PATCH 3/6] iio/adc: ingenic: add JZ4760 support to the sadc driver citral23
2021-07-21 18:15   ` Paul Cercueil
2021-07-22  5:09     ` Christophe Branchereau
2021-07-22  5:23       ` Guenter Roeck
2021-07-23  8:58         ` [PATCH V2 0/5] iio/adc: ingenic: add support for the JZ4760(B) Socs to the ingenic " Christophe Branchereau
2021-07-23  8:58           ` [PATCH V2 1/5] iio/adc: ingenic: rename has_aux2 to has_aux_md Christophe Branchereau
2021-07-23  8:58           ` [PATCH V2 2/5] dt-bindings: iio/adc: add an INGENIC_ADC_AUX0 entry Christophe Branchereau
2021-07-23  8:58           ` [PATCH V2 3/5] iio/adc: ingenic: add JZ4760 support to the sadc driver Christophe Branchereau
2021-07-23  8:58           ` [PATCH V2 4/5] iio/adc: ingenic: add JZ4760B " Christophe Branchereau
2021-07-23 16:15             ` Jonathan Cameron
2021-07-23  8:58           ` [PATCH V2 5/5] dt-bindings: iio/adc: ingenic: add the JZ4760(B) socs to the sadc Documentation Christophe Branchereau
2021-07-23 16:16             ` Jonathan Cameron
2021-07-24  7:33               ` Christophe Branchereau
2021-07-24 15:23                 ` Jonathan Cameron
2021-07-23 16:03           ` [PATCH V2 0/5] iio/adc: ingenic: add support for the JZ4760(B) Socs to the ingenic sadc driver Jonathan Cameron
2021-07-23 16:13     ` [PATCH 3/6] iio/adc: ingenic: add JZ4760 support to the " Jonathan Cameron
2021-07-21 10:53 ` citral23 [this message]
2021-07-21 18:24   ` [PATCH 4/6] iio/adc: ingenic: add JZ4760B " Paul Cercueil
2021-07-21 10:53 ` [PATCH 5/6] iio/adc: ingenic: modify citral23
2021-07-21 18:28   ` Paul Cercueil
2021-07-21 10:53 ` [PATCH 6/6] dt-bindings: iio/adc: ingenic: add the JZ4760(B) socs to the sadc Documentation citral23
2021-07-21 19:17   ` Paul Cercueil
2021-07-23 16:10     ` Jonathan Cameron
2021-07-22  2:09   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210721105317.36742-5-cbranchereau@gmail.com \
    --to=cbranchereau@gmail.com \
    --cc=contact@artur-rojek.eu \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=paul@crapouillou.net \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).