firmware/br-ext-chip-ingenic/board/t31/kernel/patches/0005-disable-i2c-clk-get.patch

34 lines
1.2 KiB
Diff

--- a/arch/mips/xburst/soc-t31/common/clk/clk_cgu.c
+++ b/arch/mips/xburst/soc-t31/common/clk/clk_cgu.c
@@ -113,18 +113,18 @@
unsigned long x;
unsigned long flags;
int no = CLK_CGU_NO(clk->flags);
-
- if (!(strcmp(clk->name, "cgu_i2s_spk")) || !(strcmp(clk->name, "cgu_i2s_mic"))) {
- 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_spk")) || !(strcmp(clk->name, "cgu_i2s_mic"))) {
+// 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;