[Armadeus-commitlog] armadeus branch, master, updated. release-3.4-216-g18af4bc
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2011-06-22 13:04:56
|
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 18af4bc2ad309cab9a7ba7c8df87d20c624ef066 (commit)
via 3a43fb168e590673519dd9bb3c37fa75a822d00f (commit)
from a9783d21479a11e4974b97ff59e8179255c73572 (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 18af4bc2ad309cab9a7ba7c8df87d20c624ef066
Author: Julien Boibessot <jul...@ar...>
Date: Wed Jun 22 15:02:57 2011 +0200
[TOOLS] uboot_recover: updates U-Boot image for APF51
commit 3a43fb168e590673519dd9bb3c37fa75a822d00f
Author: Julien Boibessot <jul...@ar...>
Date: Wed Jun 22 14:46:18 2011 +0200
[LINUX] 2.6.29: Add gpiolib support for APF27
-----------------------------------------------------------------------
Summary of changes:
.../armadeus/apf27/apf27-linux-2.6.29.config | 5 +-
...gpios_functions_to_have_a_working_gpiolib.patch | 56 ++++++++++++++++++++
software/uboot_recover/apf51-u-boot.bin | Bin 251828 -> 251756 bytes
3 files changed, 58 insertions(+), 3 deletions(-)
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/366-armadeus-gpio-backport_some_gpios_functions_to_have_a_working_gpiolib.patch
diff --git a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config
index 76b117a..873c39a 100644
--- a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config
+++ b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29.6
-# Wed May 18 11:57:38 2011
+# Tue Jun 21 18:13:55 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -71,7 +71,6 @@ CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
@@ -891,7 +890,7 @@ CONFIG_SPI_MXC_SELECT2=y
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.29/366-armadeus-gpio-backport_some_gpios_functions_to_have_a_working_gpiolib.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/366-armadeus-gpio-backport_some_gpios_functions_to_have_a_working_gpiolib.patch
new file mode 100644
index 0000000..f7dc98c
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/366-armadeus-gpio-backport_some_gpios_functions_to_have_a_working_gpiolib.patch
@@ -0,0 +1,56 @@
+Makes mxc_gpio_direction_output() actually configure pin as GPIO.
+(backport from 2.6.38)
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.29.6/arch/arm/plat-mxc/gpio.c
+===================================================================
+--- linux-2.6.29.6.orig/arch/arm/plat-mxc/gpio.c 2011-06-22 09:59:15.000000000 +0200
++++ linux-2.6.29.6/arch/arm/plat-mxc/gpio.c 2011-06-22 10:04:31.000000000 +0200
+@@ -29,6 +29,12 @@
+ static struct mxc_gpio_port *mxc_gpio_ports;
+ static int gpio_table_size;
+
++#if defined(CONFIG_ARCH_MX2) || defined(CONFIG_ARCH_MX1)
++# define GPIO_OCR1 0x04
++# define GPIO_OCR2 0x08
++# define GPIO_GIUS 0x20
++#endif
++
+ /* Note: This driver assumes 32 GPIOs are handled in one register */
+
+ static void _clear_gpio_irqstatus(struct mxc_gpio_port *port, u32 index)
+@@ -247,8 +253,32 @@
+ static int mxc_gpio_direction_output(struct gpio_chip *chip,
+ unsigned offset, int value)
+ {
+- _set_gpio_direction(chip, offset, 1);
++ 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;
++ void __iomem *reg_gius = port->base + GPIO_GIUS;
++ u32 ocr1;
++ u32 ocr2;
++ u32 gius;
++
++ /* select DR mux */
++ 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);
++ }
++ /* set GIUS */
++ gius = __raw_readl(reg_gius);
++ gius = gius | (1 << (offset));
++ __raw_writel(gius, reg_gius);
++
+ mxc_gpio_set(chip, offset, value);
++ _set_gpio_direction(chip, offset, 1);
+ return 0;
+ }
+
diff --git a/software/uboot_recover/apf51-u-boot.bin b/software/uboot_recover/apf51-u-boot.bin
index 5e000c6..c213be3 100644
Binary files a/software/uboot_recover/apf51-u-boot.bin and b/software/uboot_recover/apf51-u-boot.bin differ
hooks/post-receive
--
armadeus
|