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: 57+ 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 6:01 ` Yuvaraj Cd 2014-08-22 12:15 ` Javier Martinez Canillas 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 14:45 ` Mark Brown 2014-08-22 17:53 ` Javier Martinez Canillas 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 2014-08-22 18:30 ` Mark Brown 2014-08-22 22:02 ` Javier Martinez Canillas 2014-08-22 22:02 ` Javier Martinez Canillas 2014-08-22 22:02 ` Javier Martinez Canillas 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 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 9:07 ` Javier Martinez Canillas 2014-08-25 10:46 ` Yuvaraj Cd 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 2014-08-25 15:40 ` Doug Anderson 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 7:17 ` Mark Brown 2014-08-26 9:08 ` Javier Martinez Canillas 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-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: linkBe 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.