aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-02-28 20:50:51 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-02-28 20:50:51 +0000
commit984ac762e463a84395d1d7903234207c6bd984dd (patch)
treedf091f9c6f0aaf4809295c9157673469193b8a78 /target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch
parent32bba7d1540cae89123978a1d1e96f822f4131c6 (diff)
downloadupstream-984ac762e463a84395d1d7903234207c6bd984dd.tar.gz
upstream-984ac762e463a84395d1d7903234207c6bd984dd.tar.bz2
upstream-984ac762e463a84395d1d7903234207c6bd984dd.zip
add support for 2.6.32, dropped the SPI patch for now
SVN-Revision: 19919
Diffstat (limited to 'target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch')
-rw-r--r--target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch b/target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch
new file mode 100644
index 0000000000..0f13e3b581
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.32/210-init_gpio_out_low_high_current_value_at_boot.patch
@@ -0,0 +1,25 @@
+To avoid glitch during gpio initialisation, fetch gpio output
+registers values left by bootloader.
+
+Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
+---
+ arch/mips/bcm63xx/gpio.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/arch/mips/bcm63xx/gpio.c b/arch/mips/bcm63xx/gpio.c
+index 3725345..315bc7f 100644
+--- a/arch/mips/bcm63xx/gpio.c
++++ b/arch/mips/bcm63xx/gpio.c
+@@ -125,6 +125,8 @@ static struct gpio_chip bcm63xx_gpio_chip = {
+
+ int __init bcm63xx_gpio_init(void)
+ {
++ gpio_out_low = bcm_gpio_readl(GPIO_DATA_LO_REG);
++ gpio_out_high = bcm_gpio_readl(GPIO_DATA_HI_REG);
+ bcm63xx_gpio_chip.ngpio = bcm63xx_gpio_count();
+ pr_info("registering %d GPIOs\n", bcm63xx_gpio_chip.ngpio);
+
+--
+1.6.3.3
+
+