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
prev 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