--- a/arch/mips/xburst/soc-t21/common/clk/clk_cgu.c
+++ b/arch/mips/xburst/soc-t21/common/clk/clk_cgu.c
@@ -111,18 +111,19 @@
 	unsigned long x;
 	unsigned long flags;
 	int no = CLK_CGU_NO(clk->flags);
-
-	if (!(strcmp(clk->name, "cgu_i2s"))) {
-		unsigned int reg_val = 0;
-		int m = 0, n = 0;
-		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
-		n = reg_val & 0xfffff;
-		m = (reg_val >> 20) & 0x1ff;
-
-		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
-				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
-		return (clk->parent->rate * m) / n;
-	}
+        
+// FixMe: This leads to hang during boot with GCC>5.5.0
+// 	if (!(strcmp(clk->name, "cgu_i2s"))) {
+// 		unsigned int reg_val = 0;
+// 		int m = 0, n = 0;
+// 		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
+// 		n = reg_val & 0xfffff;
+// 		m = (reg_val >> 20) & 0x1ff;
+// 
+// 		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
+// 				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
+// 		return (clk->parent->rate * m) / n;
+// 	}
 
 	if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
 		return clk->parent->rate;
--- a/arch/mips/xburst/soc-t10/common/clk/clk_cgu.c
+++ b/arch/mips/xburst/soc-t10/common/clk/clk_cgu.c
@@ -99,17 +99,18 @@
 	unsigned long flags;
 	int no = CLK_CGU_NO(clk->flags);
 
-	if (!(strcmp(clk->name, "cgu_i2s"))) {
-		unsigned int reg_val = 0;
-		int m = 0, n = 0;
-		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
-		n = reg_val & 0x1fff;
-		m = (reg_val >> 13) & 0x1ff;
-
-		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
-				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
-		return (clk->parent->rate * m) / n;
-	}
+// FixMe: This leads to hang during boot with GCC>5.5.0
+// 	if (!(strcmp(clk->name, "cgu_i2s"))) {
+// 		unsigned int reg_val = 0;
+// 		int m = 0, n = 0;
+// 		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
+// 		n = reg_val & 0x1fff;
+// 		m = (reg_val >> 13) & 0x1ff;
+// 
+// 		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
+// 				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
+// 		return (clk->parent->rate * m) / n;
+// 	}
 
 	if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
 		return clk->parent->rate;
--- a/arch/mips/xburst/soc-t20/common/clk/clk_cgu.c
+++ b/arch/mips/xburst/soc-t20/common/clk/clk_cgu.c
@@ -100,17 +100,18 @@
 	unsigned long flags;
 	int no = CLK_CGU_NO(clk->flags);
 
-	if (!(strcmp(clk->name, "cgu_i2s"))) {
-		unsigned int reg_val = 0;
-		int m = 0, n = 0;
-		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
-		n = reg_val & 0x1fff;
-		m = (reg_val >> 13) & 0x1ff;
-
-		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
-				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
-		return (clk->parent->rate * m) / n;
-	}
+// FixMe: This leads to hang during boot with GCC>5.5.0
+// 	if (!(strcmp(clk->name, "cgu_i2s"))) {
+// 		unsigned int reg_val = 0;
+// 		int m = 0, n = 0;
+// 		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
+// 		n = reg_val & 0x1fff;
+// 		m = (reg_val >> 13) & 0x1ff;
+// 
+// 		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
+// 				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
+// 		return (clk->parent->rate * m) / n;
+// 	}
 
 	if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
 		return clk->parent->rate;
--- a/arch/mips/xburst/soc-t30/common/clk/clk_cgu.c
+++ b/arch/mips/xburst/soc-t30/common/clk/clk_cgu.c
@@ -112,17 +112,18 @@
 	unsigned long flags;
 	int no = CLK_CGU_NO(clk->flags);
 
-	if (!(strcmp(clk->name, "cgu_i2s"))) {
-		unsigned int reg_val = 0;
-		int m = 0, n = 0;
-		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
-		n = reg_val & 0xfffff;
-		m = (reg_val >> 20) & 0x1ff;
-
-		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
-				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
-		return (clk->parent->rate * m) / n;
-	}
+// FixMe: This leads to hang during boot with GCC>5.5.0
+// 	if (!(strcmp(clk->name, "cgu_i2s"))) {
+// 		unsigned int reg_val = 0;
+// 		int m = 0, n = 0;
+// 		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
+// 		n = reg_val & 0xfffff;
+// 		m = (reg_val >> 20) & 0x1ff;
+// 
+// 		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
+// 				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
+// 		return (clk->parent->rate * m) / n;
+// 	}
 
 	if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
 		return clk->parent->rate;