diff options
author | Jack Halpin <jack.halpin@gmail.com> | 2009-05-29 06:43:37 +0000 |
---|---|---|
committer | Jack Halpin <jack.halpin@gmail.com> | 2009-05-29 06:43:37 +0000 |
commit | b714ace1634cd6da7f21fca10ac2e8981da7fc88 (patch) | |
tree | 84226c4b9d07b2afeb75f57f755e6b3301fb5f66 /firmware/target/arm/as3525/debug-as3525.c | |
parent | b4b7c7501e61b0c89233d8a43c8557053b859ddf (diff) | |
download | rockbox-b714ace1634cd6da7f21fca10ac2e8981da7fc88.tar.gz rockbox-b714ace1634cd6da7f21fca10ac2e8981da7fc88.zip |
AMSSansa: clock-target.h and debug-as3525 now use AS3525_FCLK_PREDIV correctly. Default frequency scheme remains 248/62/62.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21125 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525/debug-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/debug-as3525.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/debug-as3525.c b/firmware/target/arm/as3525/debug-as3525.c index 8bd2ee1188..7585f76431 100644 --- a/firmware/target/arm/as3525/debug-as3525.c +++ b/firmware/target/arm/as3525/debug-as3525.c | |||
@@ -84,6 +84,8 @@ static unsigned read_cp15 (void) | |||
84 | int calc_freq(int clk) | 84 | int calc_freq(int clk) |
85 | { | 85 | { |
86 | int out_div; | 86 | int out_div; |
87 | unsigned int prediv = ((unsigned int)CGU_PROC>>2) & 0x3; | ||
88 | unsigned int postdiv = ((unsigned int)CGU_PROC>>4) & 0xf; | ||
87 | 89 | ||
88 | switch(clk) { | 90 | switch(clk) { |
89 | /* clk_main = clk_int = 24MHz oscillator */ | 91 | /* clk_main = clk_int = 24MHz oscillator */ |
@@ -119,14 +121,11 @@ int calc_freq(int clk) | |||
119 | case CLK_FCLK: | 121 | case CLK_FCLK: |
120 | switch(CGU_PROC & 3) { | 122 | switch(CGU_PROC & 3) { |
121 | case 0: | 123 | case 0: |
122 | return CLK_MAIN/ | 124 | return (CLK_MAIN * (8 - prediv)) / (8*(postdiv + 1)); |
123 | ((8/(8-((CGU_PROC>>2)& 0x3)))*(((CGU_PROC>>4)& 0xf) + 1)); | ||
124 | case 1: | 125 | case 1: |
125 | return calc_freq(CLK_PLLA)/ | 126 | return (calc_freq(CLK_PLLA) * (8 - prediv)) / (8*(postdiv + 1)); |
126 | ((8/(8-((CGU_PROC>>2)& 0x3)))*(((CGU_PROC>>4)& 0xf) + 1)); | ||
127 | case 2: | 127 | case 2: |
128 | return calc_freq(CLK_PLLB)/ | 128 | return (calc_freq(CLK_PLLB) * (8 - prediv)) / (8*(postdiv + 1)); |
129 | ((8/(8-((CGU_PROC>>2)& 0x3)))*(((CGU_PROC>>4)& 0xf) + 1)); | ||
130 | default: | 129 | default: |
131 | return 0; | 130 | return 0; |
132 | } | 131 | } |