[Armadeus-commitlog] armadeus branch, master, updated. release-3.4-11-g3d39733
Brought to you by:
sszy
|
From: Fabien M <fa...@us...> - 2011-03-23 09:21:46
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 3d397331357fc328533ffb89b4cdd7a822a7c9ca (commit)
via 15174389b1c0ec983c545e7f4b554bce0bfa1805 (commit)
via c84fb0480f297c538bcdab58d81fd0cbe427d53e (commit)
from a7c94d1745b2522c74d5bb4a43ee60720df014a8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3d397331357fc328533ffb89b4cdd7a822a7c9ca
Merge: 15174389b1c0ec983c545e7f4b554bce0bfa1805 a7c94d1745b2522c74d5bb4a43ee60720df014a8
Author: Fabien Marteau <fab...@ar...>
Date: Wed Mar 23 10:21:04 2011 +0100
Merge branch 'master' of ssh://armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 15174389b1c0ec983c545e7f4b554bce0bfa1805
Author: Fabien Marteau <fab...@ar...>
Date: Tue Mar 22 11:43:25 2011 +0100
[linux] Select gpiolib in linux2.6.38-rc3 configuration
commit c84fb0480f297c538bcdab58d81fd0cbe427d53e
Author: Fabien Marteau <fab...@ar...>
Date: Tue Mar 22 09:59:36 2011 +0100
[linux] Select dr register on output in gpiolib driver
-----------------------------------------------------------------------
Summary of changes:
.../armadeus/apf27/apf27-linux-2.6.38.config | 4 +-
...rmadeus-gpio_select_dr_register_on_output.patch | 45 ++++++++++++++++++++
2 files changed, 47 insertions(+), 2 deletions(-)
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch
diff --git a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
index 19db7ba..6586bea 100644
--- a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
+++ b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Mon Feb 14 16:03:29 2011
+# Tue Mar 22 11:42:18 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1142,7 +1142,7 @@ CONFIG_SPI_TSC2102=m
#
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
+CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO expanders:
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch
new file mode 100644
index 0000000..5f4c998
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch
@@ -0,0 +1,45 @@
+Index: linux-2.6.36/arch/arm/plat-mxc/gpio.c
+===================================================================
+--- linux-2.6.36.orig/arch/arm/plat-mxc/gpio.c 2011-02-02 11:35:55.000000000 +0100
++++ linux-2.6.36/arch/arm/plat-mxc/gpio.c 2011-02-02 11:35:55.000000000 +0100
+@@ -39,6 +39,13 @@
+ #define GPIO_IMR (cpu_is_mx1_mx2() ? 0x30 : 0x14)
+ #define GPIO_ISR (cpu_is_mx1_mx2() ? 0x34 : 0x18)
+
++#if cpu_is_mx1_mx2()
++# define GPIO_OCR1 0x04
++# define GPIO_OCR2 0x08
++#else
++/* TODO */
++#endif
++
+ #define GPIO_INT_LOW_LEV (cpu_is_mx1_mx2() ? 0x3 : 0x0)
+ #define GPIO_INT_HIGH_LEV (cpu_is_mx1_mx2() ? 0x2 : 0x1)
+ #define GPIO_INT_RISE_EDGE (cpu_is_mx1_mx2() ? 0x0 : 0x2)
+@@ -257,6 +264,26 @@
+ static int mxc_gpio_direction_output(struct gpio_chip *chip,
+ unsigned offset, int value)
+ {
++ struct mxc_gpio_port *port =
++ container_of(chip, struct mxc_gpio_port, chip);
++ void __iomem *reg_ocr1 = port->base + GPIO_OCR1;
++ void __iomem *reg_ocr2 = port->base + GPIO_OCR2;
++ u32 ocr1;
++ u32 ocr2;
++ unsigned long flags;
++
++ spin_lock_irqsave(&port->lock, flags);
++ ocr1 = __raw_readl(reg_ocr1);
++ ocr2 = __raw_readl(reg_ocr2);
++ if (offset < 16) {
++ ocr1 = ocr1 | (3 << (offset*2));
++ __raw_writel(ocr1, reg_ocr1);
++ } else {
++ ocr2 = ocr2 | (3 << ((offset-16)*2));
++ __raw_writel(ocr2, reg_ocr2);
++ }
++ spin_unlock_irqrestore(&port->lock, flags);
++
+ mxc_gpio_set(chip, offset, value);
+ _set_gpio_direction(chip, offset, 1);
+ return 0;
hooks/post-receive
--
armadeus
|