linux-mips
[Top] [All Lists]

[PATCH 1/2] bcm63xx: fix soft-reset lockup on BCM6345

To: ralf Baechle <ralf@linux-mips.org>, Maxime Bizon <mbizon@freebox.fr>
Subject: [PATCH 1/2] bcm63xx: fix soft-reset lockup on BCM6345
From: Florian Fainelli <florian@openwrt.org>
Date: Mon, 31 Aug 2009 20:27:39 +0200
Cc: linux-mips@linux-mips.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:from:date:subject :mime-version:x-uid:x-length:to:cc:content-type :content-transfer-encoding:content-disposition:message-id; bh=uM6j4q1c8HKu6FD95twFax8wajIcG5CHBs1K+BFNVBw=; b=DLogbVCkqQAcZDWHEI4ds8pxHawuY2HXosEo8YmSwe0s+1a7htrgKaefuLxGO8QEhe s/JCdI1ZZUnA2aAzOSY9QCX0IUbO9nAvkZa8N7KGN4HM2DsDF6QJ3SDsh+UQVpGLENkm j0e6yXMyPOrAS5ZQ7RWmG6bquBtNwOCjnGii0=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:from:date:subject:mime-version:x-uid:x-length:to:cc :content-type:content-transfer-encoding:content-disposition :message-id; b=gbqwQ5fO620LnmQSP131BT1KMiqQoWMgkSbLby1opBgE3m6CkVuLpArYGpLNsulFUx BCLmGIrS1GBaFPfPPJ613d8DwuUSlspNgADoVbyBrBM7bwo2ez9E4J5vsfmfGcWZa/Je CqNvdB24Pf6DDzWiIqiPemMeJHgZ7iX83SZzQ=
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
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>
---
diff --git a/arch/mips/bcm63xx/setup.c b/arch/mips/bcm63xx/setup.c
index b18a0ca..d005659 100644
--- a/arch/mips/bcm63xx/setup.c
+++ b/arch/mips/bcm63xx/setup.c
@@ -75,7 +75,9 @@ void bcm63xx_machine_reboot(void)
                bcm6348_a1_reboot();
 
        printk(KERN_INFO "triggering watchdog soft-reset...\n");
-       bcm_perf_writel(SYS_PLL_SOFT_RESET, PERF_SYS_PLL_CTL_REG);
+       reg = bcm_perf_readl(PERF_SYS_PLL_CTL_REG);
+       reg |= SYS_PLL_SOFT_RESET;
+       bcm_perf_writel(reg, PERF_SYS_PLL_CTL_REG);
        while (1)
                ;
 }


<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 1/2] bcm63xx: fix soft-reset lockup on BCM6345, Florian Fainelli <=