Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1232674 > unrolled thread
| Started by | Sascha Hauer <s.hauer@pengutronix.de> |
|---|---|
| First post | 2015-09-25 11:10 +0200 |
| Last post | 2015-09-29 17:10 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
Voltage setting on chained regulators, how? Sascha Hauer <s.hauer@pengutronix.de> - 2015-09-25 11:10 +0200
Re: Voltage setting on chained regulators, how? Mark Brown <broonie@kernel.org> - 2015-09-25 18:50 +0200
Re: Voltage setting on chained regulators, how? Sascha Hauer <s.hauer@pengutronix.de> - 2015-09-29 10:10 +0200
Re: Voltage setting on chained regulators, how? Mark Brown <broonie@kernel.org> - 2015-09-29 17:10 +0200
| From | Sascha Hauer <s.hauer@pengutronix.de> |
|---|---|
| Date | 2015-09-25 11:10 +0200 |
| Subject | Voltage setting on chained regulators, how? |
| Message-ID | <qcxaW-5hA-7@gated-at.bofh.it> |
Hi, On i.MX6 we have the situation that the CPU is supplied by a SoC internal linear regulator which in turn is supplied by an external switching regulator: ---> Switching regulator ---> LDO ---> CPU For energy efficiency reasons we want to minimize the dropout voltage on the LDO. Any idea how such a scenario could be implemented? The regulator framework already has some idea of supply regulators, but it only takes care of en/disabling the supplies and will not change the voltage on the supplies. Should this be implemented in the regulator framework? Some first experiments brought me into a locking hell quite fast. Another possibility of course would be to implement this completely in the cpufreq driver and not bother the regulator framework. Looking at drivers/cpufreq/imx6q-cpufreq.c the regulator handling code in there is already complicated enough since in reality it's not one LDO but three and we would have to add another two regulators to this driver. For added fun ideally we want to put the LDOs in bypass mode instead of configuring them for minimum dropout. The bypass mode doesn't work for the 1.2GHz operating point though since the ripple on the switching regulator gets too high. So we can't just statically configure bypass mode but have to enable it dynamically based on the operating points. Any ideas/input how to proceed? Thanks Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Mark Brown <broonie@kernel.org> |
|---|---|
| Date | 2015-09-25 18:50 +0200 |
| Message-ID | <qcEm6-746-15@gated-at.bofh.it> |
| In reply to | #1232674 |
[Multipart message — attachments visible in raw view] — view raw
On Fri, Sep 25, 2015 at 11:07:24AM +0200, Sascha Hauer wrote: > Any idea how such a scenario could be implemented? The regulator > framework already has some idea of supply regulators, but it only takes > care of en/disabling the supplies and will not change the voltage on the > supplies. Should this be implemented in the regulator framework? Some > first experiments brought me into a locking hell quite fast. It's just a case of implementation, but yes the locking is fun. I don't think it's that big a deal to rethink it, it's partly complicated since the existing locking is designed to be really simple and easy to review. > For added fun ideally we want to put the LDOs in bypass mode instead of > configuring them for minimum dropout. The bypass mode doesn't work for > the 1.2GHz operating point though since the ripple on the switching > regulator gets too high. So we can't just statically configure bypass > mode but have to enable it dynamically based on the operating points. I suspect you always want the LDO in there to clean the supply up, it's just a more serious issue when more power is being drawn. Having a DCDC doing most of the voltage drop for efficiency with a LDO to clean up the output of the DCDC is pretty common.
[toc] | [prev] | [next] | [standalone]
| From | Sascha Hauer <s.hauer@pengutronix.de> |
|---|---|
| Date | 2015-09-29 10:10 +0200 |
| Message-ID | <qdY94-Eb-13@gated-at.bofh.it> |
| In reply to | #1232938 |
On Fri, Sep 25, 2015 at 09:47:26AM -0700, Mark Brown wrote: > On Fri, Sep 25, 2015 at 11:07:24AM +0200, Sascha Hauer wrote: > > > Any idea how such a scenario could be implemented? The regulator > > framework already has some idea of supply regulators, but it only takes > > care of en/disabling the supplies and will not change the voltage on the > > supplies. Should this be implemented in the regulator framework? Some > > first experiments brought me into a locking hell quite fast. > > It's just a case of implementation, but yes the locking is fun. I don't > think it's that big a deal to rethink it, it's partly complicated since > the existing locking is designed to be really simple and easy to review. Ok, it seems you're generally ok with putting this into the regulator core. I'll try and see what I can come up with. Maybe I leave the locking part for later to see if this otherwise solves my problem or if there are other pitfalls I don't see yet. > > > For added fun ideally we want to put the LDOs in bypass mode instead of > > configuring them for minimum dropout. The bypass mode doesn't work for > > the 1.2GHz operating point though since the ripple on the switching > > regulator gets too high. So we can't just statically configure bypass > > mode but have to enable it dynamically based on the operating points. > > I suspect you always want the LDO in there to clean the supply up, it's > just a more serious issue when more power is being drawn. I just had a look at the i.MX6 datasheets and saw that while it's possible to put the LDOs in bypass mode the expected lifetime of the SoC decreases without the LDOs. So it seems better to let them enabled and just make the voltage drop as small as possible. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Mark Brown <broonie@kernel.org> |
|---|---|
| Date | 2015-09-29 17:10 +0200 |
| Message-ID | <qe4Hw-1BQ-23@gated-at.bofh.it> |
| In reply to | #1234798 |
[Multipart message — attachments visible in raw view] — view raw
On Tue, Sep 29, 2015 at 10:00:44AM +0200, Sascha Hauer wrote: > On Fri, Sep 25, 2015 at 09:47:26AM -0700, Mark Brown wrote: > > I suspect you always want the LDO in there to clean the supply up, it's > > just a more serious issue when more power is being drawn. > I just had a look at the i.MX6 datasheets and saw that while it's > possible to put the LDOs in bypass mode the expected lifetime of the SoC > decreases without the LDOs. So it seems better to let them enabled and > just make the voltage drop as small as possible. Yeah, that sounds pretty standard. It would be really good to get support for minimising the voltage drop over the LDO, there are going to be quite a few systems which could get a power consumption benefit from dynamically tuning the voltages of DCDCs like this.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web