From: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
To: Yuvaraj Cd <yuvaraj.lkml@gmail.com>,
Doug Anderson <dianders@chromium.org>
Cc: Mark Brown <broonie@kernel.org>, Olof Johansson <olof@lixom.net>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Abhilash Kesavan <a.kesavan@samsung.com>,
Prashanth G <prashanth.g@samsung.com>,
Alim Akhtar <alim.akhtar@samsung.com>,
sunil joshi <joshi@samsung.com>
Subject: Re: [PATCH v9 1/2] regulator: Add driver for max77802 PMIC PMIC regulators
Date: Mon, 25 Aug 2014 11:07:08 +0200 [thread overview]
Message-ID: <53FAFCBC.2050407@collabora.co.uk> (raw)
In-Reply-To: <CA+NduCCT-KQ=gh7QWkBE4qkA2YOJ8KCVqbkC6Tkmb1aPvCsGFQ@mail.gmail.com>
Hello Yuvaraj,
On 08/25/2014 10:22 AM, Yuvaraj Cd wrote:
>>> Good question. I'm not that familiar with the dw_mmc host controller nor
>>> its driver implementation so I'll let Yuvaraj or Doug to answer that.
> Well,here it goes!
> 1. Power ON the board LDO4CTRL1[7:6] 11b
> 2. dw_mmc driver enable the vqmmc.
> 3. checks for UHS support, complete the voltage switching t0 1.8V
> 4. Does warm reset by reboot command.
> 5. mmc core calls mmc_set_ios() with MMC_POWER_OFF.
> 6. dw_mmc driver cut-off the regulator with LDO4CTRL1[7:6] is 00b
> 7.dw_mmc driver enable the vqmmc.
> But after step 7 also, LD4CTRL[7:6] is 00b.
Ok, so the dw_mmc driver is enabling vqmmc, that's good.
>>
>> I haven't seen the issue that Yuvaraj is reporting (but I also haven't
>> picked up all of the relevant patches and tried to reproduce), so I'm
>> going to have to leave it to Yuvaraj to answer.
> static int max77802_enable(struct regulator_dev *rdev)
> {
> struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev);
> int id = rdev_get_id(rdev);
> int shift = max77802_get_opmode_shift(id);
> return regmap_update_bits(rdev->regmap,
> rdev->desc->enable_reg,rdev->desc->enable_mask,max77802->opmode[id] <<
> shift);
> }
> I think in the above code snippet, the "val" is what we got it during
> the probe.We always write that value for enabling this regulator(which
> is LDO4CTRL1[7:6] 00b after warm reset) which is not correct according
> the MAX77802 manual.
>>
I see, so probably until we have a way to define the operating mode for
each regulator using DT we should set the opmode to normal when enabling a
regulator independently of the value the hardware register reported on probe.
Can you please test the following change [0] so I can post as a proper
patch? Doug, Mark do you think that forcing the regulator to opmode normal
when enabling is the right solution here?
Best regards,
Javier
[0]
diff --git a/drivers/regulator/max77802.c b/drivers/regulator/max77802.c
index ad1caa9..917b5ab 100644
--- a/drivers/regulator/max77802.c
+++ b/drivers/regulator/max77802.c
@@ -180,7 +180,7 @@ static int max77802_enable(struct regulator_dev *rdev)
return regmap_update_bits(rdev->regmap, rdev->desc->enable_reg,
rdev->desc->enable_mask,
- max77802->opmode[id] << shift);
+ MAX77802_OPMODE_NORMAL << shift);
}
WARNING: multiple messages have this Message-ID (diff)
From: javier.martinez@collabora.co.uk (Javier Martinez Canillas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 1/2] regulator: Add driver for max77802 PMIC PMIC regulators
Date: Mon, 25 Aug 2014 11:07:08 +0200 [thread overview]
Message-ID: <53FAFCBC.2050407@collabora.co.uk> (raw)
In-Reply-To: <CA+NduCCT-KQ=gh7QWkBE4qkA2YOJ8KCVqbkC6Tkmb1aPvCsGFQ@mail.gmail.com>
Hello Yuvaraj,
On 08/25/2014 10:22 AM, Yuvaraj Cd wrote:
>>> Good question. I'm not that familiar with the dw_mmc host controller nor
>>> its driver implementation so I'll let Yuvaraj or Doug to answer that.
> Well,here it goes!
> 1. Power ON the board LDO4CTRL1[7:6] 11b
> 2. dw_mmc driver enable the vqmmc.
> 3. checks for UHS support, complete the voltage switching t0 1.8V
> 4. Does warm reset by reboot command.
> 5. mmc core calls mmc_set_ios() with MMC_POWER_OFF.
> 6. dw_mmc driver cut-off the regulator with LDO4CTRL1[7:6] is 00b
> 7.dw_mmc driver enable the vqmmc.
> But after step 7 also, LD4CTRL[7:6] is 00b.
Ok, so the dw_mmc driver is enabling vqmmc, that's good.
>>
>> I haven't seen the issue that Yuvaraj is reporting (but I also haven't
>> picked up all of the relevant patches and tried to reproduce), so I'm
>> going to have to leave it to Yuvaraj to answer.
> static int max77802_enable(struct regulator_dev *rdev)
> {
> struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev);
> int id = rdev_get_id(rdev);
> int shift = max77802_get_opmode_shift(id);
> return regmap_update_bits(rdev->regmap,
> rdev->desc->enable_reg,rdev->desc->enable_mask,max77802->opmode[id] <<
> shift);
> }
> I think in the above code snippet, the "val" is what we got it during
> the probe.We always write that value for enabling this regulator(which
> is LDO4CTRL1[7:6] 00b after warm reset) which is not correct according
> the MAX77802 manual.
>>
I see, so probably until we have a way to define the operating mode for
each regulator using DT we should set the opmode to normal when enabling a
regulator independently of the value the hardware register reported on probe.
Can you please test the following change [0] so I can post as a proper
patch? Doug, Mark do you think that forcing the regulator to opmode normal
when enabling is the right solution here?
Best regards,
Javier
[0]
diff --git a/drivers/regulator/max77802.c b/drivers/regulator/max77802.c
index ad1caa9..917b5ab 100644
--- a/drivers/regulator/max77802.c
+++ b/drivers/regulator/max77802.c
@@ -180,7 +180,7 @@ static int max77802_enable(struct regulator_dev *rdev)
return regmap_update_bits(rdev->regmap, rdev->desc->enable_reg,
rdev->desc->enable_mask,
- max77802->opmode[id] << shift);
+ MAX77802_OPMODE_NORMAL << shift);
}
next prev parent reply other threads:[~2014-08-25 9:07 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-18 8:32 [PATCH v9 0/2] Add Maxim 77802 regulator support Javier Martinez Canillas
2014-08-18 8:32 ` Javier Martinez Canillas
2014-08-18 8:32 ` [PATCH v9 1/2] regulator: Add driver for max77802 PMIC PMIC regulators Javier Martinez Canillas
2014-08-18 8:32 ` Javier Martinez Canillas
2014-08-18 8:32 ` Javier Martinez Canillas
2014-08-18 15:23 ` Mark Brown
2014-08-18 15:23 ` Mark Brown
2014-08-22 6:01 ` Yuvaraj Cd
2014-08-22 6:01 ` Yuvaraj Cd
2014-08-22 12:15 ` Javier Martinez Canillas
2014-08-22 12:15 ` Javier Martinez Canillas
2014-08-22 14:45 ` Mark Brown
2014-08-22 14:45 ` Mark Brown
2014-08-22 17:53 ` Javier Martinez Canillas
2014-08-22 17:53 ` Javier Martinez Canillas
2014-08-22 18:30 ` Mark Brown
2014-08-22 18:30 ` Mark Brown
[not found] ` <20140822183054.GY24407-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-08-22 22:02 ` Javier Martinez Canillas
2014-08-22 22:02 ` Javier Martinez Canillas
2014-08-22 22:02 ` Javier Martinez Canillas
[not found] ` <53F7BDD8.7060500-ZGY8ohtN/8pPYcu2f3hruQ@public.gmane.org>
2014-08-22 22:15 ` Doug Anderson
2014-08-22 22:15 ` Doug Anderson
2014-08-22 22:15 ` Doug Anderson
2014-08-25 8:22 ` Yuvaraj Cd
2014-08-25 8:22 ` Yuvaraj Cd
2014-08-25 9:07 ` Javier Martinez Canillas [this message]
2014-08-25 9:07 ` Javier Martinez Canillas
2014-08-25 10:46 ` Yuvaraj Cd
2014-08-25 10:46 ` Yuvaraj Cd
2014-08-25 15:40 ` Doug Anderson
2014-08-25 15:40 ` Doug Anderson
[not found] ` <CAD=FV=V4TSKsbjj3dXCdSzVrh3sxH-FkpFEbEo+JA1bN9R-XWA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-25 17:20 ` Javier Martinez Canillas
2014-08-25 17:20 ` Javier Martinez Canillas
2014-08-25 17:20 ` Javier Martinez Canillas
2014-08-26 7:17 ` Mark Brown
2014-08-26 7:17 ` Mark Brown
2014-08-26 9:08 ` Javier Martinez Canillas
2014-08-26 9:08 ` Javier Martinez Canillas
2014-08-26 9:12 ` Mark Brown
2014-08-26 9:12 ` Mark Brown
2014-08-18 8:32 ` [PATCH v9 2/2] regulator: Add DT bindings for max77802 " Javier Martinez Canillas
2014-08-18 8:32 ` Javier Martinez Canillas
2014-08-18 8:32 ` Javier Martinez Canillas
2014-08-18 15:23 ` Mark Brown
2014-08-18 15:23 ` Mark Brown
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=53FAFCBC.2050407@collabora.co.uk \
--to=javier.martinez@collabora.co.uk \
--cc=a.kesavan@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=joshi@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=olof@lixom.net \
--cc=prashanth.g@samsung.com \
--cc=yuvaraj.lkml@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.