mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-10 05:32:40 -05:00
zen/zenxfi: don't switch emi on cpu change to avoid screen flicker
On those targets, since the LCDIF cannot recover from underflow, changing the EMI frequency kills one frame and cause flicker. Change-Id: Id3c130636bcfddcc6c54896602699fbaa1636ab4
This commit is contained in:
parent
55c5c7ea66
commit
761f59c9e3
1 changed files with 14 additions and 4 deletions
|
|
@ -263,17 +263,27 @@ struct cpufreq_profile_t
|
||||||
int arm_cache_timings;
|
int arm_cache_timings;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Some devices don't handle very well memory frequency changes, so avoid them
|
||||||
|
* by running at highest speed at all time */
|
||||||
|
#if defined(CREATIVE_ZEN) || defined(CREATIVE_ZENXFI)
|
||||||
|
#define EMIFREQ_NORMAL IMX233_EMIFREQ_130_MHz
|
||||||
|
#define EMIFREQ_MAX IMX233_EMIFREQ_130_MHz
|
||||||
|
#else /* weird targets */
|
||||||
|
#define EMIFREQ_NORMAL IMX233_EMIFREQ_64_MHz
|
||||||
|
#define EMIFREQ_MAX IMX233_EMIFREQ_130_MHz
|
||||||
|
#endif
|
||||||
|
|
||||||
#if IMX233_SUBTARGET >= 3700
|
#if IMX233_SUBTARGET >= 3700
|
||||||
static struct cpufreq_profile_t cpu_profiles[] =
|
static struct cpufreq_profile_t cpu_profiles[] =
|
||||||
{
|
{
|
||||||
/* clk_p@454.74 MHz, clk_h@151.58 MHz, clk_emi@130.91 MHz, VDDD@1.550 V */
|
/* clk_p@454.74 MHz, clk_h@151.58 MHz, clk_emi@130.91 MHz, VDDD@1.550 V */
|
||||||
{IMX233_CPUFREQ_454_MHz, 1550, 1450, 3, 1, 19, IMX233_EMIFREQ_130_MHz, 0},
|
{IMX233_CPUFREQ_454_MHz, 1550, 1450, 3, 1, 19, EMIFREQ_MAX, 0},
|
||||||
/* clk_p@320.00 MHz, clk_h@106.66 MHz, clk_emi@130.91 MHz, VDDD@1.450 V */
|
/* clk_p@320.00 MHz, clk_h@106.66 MHz, clk_emi@130.91 MHz, VDDD@1.450 V */
|
||||||
{IMX233_CPUFREQ_320_MHz, 1450, 1350, 3, 1, 27, IMX233_EMIFREQ_130_MHz, 0},
|
{IMX233_CPUFREQ_320_MHz, 1450, 1350, 3, 1, 27, EMIFREQ_MAX, 0},
|
||||||
/* clk_p@261.82 MHz, clk_h@130.91 MHz, clk_emi@130.91 MHz, VDDD@1.275 V */
|
/* clk_p@261.82 MHz, clk_h@130.91 MHz, clk_emi@130.91 MHz, VDDD@1.275 V */
|
||||||
{IMX233_CPUFREQ_261_MHz, 1275, 1175, 2, 1, 33, IMX233_EMIFREQ_130_MHz, 0},
|
{IMX233_CPUFREQ_261_MHz, 1275, 1175, 2, 1, 33, EMIFREQ_MAX, 0},
|
||||||
/* clk_p@64 MHz, clk_h@64 MHz, clk_emi@64 MHz, VDDD@1.050 V */
|
/* clk_p@64 MHz, clk_h@64 MHz, clk_emi@64 MHz, VDDD@1.050 V */
|
||||||
{IMX233_CPUFREQ_64_MHz, 1050, 975, 1, 5, 27, IMX233_EMIFREQ_64_MHz, 3},
|
{IMX233_CPUFREQ_64_MHz, 1050, 975, 1, 5, 27, EMIFREQ_NORMAL, 3},
|
||||||
/* dummy */
|
/* dummy */
|
||||||
{0, 0, 0, 0, 0, 0, 0, 0}
|
{0, 0, 0, 0, 0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue