Commit e85d59df13cf5cce08becb3fd261048e6d870c0d

Authored by Florian Fainelli
Committed by Ralf Baechle
1 parent a2e62f3a85

MIPS: BCM63xx: Fix soft-reset lockup on BCM6345

This patch fixes a lockup on BCM6345 where setting the PLL soft reset bit
will also lock the other blocks including UART.  Instead of setting only
the PLL soft reset bit in the software reset register, set this bit but do
not touch the others.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Showing 1 changed file with 3 additions and 1 deletions Side-by-side Diff

arch/mips/bcm63xx/setup.c
... ... @@ -75,7 +75,9 @@
75 75 bcm6348_a1_reboot();
76 76  
77 77 printk(KERN_INFO "triggering watchdog soft-reset...\n");
78   - bcm_perf_writel(SYS_PLL_SOFT_RESET, PERF_SYS_PLL_CTL_REG);
  78 + reg = bcm_perf_readl(PERF_SYS_PLL_CTL_REG);
  79 + reg |= SYS_PLL_SOFT_RESET;
  80 + bcm_perf_writel(reg, PERF_SYS_PLL_CTL_REG);
79 81 while (1)
80 82 ;
81 83 }