Linux-PM Archive on lore.kernel.org
 help / color / Atom feed
From: Adam Ford <aford173@gmail.com>
To: "H. Nikolaus Schaller" <hns@goldelico.com>
Cc: "Benoît Cousson" <bcousson@baylibre.com>,
	"Tony Lindgren" <tony@atomide.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"André Roth" <neolynx@gmail.com>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Enric Balletbo i Serra" <eballetbo@gmail.com>,
	"Javier Martinez Canillas" <javier@dowhile0.org>,
	"Roger Quadros" <rogerq@ti.com>,
	"Teresa Remmet" <t.remmet@phytec.de>,
	Linux-OMAP <linux-omap@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-pm@vger.kernel.org,
	"Discussions about the Letux Kernel"
	<letux-kernel@openphoenux.org>,
	kernel@pyra-handheld.com,
	arm-soc <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 2/4] ARM: dts: replace opp-v1 tables by opp-v2 for omap34xx and omap36xx
Date: Mon, 9 Sep 2019 08:43:13 -0500
Message-ID: <CAHCN7xJU2oW3QggNtcY0qTMTH058EJxKZBC6tRign=kX2Jtg2g@mail.gmail.com> (raw)
In-Reply-To: <784d0d08ee585fc436f15de4edb58b394d0f4452.1567878413.git.hns@goldelico.com>

On Sat, Sep 7, 2019 at 12:47 PM H. Nikolaus Schaller <hns@goldelico.com> wrote:
>
> In addition, move omap3 from whitelist to blacklist in cpufreq-dt-platdev
> in the same patch, because doing either first breaks operation and
> may make trouble in bisect.
>
> We also can remove opp-v1 table for omap3-n950-n9 since it is now
> automatically detected.
>
> We also fix a wrong OPP4 voltage for omap3430 which must be
> 0.6V + 54*12.5mV = 1275mV. Otherwise the twl4030 driver will reject
> this OPP.
>
thank you for your work on this.  I tested it on a a Logit PD DM3730
Torpedo + Wireless kit, and appears to operate normally, but i have
not tested it at temperature.

Tested-by: Adam Ford <aford173@gmail.com>

> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> Acked-by: Tony Lindgren <tony@atomide.com>
> ---
>  arch/arm/boot/dts/omap3-n950-n9.dtsi |  7 ---
>  arch/arm/boot/dts/omap34xx.dtsi      | 65 ++++++++++++++++++++++++----
>  arch/arm/boot/dts/omap36xx.dtsi      | 53 +++++++++++++++++++----
>  drivers/cpufreq/cpufreq-dt-platdev.c |  2 +-
>  4 files changed, 102 insertions(+), 25 deletions(-)
>
> diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi
> index 5441e9ffdbb4..e98b0c615f19 100644
> --- a/arch/arm/boot/dts/omap3-n950-n9.dtsi
> +++ b/arch/arm/boot/dts/omap3-n950-n9.dtsi
> @@ -11,13 +11,6 @@
>         cpus {
>                 cpu@0 {
>                         cpu0-supply = <&vcc>;
> -                       operating-points = <
> -                               /* kHz    uV */
> -                               300000  1012500
> -                               600000  1200000
> -                               800000  1325000
> -                               1000000 1375000
> -                       >;
>                 };
>         };
>
> diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi
> index f572a477f74c..91154829f86a 100644
> --- a/arch/arm/boot/dts/omap34xx.dtsi
> +++ b/arch/arm/boot/dts/omap34xx.dtsi
> @@ -16,19 +16,66 @@
>  / {
>         cpus {
>                 cpu: cpu@0 {
> -                       /* OMAP343x/OMAP35xx variants OPP1-5 */
> -                       operating-points = <
> -                               /* kHz    uV */
> -                               125000   975000
> -                               250000  1075000
> -                               500000  1200000
> -                               550000  1270000
> -                               600000  1350000
> -                       >;
> +                       /* OMAP343x/OMAP35xx variants OPP1-6 */
> +                       operating-points-v2 = <&cpu0_opp_table>;
> +
>                         clock-latency = <300000>; /* From legacy driver */
>                 };
>         };
>
> +       /* see Documentation/devicetree/bindings/opp/opp.txt */
> +       cpu0_opp_table: opp-table {
> +               compatible = "operating-points-v2-ti-cpu";
> +               syscon = <&scm_conf>;
> +
> +               opp1-125000000 {
> +                       opp-hz = /bits/ 64 <125000000>;
> +                       /*
> +                        * we currently only select the max voltage from table
> +                        * Table 3-3 of the omap3530 Data sheet (SPRS507F).
> +                        * Format is: <target min max>
> +                        */
> +                       opp-microvolt = <975000 975000 975000>;
> +                       /*
> +                        * first value is silicon revision bit mask
> +                        * second one 720MHz Device Identification bit mask
> +                        */
> +                       opp-supported-hw = <0xffffffff 3>;
> +               };
> +
> +               opp2-250000000 {
> +                       opp-hz = /bits/ 64 <250000000>;
> +                       opp-microvolt = <1075000 1075000 1075000>;
> +                       opp-supported-hw = <0xffffffff 3>;
> +                       opp-suspend;
> +               };
> +
> +               opp3-500000000 {
> +                       opp-hz = /bits/ 64 <500000000>;
> +                       opp-microvolt = <1200000 1200000 1200000>;
> +                       opp-supported-hw = <0xffffffff 3>;
> +               };
> +
> +               opp4-550000000 {
> +                       opp-hz = /bits/ 64 <550000000>;
> +                       opp-microvolt = <1275000 1275000 1275000>;
> +                       opp-supported-hw = <0xffffffff 3>;
> +               };
> +
> +               opp5-600000000 {
> +                       opp-hz = /bits/ 64 <600000000>;
> +                       opp-microvolt = <1350000 1350000 1350000>;
> +                       opp-supported-hw = <0xffffffff 3>;
> +               };
> +
> +               opp6-720000000 {
> +                       opp-hz = /bits/ 64 <720000000>;
> +                       opp-microvolt = <1350000 1350000 1350000>;
> +                       /* only high-speed grade omap3530 devices */
> +                       opp-supported-hw = <0xffffffff 2>;
> +               };
> +       };
> +
>         ocp@68000000 {
>                 omap3_pmx_core2: pinmux@480025d8 {
>                         compatible = "ti,omap3-padconf", "pinctrl-single";
> diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi
> index 6fb23ada1f64..44f25b0eb45b 100644
> --- a/arch/arm/boot/dts/omap36xx.dtsi
> +++ b/arch/arm/boot/dts/omap36xx.dtsi
> @@ -19,15 +19,52 @@
>         };
>
>         cpus {
> -               /* OMAP3630/OMAP37xx 'standard device' variants OPP50 to OPP130 */
> +               /* OMAP3630/OMAP37xx variants OPP50 to OPP130 and OPP1G */
>                 cpu: cpu@0 {
> -                       operating-points = <
> -                               /* kHz    uV */
> -                               300000  1012500
> -                               600000  1200000
> -                               800000  1325000
> -                       >;
> -                       clock-latency = <300000>; /* From legacy driver */
> +                       operating-points-v2 = <&cpu0_opp_table>;
> +
> +                       clock-latency = <300000>; /* From omap-cpufreq driver */
> +               };
> +       };
> +
> +       /* see Documentation/devicetree/bindings/opp/opp.txt */
> +       cpu0_opp_table: opp-table {
> +               compatible = "operating-points-v2-ti-cpu";
> +               syscon = <&scm_conf>;
> +
> +               opp50-300000000 {
> +                       opp-hz = /bits/ 64 <300000000>;
> +                       /*
> +                        * we currently only select the max voltage from table
> +                        * Table 4-19 of the DM3730 Data sheet (SPRS685B)
> +                        * Format is: <target min max>
> +                        */
> +                       opp-microvolt = <1012500 1012500 1012500>;
> +                       /*
> +                        * first value is silicon revision bit mask
> +                        * second one is "speed binned" bit mask
> +                        */
> +                       opp-supported-hw = <0xffffffff 3>;
> +                       opp-suspend;
> +               };
> +
> +               opp100-600000000 {
> +                       opp-hz = /bits/ 64 <600000000>;
> +                       opp-microvolt = <1200000 1200000 1200000>;
> +                       opp-supported-hw = <0xffffffff 3>;
> +               };
> +
> +               opp130-800000000 {
> +                       opp-hz = /bits/ 64 <800000000>;
> +                       opp-microvolt = <1325000 1325000 1325000>;
> +                       opp-supported-hw = <0xffffffff 3>;
> +               };
> +
> +               opp1g-1000000000 {
> +                       opp-hz = /bits/ 64 <1000000000>;
> +                       opp-microvolt = <1375000 1375000 1375000>;
> +                       /* only on am/dm37x with speed-binned bit set */
> +                       opp-supported-hw = <0xffffffff 2>;
>                 };
>         };
>
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index 03dc4244ab00..68b7fc4225f8 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -86,7 +86,6 @@ static const struct of_device_id whitelist[] __initconst = {
>         { .compatible = "st-ericsson,u9540", },
>
>         { .compatible = "ti,omap2", },
> -       { .compatible = "ti,omap3", },
>         { .compatible = "ti,omap4", },
>         { .compatible = "ti,omap5", },
>
> @@ -132,6 +131,7 @@ static const struct of_device_id blacklist[] __initconst = {
>         { .compatible = "ti,am33xx", },
>         { .compatible = "ti,am43", },
>         { .compatible = "ti,dra7", },
> +       { .compatible = "ti,omap3", },
>
>         { }
>  };
> --
> 2.19.1
>

  reply index

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-07 17:46 [PATCH 0/4] OMAP3: convert opp-v1 to opp-v2 and read speed binned / 720MHz grade bits H. Nikolaus Schaller
2019-09-07 17:46 ` [PATCH 1/4] cpufreq: ti-cpufreq: add support for omap34xx and omap36xx H. Nikolaus Schaller
2019-09-07 17:46 ` [PATCH 2/4] ARM: dts: replace opp-v1 tables by opp-v2 " H. Nikolaus Schaller
2019-09-09 13:43   ` Adam Ford [this message]
2019-09-07 17:46 ` [PATCH 3/4] ARM: dts: omap3: bulk convert compatible to be explicitly ti,omap3430 or ti,omap3630 or ti,am3517 H. Nikolaus Schaller
2019-09-09 13:26   ` Adam Ford
2019-09-07 17:46 ` [PATCH 4/4] DTS: bindings: omap: update bindings documentation H. Nikolaus Schaller
2019-09-13 14:36   ` Rob Herring
  -- strict thread matches above, loose matches on Subject: below --
2019-09-07  6:56 [PATCH 0/4] OMAP3: convert opp-v1 to opp-v2 and read speed binned / 720MHz grade bits H. Nikolaus Schaller
2019-09-07  6:56 ` [PATCH 2/4] ARM: dts: replace opp-v1 tables by opp-v2 for omap34xx and omap36xx H. Nikolaus Schaller
2019-09-07 17:08   ` Tony Lindgren

Reply instructions:

You may reply publically 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='CAHCN7xJU2oW3QggNtcY0qTMTH058EJxKZBC6tRign=kX2Jtg2g@mail.gmail.com' \
    --to=aford173@gmail.com \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=eballetbo@gmail.com \
    --cc=hns@goldelico.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

Linux-PM Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-pm/0 linux-pm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-pm linux-pm/ https://lore.kernel.org/linux-pm \
		linux-pm@vger.kernel.org
	public-inbox-index linux-pm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-pm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git