From: Jakob Hauser <jahau@rocketmail.com>
To: Sebastian Reichel <sre@kernel.org>, Lee Jones <lee@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Beomho Seo <beomho.seo@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Stephan Gerhold <stephan@gerhold.net>,
Raymond Hackley <raymondhackley@protonmail.com>,
Pavel Machek <pavel@ucw.cz>, Axel Lin <axel.lin@ingics.com>,
ChiYuan Huang <cy_huang@richtek.com>,
Linus Walleij <linus.walleij@linaro.org>,
Henrik Grimler <henrik@grimler.se>,
linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org,
~postmarketos/upstreaming@lists.sr.ht
Subject: [PATCH v4 2/8] mfd: rt5033: Fix chip revision readout
Date: Sat, 6 May 2023 17:54:29 +0200 [thread overview]
Message-ID: <20230506155435.3005-3-jahau@rocketmail.com> (raw)
In-Reply-To: <20230506155435.3005-1-jahau@rocketmail.com>
After reading the data from the DEVICE_ID register, mask 0x0f needs to be
applied to extract the revision of the chip [1].
The other part of the DEVICE_ID register, mask 0xf0, is a vendor identification
code. That's how it is set up at similar products of Richtek, e.g. RT9455 [2]
page 21 top.
[1] https://github.com/msm8916-mainline/linux-downstream/blob/GT-I9195I/drivers/mfd/rt5033_core.c#L484
[2] https://www.richtek.com/assets/product_file/RT9455/DS9455-00.pdf
Signed-off-by: Jakob Hauser <jahau@rocketmail.com>
---
drivers/mfd/rt5033.c | 5 +++--
include/linux/mfd/rt5033-private.h | 4 ++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/mfd/rt5033.c b/drivers/mfd/rt5033.c
index 8029d444b794..3eee4242ee02 100644
--- a/drivers/mfd/rt5033.c
+++ b/drivers/mfd/rt5033.c
@@ -55,7 +55,7 @@ static const struct regmap_config rt5033_regmap_config = {
static int rt5033_i2c_probe(struct i2c_client *i2c)
{
struct rt5033_dev *rt5033;
- unsigned int dev_id;
+ unsigned int dev_id, chip_rev;
int ret;
rt5033 = devm_kzalloc(&i2c->dev, sizeof(*rt5033), GFP_KERNEL);
@@ -78,7 +78,8 @@ static int rt5033_i2c_probe(struct i2c_client *i2c)
dev_err(&i2c->dev, "Device not found\n");
return -ENODEV;
}
- dev_info(&i2c->dev, "Device found Device ID: %04x\n", dev_id);
+ chip_rev = dev_id & RT5033_CHIP_REV_MASK;
+ dev_info(&i2c->dev, "Device found (rev. %d)\n", chip_rev);
ret = regmap_add_irq_chip(rt5033->regmap, rt5033->irq,
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
diff --git a/include/linux/mfd/rt5033-private.h b/include/linux/mfd/rt5033-private.h
index 6bb432f6a96c..b035a67cec73 100644
--- a/include/linux/mfd/rt5033-private.h
+++ b/include/linux/mfd/rt5033-private.h
@@ -71,6 +71,10 @@ enum rt5033_reg {
/* RT5033 CHGCTRL2 register */
#define RT5033_CHGCTRL2_CV_MASK 0xfc
+/* RT5033 DEVICE_ID register */
+#define RT5033_VENDOR_ID_MASK 0xf0
+#define RT5033_CHIP_REV_MASK 0x0f
+
/* RT5033 CHGCTRL3 register */
#define RT5033_CHGCTRL3_CFO_EN_MASK 0x40
#define RT5033_CHGCTRL3_TIMER_MASK 0x38
--
2.39.2
next prev parent reply other threads:[~2023-05-06 15:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20230506155435.3005-1-jahau.ref@rocketmail.com>
2023-05-06 15:54 ` [PATCH v4 0/8] Add RT5033 charger device driver Jakob Hauser
2023-05-06 15:54 ` [PATCH v4 1/8] mfd: rt5033: Drop rt5033-battery sub-device Jakob Hauser
2023-05-06 15:54 ` Jakob Hauser [this message]
2023-05-06 15:54 ` [PATCH v4 3/8] mfd: rt5033: Fix STAT_MASK, HZ_MASK and AICR defines Jakob Hauser
2023-05-06 15:54 ` [PATCH v4 4/8] mfd: rt5033: Apply preparatory changes before adding rt5033-charger driver Jakob Hauser
2023-05-06 15:54 ` [PATCH v4 5/8] power: supply: rt5033_charger: Add RT5033 charger device driver Jakob Hauser
2023-05-08 6:50 ` Sebastian Reichel
2023-05-08 20:27 ` Jakob Hauser
2023-05-06 15:54 ` [PATCH v4 6/8] power: supply: rt5033_charger: Add cable detection and USB OTG supply Jakob Hauser
2023-05-08 11:43 ` Sebastian Reichel
2023-05-08 20:36 ` Jakob Hauser
2023-05-06 15:54 ` [PATCH v4 7/8] power: supply: rt5033_battery: Adopt status property from charger Jakob Hauser
2023-05-08 11:35 ` Sebastian Reichel
2023-05-08 21:18 ` Jakob Hauser
2023-05-08 22:06 ` Sebastian Reichel
2023-05-09 1:01 ` Jakob Hauser
2023-05-09 7:25 ` Sebastian Reichel
2023-05-09 23:00 ` Jakob Hauser
2023-05-06 15:54 ` [PATCH v4 8/8] dt-bindings: Add rt5033 mfd, regulator and charger Jakob Hauser
2023-05-09 9:18 ` Krzysztof Kozlowski
2023-05-09 23:08 ` Jakob Hauser
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=20230506155435.3005-3-jahau@rocketmail.com \
--to=jahau@rocketmail.com \
--cc=axel.lin@ingics.com \
--cc=beomho.seo@samsung.com \
--cc=broonie@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=cy_huang@richtek.com \
--cc=devicetree@vger.kernel.org \
--cc=henrik@grimler.se \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=phone-devel@vger.kernel.org \
--cc=raymondhackley@protonmail.com \
--cc=robh+dt@kernel.org \
--cc=sre@kernel.org \
--cc=stephan@gerhold.net \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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).