linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: H. Nikolaus Schaller <hns@goldelico.com>
To: Adam Ford <aford173@gmail.com>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
	devicetree <devicetree@vger.kernel.org>,
	"Discussions about the Letux Kernel"
	<letux-kernel@openphoenux.org>,
	linux-pm@vger.kernel.org, "Tony Lindgren" <tony@atomide.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Enric Balletbo i Serra" <eballetbo@gmail.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"André Roth" <neolynx@gmail.com>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	kernel@pyra-handheld.com, "Teresa Remmet" <t.remmet@phytec.de>,
	"Javier Martinez Canillas" <javier@dowhile0.org>,
	Linux-OMAP <linux-omap@vger.kernel.org>,
	arm-soc <linux-arm-kernel@lists.infradead.org>,
	"Roger Quadros" <rogerq@ti.com>
Subject: Re: [PATCH v3 6/8] ARM: dts: omap36xx: using OPP1G needs to control the abb_ldo
Date: Sat, 14 Sep 2019 11:30:10 +0200	[thread overview]
Message-ID: <F05A8A00-9B2A-4159-BE5B-C93DF139F73E@goldelico.com> (raw)
In-Reply-To: <CAHCN7x+RTSHg7jKys=Jv6Urz0PsHNTM8EnFT1dwAZOtsjxpEAw@mail.gmail.com>


> Am 13.09.2019 um 23:13 schrieb Adam Ford <aford173@gmail.com>:
> 
> On Wed, Sep 11, 2019 at 12:47 PM H. Nikolaus Schaller <hns@goldelico.com> wrote:
>> 
>> See DM3730,DM275 data sheet (SPRS685B) footnote (6) in Table 4-19
>> which says that ABB must be switched to FBB mode when using the
>> OPP1G.
>> 
>> The LOD definition abb_mpu_iva already exists so that we need
>> to add plumbing for vbb-supply = <&abb_mpu_iva>
>> and define two voltage vectors for each OPP so that the abb LDO
>> is also updated by the ti-cpufreq driver.
>> 
>> We also must switch the ti_cpufreq_soc_data to multi_regulator.
>> 
>> Note: reading out the abb reglator voltage to verify that
>> it does do transitions can be done by
>> 
>> cat /sys/devices/platform/68000000.ocp/483072f0.regulator-abb-mpu/regulator/regulator.*/microvolts
>> 
>> Likewise, read the twl4030 provided VDD voltage by
>> 
>> cat /sys/devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl@48:regulator-vdd1/regulator/regulator.*/microvolts
>> 
>> Note: to check if the ABB FBB is enabled/disabled, check
>> registers
>> 
>> PRM_LDO_ABB_CTRL 0x483072F4 bit 3:0 1=bypass 5=FBB
>> PRM_LDO_ABB_SETUP 0x483072F0 0x00=bypass 0x11=FBB
>> 
>> e.g.
>> 
>> /dev/mem opened.
>> Memory mapped at address 0xb6fe4000.
>> Value at address 0x483072F4 (0xb6fe42f4): 0x3205
>> /dev/mem opened.
>> Memory mapped at address 0xb6f89000.
>> Value at address 0x483072F4 (0xb6f892f4): 0x3201
>> 
>> Note: omap34xx and am3517 have/need no comparable LDO
>> or mechanism.
>> 
>> Suggested-by: Adam Ford <aford173@gmail.com>
>> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>> ---
>> arch/arm/boot/dts/omap36xx.dtsi | 21 ++++++++++++++++-----
>> drivers/cpufreq/ti-cpufreq.c    |  2 +-
>> 2 files changed, 17 insertions(+), 6 deletions(-)
>> 
>> diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi
>> index cb5bd0969124..4bb4f534afe2 100644
>> --- a/arch/arm/boot/dts/omap36xx.dtsi
>> +++ b/arch/arm/boot/dts/omap36xx.dtsi
>> @@ -23,6 +23,7 @@
>>                cpu: cpu@0 {
>>                        operating-points-v2 = <&cpu0_opp_table>;
>> 
>> +                       vbb-supply = <&abb_mpu_iva>;
>>                        clock-latency = <300000>; /* From omap-cpufreq driver */
>>                };
>>        };
>> @@ -37,9 +38,11 @@
>>                        /*
>>                         * we currently only select the max voltage from table
>>                         * Table 4-19 of the DM3730 Data sheet (SPRS685B)
>> -                        * Format is: <target min max>
>> +                        * Format is:   cpu0-supply:    <target min max>
>> +                        *              vbb-supply:     <target min max>
>>                         */
>> -                       opp-microvolt = <1012500 1012500 1012500>;
>> +                       opp-microvolt = <1012500 1012500 1012500>,
>> +                                        <1012500 1012500 1012500>;
>>                        /*
>>                         * first value is silicon revision bit mask
>>                         * second one is "speed binned" bit mask
>> @@ -50,25 +53,33 @@
>> 
>>                opp100-600000000 {
>>                        opp-hz = /bits/ 64 <600000000>;
>> -                       opp-microvolt = <1200000 1200000 1200000>;
>> +                       opp-microvolt = <1200000 1200000 1200000>,
>> +                                        <1200000 1200000 1200000>;
>>                        opp-supported-hw = <0xffffffff 3>;
>>                };
>> 
>>                opp130-800000000 {
>>                        opp-hz = /bits/ 64 <800000000>;
>> -                       opp-microvolt = <1325000 1325000 1325000>;
>> +                       opp-microvolt = <1325000 1325000 1325000>,
>> +                                        <1325000 1325000 1325000>;
>>                        opp-supported-hw = <0xffffffff 3>;
>>                };
>> 
>>                opp1g-1000000000 {
>>                        opp-hz = /bits/ 64 <1000000000>;
>> -                       opp-microvolt = <1375000 1375000 1375000>;
>> +                       opp-microvolt = <1375000 1375000 1375000>,
>> +                                        <1375000 1375000 1375000>;
>>                        /* only on am/dm37x with speed-binned bit set */
>>                        opp-supported-hw = <0xffffffff 2>;
>>                        turbo-mode;
> 
> If / when the thermal changes I submitted get approved, would you
> entertain dropping this turbo-mode flag so it's enabled by default?

Yes, that makes sense.

To keep patches clearly grouped into two series (better for bisect or
partial revert or apply in any order), I would suggest that we do

1. add OPP1G logic (with turbo-mode; specified)
2. add thermal throttling
3. remove turbo-mode again as soon as both are merged

A patch for 2b is waiting for 1 and 2a to be confirmed :)

BR,
Nikolaus


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-09-14  9:30 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-11 17:47 [PATCH v3 0/8] OMAP3: convert opp-v1 to opp-v2 and read speed binned / 720MHz grade bits H. Nikolaus Schaller
2019-09-11 17:47 ` [PATCH v3 1/8] cpufreq: ti-cpufreq: add support for omap34xx and omap36xx H. Nikolaus Schaller
2019-09-11 19:05   ` Adam Ford
2019-09-11 17:47 ` [PATCH v3 2/8] ARM: dts: omap34xx & omap36xx: replace opp-v1 tables by opp-v2 for H. Nikolaus Schaller
2019-09-11 17:47 ` [PATCH v3 3/8] DTS: bindings: omap: update bindings documentation H. Nikolaus Schaller
2019-09-11 17:47 ` [PATCH v3 4/8] ARM: dts: omap3: bulk convert compatible to be explicitly ti, omap3430 or ti, omap3630 or ti, am3517 H. Nikolaus Schaller
2019-09-11 17:47 ` [PATCH v3 5/8] cpufreq: ti-cpufreq: omap36xx use "cpu0", "vbb" if run in multi_regulator mode H. Nikolaus Schaller
2019-09-16 16:24   ` Tony Lindgren
2019-09-17 19:22   ` Rob Herring
2019-09-11 17:47 ` [PATCH v3 6/8] ARM: dts: omap36xx: using OPP1G needs to control the abb_ldo H. Nikolaus Schaller
2019-09-13 21:13   ` Adam Ford
2019-09-14  9:30     ` H. Nikolaus Schaller [this message]
2019-09-16 16:25   ` Tony Lindgren
2019-09-11 17:47 ` [PATCH v3 7/8] cpufreq: ti-cpufreq: Add support for AM3517 H. Nikolaus Schaller
2019-09-16 16:26   ` Tony Lindgren
2019-09-11 17:47 ` [PATCH v3 8/8] ARM: dts: Add OPP-V2 table " H. Nikolaus Schaller
2019-09-16 16:26   ` Tony Lindgren
2019-09-16 16:28 ` [PATCH v3 0/8] OMAP3: convert opp-v1 to opp-v2 and read speed binned / 720MHz grade bits Tony Lindgren
2019-09-17 14:35   ` H. Nikolaus Schaller
2019-10-02  5:47     ` H. Nikolaus Schaller
2019-10-02  9:00     ` Viresh Kumar
2019-10-10 10:45 ` Viresh Kumar
2019-11-08 20:08 ` Adam Ford
2019-11-09  6:12   ` H. Nikolaus Schaller
2019-11-09 10:02     ` Adam Ford

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=F05A8A00-9B2A-4159-BE5B-C93DF139F73E@goldelico.com \
    --to=hns@goldelico.com \
    --cc=aford173@gmail.com \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=eballetbo@gmail.com \
    --cc=javier@dowhile0.org \
    --cc=kernel@pyra-handheld.com \
    --cc=letux-kernel@openphoenux.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=neolynx@gmail.com \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=rogerq@ti.com \
    --cc=t.remmet@phytec.de \
    --cc=tony@atomide.com \
    --cc=viresh.kumar@linaro.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 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).