[Armadeus-commitlog] armadeus branch, master, updated. release-3.2-293-g1c39d3a
Brought to you by:
sszy
|
From: Fabien M <fa...@us...> - 2010-04-13 15:36:32
|
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 1c39d3aadfc01811a23d135e691ba9e7a62b62a6 (commit)
via f1b67dca4cbdabdf2b9efdedad8e76b795899e47 (commit)
via 709f36d702108894db2d748efe0746c01dac604e (commit)
via a7277733d498062893a597c41c46df025e1dfb10 (commit)
via 631e9c9f3b735d5b188430bad15acc7491b465b7 (commit)
via 31b923f1167b6dae74a86986bea97346934af700 (commit)
via 5c0e49a0d712887b1d6303447ade59b29f94de18 (commit)
from 6dd9e4971715e380c05f8ab17937b60835b3a22e (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 1c39d3aadfc01811a23d135e691ba9e7a62b62a6
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 17:05:18 2010 +0200
Suppressing old faulty patch
commit f1b67dca4cbdabdf2b9efdedad8e76b795899e47
Merge: 709f36d702108894db2d748efe0746c01dac604e 6dd9e4971715e380c05f8ab17937b60835b3a22e
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 16:44:20 2010 +0200
Merge branch 'master' of ssh://fabm@armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 709f36d702108894db2d748efe0746c01dac604e
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 16:39:01 2010 +0200
[linux] shrink lan95xx patch
commit a7277733d498062893a597c41c46df025e1dfb10
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 15:34:24 2010 +0200
[linux] smsc95xx: add additional USB product IDs
commit 631e9c9f3b735d5b188430bad15acc7491b465b7
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 15:28:52 2010 +0200
Revert "[linux] Fix smsc95xx led output"
This reverts commit fa36febaac9894dd49fe3ff7fc6425a6b8378489.
commit 31b923f1167b6dae74a86986bea97346934af700
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 15:28:25 2010 +0200
Revert "[linux] Adding lan9500A in smsc95xx driver"
This reverts commit bd04f667a89b3cce44d655f80a1c06ac4b5ed7ac.
commit 5c0e49a0d712887b1d6303447ade59b29f94de18
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 13 14:53:00 2010 +0200
[linux] Adding ioctl for gpio pullup resistor
-----------------------------------------------------------------------
Summary of changes:
.../346-smsc-lan95xx-activates_led_outputs.patch | 57 ++++++++++++++
...activates_led_outputs_and_adding_lan9500A.patch | 73 ------------------
...-lan95xx-add_additionnal_USB_products_IDs.patch | 81 ++++++++++++++++++++
...c-armadeus-lan95xx-activate_blinking_leds.patch | 38 +++++++++
target/linux/modules/gpio/core.c | 29 +++++++-
target/linux/modules/gpio/core.h | 4 +
6 files changed, 207 insertions(+), 75 deletions(-)
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs_and_adding_lan9500A.patch
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347b-smsc-lan95xx-add_additionnal_USB_products_IDs.patch
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347c-armadeus-lan95xx-activate_blinking_leds.patch
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs.patch
new file mode 100644
index 0000000..f7aa8c0
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs.patch
@@ -0,0 +1,57 @@
+From f293501c61c50b014ad2347661c6acd951c80fed Mon Sep 17 00:00:00 2001
+From: Steve Glendinning <ste...@sm...>
+Date: Fri, 1 May 2009 05:46:51 +0000
+Subject: [PATCH] smsc95xx: configure LED outputs
+
+SMSC LAN9500 has dual purpose GPIO/LED pins, and by default at power-on
+these are configured as GPIOs. This means that if LEDs are fitted they
+won't ever light.
+
+This patch sets them to be LED outputs for speed, duplex and
+link/activity.
+
+Signed-off-by: Steve Glendinning <ste...@sm...>
+Signed-off-by: David S. Miller <da...@da...>
+---
+ drivers/net/usb/smsc95xx.c | 10 ++++++++++
+ drivers/net/usb/smsc95xx.h | 3 +++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
+index dc16653..0fd68a5 100644
+--- a/drivers/net/usb/smsc95xx.c
++++ b/drivers/net/usb/smsc95xx.c
+@@ -941,6 +941,16 @@ static int smsc95xx_reset(struct usbnet *dev)
+ if (netif_msg_ifup(dev))
+ devdbg(dev, "ID_REV = 0x%08x", read_buf);
+
++ /* Configure GPIO pins as LED outputs */
++ write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED |
++ LED_GPIO_CFG_FDX_LED;
++ ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf);
++ if (ret < 0) {
++ devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d",
++ ret);
++ return ret;
++ }
++
+ /* Init Tx */
+ write_buf = 0;
+ ret = smsc95xx_write_reg(dev, FLOW, write_buf);
+diff --git a/drivers/net/usb/smsc95xx.h b/drivers/net/usb/smsc95xx.h
+index 66b5c84..86bc449 100644
+--- a/drivers/net/usb/smsc95xx.h
++++ b/drivers/net/usb/smsc95xx.h
+@@ -99,6 +99,9 @@
+ #define PM_CTL_WUPS_MULTI_ (0x00000003)
+
+ #define LED_GPIO_CFG (0x24)
++#define LED_GPIO_CFG_SPD_LED (0x01000000)
++#define LED_GPIO_CFG_LNK_LED (0x00100000)
++#define LED_GPIO_CFG_FDX_LED (0x00010000)
+
+ #define GPIO_CFG (0x28)
+
+--
+1.6.6
+
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs_and_adding_lan9500A.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs_and_adding_lan9500A.patch
deleted file mode 100644
index d8041b6..0000000
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/346-smsc-lan95xx-activates_led_outputs_and_adding_lan9500A.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From f293501c61c50b014ad2347661c6acd951c80fed Mon Sep 17 00:00:00 2001
-From: Steve Glendinning <ste...@sm...>
-Date: Fri, 1 May 2009 05:46:51 +0000
-Subject: [PATCH] smsc95xx: configure LED outputs
-
-SMSC LAN9500 has dual purpose GPIO/LED pins, and by default at power-on
-these are configured as GPIOs. This means that if LEDs are fitted they
-won't ever light.
-
-This patch sets them to be LED outputs for speed, duplex and
-link/activity.
-
-Signed-off-by: Steve Glendinning <ste...@sm...>
-Signed-off-by: David S. Miller <da...@da...>
----
- drivers/net/usb/smsc95xx.c | 10 ++++++++++
- drivers/net/usb/smsc95xx.h | 3 +++
- 2 files changed, 13 insertions(+), 0 deletions(-)
-
-Index: linux-2.6.29.6/drivers/net/usb/smsc95xx.c
-===================================================================
---- linux-2.6.29.6.orig/drivers/net/usb/smsc95xx.c 2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29.6/drivers/net/usb/smsc95xx.c 2010-04-12 14:42:46.000000000 +0200
-@@ -945,6 +945,18 @@
- if (netif_msg_ifup(dev))
- devdbg(dev, "ID_REV = 0x%08x", read_buf);
-
-+ /* Configure GPIO pins as LED outputs */
-+ write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_SPD_POL |
-+ LED_GPIO_CFG_LNK_LED | LED_GPIO_CFG_LNK_POL |
-+ LED_GPIO_CFG_FDX_LED | LED_GPIO_CFG_FDX_POL |
-+ LED_GPIO_CFG_LED_SEL;
-+ ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf);
-+ if (ret < 0) {
-+ devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d",
-+ ret);
-+ return ret;
-+ }
-+
- /* Init Tx */
- write_buf = 0;
- ret = smsc95xx_write_reg(dev, FLOW, write_buf);
-@@ -1224,6 +1236,11 @@
- USB_DEVICE(0x0424, 0x9500),
- .driver_info = (unsigned long) &smsc95xx_info,
- },
-+ {
-+ /* SMSC9500A USB Ethernet Device */
-+ USB_DEVICE(0x0424, 0x9E00),
-+ .driver_info = (unsigned long) &smsc95xx_info,
-+ },
- { }, /* END */
- };
- MODULE_DEVICE_TABLE(usb, products);
-Index: linux-2.6.29.6/drivers/net/usb/smsc95xx.h
-===================================================================
---- linux-2.6.29.6.orig/drivers/net/usb/smsc95xx.h 2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29.6/drivers/net/usb/smsc95xx.h 2010-04-09 18:55:34.000000000 +0200
-@@ -99,6 +99,14 @@
- #define PM_CTL_WUPS_MULTI_ (0x00000003)
-
- #define LED_GPIO_CFG (0x24)
-+#define LED_GPIO_CFG_LED_SEL (0x80000000)
-+#define LED_GPIO_CFG_SPD_LED (0x01000000)
-+#define LED_GPIO_CFG_LNK_LED (0x00100000)
-+#define LED_GPIO_CFG_FDX_LED (0x00010000)
-+
-+#define LED_GPIO_CFG_SPD_POL (0x00000004)
-+#define LED_GPIO_CFG_LNK_POL (0x00000002)
-+#define LED_GPIO_CFG_FDX_POL (0x00000001)
-
- #define GPIO_CFG (0x28)
-
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347b-smsc-lan95xx-add_additionnal_USB_products_IDs.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347b-smsc-lan95xx-add_additionnal_USB_products_IDs.patch
new file mode 100644
index 0000000..4027ee8
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347b-smsc-lan95xx-add_additionnal_USB_products_IDs.patch
@@ -0,0 +1,81 @@
+Index: linux-2.6.29.6/drivers/net/usb/smsc95xx.c
+===================================================================
+--- linux-2.6.29.6.orig/drivers/net/usb/smsc95xx.c 2010-04-13 16:23:57.000000000 +0200
++++ linux-2.6.29.6/drivers/net/usb/smsc95xx.c 2010-04-13 16:25:48.000000000 +0200
+@@ -1229,6 +1229,76 @@
+ USB_DEVICE(0x0424, 0x9500),
+ .driver_info = (unsigned long) &smsc95xx_info,
+ },
++ {
++ /* SMSC9505 USB Ethernet Device */
++ USB_DEVICE(0x0424, 0x9505),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9500A USB Ethernet Device */
++ USB_DEVICE(0x0424, 0x9E00),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9505A USB Ethernet Device */
++ USB_DEVICE(0x0424, 0x9E01),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9512/9514 USB Hub & Ethernet Device */
++ USB_DEVICE(0x0424, 0xec00),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9500 USB Ethernet Device (SAL10) */
++ USB_DEVICE(0x0424, 0x9900),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9505 USB Ethernet Device (SAL10) */
++ USB_DEVICE(0x0424, 0x9901),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9500A USB Ethernet Device (SAL10) */
++ USB_DEVICE(0x0424, 0x9902),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9505A USB Ethernet Device (SAL10) */
++ USB_DEVICE(0x0424, 0x9903),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9512/9514 USB Hub & Ethernet Device (SAL10) */
++ USB_DEVICE(0x0424, 0x9904),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9500A USB Ethernet Device (HAL) */
++ USB_DEVICE(0x0424, 0x9905),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9505A USB Ethernet Device (HAL) */
++ USB_DEVICE(0x0424, 0x9906),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9500 USB Ethernet Device (Alternate ID) */
++ USB_DEVICE(0x0424, 0x9907),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9500A USB Ethernet Device (Alternate ID) */
++ USB_DEVICE(0x0424, 0x9908),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
++ {
++ /* SMSC9512/9514 USB Hub & Ethernet Device (Alternate ID) */
++ USB_DEVICE(0x0424, 0x9909),
++ .driver_info = (unsigned long) &smsc95xx_info,
++ },
+ { }, /* END */
+ };
+ MODULE_DEVICE_TABLE(usb, products);
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347c-armadeus-lan95xx-activate_blinking_leds.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347c-armadeus-lan95xx-activate_blinking_leds.patch
new file mode 100644
index 0000000..d360c21
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/347c-armadeus-lan95xx-activate_blinking_leds.patch
@@ -0,0 +1,38 @@
+Index: linux-2.6.29.6/drivers/net/usb/smsc95xx.c
+===================================================================
+--- linux-2.6.29.6.orig/drivers/net/usb/smsc95xx.c 2010-04-13 16:27:42.000000000 +0200
++++ linux-2.6.29.6/drivers/net/usb/smsc95xx.c 2010-04-13 16:33:39.000000000 +0200
+@@ -941,8 +941,11 @@
+ devdbg(dev, "ID_REV = 0x%08x", read_buf);
+
+ /* Configure GPIO pins as LED outputs */
+- write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED |
+- LED_GPIO_CFG_FDX_LED;
++ write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_SPD_POL |
++ LED_GPIO_CFG_LNK_LED | LED_GPIO_CFG_LNK_POL |
++ LED_GPIO_CFG_FDX_LED | LED_GPIO_CFG_FDX_POL |
++ LED_GPIO_CFG_LED_SEL;
++
+ ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf);
+ if (ret < 0) {
+ devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d",
+Index: linux-2.6.29.6/drivers/net/usb/smsc95xx.h
+===================================================================
+--- linux-2.6.29.6.orig/drivers/net/usb/smsc95xx.h 2010-04-13 16:27:40.000000000 +0200
++++ linux-2.6.29.6/drivers/net/usb/smsc95xx.h 2010-04-13 16:36:41.000000000 +0200
+@@ -99,10 +99,15 @@
+ #define PM_CTL_WUPS_MULTI_ (0x00000003)
+
+ #define LED_GPIO_CFG (0x24)
++#define LED_GPIO_CFG_LED_SEL (0x80000000)
+ #define LED_GPIO_CFG_SPD_LED (0x01000000)
+ #define LED_GPIO_CFG_LNK_LED (0x00100000)
+ #define LED_GPIO_CFG_FDX_LED (0x00010000)
+
++#define LED_GPIO_CFG_SPD_POL (0x00000004)
++#define LED_GPIO_CFG_LNK_POL (0x00000002)
++#define LED_GPIO_CFG_FDX_POL (0x00000001)
++
+ #define GPIO_CFG (0x28)
+
+ #define AFC_CFG (0x2C)
diff --git a/target/linux/modules/gpio/core.c b/target/linux/modules/gpio/core.c
index a54348e..c4ab1f9 100755
--- a/target/linux/modules/gpio/core.c
+++ b/target/linux/modules/gpio/core.c
@@ -390,7 +390,12 @@ static unsigned int getPortMode(unsigned int aPort)
return value;
}
-static void setPortPull(unsigned int aPort, unsigned int aPullMask)
+static unsigned int getPortPullUp(unsigned int aPort)
+{
+ return __raw_readl(VA_GPIO_BASE + MXC_PUEN(aPort));
+}
+
+static void setPortPullUp(unsigned int aPort, unsigned int aPullMask)
{
__raw_writel(aPullMask & 0xffffffff, VA_GPIO_BASE + MXC_PUEN(aPort));
}
@@ -727,6 +732,26 @@ int armadeus_gpio_dev_ioctl(struct inode *inode, struct file *filp,
}
break;
+ case GPIORDIRQMODE:
+ /* TODO */
+ break;
+
+ case GPIOWRIRQMODE:
+ /* TODO */
+ break;
+
+ case GPIORDPULLUP:
+ value = getPortPullUp(MAX_MINOR - minor);
+ ret = __put_user(value, (unsigned int *)arg);
+ break;
+
+ case GPIOWRPULLUP:
+ ret = __get_user(value, (unsigned int *)arg);
+ if (ret == 0) {
+ setPortPullUp(MAX_MINOR - minor, value);
+ }
+ break;
+
default:
printk("IOCTL not supported\n");
ret = -ENOTTY;
@@ -875,7 +900,7 @@ static int armadeus_gpio_proc_write( __attribute__ ((unused)) struct file *file,
break;
case PULL_UP:
- setPortPull(port_ID, gpio_state);
+ setPortPullUp(port_ID, gpio_state);
break;
case INTERRUPT:
diff --git a/target/linux/modules/gpio/core.h b/target/linux/modules/gpio/core.h
index 2a243aa..8a9bc58 100755
--- a/target/linux/modules/gpio/core.h
+++ b/target/linux/modules/gpio/core.h
@@ -34,6 +34,10 @@
#define GPIOWRDATA _IOW(PP_IOCTL, 0xF3, int)
#define GPIORDMODE _IOR(PP_IOCTL, 0xF4, int)
#define GPIOWRMODE _IOW(PP_IOCTL, 0xF5, int)
+#define GPIORDIRQMODE _IOR(PP_IOCTL, 0xF6, u64)
+#define GPIOWRIRQMODE _IOW(PP_IOCTL, 0xF7, u64)
+#define GPIORDPULLUP _IOR(PP_IOCTL, 0xF8, int)
+#define GPIOWRPULLUP _IOR(PP_IOCTL, 0xF9, int)
/* Pretend we're PPDEV for IOCTL */
#include <linux/ppdev.h>
hooks/post-receive
--
armadeus
|