summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/ccm-imx31.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-04-23 15:32:50 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-04-23 15:32:50 +0000
commit11cca264ff57ad0b234bd1cd2c9a2366b967feb7 (patch)
tree7693e7150d5abc9687966cc248bfbd550d356964 /firmware/target/arm/imx31/ccm-imx31.h
parent6cee7579dbdc4d41c4df08c9395cf96c952ebab1 (diff)
downloadrockbox-11cca264ff57ad0b234bd1cd2c9a2366b967feb7.tar.gz
rockbox-11cca264ff57ad0b234bd1cd2c9a2366b967feb7.zip
i.MX31/Gigabeat S: Implement frequency and voltage scaling-- 1.6V for 528MHz, and 1.35V for 264MHz and 132MHz. Keep DPTC overdrive ( > 400MHz) voltage scaling off for now because of uncertainties. Simplify the (working) mess later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25699 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/ccm-imx31.h')
-rw-r--r--firmware/target/arm/imx31/ccm-imx31.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/firmware/target/arm/imx31/ccm-imx31.h b/firmware/target/arm/imx31/ccm-imx31.h
index e95891255d..400f6cad5d 100644
--- a/firmware/target/arm/imx31/ccm-imx31.h
+++ b/firmware/target/arm/imx31/ccm-imx31.h
@@ -93,11 +93,21 @@ enum IMX31_PLLS
93 NUM_PLLS, 93 NUM_PLLS,
94}; 94};
95 95
96
97/* Return the current source pll for MCU */
98enum IMX31_PLLS ccm_get_src_pll(void);
99
100/* Decode PLL output frequency from register value */
101unsigned int ccm_calc_pll_rate(unsigned int infreq, unsigned long regval);
102
96/* Get the PLL reference clock frequency in HZ */ 103/* Get the PLL reference clock frequency in HZ */
97unsigned int ccm_get_pll_ref_clk(void); 104unsigned int ccm_get_pll_ref_clk_rate(void);
98 105
99/* Return PLL frequency in HZ */ 106/* Return PLL frequency in HZ */
100unsigned int ccm_get_pll(enum IMX31_PLLS pll); 107unsigned int ccm_get_pll_rate(enum IMX31_PLLS pll);
108
109/* Return MCU frequency in HZ */
110unsigned int ccm_get_mcu_clk(void);
101 111
102/* Return ipg_clk in HZ */ 112/* Return ipg_clk in HZ */
103unsigned int ccm_get_ipg_clk(void); 113unsigned int ccm_get_ipg_clk(void);
@@ -108,4 +118,7 @@ unsigned int ccm_get_ahb_clk(void);
108/* Return the ATA frequency in HZ */ 118/* Return the ATA frequency in HZ */
109unsigned int ccm_get_ata_clk(void); 119unsigned int ccm_get_ata_clk(void);
110 120
121/* Write new values to the current PLL and post-dividers */
122void ccm_set_mcupll_and_pdr(unsigned long pllctl, unsigned long pdr);
123
111#endif /* _CCM_IMX31_H_ */ 124#endif /* _CCM_IMX31_H_ */