summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/imx233/system-imx233.c10
-rw-r--r--firmware/target/arm/imx233/system-target.h11
2 files changed, 13 insertions, 8 deletions
diff --git a/firmware/target/arm/imx233/system-imx233.c b/firmware/target/arm/imx233/system-imx233.c
index 1b4cdb3c2d..ad88cba918 100644
--- a/firmware/target/arm/imx233/system-imx233.c
+++ b/firmware/target/arm/imx233/system-imx233.c
@@ -263,15 +263,17 @@ struct cpufreq_profile_t
263 int arm_cache_timings; 263 int arm_cache_timings;
264}; 264};
265 265
266#if IMX233_SUBTARGET >= 3780 266#if IMX233_SUBTARGET >= 3700
267static struct cpufreq_profile_t cpu_profiles[] = 267static struct cpufreq_profile_t cpu_profiles[] =
268{ 268{
269 /* clk_p@454.74 MHz, clk_h@130.91 MHz, clk_emi@130.91 MHz, VDDD@1.550 V */ 269 /* clk_p@454.74 MHz, clk_h@151.58 MHz, clk_emi@130.91 MHz, VDDD@1.550 V */
270 {IMX233_CPUFREQ_454_MHz, 1550, 1450, 3, 1, 19, IMX233_EMIFREQ_130_MHz, 0}, 270 {IMX233_CPUFREQ_454_MHz, 1550, 1450, 3, 1, 19, IMX233_EMIFREQ_130_MHz, 0},
271 /* clk_p@320.00 MHz, clk_h@106.66 MHz, clk_emi@130.91 MHz, VDDD@1.450 V */
272 {IMX233_CPUFREQ_320_MHz, 1450, 1350, 3, 1, 27, IMX233_EMIFREQ_130_MHz, 0},
271 /* clk_p@261.82 MHz, clk_h@130.91 MHz, clk_emi@130.91 MHz, VDDD@1.275 V */ 273 /* clk_p@261.82 MHz, clk_h@130.91 MHz, clk_emi@130.91 MHz, VDDD@1.275 V */
272 {IMX233_CPUFREQ_261_MHz, 1275, 1175, 2, 1, 33, IMX233_EMIFREQ_130_MHz, 0}, 274 {IMX233_CPUFREQ_261_MHz, 1275, 1175, 2, 1, 33, IMX233_EMIFREQ_130_MHz, 0},
273 /* clk_p@64 MHz, clk_h@64 MHz, clk_emi@64 MHz, VDDD@1.050 V */ 275 /* clk_p@64 MHz, clk_h@64 MHz, clk_emi@64 MHz, VDDD@1.050 V */
274 {IMX233_CPUFREQ_64_MHz, 1050, 975, 1, 5, 27, IMX233_EMIFREQ_64_MHz, 0}, 276 {IMX233_CPUFREQ_64_MHz, 1050, 975, 1, 5, 27, IMX233_EMIFREQ_64_MHz, 3},
275 /* dummy */ 277 /* dummy */
276 {0, 0, 0, 0, 0, 0, 0, 0} 278 {0, 0, 0, 0, 0, 0, 0, 0}
277}; 279};
@@ -281,7 +283,7 @@ static struct cpufreq_profile_t cpu_profiles[] =
281 283
282void imx233_set_cpu_frequency(long frequency) 284void imx233_set_cpu_frequency(long frequency)
283{ 285{
284#if IMX233_SUBTARGET >= 3780 286#if IMX233_SUBTARGET >= 3700
285 /* don't change the frequency if it is useless (changes are expensive) */ 287 /* don't change the frequency if it is useless (changes are expensive) */
286 if(cpu_frequency == frequency) 288 if(cpu_frequency == frequency)
287 return; 289 return;
diff --git a/firmware/target/arm/imx233/system-target.h b/firmware/target/arm/imx233/system-target.h
index e77b5dc1b8..314ea9b773 100644
--- a/firmware/target/arm/imx233/system-target.h
+++ b/firmware/target/arm/imx233/system-target.h
@@ -32,19 +32,22 @@
32#include "regs/regs-usbphy.h" 32#include "regs/regs-usbphy.h"
33 33
34/** 34/**
35 * Absolute maximum CPU speed: 454.74 MHz 35 * Absolute maximum CPU speed: 454.74 MHz (STMP3780), 320.00 MHz (STMP3700)
36 * Intermediate CPU speeds: 392.73 MHz, 360MHz, 261.82 MHz, 64 MHz 36 * Intermediate CPU speeds: 261.82 MHz, 64 MHz
37 * Absolute minimum CPU speed: 24 MHz */ 37 * Absolute minimum CPU speed: 24 MHz */
38#define IMX233_CPUFREQ_454_MHz 454740 38#define IMX233_CPUFREQ_454_MHz 454740
39#define IMX233_CPUFREQ_392_MHz 392730 39#define IMX233_CPUFREQ_320_MHz 320000
40#define IMX233_CPUFREQ_360_MHz 360000
41#define IMX233_CPUFREQ_261_MHz 261820 40#define IMX233_CPUFREQ_261_MHz 261820
42#define IMX233_CPUFREQ_64_MHz 64000 41#define IMX233_CPUFREQ_64_MHz 64000
43#define IMX233_CPUFREQ_24_MHz 24000 42#define IMX233_CPUFREQ_24_MHz 24000
44 43
45#define CPUFREQ_DEFAULT IMX233_CPUFREQ_64_MHz 44#define CPUFREQ_DEFAULT IMX233_CPUFREQ_64_MHz
46#define CPUFREQ_NORMAL IMX233_CPUFREQ_64_MHz 45#define CPUFREQ_NORMAL IMX233_CPUFREQ_64_MHz
46#if IMX233_SUBTARGET >= 3780
47#define CPUFREQ_MAX IMX233_CPUFREQ_454_MHz 47#define CPUFREQ_MAX IMX233_CPUFREQ_454_MHz
48#elif IMX233_SUBTARGET >= 3700
49#define CPUFREQ_MAX IMX233_CPUFREQ_320_MHz
50#endif
48#define CPUFREQ_SLEEP IMX233_CPUFREQ_64_MHz 51#define CPUFREQ_SLEEP IMX233_CPUFREQ_64_MHz
49 52
50void system_prepare_fw_start(void); 53void system_prepare_fw_start(void);