summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-28 21:24:34 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-28 21:24:34 +0000
commit4d9258acb3abc998fc14ca792ee460052aacd642 (patch)
treedad3c452dfc83e0d16b6bc839b7a84d818d4c868 /target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch
parent554266a19e43960977bb85b440c15fdebee76241 (diff)
[brcm63xx] add support for 2.6.33
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19921 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch')
-rw-r--r--target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch b/target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch
new file mode 100644
index 000000000..902840b39
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.33/210-init_gpio_out_low_high_current_value_at_boot.patch
@@ -0,0 +1,19 @@
+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(-)
+
+--- a/arch/mips/bcm63xx/gpio.c
++++ b/arch/mips/bcm63xx/gpio.c
+@@ -125,6 +125,8 @@ static struct gpio_chip bcm63xx_gpio_chi
+
+ 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);
+