public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Rajendra Nayak <rnayak@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH v2 1/2] OMAP3: PM: Configure PRM setup times from board files
Date: Tue, 20 Oct 2009 08:46:29 -0700	[thread overview]
Message-ID: <87bpk2oyp6.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1255618130-14005-1-git-send-email-rnayak@ti.com> (Rajendra Nayak's message of "Thu\, 15 Oct 2009 20\:18\:49 +0530")

Rajendra Nayak <rnayak@ti.com> writes:

> The setup times to be programmed in the PRM module on OMAP
> (for clksetup, voltsetup etc) are board specific.
> They depend heavily on the PMIC used and even on different boards
> with the same PMIC, they vary based on the sleep/wake
> sequence used, system clock speed et al.
>
> This patch makes it possible for these setup values to be
> configured from different board files.
> omap3_pm_init_vc() can now be optionally called from board files
> to initialise the setup times. If board files do not use
> this function to pass the setup times, default/conservative
> values are used which are safe but would cause higher wakeup
> latencies from sleep states.
>
> This patch only updates the 3430sdp board file to use
> omap3_pm_init_vc() to update the setup times.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>

Thanks, pulling into PM branch.

Kevin

> ---
>  arch/arm/mach-omap2/board-3430sdp.c |   18 ++++++++++++++++++
>  arch/arm/mach-omap2/pm.h            |    2 +-
>  arch/arm/mach-omap2/pm34xx.c        |    5 ++++-
>  3 files changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
> index 14868b5..0f1975c 100644
> --- a/arch/arm/mach-omap2/board-3430sdp.c
> +++ b/arch/arm/mach-omap2/board-3430sdp.c
> @@ -56,6 +56,23 @@
>  
>  #define TWL4030_MSECURE_GPIO 22
>  
> +/* FIXME: These are not the optimal setup values to be used on 3430sdp*/
> +static struct prm_setup_vc omap3_setuptime_table = {
> +	.clksetup = 0xff,
> +	.voltsetup_time1 = 0xfff,
> +	.voltsetup_time2 = 0xfff,
> +	.voltoffset = 0xff,
> +	.voltsetup2 = 0xff,
> +	.vdd0_on = 0x30,
> +	.vdd0_onlp = 0x20,
> +	.vdd0_ret = 0x1e,
> +	.vdd0_off = 0x00,
> +	.vdd1_on = 0x2c,
> +	.vdd1_onlp = 0x20,
> +	.vdd1_ret = 0x1e,
> +	.vdd1_off = 0x00,
> +};
> +
>  static int board_keymap[] = {
>  	KEY(0, 0, KEY_LEFT),
>  	KEY(0, 1, KEY_RIGHT),
> @@ -185,6 +202,7 @@ static void __init omap_3430sdp_init_irq(void)
>  {
>  	omap_board_config = sdp3430_config;
>  	omap_board_config_size = ARRAY_SIZE(sdp3430_config);
> +	omap3_pm_init_vc(&omap3_setuptime_table);
>  	omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL, omap3_mpu_rate_table,
>  			     omap3_dsp_rate_table, omap3_l3_rate_table);
>  	omap_init_irq();
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index f8d11a2..ca673c5 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -41,7 +41,7 @@ struct prm_setup_vc {
>  	u16 vdd1_ret;
>  	u16 vdd1_off;
>  };
> -extern void omap3_set_prm_setup_vc(struct prm_setup_vc *setup_vc);
> +extern void omap3_pm_init_vc(struct prm_setup_vc *setup_vc);
>  
>  extern int resource_set_opp_level(int res, u32 target_level, int flags);
>  extern int resource_access_opp_lock(int res, int delta);
> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
> index 01260ec..3d7ae2f 100644
> --- a/arch/arm/mach-omap2/pm34xx.c
> +++ b/arch/arm/mach-omap2/pm34xx.c
> @@ -1027,8 +1027,11 @@ int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state)
>  	return -EINVAL;
>  }
>  
> -void omap3_set_prm_setup_vc(struct prm_setup_vc *setup_vc)
> +void omap3_pm_init_vc(struct prm_setup_vc *setup_vc)
>  {
> +	if (!setup_vc)
> +		return;
> +
>  	prm_setup.clksetup = setup_vc->clksetup;
>  	prm_setup.voltsetup_time1 = setup_vc->voltsetup_time1;
>  	prm_setup.voltsetup_time2 = setup_vc->voltsetup_time2;
> -- 
> 1.5.4.7

      parent reply	other threads:[~2009-10-20 15:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-15 14:48 [PATCH v2 1/2] OMAP3: PM: Configure PRM setup times from board files Rajendra Nayak
2009-10-15 14:48 ` [PATCH v2 2/2] OMAP3: PM: Configure CPUidle latencies/thresholds from board file Rajendra Nayak
2009-10-16  6:23   ` Nayak, Rajendra
2009-10-20 15:46 ` Kevin Hilman [this message]

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=87bpk2oyp6.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=rnayak@ti.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: 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