From: vaibhav.hiremath@linaro.org (Vaibhav Hiremath)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH-v2 2/2] regulator: 88pm800: Add support for configuration of dual phase on BUCK1
Date: Thu, 06 Aug 2015 11:33:56 +0530 [thread overview]
Message-ID: <55C2F8CC.1010308@linaro.org> (raw)
In-Reply-To: <55C2A340.6020809@samsung.com>
On Thursday 06 August 2015 05:28 AM, Krzysztof Kozlowski wrote:
> On 05.08.2015 17:45, Vaibhav Hiremath wrote:
>>
>>
>> On Thursday 23 July 2015 10:21 AM, Krzysztof Kozlowski wrote:
>>> 2015-07-22 1:23 GMT+09:00 Vaibhav Hiremath <vaibhav.hiremath@linaro.org>:
>>>> 88PM860 device supports dual phase mode on BUCK1 output.
>>>> In normal usecase, BUCK1A and BUCK1B operates independently with 3A
>>>> capacity. And they both can work as a dual phase providing 6A capacity.
>>>>
>>>> This patch updates the regulator driver to read the respective
>>>> DT property and enable dual-phase mode on BUCK1.
>>>>
>>>> Note that, this is init time (one time) initialization.
>>>>
>>
>> Sorry for delayed response, was on bed rest almost for week.
>>
>>>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
>>>> ---
>>>> drivers/regulator/88pm800.c | 31 +++++++++++++++++++++++++++++++
>>>> include/linux/mfd/88pm80x.h | 3 +++
>>>> 2 files changed, 34 insertions(+)
>>>
>>> Don't you need to update the constraints also? I think the BUCK1
>>> regulator has fixed constraint of 3 A:
>>> PM800_BUCK(buck1, BUCK1, BUCK_ENA, 0, 3000000, buck1_volt_range,
>>> 0x55),
>>> and now it can handle 6 A.
>>>
>>
>> Actually, BUCK1A and BUCK1B both combined together provide 6A capacity.
>> And as discussed earlier, we need board change for this.
>>
>> I am quite not sure.
>
> AFAIU the regulator driver creates one BUCK1 regulator with constraints
> 3 A. However after your change the regulator will handle up to 6 A.
>
> This means that constraints set by driver are wrong.
>
> Additionally I can't find BUCK1A and BUCK1B regulators. Driver provides
> only BUCK1.
>
My patch does add BUCK1A and BUCK1B, please refer to the PATCH[4/5] of
earlier series, which is accepted.
https://patchwork.kernel.org/patch/6810461/
>>
>> Should I read the property and update the constraint runtime during
>> probe?
>
> Driver should provide real constraints. Find the proper way to do this.
>
> The pm800_regulator_info[] array is not const so you can change it in
> whatever way you want (although it should be const for existing driver
> because regulator core accepts const and passing it to driver_data is
> not necessary).
>
Probably that is the only way to handle this.
how about,
As you mentioned, pm800_regulator_info[] is not constant, so I can
update the constraint before regulator_register() and also do not
register BUCK1B, if dual phase is enabled.
So in summary,
if (dual phase is enabled)
{
Update constraint of BUCK1 to 6A
and do not register BUCK1B
} else {
register both BUCK1A and BUCK1B with default constraint of 3A.
}
Thanks,
Vaibhav
WARNING: multiple messages have this Message-ID (diff)
From: Vaibhav Hiremath <vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Krzysztof Kozlowski
<k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH-v2 2/2] regulator: 88pm800: Add support for configuration of dual phase on BUCK1
Date: Thu, 06 Aug 2015 11:33:56 +0530 [thread overview]
Message-ID: <55C2F8CC.1010308@linaro.org> (raw)
In-Reply-To: <55C2A340.6020809-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
On Thursday 06 August 2015 05:28 AM, Krzysztof Kozlowski wrote:
> On 05.08.2015 17:45, Vaibhav Hiremath wrote:
>>
>>
>> On Thursday 23 July 2015 10:21 AM, Krzysztof Kozlowski wrote:
>>> 2015-07-22 1:23 GMT+09:00 Vaibhav Hiremath <vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>:
>>>> 88PM860 device supports dual phase mode on BUCK1 output.
>>>> In normal usecase, BUCK1A and BUCK1B operates independently with 3A
>>>> capacity. And they both can work as a dual phase providing 6A capacity.
>>>>
>>>> This patch updates the regulator driver to read the respective
>>>> DT property and enable dual-phase mode on BUCK1.
>>>>
>>>> Note that, this is init time (one time) initialization.
>>>>
>>
>> Sorry for delayed response, was on bed rest almost for week.
>>
>>>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
>>>> ---
>>>> drivers/regulator/88pm800.c | 31 +++++++++++++++++++++++++++++++
>>>> include/linux/mfd/88pm80x.h | 3 +++
>>>> 2 files changed, 34 insertions(+)
>>>
>>> Don't you need to update the constraints also? I think the BUCK1
>>> regulator has fixed constraint of 3 A:
>>> PM800_BUCK(buck1, BUCK1, BUCK_ENA, 0, 3000000, buck1_volt_range,
>>> 0x55),
>>> and now it can handle 6 A.
>>>
>>
>> Actually, BUCK1A and BUCK1B both combined together provide 6A capacity.
>> And as discussed earlier, we need board change for this.
>>
>> I am quite not sure.
>
> AFAIU the regulator driver creates one BUCK1 regulator with constraints
> 3 A. However after your change the regulator will handle up to 6 A.
>
> This means that constraints set by driver are wrong.
>
> Additionally I can't find BUCK1A and BUCK1B regulators. Driver provides
> only BUCK1.
>
My patch does add BUCK1A and BUCK1B, please refer to the PATCH[4/5] of
earlier series, which is accepted.
https://patchwork.kernel.org/patch/6810461/
>>
>> Should I read the property and update the constraint runtime during
>> probe?
>
> Driver should provide real constraints. Find the proper way to do this.
>
> The pm800_regulator_info[] array is not const so you can change it in
> whatever way you want (although it should be const for existing driver
> because regulator core accepts const and passing it to driver_data is
> not necessary).
>
Probably that is the only way to handle this.
how about,
As you mentioned, pm800_regulator_info[] is not constant, so I can
update the constraint before regulator_register() and also do not
register BUCK1B, if dual phase is enabled.
So in summary,
if (dual phase is enabled)
{
Update constraint of BUCK1 to 6A
and do not register BUCK1B
} else {
register both BUCK1A and BUCK1B with default constraint of 3A.
}
Thanks,
Vaibhav
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, robh+dt@kernel.org,
broonie@kernel.org, lee.jones@linaro.org
Subject: Re: [PATCH-v2 2/2] regulator: 88pm800: Add support for configuration of dual phase on BUCK1
Date: Thu, 06 Aug 2015 11:33:56 +0530 [thread overview]
Message-ID: <55C2F8CC.1010308@linaro.org> (raw)
In-Reply-To: <55C2A340.6020809@samsung.com>
On Thursday 06 August 2015 05:28 AM, Krzysztof Kozlowski wrote:
> On 05.08.2015 17:45, Vaibhav Hiremath wrote:
>>
>>
>> On Thursday 23 July 2015 10:21 AM, Krzysztof Kozlowski wrote:
>>> 2015-07-22 1:23 GMT+09:00 Vaibhav Hiremath <vaibhav.hiremath@linaro.org>:
>>>> 88PM860 device supports dual phase mode on BUCK1 output.
>>>> In normal usecase, BUCK1A and BUCK1B operates independently with 3A
>>>> capacity. And they both can work as a dual phase providing 6A capacity.
>>>>
>>>> This patch updates the regulator driver to read the respective
>>>> DT property and enable dual-phase mode on BUCK1.
>>>>
>>>> Note that, this is init time (one time) initialization.
>>>>
>>
>> Sorry for delayed response, was on bed rest almost for week.
>>
>>>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
>>>> ---
>>>> drivers/regulator/88pm800.c | 31 +++++++++++++++++++++++++++++++
>>>> include/linux/mfd/88pm80x.h | 3 +++
>>>> 2 files changed, 34 insertions(+)
>>>
>>> Don't you need to update the constraints also? I think the BUCK1
>>> regulator has fixed constraint of 3 A:
>>> PM800_BUCK(buck1, BUCK1, BUCK_ENA, 0, 3000000, buck1_volt_range,
>>> 0x55),
>>> and now it can handle 6 A.
>>>
>>
>> Actually, BUCK1A and BUCK1B both combined together provide 6A capacity.
>> And as discussed earlier, we need board change for this.
>>
>> I am quite not sure.
>
> AFAIU the regulator driver creates one BUCK1 regulator with constraints
> 3 A. However after your change the regulator will handle up to 6 A.
>
> This means that constraints set by driver are wrong.
>
> Additionally I can't find BUCK1A and BUCK1B regulators. Driver provides
> only BUCK1.
>
My patch does add BUCK1A and BUCK1B, please refer to the PATCH[4/5] of
earlier series, which is accepted.
https://patchwork.kernel.org/patch/6810461/
>>
>> Should I read the property and update the constraint runtime during
>> probe?
>
> Driver should provide real constraints. Find the proper way to do this.
>
> The pm800_regulator_info[] array is not const so you can change it in
> whatever way you want (although it should be const for existing driver
> because regulator core accepts const and passing it to driver_data is
> not necessary).
>
Probably that is the only way to handle this.
how about,
As you mentioned, pm800_regulator_info[] is not constant, so I can
update the constraint before regulator_register() and also do not
register BUCK1B, if dual phase is enabled.
So in summary,
if (dual phase is enabled)
{
Update constraint of BUCK1 to 6A
and do not register BUCK1B
} else {
register both BUCK1A and BUCK1B with default constraint of 3A.
}
Thanks,
Vaibhav
next prev parent reply other threads:[~2015-08-06 6:03 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-21 16:23 [PATCH-v2 0/2] regulator: 88pm800: Add dual phase mode support on BUCK1 Vaibhav Hiremath
2015-07-21 16:23 ` Vaibhav Hiremath
2015-07-21 16:23 ` Vaibhav Hiremath
2015-07-21 16:23 ` [PATCH-v2 1/2] mfd: devicetree: bindings: 88pm800: Add DT property for dual phase enable Vaibhav Hiremath
2015-07-21 16:23 ` Vaibhav Hiremath
2015-07-23 15:53 ` Lee Jones
2015-07-23 15:53 ` Lee Jones
2015-07-23 15:53 ` Lee Jones
2015-08-05 8:49 ` Vaibhav Hiremath
2015-08-05 8:49 ` Vaibhav Hiremath
2015-07-21 16:23 ` [PATCH-v2 2/2] regulator: 88pm800: Add support for configuration of dual phase on BUCK1 Vaibhav Hiremath
2015-07-21 16:23 ` Vaibhav Hiremath
2015-07-23 4:51 ` Krzysztof Kozlowski
2015-07-23 4:51 ` Krzysztof Kozlowski
2015-07-23 4:51 ` Krzysztof Kozlowski
2015-08-05 8:45 ` Vaibhav Hiremath
2015-08-05 8:45 ` Vaibhav Hiremath
2015-08-05 8:45 ` Vaibhav Hiremath
2015-08-05 23:58 ` Krzysztof Kozlowski
2015-08-05 23:58 ` Krzysztof Kozlowski
2015-08-06 6:03 ` Vaibhav Hiremath [this message]
2015-08-06 6:03 ` Vaibhav Hiremath
2015-08-06 6:03 ` Vaibhav Hiremath
2015-08-06 6:06 ` Krzysztof Kozlowski
2015-08-06 6:06 ` Krzysztof Kozlowski
2015-07-23 15:54 ` Lee Jones
2015-07-23 15:54 ` Lee Jones
2015-08-05 8:47 ` Vaibhav Hiremath
2015-08-05 8:47 ` Vaibhav Hiremath
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=55C2F8CC.1010308@linaro.org \
--to=vaibhav.hiremath@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 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.