1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
diff --git a/firmware/target/arm/as3525/debug-as3525.c b/firmware/target/arm/as3
index 037dc04..7ec0aae 100644
--- a/firmware/target/arm/as3525/debug-as3525.c
+++ b/firmware/target/arm/as3525/debug-as3525.c
@@ -83,6 +83,7 @@ static int calc_freq(int clk)
 {
     unsigned int prediv = ((unsigned int)CGU_PROC>>2) & 0x3;
     unsigned int postdiv = ((unsigned int)CGU_PROC>>4) & 0xf;
+    unsigned int clkdiv;
 #if CONFIG_CPU == AS3525
     int out_div;

@@ -167,7 +168,9 @@ static int calc_freq(int clk)
                     return 0;
             }
         case CLK_I2C:
-            return calc_freq(CLK_PCLK)/(I2C2_CPSR1<<8 | I2C2_CPSR0);
+            clkdiv = (I2C2_CPSR1<<8) | I2C2_CPSR0;
+            if(clkdiv == 0) clkdiv = 1;
+            return calc_freq(CLK_PCLK/clkdiv);
         case CLK_I2SI:
             switch((CGU_AUDIO>>12) & 3) {
                 case 0: