mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
linux-rp: Add 2.6.25+2.6.26-rc4, make default for qemuarm, qemux86 and spitz
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4574 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
---
|
||||
arch/arm/kernel/vmlinux.lds.S | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: linux-2.6.22/arch/arm/kernel/vmlinux.lds.S
|
||||
===================================================================
|
||||
--- linux-2.6.22.orig/arch/arm/kernel/vmlinux.lds.S 2007-09-11 18:32:29.000000000 +0200
|
||||
+++ linux-2.6.22/arch/arm/kernel/vmlinux.lds.S 2007-09-11 18:33:42.000000000 +0200
|
||||
@@ -94,6 +94,7 @@
|
||||
TEXT_TEXT
|
||||
SCHED_TEXT
|
||||
LOCK_TEXT
|
||||
+ *(.note.*)
|
||||
#ifdef CONFIG_MMU
|
||||
*(.fixup)
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
Index: linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c
|
||||
===================================================================
|
||||
--- linux-2.6.21.orig/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:45:39.000000000 +0100
|
||||
+++ linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:47:30.000000000 +0100
|
||||
@@ -2666,6 +2666,12 @@
|
||||
iface = netdev_priv(dev);
|
||||
local = iface->local;
|
||||
|
||||
+ if(dev->base_addr == 0)
|
||||
+ {
|
||||
+ printk(KERN_DEBUG "%s: IRQ before base_addr set\n", dev->name);
|
||||
+ return IRQ_HANDLED;
|
||||
+ }
|
||||
+
|
||||
prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0);
|
||||
|
||||
if (local->func->card_present && !local->func->card_present(local)) {
|
||||
@@ -0,0 +1,12 @@
|
||||
Index: linux-2.6.13/drivers/ide/legacy/ide-cs.c
|
||||
===================================================================
|
||||
--- linux-2.6.13.orig/drivers/ide/legacy/ide-cs.c 2005-09-01 22:43:46.000000000 +0100
|
||||
+++ linux-2.6.13/drivers/ide/legacy/ide-cs.c 2005-09-01 22:45:46.000000000 +0100
|
||||
@@ -488,7 +488,6 @@
|
||||
PCMCIA_DEVICE_PROD_ID123("KODAK Picture Card ", "KODAK ", "V100K", 0x94a0d8f3, 0xe4fc3ea0, 0xe5e7eed4),
|
||||
PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
|
||||
PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
|
||||
- PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
|
||||
PCMCIA_DEVICE_NULL,
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pcmcia, ide_ids);
|
||||
1741
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita
Normal file
1741
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita
Normal file
File diff suppressed because it is too large
Load Diff
1994
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86
Normal file
1994
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86
Normal file
File diff suppressed because it is too large
Load Diff
1747
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0
Normal file
1747
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0
Normal file
File diff suppressed because it is too large
Load Diff
1437
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie
Normal file
1437
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1733
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000
Normal file
1733
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000
Normal file
File diff suppressed because it is too large
Load Diff
1757
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle
Normal file
1757
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle
Normal file
File diff suppressed because it is too large
Load Diff
1582
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm
Normal file
1582
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm
Normal file
File diff suppressed because it is too large
Load Diff
1993
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86
Normal file
1993
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86
Normal file
File diff suppressed because it is too large
Load Diff
1834
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz
Normal file
1834
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz
Normal file
File diff suppressed because it is too large
Load Diff
1740
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite
Normal file
1740
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,209 @@
|
||||
This is a patch that I've been maintaining for a few years, and I'd
|
||||
really like to see it added to the mainstream zaurus kernel so I can
|
||||
finally stop distributing my own.
|
||||
|
||||
This patch only effects the card while in monitor mode, and does not
|
||||
cause any known stability issues.
|
||||
|
||||
http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
|
||||
|
||||
Rick Farina (Zero_Chaos)
|
||||
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_80211_tx.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_80211_tx.c
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_80211_tx.c 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_80211_tx.c 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -69,6 +69,9 @@
|
||||
iface = netdev_priv(dev);
|
||||
local = iface->local;
|
||||
|
||||
+ if (local->iw_mode == IW_MODE_MONITOR)
|
||||
+ goto xmit;
|
||||
+
|
||||
if (skb->len < ETH_HLEN) {
|
||||
printk(KERN_DEBUG "%s: hostap_data_start_xmit: short skb "
|
||||
"(len=%d)\n", dev->name, skb->len);
|
||||
@@ -234,6 +237,7 @@
|
||||
memcpy(skb_put(skb, ETH_ALEN), &hdr.addr4, ETH_ALEN);
|
||||
}
|
||||
|
||||
+xmit:
|
||||
iface->stats.tx_packets++;
|
||||
iface->stats.tx_bytes += skb->len;
|
||||
|
||||
@@ -404,8 +408,6 @@
|
||||
}
|
||||
|
||||
if (skb->len < 24) {
|
||||
- printk(KERN_DEBUG "%s: hostap_master_start_xmit: short skb "
|
||||
- "(len=%d)\n", dev->name, skb->len);
|
||||
ret = 0;
|
||||
iface->stats.tx_dropped++;
|
||||
goto fail;
|
||||
Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_cs.c.orig
|
||||
Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_cs.c.rej
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_hw.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_hw.c
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_hw.c 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_hw.c 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -1005,6 +1005,35 @@
|
||||
return fid;
|
||||
}
|
||||
|
||||
+static int prism2_monitor_enable(struct net_device *dev)
|
||||
+{
|
||||
+ if (hostap_set_word(dev, HFA384X_RID_CNFPORTTYPE, 5)) {
|
||||
+ printk(KERN_DEBUG "Port type setting for monitor mode "
|
||||
+ "failed\n");
|
||||
+ return -EOPNOTSUPP;
|
||||
+ }
|
||||
+
|
||||
+ if (hfa384x_cmd(dev, HFA384X_CMDCODE_TEST | (0x0a << 8),
|
||||
+ 0, NULL, NULL)) {
|
||||
+ printk(KERN_DEBUG "Could not enter testmode 0x0a\n");
|
||||
+ return -EOPNOTSUPP;
|
||||
+ }
|
||||
+
|
||||
+ if (hostap_set_word(dev, HFA384X_RID_CNFWEPFLAGS,
|
||||
+ HFA384X_WEPFLAGS_PRIVACYINVOKED |
|
||||
+ HFA384X_WEPFLAGS_HOSTENCRYPT |
|
||||
+ HFA384X_WEPFLAGS_HOSTDECRYPT)) {
|
||||
+ printk(KERN_DEBUG "WEP flags setting failed\n");
|
||||
+ return -EOPNOTSUPP;
|
||||
+ }
|
||||
+
|
||||
+ if (hostap_set_word(dev, HFA384X_RID_PROMISCUOUSMODE, 1)) {
|
||||
+ printk(KERN_DEBUG "Could not set promiscuous mode\n");
|
||||
+ return -EOPNOTSUPP;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
|
||||
static int prism2_reset_port(struct net_device *dev)
|
||||
{
|
||||
@@ -1031,6 +1060,10 @@
|
||||
"port\n", dev->name);
|
||||
}
|
||||
|
||||
+ if (local->iw_mode == IW_MODE_MONITOR)
|
||||
+ /* force mode 0x0a after port 0 reset */
|
||||
+ return prism2_monitor_enable(dev);
|
||||
+
|
||||
/* It looks like at least some STA firmware versions reset
|
||||
* fragmentation threshold back to 2346 after enable command. Restore
|
||||
* the configured value, if it differs from this default. */
|
||||
@@ -1466,6 +1499,10 @@
|
||||
return 1;
|
||||
}
|
||||
|
||||
+ if (local->iw_mode == IW_MODE_MONITOR)
|
||||
+ /* force mode 0x0a after port 0 reset */
|
||||
+ prism2_monitor_enable(dev);
|
||||
+
|
||||
local->hw_ready = 1;
|
||||
local->hw_reset_tries = 0;
|
||||
local->hw_resetting = 0;
|
||||
@@ -3156,6 +3193,7 @@
|
||||
local->func->hw_config = prism2_hw_config;
|
||||
local->func->hw_reset = prism2_hw_reset;
|
||||
local->func->hw_shutdown = prism2_hw_shutdown;
|
||||
+ local->func->monitor_enable = prism2_monitor_enable;
|
||||
local->func->reset_port = prism2_reset_port;
|
||||
local->func->schedule_reset = prism2_schedule_reset;
|
||||
#ifdef PRISM2_DOWNLOAD_SUPPORT
|
||||
Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_hw.c.orig
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_ioctl.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_ioctl.c
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_ioctl.c 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_ioctl.c 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -1104,33 +1104,7 @@
|
||||
|
||||
printk(KERN_DEBUG "Enabling monitor mode\n");
|
||||
hostap_monitor_set_type(local);
|
||||
-
|
||||
- if (hostap_set_word(dev, HFA384X_RID_CNFPORTTYPE,
|
||||
- HFA384X_PORTTYPE_PSEUDO_IBSS)) {
|
||||
- printk(KERN_DEBUG "Port type setting for monitor mode "
|
||||
- "failed\n");
|
||||
- return -EOPNOTSUPP;
|
||||
- }
|
||||
-
|
||||
- /* Host decrypt is needed to get the IV and ICV fields;
|
||||
- * however, monitor mode seems to remove WEP flag from frame
|
||||
- * control field */
|
||||
- if (hostap_set_word(dev, HFA384X_RID_CNFWEPFLAGS,
|
||||
- HFA384X_WEPFLAGS_HOSTENCRYPT |
|
||||
- HFA384X_WEPFLAGS_HOSTDECRYPT)) {
|
||||
- printk(KERN_DEBUG "WEP flags setting failed\n");
|
||||
- return -EOPNOTSUPP;
|
||||
- }
|
||||
-
|
||||
- if (local->func->reset_port(dev) ||
|
||||
- local->func->cmd(dev, HFA384X_CMDCODE_TEST |
|
||||
- (HFA384X_TEST_MONITOR << 8),
|
||||
- 0, NULL, NULL)) {
|
||||
- printk(KERN_DEBUG "Setting monitor mode failed\n");
|
||||
- return -EOPNOTSUPP;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
+ return local->func->reset_port(dev);
|
||||
}
|
||||
|
||||
|
||||
@@ -1199,7 +1173,7 @@
|
||||
local->iw_mode = *mode;
|
||||
|
||||
if (local->iw_mode == IW_MODE_MONITOR)
|
||||
- hostap_monitor_mode_enable(local);
|
||||
+ return hostap_monitor_mode_enable(local);
|
||||
else if (local->iw_mode == IW_MODE_MASTER && !local->host_encrypt &&
|
||||
!local->fw_encrypt_ok) {
|
||||
printk(KERN_DEBUG "%s: defaulting to host-based encryption as "
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_main.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_main.c
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_main.c 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_main.c 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -331,7 +331,7 @@
|
||||
if (local->iw_mode == IW_MODE_REPEAT)
|
||||
return HFA384X_PORTTYPE_WDS;
|
||||
if (local->iw_mode == IW_MODE_MONITOR)
|
||||
- return HFA384X_PORTTYPE_PSEUDO_IBSS;
|
||||
+ return 5; /*HFA384X_PORTTYPE_PSEUDO_IBSS;*/
|
||||
return HFA384X_PORTTYPE_HOSTAP;
|
||||
}
|
||||
|
||||
Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_main.c.orig
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_pci.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_pci.c
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_pci.c 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_pci.c 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -48,6 +48,8 @@
|
||||
{ 0x1260, 0x3873, PCI_ANY_ID, PCI_ANY_ID },
|
||||
/* Samsung MagicLAN SWL-2210P */
|
||||
{ 0x167d, 0xa000, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ /* NETGEAR MA311 */
|
||||
+ { 0x1385, 0x3872, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_pci.c.orig
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_plx.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_plx.c
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_plx.c 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_plx.c 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -101,6 +101,7 @@
|
||||
{ 0xc250, 0x0002 } /* EMTAC A2424i */,
|
||||
{ 0xd601, 0x0002 } /* Z-Com XI300 */,
|
||||
{ 0xd601, 0x0005 } /* Zcomax XI-325H 200mW */,
|
||||
+ { 0xd601, 0x0010 } /* Zcomax XI-325H 100mW */,
|
||||
{ 0, 0}
|
||||
};
|
||||
|
||||
Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_plx.c.orig
|
||||
diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_wlan.h linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_wlan.h
|
||||
--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_wlan.h 2006-09-21 01:26:27.000000000 -0400
|
||||
+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_wlan.h 2006-09-21 01:30:18.000000000 -0400
|
||||
@@ -575,6 +575,7 @@
|
||||
int (*hw_config)(struct net_device *dev, int initial);
|
||||
void (*hw_reset)(struct net_device *dev);
|
||||
void (*hw_shutdown)(struct net_device *dev, int no_disable);
|
||||
+ int (*monitor_enable)(struct net_device *dev);
|
||||
int (*reset_port)(struct net_device *dev);
|
||||
void (*schedule_reset)(local_info_t *local);
|
||||
int (*download)(local_info_t *local,
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
From: Marcin Juszkiewicz <openembedded@haerwu.biz>
|
||||
|
||||
Card reported by Ångström user:
|
||||
http://bugs.openembedded.net/show_bug.cgi?id=3236
|
||||
|
||||
Socket 1:
|
||||
product info: "Wireless LAN", "11Mbps PC Card", "Version 01.02", ""
|
||||
manfid: 0x0156, 0x0002
|
||||
function: 6 (network)
|
||||
|
||||
Signed-off-by: Marcin Juszkiewicz <openembedded@haerwu.biz>
|
||||
Acked-by: Pavel Roskin <proski@gnu.org>
|
||||
|
||||
---
|
||||
drivers/net/wireless/hostap/hostap_cs.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- linux-2.6.24.orig/drivers/net/wireless/hostap/hostap_cs.c
|
||||
+++ linux-2.6.24/drivers/net/wireless/hostap/hostap_cs.c
|
||||
@@ -892,10 +892,13 @@ static struct pcmcia_device_id hostap_cs
|
||||
0xa21501a, 0x59868926, 0xc9049a39),
|
||||
PCMCIA_DEVICE_PROD_ID1234(
|
||||
"The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P",
|
||||
"RevA",
|
||||
0xa5f472c2, 0x9c05598d, 0xc9049a39, 0x57a66194),
|
||||
+ PCMCIA_DEVICE_PROD_ID123(
|
||||
+ "Wireless LAN" , "11Mbps PC Card", "Version 01.02",
|
||||
+ 0x4b8870ff, 0x70e946d1, 0x4b74baa0),
|
||||
PCMCIA_DEVICE_NULL
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
|
||||
|
||||
|
||||
33527
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch
Normal file
33527
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch
Normal file
File diff suppressed because it is too large
Load Diff
7899
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch
Normal file
7899
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,90 @@
|
||||
---
|
||||
drivers/serial/8250.c | 5 +++++
|
||||
drivers/serial/serial_core.c | 1 +
|
||||
drivers/serial/serial_cs.c | 12 +++++++++---
|
||||
include/linux/serial_core.h | 1 +
|
||||
4 files changed, 16 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: linux-2.6.20/drivers/serial/8250.c
|
||||
===================================================================
|
||||
--- linux-2.6.20.orig/drivers/serial/8250.c 2007-04-27 13:37:26.000000000 +0100
|
||||
+++ linux-2.6.20/drivers/serial/8250.c 2007-04-27 13:38:16.000000000 +0100
|
||||
@@ -2429,7 +2429,12 @@
|
||||
.driver_name = "serial",
|
||||
.dev_name = "ttyS",
|
||||
.major = TTY_MAJOR,
|
||||
+#ifdef CONFIG_SERIAL_PXA
|
||||
+ .minor = 64 + 4,
|
||||
+ .name_base = 4,
|
||||
+#else
|
||||
.minor = 64,
|
||||
+#endif
|
||||
.nr = UART_NR,
|
||||
.cons = SERIAL8250_CONSOLE,
|
||||
};
|
||||
Index: linux-2.6.20/drivers/serial/serial_core.c
|
||||
===================================================================
|
||||
--- linux-2.6.20.orig/drivers/serial/serial_core.c 2007-02-04 18:44:54.000000000 +0000
|
||||
+++ linux-2.6.20/drivers/serial/serial_core.c 2007-04-27 13:39:39.000000000 +0100
|
||||
@@ -2068,7 +2068,8 @@
|
||||
printk(KERN_INFO "%s%s%s%d at %s (irq = %d) is a %s\n",
|
||||
port->dev ? port->dev->bus_id : "",
|
||||
port->dev ? ": " : "",
|
||||
- drv->dev_name, port->line, address, port->irq, uart_type(port));
|
||||
+ drv->dev_name, port->line + drv->name_base, address, port->irq,
|
||||
+ uart_type(port));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2183,6 +2184,7 @@
|
||||
normal->owner = drv->owner;
|
||||
normal->driver_name = drv->driver_name;
|
||||
normal->name = drv->dev_name;
|
||||
+ normal->name_base = drv->name_base;
|
||||
normal->major = drv->major;
|
||||
normal->minor_start = drv->minor;
|
||||
normal->type = TTY_DRIVER_TYPE_SERIAL;
|
||||
Index: linux-2.6.20/include/linux/serial_core.h
|
||||
===================================================================
|
||||
--- linux-2.6.20.orig/include/linux/serial_core.h 2007-02-04 18:44:54.000000000 +0000
|
||||
+++ linux-2.6.20/include/linux/serial_core.h 2007-04-27 13:37:27.000000000 +0100
|
||||
@@ -341,6 +341,7 @@
|
||||
struct module *owner;
|
||||
const char *driver_name;
|
||||
const char *dev_name;
|
||||
+ int name_base;
|
||||
int major;
|
||||
int minor;
|
||||
int nr;
|
||||
Index: linux-2.6.20/drivers/serial/serial_cs.c
|
||||
===================================================================
|
||||
--- linux-2.6.20.orig/drivers/serial/serial_cs.c 2007-02-04 18:44:54.000000000 +0000
|
||||
+++ linux-2.6.20/drivers/serial/serial_cs.c 2007-04-27 13:40:34.000000000 +0100
|
||||
@@ -390,7 +390,7 @@
|
||||
kio_addr_t iobase, int irq)
|
||||
{
|
||||
struct uart_port port;
|
||||
- int line;
|
||||
+ int line, linestart;
|
||||
|
||||
memset(&port, 0, sizeof (struct uart_port));
|
||||
port.iobase = iobase;
|
||||
@@ -411,10 +411,16 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+#if CONFIG_SERIAL_PXA
|
||||
+ linestart = 4;
|
||||
+#else
|
||||
+ linestart = 0;
|
||||
+#endif
|
||||
+
|
||||
info->line[info->ndev] = line;
|
||||
- sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
|
||||
+ sprintf(info->node[info->ndev].dev_name, "ttyS%d", line+linestart);
|
||||
info->node[info->ndev].major = TTY_MAJOR;
|
||||
- info->node[info->ndev].minor = 0x40 + line;
|
||||
+ info->node[info->ndev].minor = 0x40 + line + linestart;
|
||||
if (info->ndev > 0)
|
||||
info->node[info->ndev - 1].next = &info->node[info->ndev];
|
||||
info->ndev++;
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
drivers/video/pxafb.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: linux-2.6.22/drivers/video/pxafb.h
|
||||
===================================================================
|
||||
--- linux-2.6.22.orig/drivers/video/pxafb.h 2007-09-25 15:44:42.000000000 +0200
|
||||
+++ linux-2.6.22/drivers/video/pxafb.h 2007-09-25 15:45:07.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
struct fb_bitfield transp;
|
||||
};
|
||||
|
||||
-#ifdef CONFIG_PXA27x
|
||||
+#if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx)
|
||||
/* PXA Overlay Framebuffer Support */
|
||||
struct overlayfb_info
|
||||
{
|
||||
@@ -142,7 +142,7 @@
|
||||
wait_queue_head_t ctrlr_wait;
|
||||
struct work_struct task;
|
||||
|
||||
-#ifdef CONFIG_PXA27x
|
||||
+#if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx)
|
||||
/* PXA Overlay Framebuffer Support */
|
||||
struct overlayfb_info *overlay1fb;
|
||||
struct overlayfb_info *overlay2fb;
|
||||
@@ -0,0 +1,155 @@
|
||||
|
||||
From: Petr Vandrovec <vandrove@vc.cvut.cz>
|
||||
|
||||
Patch below adds support for using different prescaler than 16 for 16c950
|
||||
chips. This is needed for using Fujitsu-Siemens Connect2Air compact-flash
|
||||
card, which comes (apparently) with 806kHz clocks, and so you have to
|
||||
program prescaler for division by 7, and DLAB to 1, to get 115200Bd.
|
||||
|
||||
To get card properly running you also have to add lines below to
|
||||
/etc/pcmcia/serial.opts so kernel knows that base speed is not 115200 but
|
||||
50400 (50400 * 16 = 806400; 806400 / 7 = 115200). As I've found no code
|
||||
specifying baud_rate in serial_cs, I assume that specifying it in
|
||||
serial.opts is right way to do this type of things.
|
||||
|
||||
Patch also fixes problem that for UPF_MAGIC_MULTIPLIER maximum possible
|
||||
baud rate passed to uart code was uartclk / 16 while correct value for
|
||||
these devices (and for 16c950) is uartclk / 4.
|
||||
|
||||
Patch also fixes problem that for UPF_MAGIC_MULTIPLIER devices with
|
||||
baud_rate 19200 or 9600 spd_cust did not work correctly. Not that such
|
||||
devices exist, but we should not ignore spd_cust, user probably knows why
|
||||
he asked for spd_cust.
|
||||
|
||||
serial.opts:
|
||||
|
||||
case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in
|
||||
'0279,950b-2-GPRS Modem---')
|
||||
SERIAL_OPTS="baud_base 50400"
|
||||
;;
|
||||
esac
|
||||
|
||||
Cc: David Woodhouse <dwmw2@infradead.org>
|
||||
Signed-off-by: Andrew Morton <akpm@osdl.org>
|
||||
---
|
||||
|
||||
drivers/serial/8250.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
|
||||
1 file changed, 64 insertions(+), 18 deletions(-)
|
||||
|
||||
Index: linux-2.6.21/drivers/serial/8250.c
|
||||
===================================================================
|
||||
--- linux-2.6.21.orig/drivers/serial/8250.c 2007-07-01 16:59:52.000000000 +0100
|
||||
+++ linux-2.6.21/drivers/serial/8250.c 2007-07-01 17:01:21.000000000 +0100
|
||||
@@ -1964,24 +1964,58 @@ static void serial8250_shutdown(struct u
|
||||
serial_unlink_irq_chain(up);
|
||||
}
|
||||
|
||||
-static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
|
||||
+static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud,
|
||||
+ unsigned int *prescaler)
|
||||
{
|
||||
- unsigned int quot;
|
||||
-
|
||||
- /*
|
||||
- * Handle magic divisors for baud rates above baud_base on
|
||||
- * SMSC SuperIO chips.
|
||||
+ /*
|
||||
+ * Use special handling only if user did not supply its own divider.
|
||||
+ * spd_cust is defined in terms of baud_base, so always use default
|
||||
+ * prescaler when spd_cust is requested.
|
||||
*/
|
||||
- if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
|
||||
- baud == (port->uartclk/4))
|
||||
- quot = 0x8001;
|
||||
- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
|
||||
- baud == (port->uartclk/8))
|
||||
- quot = 0x8002;
|
||||
- else
|
||||
- quot = uart_get_divisor(port, baud);
|
||||
|
||||
- return quot;
|
||||
+ *prescaler = 16;
|
||||
+ if (baud != 38400 || (port->flags & UPF_SPD_MASK) != UPF_SPD_CUST) {
|
||||
+ unsigned int quot = port->uartclk / baud;
|
||||
+
|
||||
+ /*
|
||||
+ * Handle magic divisors for baud rates above baud_base on
|
||||
+ * SMSC SuperIO chips.
|
||||
+ */
|
||||
+ if (port->flags & UPF_MAGIC_MULTIPLIER) {
|
||||
+ if (quot == 4) {
|
||||
+ return 0x8001;
|
||||
+ } else if (quot == 8) {
|
||||
+ return 0x8002;
|
||||
+ }
|
||||
+ }
|
||||
+ if (port->type == PORT_16C950) {
|
||||
+ /*
|
||||
+ * This computes TCR value (4 to 16), not CPR value (which can
|
||||
+ * be between 1.000 and 31.875) - chip I have uses XTAL of
|
||||
+ * 806400Hz, and so a division by 7 is required to get 115200Bd.
|
||||
+ * I'm leaving CPR disabled for now, until someone will
|
||||
+ * hit even more exotic XTAL (it is needed to get 500kbps
|
||||
+ * or 1000kbps from 18.432MHz XTAL, but I have no device
|
||||
+ * which would benefit from doing that).
|
||||
+ *
|
||||
+ * If we can use divide by 16, use it. Otherwise look for
|
||||
+ * better prescaler, from 15 to 4. If quotient cannot
|
||||
+ * be divided by any integer value between 4 and 15, use 4.
|
||||
+ */
|
||||
+ if (quot & 0x0F) {
|
||||
+ unsigned int div;
|
||||
+
|
||||
+ for (div = 15; div > 4; div--) {
|
||||
+ if (quot % div == 0) {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ *prescaler = div;
|
||||
+ return quot / div;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return uart_get_divisor(port, baud);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1991,7 +2025,7 @@ serial8250_set_termios(struct uart_port
|
||||
struct uart_8250_port *up = (struct uart_8250_port *)port;
|
||||
unsigned char cval, fcr = 0;
|
||||
unsigned long flags;
|
||||
- unsigned int baud, quot;
|
||||
+ unsigned int baud, quot, prescaler;
|
||||
|
||||
switch (termios->c_cflag & CSIZE) {
|
||||
case CS5:
|
||||
@@ -2023,8 +2057,13 @@ serial8250_set_termios(struct uart_port
|
||||
/*
|
||||
* Ask the core to calculate the divisor for us.
|
||||
*/
|
||||
- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
|
||||
- quot = serial8250_get_divisor(port, baud);
|
||||
+ if (port->type == PORT_16C950 || (port->flags & UPF_MAGIC_MULTIPLIER)) {
|
||||
+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/4);
|
||||
+ } else {
|
||||
+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
|
||||
+ }
|
||||
+ quot = serial8250_get_divisor(port, baud, &prescaler);
|
||||
+
|
||||
|
||||
/*
|
||||
* Oxford Semi 952 rev B workaround
|
||||
@@ -2139,6 +2178,13 @@ serial8250_set_termios(struct uart_port
|
||||
serial_dl_write(up, quot);
|
||||
|
||||
/*
|
||||
+ * Program prescaler for 16C950 chips.
|
||||
+ */
|
||||
+ if (up->port.type == PORT_16C950) {
|
||||
+ serial_icr_write(up, UART_TCR, prescaler == 16 ? 0 : prescaler);
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
* LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
|
||||
* is written without DLAB set, this mode will be disabled.
|
||||
*/
|
||||
@@ -0,0 +1,555 @@
|
||||
This patch adds support for Sharp CE-RH2 on Spitz.
|
||||
|
||||
It is not clean enough to be upstreamed:
|
||||
- It is a bit syslog-noisy.
|
||||
- Does not support other Zaurus models.
|
||||
- Maybe split to more parts:
|
||||
* MAX1111 driver
|
||||
* linear input device
|
||||
* virtual keyboard on top of linear input device
|
||||
|
||||
Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/spitz.c 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/arch/arm/mach-pxa/spitz.c 2008-06-02 00:20:05.000000000 +0100
|
||||
@@ -261,6 +261,13 @@
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
+/*
|
||||
+ * Spitz Remote Control Device
|
||||
+ */
|
||||
+static struct platform_device sharpsl_rc_device = {
|
||||
+ .name = "sharpsl-remote-control",
|
||||
+ .id = -1,
|
||||
+};
|
||||
|
||||
/*
|
||||
* Spitz LEDs
|
||||
@@ -522,6 +529,7 @@
|
||||
&spitzscoop_device,
|
||||
&spitzssp_device,
|
||||
&spitzkbd_device,
|
||||
+ &sharpsl_rc_device,
|
||||
&spitzts_device,
|
||||
&spitzbl_device,
|
||||
&spitzled_device,
|
||||
Index: linux-2.6.26-rc4/drivers/input/keyboard/Kconfig
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/drivers/input/keyboard/Kconfig 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/drivers/input/keyboard/Kconfig 2008-06-02 09:46:10.000000000 +0100
|
||||
@@ -175,6 +175,17 @@
|
||||
|
||||
Say Y only if you know, what you are doing!
|
||||
|
||||
+config SHARPSL_RC
|
||||
+ tristate "Sharp SL-Cxx00 Remote Control"
|
||||
+ depends on PXA_SHARPSL
|
||||
+ default y
|
||||
+ help
|
||||
+ Say Y here to enable the remote on the Sharp Zaurus SL-Cxx00,
|
||||
+ SL-C1000, SL-C3000 and Sl-C3100 series of PDAs.
|
||||
+
|
||||
+ To compile this driver as a module, choose M here: the
|
||||
+ module will be called sharpsl_rc.
|
||||
+
|
||||
config KEYBOARD_AMIGA
|
||||
tristate "Amiga keyboard"
|
||||
depends on AMIGA
|
||||
Index: linux-2.6.26-rc4/drivers/input/keyboard/Makefile
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/drivers/input/keyboard/Makefile 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/drivers/input/keyboard/Makefile 2008-06-02 09:46:10.000000000 +0100
|
||||
@@ -26,4 +26,5 @@
|
||||
obj-$(CONFIG_KEYBOARD_HP7XX) += jornada720_kbd.o
|
||||
obj-$(CONFIG_KEYBOARD_MAPLE) += maple_keyb.o
|
||||
obj-$(CONFIG_KEYBOARD_BFIN) += bf54x-keys.o
|
||||
+obj-$(CONFIG_SHARPSL_RC) += sharpsl_rc.o
|
||||
obj-$(CONFIG_KEYBOARD_SH_KEYSC) += sh_keysc.o
|
||||
Index: linux-2.6.26-rc4/drivers/input/keyboard/sharpsl_rc.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ linux-2.6.26-rc4/drivers/input/keyboard/sharpsl_rc.c 2008-06-02 09:47:39.000000000 +0100
|
||||
@@ -0,0 +1,319 @@
|
||||
+/*
|
||||
+ * Keyboard driver for Sharp Clamshell Models (SL-Cxx00)
|
||||
+ *
|
||||
+ * Copyright (c) 2004-2005 Richard Purdie
|
||||
+ *
|
||||
+ * Based on corgikbd.c and Sharp's RC driver
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#define DEBUG 1
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/input.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#include <linux/jiffies.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/slab.h>
|
||||
+
|
||||
+#include <asm/mach-types.h>
|
||||
+#include <asm/arch/spitz.h>
|
||||
+#include <asm/arch/akita.h>
|
||||
+#include <asm/arch/corgi.h>
|
||||
+
|
||||
+#include <asm/arch/hardware.h>
|
||||
+#include <asm/arch/pxa-regs.h>
|
||||
+#include <asm/arch/pxa2xx-gpio.h>
|
||||
+#include <asm/hardware/scoop.h>
|
||||
+#include <asm/arch/sharpsl.h>
|
||||
+#include <asm/hardware/sharpsl_pm.h>
|
||||
+
|
||||
+#define DPRINTK(fmt, args...) dev_dbg(data->dev, fmt "\n", ##args)
|
||||
+
|
||||
+struct remote_control_key {
|
||||
+ unsigned char min;
|
||||
+ unsigned char max;
|
||||
+ unsigned char key;
|
||||
+};
|
||||
+
|
||||
+static struct remote_control_key remote_keys_spitz[] = {
|
||||
+ /* CE-RH2 values */
|
||||
+ { 25, 35, KEY_STOPCD},
|
||||
+ { 55, 65, KEY_PLAYPAUSE},
|
||||
+ { 85, 95, KEY_NEXTSONG},
|
||||
+ { 115, 125, KEY_VOLUMEUP},
|
||||
+ { 145, 155, KEY_PREVIOUSSONG},
|
||||
+ { 180, 190, KEY_MUTE},
|
||||
+ { 215, 225, KEY_VOLUMEDOWN},
|
||||
+};
|
||||
+static struct remote_control_key remote_keys_corgi[] = {
|
||||
+ /* CE-RH1 values */
|
||||
+ { 27, 35, KEY_STOPCD},
|
||||
+ { 7, 13, KEY_PLAYPAUSE},
|
||||
+ { 77, 93, KEY_NEXTSONG},
|
||||
+ { 115, 132, KEY_VOLUMEUP},
|
||||
+ { 46, 58, KEY_PREVIOUSSONG},
|
||||
+ { 170, 186, KEY_VOLUMEDOWN},
|
||||
+};
|
||||
+
|
||||
+#define RELEASE_HI 230
|
||||
+#define MAX_EARPHONE 6
|
||||
+#define RC_POLL_MS 10
|
||||
+#define RC_FINISH_MS 500
|
||||
+#define WAIT_STATE 3
|
||||
+#define NOISE_THRESHOLD 100
|
||||
+
|
||||
+struct sharpsl_rc {
|
||||
+ struct input_dev *input;
|
||||
+ struct device *dev;
|
||||
+
|
||||
+ spinlock_t lock;
|
||||
+ struct timer_list rctimer;
|
||||
+ struct timer_list rctimer_finish;
|
||||
+
|
||||
+ unsigned int handling_press;
|
||||
+ unsigned int noise;
|
||||
+ unsigned int state;
|
||||
+ unsigned int last_key;
|
||||
+};
|
||||
+
|
||||
+static int get_remocon_raw(void)
|
||||
+{
|
||||
+ int i, val;
|
||||
+ struct remote_control_key *remote_keys;
|
||||
+
|
||||
+ if (machine_is_borzoi() || machine_is_spitz() || machine_is_akita())
|
||||
+ remote_keys = remote_keys_spitz;
|
||||
+ else
|
||||
+ remote_keys = remote_keys_corgi;
|
||||
+
|
||||
+ val = sharpsl_pm_pxa_read_max1111(MAX1111_REMCOM);
|
||||
+ for (i = 0; i < (machine_is_borzoi() || machine_is_spitz() || machine_is_akita() ?
|
||||
+ ARRAY_SIZE(remote_keys_spitz) : ARRAY_SIZE(remote_keys_corgi));
|
||||
+ ++i) {
|
||||
+ if (val >= remote_keys[i].min
|
||||
+ && val <= remote_keys[i].max) {
|
||||
+ printk("get_remocon_raw: VAL=%i, KEY=%i\n", val, remote_keys[i].key);
|
||||
+ return remote_keys[i].key;
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static irqreturn_t sharpsl_rc_interrupt(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct sharpsl_rc *data = dev_id;
|
||||
+ DPRINTK("sharpsl_rc_interrupt %d\n", irq);
|
||||
+ if (!data->handling_press) {
|
||||
+ DPRINTK("handling interrupt");
|
||||
+ data->handling_press = 1;
|
||||
+ data->noise = 0;
|
||||
+ data->state = 0;
|
||||
+ data->last_key = 0;
|
||||
+
|
||||
+ if (machine_is_borzoi() || machine_is_spitz())
|
||||
+ reset_scoop_gpio(platform_scoop_config->devs[1].dev, SPITZ_SCP2_AKIN_PULLUP);
|
||||
+ else if (machine_is_akita())
|
||||
+ akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_AKIN_PULLUP);
|
||||
+ else
|
||||
+ reset_scoop_gpio(platform_scoop_config->devs[0].dev, CORGI_SCP_AKIN_PULLUP);
|
||||
+ mod_timer(&data->rctimer, jiffies + msecs_to_jiffies(RC_POLL_MS));
|
||||
+ }
|
||||
+ return IRQ_HANDLED;
|
||||
+}
|
||||
+
|
||||
+static void sharpsl_rc_timer_callback(unsigned long dataPtr)
|
||||
+{
|
||||
+ struct sharpsl_rc *data = (struct sharpsl_rc *) dataPtr;
|
||||
+ int timer = 1;
|
||||
+ int key = get_remocon_raw();
|
||||
+ DPRINTK("timer callback, key: %d", key);
|
||||
+
|
||||
+ //wait for value to stabilize
|
||||
+ if (data->state < WAIT_STATE) {
|
||||
+ if (data->last_key != key) {
|
||||
+ ++data->noise;
|
||||
+ if (data->noise > NOISE_THRESHOLD) {
|
||||
+ DPRINTK("too much noise, bailing");
|
||||
+ timer = 0;
|
||||
+ }
|
||||
+ data->state = 0;
|
||||
+ } else {
|
||||
+ ++data->state;
|
||||
+ }
|
||||
+ data->last_key = key;
|
||||
+
|
||||
+ //stable value, send event
|
||||
+ } else if (data->state == WAIT_STATE) {
|
||||
+ data->noise = 0;
|
||||
+ //non-key returned, skip the rest of the states and bail now
|
||||
+ if (data->last_key == 0) {
|
||||
+ DPRINTK("non-key detected %d, noise: %d", data->last_key, data->noise);
|
||||
+ timer = 0;
|
||||
+ //send button press
|
||||
+ } else {
|
||||
+ DPRINTK("key press detected %d, noise %d", data->last_key, data->noise);
|
||||
+ input_report_key(data->input, data->last_key, 1);
|
||||
+ }
|
||||
+ ++data->state;
|
||||
+
|
||||
+ //wait until key is released
|
||||
+ } else if (data->state < WAIT_STATE * 2) {
|
||||
+ if (key == data->last_key
|
||||
+ && data->noise < NOISE_THRESHOLD) {
|
||||
+ data->state = WAIT_STATE + 1;
|
||||
+ ++data->noise;
|
||||
+ } else {
|
||||
+ ++data->state;
|
||||
+ }
|
||||
+ //key is released, send event
|
||||
+ } else {
|
||||
+ //send button release
|
||||
+ DPRINTK("release key %d", data->last_key);
|
||||
+ input_report_key(data->input, data->last_key, 0);
|
||||
+ timer = 0;
|
||||
+ }
|
||||
+ if (timer) {
|
||||
+ mod_timer(&data->rctimer, jiffies + msecs_to_jiffies(RC_POLL_MS));
|
||||
+ } else {
|
||||
+ if (machine_is_borzoi() || machine_is_spitz())
|
||||
+ set_scoop_gpio(platform_scoop_config->devs[1].dev, SPITZ_SCP2_AKIN_PULLUP);
|
||||
+ else if (machine_is_akita())
|
||||
+ akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_AKIN_PULLUP);
|
||||
+ else
|
||||
+ set_scoop_gpio(platform_scoop_config->devs[0].dev, CORGI_SCP_AKIN_PULLUP);
|
||||
+ data->handling_press = 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int __init sharpsl_rc_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct sharpsl_rc *sharpsl_rc;
|
||||
+ struct input_dev *input_dev;
|
||||
+ int i, ret;
|
||||
+ struct remote_control_key *remote_keys;
|
||||
+
|
||||
+ dev_dbg(&pdev->dev, "sharpsl_rc_probe\n");
|
||||
+
|
||||
+ sharpsl_rc = kzalloc(sizeof(struct sharpsl_rc), GFP_KERNEL);
|
||||
+ input_dev = input_allocate_device();
|
||||
+ if (!sharpsl_rc || !input_dev) {
|
||||
+ kfree(sharpsl_rc);
|
||||
+ input_free_device(input_dev);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ platform_set_drvdata(pdev, sharpsl_rc);
|
||||
+
|
||||
+ sharpsl_rc->dev = &pdev->dev;
|
||||
+ sharpsl_rc->input = input_dev;
|
||||
+ spin_lock_init(&sharpsl_rc->lock);
|
||||
+
|
||||
+ /* Init Remote Control Timer */
|
||||
+ init_timer(&sharpsl_rc->rctimer);
|
||||
+ sharpsl_rc->rctimer.function = sharpsl_rc_timer_callback;
|
||||
+ sharpsl_rc->rctimer.data = (unsigned long) sharpsl_rc;
|
||||
+
|
||||
+ input_dev->name = "Sharp Remote Control CE-RHX";
|
||||
+ input_dev->phys = "sharpsl_rc/input0";
|
||||
+ input_dev->id.bustype = BUS_HOST;
|
||||
+ input_dev->id.vendor = 0x0001;
|
||||
+ input_dev->id.product = 0x0001;
|
||||
+ input_dev->id.version = 0x0100;
|
||||
+ input_dev->dev.parent = &pdev->dev;
|
||||
+
|
||||
+ input_dev->evbit[0] = BIT(EV_KEY);
|
||||
+
|
||||
+ if (machine_is_borzoi() || machine_is_spitz() || machine_is_akita())
|
||||
+ remote_keys = remote_keys_spitz;
|
||||
+ else
|
||||
+ remote_keys = remote_keys_corgi;
|
||||
+ for (i = 0; i < (machine_is_borzoi() || machine_is_spitz() || machine_is_akita() ?
|
||||
+ ARRAY_SIZE(remote_keys_spitz) : ARRAY_SIZE(remote_keys_corgi));
|
||||
+ ++i)
|
||||
+ set_bit(remote_keys[i].key, input_dev->keybit);
|
||||
+
|
||||
+ ret = input_register_device(sharpsl_rc->input);
|
||||
+ if (ret) {
|
||||
+ dev_dbg(&pdev->dev, "Failed to register Sharp Remote input device\n");
|
||||
+ kfree(sharpsl_rc);
|
||||
+ input_free_device(input_dev);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ if (machine_is_borzoi() || machine_is_spitz() || machine_is_akita()) {
|
||||
+ pxa_gpio_mode(SPITZ_GPIO_AK_INT | GPIO_IN);
|
||||
+ ret = request_irq(SPITZ_IRQ_GPIO_AK_INT,
|
||||
+ sharpsl_rc_interrupt,
|
||||
+ IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_SHARED,
|
||||
+ "sharpsl_rc",
|
||||
+ sharpsl_rc);
|
||||
+ } else {
|
||||
+ pxa_gpio_mode(CORGI_GPIO_AK_INT | GPIO_IN);
|
||||
+ ret = request_irq(CORGI_IRQ_GPIO_AK_INT,
|
||||
+ sharpsl_rc_interrupt,
|
||||
+ IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_SHARED,
|
||||
+ "sharpsl_rc",
|
||||
+ sharpsl_rc);
|
||||
+ }
|
||||
+ if (ret < 0) {
|
||||
+ dev_dbg(&pdev->dev, "Can't get IRQ: %d!\n", i);
|
||||
+ kfree(sharpsl_rc);
|
||||
+ input_free_device(input_dev);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int sharpsl_rc_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct sharpsl_rc *sharpsl_rc = platform_get_drvdata(pdev);
|
||||
+
|
||||
+ dev_dbg(&pdev->dev, "sharpsl_rc_remove\n");
|
||||
+
|
||||
+ if (machine_is_borzoi() || machine_is_spitz() || machine_is_akita())
|
||||
+ free_irq(SPITZ_IRQ_GPIO_AK_INT, sharpsl_rc);
|
||||
+ else
|
||||
+ free_irq(CORGI_IRQ_GPIO_AK_INT, sharpsl_rc);
|
||||
+ del_timer_sync(&sharpsl_rc->rctimer);
|
||||
+ input_unregister_device(sharpsl_rc->input);
|
||||
+ kfree(sharpsl_rc);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct platform_driver sharpsl_rc_driver = {
|
||||
+ .probe = sharpsl_rc_probe,
|
||||
+ .remove = sharpsl_rc_remove,
|
||||
+ .suspend = NULL,
|
||||
+ .resume = NULL,
|
||||
+ .driver = {
|
||||
+ .name = "sharpsl-remote-control",
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static int __devinit sharpsl_rc_init(void)
|
||||
+{
|
||||
+ printk("sharpsl_rc_init\n");
|
||||
+ return platform_driver_register(&sharpsl_rc_driver);
|
||||
+}
|
||||
+
|
||||
+static void __exit sharpsl_rc_exit(void)
|
||||
+{
|
||||
+ printk("sharpsl_rc_exit\n");
|
||||
+ platform_driver_unregister(&sharpsl_rc_driver);
|
||||
+}
|
||||
+
|
||||
+module_init(sharpsl_rc_init);
|
||||
+module_exit(sharpsl_rc_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("Justin Patrin <papercrane@reversefold.com>");
|
||||
+MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>");
|
||||
+MODULE_DESCRIPTION("SharpSL Remote Control Driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/drivers/input/keyboard/spitzkbd.c 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c 2008-06-02 00:20:05.000000000 +0100
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
+#include <linux/kmod.h>
|
||||
|
||||
#include <asm/arch/spitz.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
@@ -280,13 +281,21 @@
|
||||
static int sharpsl_hinge_state;
|
||||
static int hinge_count;
|
||||
|
||||
+void spitzkbd_handle_sharpsl_rc(void *arg) {
|
||||
+ request_module("sharpsl_rc");
|
||||
+}
|
||||
+
|
||||
+DECLARE_WORK(spitzkbd_work, spitzkbd_handle_sharpsl_rc);
|
||||
+
|
||||
static void spitzkbd_hinge_timer(unsigned long data)
|
||||
{
|
||||
struct spitzkbd *spitzkbd_data = (struct spitzkbd *) data;
|
||||
unsigned long state;
|
||||
unsigned long flags;
|
||||
+ unsigned int headphone, remote;
|
||||
|
||||
state = GPLR(SPITZ_GPIO_SWA) & (GPIO_bit(SPITZ_GPIO_SWA)|GPIO_bit(SPITZ_GPIO_SWB));
|
||||
+ state |= (GPLR(SPITZ_GPIO_HP_IN) & GPIO_bit(SPITZ_GPIO_HP_IN));
|
||||
state |= (GPLR(SPITZ_GPIO_AK_INT) & GPIO_bit(SPITZ_GPIO_AK_INT));
|
||||
if (state != sharpsl_hinge_state) {
|
||||
hinge_count = 0;
|
||||
@@ -300,9 +309,18 @@
|
||||
|
||||
input_report_switch(spitzkbd_data->input, SW_LID, ((GPLR(SPITZ_GPIO_SWA) & GPIO_bit(SPITZ_GPIO_SWA)) != 0));
|
||||
input_report_switch(spitzkbd_data->input, SW_TABLET_MODE, ((GPLR(SPITZ_GPIO_SWB) & GPIO_bit(SPITZ_GPIO_SWB)) != 0));
|
||||
- input_report_switch(spitzkbd_data->input, SW_HEADPHONE_INSERT, ((GPLR(SPITZ_GPIO_AK_INT) & GPIO_bit(SPITZ_GPIO_AK_INT)) != 0));
|
||||
+
|
||||
+ headphone = ((GPLR(SPITZ_GPIO_HP_IN) & GPIO_bit(SPITZ_GPIO_HP_IN)) != 0);
|
||||
+ input_report_switch(spitzkbd_data->input, SW_HEADPHONE_INSERT, headphone);
|
||||
+
|
||||
+ remote = headphone && ((GPLR(SPITZ_GPIO_AK_INT) & GPIO_bit(SPITZ_GPIO_AK_INT)) == 0);
|
||||
+ input_report_switch(spitzkbd_data->input, SW_REMOTE_INSERT, remote);
|
||||
input_sync(spitzkbd_data->input);
|
||||
|
||||
+ if (remote) {
|
||||
+ schedule_work(&spitzkbd_work);
|
||||
+ }
|
||||
+
|
||||
spin_unlock_irqrestore(&spitzkbd_data->lock, flags);
|
||||
} else {
|
||||
mod_timer(&spitzkbd_data->htimer, jiffies + msecs_to_jiffies(HINGE_SCAN_INTERVAL));
|
||||
@@ -396,6 +414,7 @@
|
||||
set_bit(SW_LID, input_dev->swbit);
|
||||
set_bit(SW_TABLET_MODE, input_dev->swbit);
|
||||
set_bit(SW_HEADPHONE_INSERT, input_dev->swbit);
|
||||
+ set_bit(SW_REMOTE_INSERT, input_dev->swbit);
|
||||
|
||||
err = input_register_device(input_dev);
|
||||
if (err)
|
||||
@@ -433,9 +452,12 @@
|
||||
request_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd_hinge_isr,
|
||||
IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
||||
"Spitzkbd SWB", spitzkbd);
|
||||
- request_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd_hinge_isr,
|
||||
+ request_irq(SPITZ_IRQ_GPIO_HP_IN, spitzkbd_hinge_isr,
|
||||
IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
||||
"Spitzkbd HP", spitzkbd);
|
||||
+ request_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd_hinge_isr,
|
||||
+ IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_SHARED,
|
||||
+ "Spitzkbd HP Type", spitzkbd);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -456,6 +478,7 @@
|
||||
free_irq(SPITZ_IRQ_GPIO_ON_KEY, spitzkbd);
|
||||
free_irq(SPITZ_IRQ_GPIO_SWA, spitzkbd);
|
||||
free_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd);
|
||||
+ free_irq(SPITZ_IRQ_GPIO_HP_IN, spitzkbd);
|
||||
free_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd);
|
||||
|
||||
del_timer_sync(&spitzkbd->htimer);
|
||||
Index: linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl.h
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/sharpsl.h 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl.h 2008-06-02 00:20:05.000000000 +0100
|
||||
@@ -37,15 +37,10 @@
|
||||
*/
|
||||
#define READ_GPIO_BIT(x) (GPLR(x) & GPIO_bit(x))
|
||||
|
||||
-/* MAX1111 Channel Definitions */
|
||||
-#define MAX1111_BATT_VOLT 4u
|
||||
-#define MAX1111_BATT_TEMP 2u
|
||||
-#define MAX1111_ACIN_VOLT 6u
|
||||
-
|
||||
extern struct battery_thresh spitz_battery_levels_acin[];
|
||||
extern struct battery_thresh spitz_battery_levels_noac[];
|
||||
void sharpsl_pm_pxa_init(void);
|
||||
void sharpsl_pm_pxa_remove(void);
|
||||
-int sharpsl_pm_pxa_read_max1111(int channel);
|
||||
+
|
||||
|
||||
|
||||
Index: linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl_pm.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/sharpsl_pm.c 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl_pm.c 2008-06-02 00:20:05.000000000 +0100
|
||||
@@ -136,6 +136,8 @@
|
||||
| MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR);
|
||||
}
|
||||
|
||||
+EXPORT_SYMBOL(sharpsl_pm_pxa_read_max1111);
|
||||
+
|
||||
void sharpsl_pm_pxa_init(void)
|
||||
{
|
||||
pxa_gpio_mode(sharpsl_pm.machinfo->gpio_acin | GPIO_IN);
|
||||
Index: linux-2.6.26-rc4/include/asm-arm/hardware/sharpsl_pm.h
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/include/asm-arm/hardware/sharpsl_pm.h 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/include/asm-arm/hardware/sharpsl_pm.h 2008-06-02 00:20:05.000000000 +0100
|
||||
@@ -104,3 +104,10 @@
|
||||
irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id);
|
||||
irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id);
|
||||
|
||||
+/* MAX1111 Channel Definitions */
|
||||
+#define MAX1111_REMCOM 0u
|
||||
+#define MAX1111_BATT_VOLT 4u
|
||||
+#define MAX1111_BATT_TEMP 2u
|
||||
+#define MAX1111_ACIN_VOLT 6u
|
||||
+
|
||||
+int sharpsl_pm_pxa_read_max1111(int channel);
|
||||
Index: linux-2.6.26-rc4/include/linux/input.h
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/include/linux/input.h 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/include/linux/input.h 2008-06-02 00:20:05.000000000 +0100
|
||||
@@ -638,6 +638,7 @@
|
||||
#define SW_TABLET_MODE 0x01 /* set = tablet mode */
|
||||
#define SW_HEADPHONE_INSERT 0x02 /* set = inserted */
|
||||
#define SW_RADIO 0x03 /* set = radio enabled */
|
||||
+#define SW_REMOTE_INSERT 0x04 /* set = remote */
|
||||
#define SW_MAX 0x0f
|
||||
#define SW_CNT (SW_MAX+1)
|
||||
|
||||
Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/spitz_pm.c 2008-06-02 00:20:03.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c 2008-06-02 09:46:10.000000000 +0100
|
||||
@@ -160,6 +160,13 @@
|
||||
if (resume_on_alarm && (PEDR & PWER_RTC))
|
||||
is_resume |= PWER_RTC;
|
||||
|
||||
+ printk("wakeup: PEDR: %x, PKSR: %x, HP_IN: %x, AK_INT: %x\n", PEDR, PKSR, GPIO_bit(SPITZ_GPIO_HP_IN), GPIO_bit(SPITZ_GPIO_AK_INT));
|
||||
+
|
||||
+ //remote/headphone interrupt, wakeup
|
||||
+ if (PEDR == 0 && (PKSR & 0xc0d01) != 0) {
|
||||
+ is_resume |= PWER_RTC;
|
||||
+ }
|
||||
+
|
||||
dev_dbg(sharpsl_pm.dev, "is_resume: %x\n",is_resume);
|
||||
return is_resume;
|
||||
}
|
||||
@@ -0,0 +1,497 @@
|
||||
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0802.1/3541.html
|
||||
|
||||
Here is a rewrite of spitz.h, which includes comments documenting
|
||||
function of particular GPIO pins.
|
||||
|
||||
spitz_h_rewrite.patch provides:
|
||||
- no changes in compiled code
|
||||
- partial spitz.h rewrite:
|
||||
* organized by function
|
||||
* describes complete GPIO pinout
|
||||
* comments added
|
||||
* removed defines cloning pxa-regs.h
|
||||
- prefer generic pxa-regs.h GPIO if available
|
||||
- use GPIO names instead of numbers
|
||||
|
||||
Thanks to Trisoft for providing needed information.
|
||||
|
||||
Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/spitz_pm.c 2008-06-02 00:13:53.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c 2008-06-02 00:13:53.000000000 +0100
|
||||
@@ -111,9 +111,9 @@
|
||||
pxa_gpio_mode(GPIO18_RDY|GPIO_OUT | GPIO_DFLT_HIGH);
|
||||
|
||||
PRER = GPIO_bit(SPITZ_GPIO_KEY_INT);
|
||||
- PFER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET);
|
||||
- PWER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET) | PWER_RTC;
|
||||
- PKWR = GPIO_bit(SPITZ_GPIO_SYNC) | GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET);
|
||||
+ PFER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST);
|
||||
+ PWER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST) | PWER_RTC;
|
||||
+ PKWR = GPIO_bit(SPITZ_GPIO_SYNC) | GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST);
|
||||
PKSR = 0xffffffff; // clear
|
||||
|
||||
/* nRESET_OUT Disable */
|
||||
@@ -126,7 +126,7 @@
|
||||
static void spitz_postsuspend(void)
|
||||
{
|
||||
pxa_gpio_mode(GPIO18_RDY_MD);
|
||||
- pxa_gpio_mode(10 | GPIO_IN);
|
||||
+ pxa_gpio_mode(SPITZ_GPIO_NC_10 | GPIO_IN);
|
||||
}
|
||||
|
||||
static int spitz_should_wakeup(unsigned int resume_on_alarm)
|
||||
Index: linux-2.6.26-rc4/drivers/video/pxafb.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/drivers/video/pxafb.c 2008-05-26 19:08:11.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/drivers/video/pxafb.c 2008-06-02 00:15:22.000000000 +0100
|
||||
@@ -966,7 +966,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- for (gpio = 58; ldd_bits; gpio++, ldd_bits--)
|
||||
+ for (gpio = GPIO58_LDD_0; ldd_bits; gpio++, ldd_bits--)
|
||||
pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
|
||||
pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
|
||||
pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
|
||||
Index: linux-2.6.26-rc4/include/asm-arm/arch-pxa/akita.h
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/include/asm-arm/arch-pxa/akita.h 2008-05-26 19:08:11.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/include/asm-arm/arch-pxa/akita.h 2008-06-02 00:13:53.000000000 +0100
|
||||
@@ -12,11 +12,11 @@
|
||||
/* Akita IO Expander GPIOs */
|
||||
|
||||
#define AKITA_IOEXP_RESERVED_7 (1 << 7)
|
||||
-#define AKITA_IOEXP_IR_ON (1 << 6)
|
||||
-#define AKITA_IOEXP_AKIN_PULLUP (1 << 5)
|
||||
-#define AKITA_IOEXP_BACKLIGHT_CONT (1 << 4)
|
||||
-#define AKITA_IOEXP_BACKLIGHT_ON (1 << 3)
|
||||
-#define AKITA_IOEXP_MIC_BIAS (1 << 2)
|
||||
+#define AKITA_IOEXP_IR_ON (1 << 6) /* IrDA On */
|
||||
+#define AKITA_IOEXP_AKIN_PULLUP (1 << 5) /* Pull-Up for Remote */
|
||||
+#define AKITA_IOEXP_BACKLIGHT_CONT (1 << 4) /* Backlight Control */
|
||||
+#define AKITA_IOEXP_BACKLIGHT_ON (1 << 3) /* Backlight On */
|
||||
+#define AKITA_IOEXP_MIC_BIAS (1 << 2) /* Mic Bias On */
|
||||
#define AKITA_IOEXP_RESERVED_1 (1 << 1)
|
||||
#define AKITA_IOEXP_RESERVED_0 (1 << 0)
|
||||
|
||||
Index: linux-2.6.26-rc4/include/asm-arm/arch-pxa/spitz.h
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/include/asm-arm/arch-pxa/spitz.h 2008-05-26 19:08:11.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/include/asm-arm/arch-pxa/spitz.h 2008-06-02 00:13:53.000000000 +0100
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
- * Hardware specific definitions for SL-Cx000 series of PDAs
|
||||
+ * Hardware specific definitions for SL-Cxx00 series of PDAs
|
||||
*
|
||||
* Copyright (c) 2005 Alexander Wykes
|
||||
* Copyright (c) 2005 Richard Purdie
|
||||
+ * Copyright (c) 2008 Stanislav Brabec
|
||||
*
|
||||
* Based on Sharp's 2.4 kernel patches
|
||||
*
|
||||
@@ -13,140 +14,257 @@
|
||||
*/
|
||||
#ifndef __ASM_ARCH_SPITZ_H
|
||||
#define __ASM_ARCH_SPITZ_H 1
|
||||
-#endif
|
||||
|
||||
-#include <linux/fb.h>
|
||||
+#include <asm-arm/arch-pxa/irqs.h>
|
||||
+#include <linux/platform_device.h>
|
||||
|
||||
/* Spitz/Akita GPIOs */
|
||||
|
||||
-#define SPITZ_GPIO_KEY_INT (0) /* Key Interrupt */
|
||||
-#define SPITZ_GPIO_RESET (1)
|
||||
-#define SPITZ_GPIO_nSD_DETECT (9)
|
||||
-#define SPITZ_GPIO_TP_INT (11) /* Touch Panel interrupt */
|
||||
-#define SPITZ_GPIO_AK_INT (13) /* Remote Control */
|
||||
-#define SPITZ_GPIO_ADS7846_CS (14)
|
||||
-#define SPITZ_GPIO_SYNC (16)
|
||||
-#define SPITZ_GPIO_MAX1111_CS (20)
|
||||
-#define SPITZ_GPIO_FATAL_BAT (21)
|
||||
-#define SPITZ_GPIO_HSYNC (22)
|
||||
-#define SPITZ_GPIO_nSD_CLK (32)
|
||||
-#define SPITZ_GPIO_USB_DEVICE (35)
|
||||
-#define SPITZ_GPIO_USB_HOST (37)
|
||||
-#define SPITZ_GPIO_USB_CONNECT (41)
|
||||
-#define SPITZ_GPIO_LCDCON_CS (53)
|
||||
-#define SPITZ_GPIO_nPCE (54)
|
||||
-#define SPITZ_GPIO_nSD_WP (81)
|
||||
-#define SPITZ_GPIO_ON_RESET (89)
|
||||
-#define SPITZ_GPIO_BAT_COVER (90)
|
||||
-#define SPITZ_GPIO_CF_CD (94)
|
||||
-#define SPITZ_GPIO_ON_KEY (95)
|
||||
-#define SPITZ_GPIO_SWA (97)
|
||||
-#define SPITZ_GPIO_SWB (96)
|
||||
-#define SPITZ_GPIO_CHRG_FULL (101)
|
||||
-#define SPITZ_GPIO_CO (101)
|
||||
-#define SPITZ_GPIO_CF_IRQ (105)
|
||||
-#define SPITZ_GPIO_AC_IN (115)
|
||||
-#define SPITZ_GPIO_HP_IN (116)
|
||||
+/* This list refers to all GPIO pins either in defines or in comments.
|
||||
+ *
|
||||
+ * GPIO pins not listed:
|
||||
+ * GPIO2 SYS_EN: System Power Enable
|
||||
+ * GPIO5-GPIO8 PWR_CAP0-PWR_CAP3: sleep DC-DC converter power capacitors
|
||||
+ * GPIO40 not connected
|
||||
+ */
|
||||
|
||||
-/* Spitz Only GPIOs */
|
||||
|
||||
-#define SPITZ_GPIO_CF2_IRQ (106) /* CF slot1 Ready */
|
||||
-#define SPITZ_GPIO_CF2_CD (93)
|
||||
+/* Spitz/Akita System GPIO */
|
||||
+
|
||||
+#define SPITZ_GPIO_KEY_INT (0) /* Key Interrupt */
|
||||
+#define SPITZ_GPIO_SYNC (16) /* IOPORT Wake Up (input) */
|
||||
+#define SPITZ_GPIO_NAND_CS (79) /* NAND Flash Chip Select */
|
||||
+#define SPITZ_GPIO_NC_10 (10) /* Not Connected (but used in kernel) */
|
||||
+/* This GPIO pin is connected:
|
||||
+ * GPIO1_RST
|
||||
+ */
|
||||
|
||||
|
||||
+/* Compact Flash Interface */
|
||||
+
|
||||
+/* Spitz/Akita Compact Flash Interface */
|
||||
+#define SPITZ_GPIO_CF_CD (94) /* CF IRQ */
|
||||
+#define SPITZ_GPIO_CF_IRQ (105) /* CF Ready */
|
||||
+/* These GPIO pins are connected:
|
||||
+ * GPIO48_nPOE
|
||||
+ * GPIO49_nPWE
|
||||
+ * GPIO50_nPIOR
|
||||
+ * GPIO51_nPIOW
|
||||
+ * GPIO54_nPCE_2
|
||||
+ * GPIO55_nPREG
|
||||
+ * GPIO56_nPWAIT
|
||||
+ * GPIO57_nIOIS16
|
||||
+ * GPIO80_nCS_4
|
||||
+ * GPIO85_nPCE_1
|
||||
+ * GPIO104_pSKTSEL
|
||||
+ */
|
||||
+
|
||||
+/* Spitz only Compact Flash Interface */
|
||||
+#define SPITZ_GPIO_CF2_CD (93) /* CF slot1 IRQ */
|
||||
+#define SPITZ_GPIO_CF2_IRQ (106) /* CF slot1 Ready */
|
||||
+/* This GPIO pin is connected:
|
||||
+ * GPIO78_nCS_2
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita Battery, Power and Service Connector */
|
||||
+
|
||||
+#define SPITZ_GPIO_FATAL_BAT (21) /* Fatal Battery */
|
||||
+#define SPITZ_GPIO_BAT_COVER (90) /* Battery Cover switch */
|
||||
+#define SPITZ_GPIO_BAT_COVER2 (15) /* Battery Cover switch, parallel pin */
|
||||
+#define SPITZ_GPIO_CHRG_FULL (101) /* Battery Full */
|
||||
+#define SPITZ_GPIO_AC_IN (115) /* External Power Supply is active */
|
||||
+#define SPITZ_GPIO_ON_RESET (89) /* Software Reset */
|
||||
+#define SPITZ_GPIO_SERVICE0 (83) /* Service Connector */
|
||||
+#define SPITZ_GPIO_SERVICE1 (84) /* Service Connector */
|
||||
+/* This GPIO pin is connected:
|
||||
+ * GPIO18_RDY
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita Display Controller */
|
||||
+
|
||||
+#define SPITZ_GPIO_HSYNC (22) /* Line Sync Feedback */
|
||||
+/* These GPIO pins are connected:
|
||||
+ * GPIO58_LDD_0-GPIO58_LDD_15
|
||||
+ * GPIO74_LCD_FCLK
|
||||
+ * GPIO75_LCD_LCLK
|
||||
+ * GPIO76_LCD_PCLK
|
||||
+ * GPIO77_LCD_ACBIAS
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita SSP/SPI Bus and Devices */
|
||||
+
|
||||
+#define SPITZ_GPIO_SSP_CLK (19) /* SSP bus Clock */
|
||||
+#define SPITZ_GPIO_SSP_RXD (86) /* SSP bus RxD */
|
||||
+#define SPITZ_GPIO_SSP_TXD (87) /* SSP bus TxD */
|
||||
+#define SPITZ_GPIO_TP_INT (11) /* Touch Panel IRQ */
|
||||
+#define SPITZ_GPIO_ADS7846_CS (14) /* Touch Panel Controller Chip Select */
|
||||
+#define SPITZ_GPIO_MAX1111_CS (20) /* Multi Channel ADC Chip Select */
|
||||
+#define SPITZ_GPIO_LCDCON_CS (53) /* LCD Controller Chip Select */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita Supplementary USB OTG Pins */
|
||||
+
|
||||
+#define SPITZ_GPIO_USB_DEVICE (35) /* USB Client power is present */
|
||||
+#define SPITZ_GPIO_USB_HOST (37) /* USB OTG 5V Host power supply control */
|
||||
+#define SPITZ_GPIO_USB_CONNECT (41) /* USB Host Cable is connected */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita Audio */
|
||||
+
|
||||
+#define SPITZ_GPIO_HP_IN (116) /* CPU Headphone detect */
|
||||
+#define SPITZ_GPIO_AK_INT (13) /* Remote Control detect */
|
||||
+/* These GPIO AC97 pins are connected:
|
||||
+ * GPIO28_BITCLK
|
||||
+ * GPIO29_SDATA_IN
|
||||
+ * GPIO30_SDATA_OUT
|
||||
+ * GPIO31_SYNC
|
||||
+ * GPIO113_AC97_RESET_N
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita SD Slot */
|
||||
+
|
||||
+#define SPITZ_GPIO_nSD_DETECT (9) /* SD Card Presence */
|
||||
+#define SPITZ_GPIO_nSD_WP (81) /* SD Write Protection */
|
||||
+/* These GPIO pins are connected:
|
||||
+ * GPIO32_MMCCLK
|
||||
+ * GPIO92_MMCDAT0
|
||||
+ * GPIO109_MMCDAT1
|
||||
+ * GPIO110_MMCDAT2
|
||||
+ * GPIO111_MMCDAT3
|
||||
+ * GPIO112_MMCCMD
|
||||
+ */
|
||||
+
|
||||
+/* Spitz/Akita I2C bus */
|
||||
+#define SPITZ_GPIO_SCL (117) /* I2C SCL */
|
||||
+#define SPITZ_GPIO_SDA (118) /* I2C SDA */
|
||||
+#define SPITZ_GPIO_PWR_SCL (3) /* I2C SCL power */
|
||||
+#define SPITZ_GPIO_PWR_SDA (4) /* I2C SDA power */
|
||||
+
|
||||
+/* audio codec pins */
|
||||
+
|
||||
+
|
||||
+/* Spitz/Akita UART ports */
|
||||
+
|
||||
+/* Fully Featured UART - connected to IOPORT connector */
|
||||
+#define SPITZ_GPIO_FFRXD (102) /* IOPORT has nRXD inverted levels */
|
||||
+#define SPITZ_GPIO_FFTXD (99) /* IOPORT has nTXD inverted levels */
|
||||
+#define SPITZ_GPIO_FFRTS (98)
|
||||
+#define SPITZ_GPIO_FFCTS (100)
|
||||
+#define SPITZ_GPIO_FFDTR (82)
|
||||
+#define SPITZ_GPIO_FFDSR (33)
|
||||
+
|
||||
+/* These UART GPIO pins are connected to Bluetooth
|
||||
+ * (only on Akita version with Bluetooth)
|
||||
+ * GPIO42_BTRXD
|
||||
+ * GPIO43_BTTXD
|
||||
+ * GPIO44_BTCTS
|
||||
+ * GPIO45_BTRTS
|
||||
+ */
|
||||
+
|
||||
+/* These UART GPIO pins are connected to IrDA:
|
||||
+ * GPIO46_STRXD
|
||||
+ * GPIO47_STTXD
|
||||
+ */
|
||||
+
|
||||
/* Spitz/Akita Keyboard Definitions */
|
||||
|
||||
-#define SPITZ_KEY_STROBE_NUM (11)
|
||||
-#define SPITZ_KEY_SENSE_NUM (7)
|
||||
-#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
|
||||
-#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
|
||||
-#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
|
||||
-#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
|
||||
-#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
|
||||
-#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
|
||||
-#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
|
||||
-#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
|
||||
-
|
||||
-#define SPITZ_GPIO_KEY_STROBE0 88
|
||||
-#define SPITZ_GPIO_KEY_STROBE1 23
|
||||
-#define SPITZ_GPIO_KEY_STROBE2 24
|
||||
-#define SPITZ_GPIO_KEY_STROBE3 25
|
||||
-#define SPITZ_GPIO_KEY_STROBE4 26
|
||||
-#define SPITZ_GPIO_KEY_STROBE5 27
|
||||
-#define SPITZ_GPIO_KEY_STROBE6 52
|
||||
-#define SPITZ_GPIO_KEY_STROBE7 103
|
||||
-#define SPITZ_GPIO_KEY_STROBE8 107
|
||||
-#define SPITZ_GPIO_KEY_STROBE9 108
|
||||
-#define SPITZ_GPIO_KEY_STROBE10 114
|
||||
-
|
||||
-#define SPITZ_GPIO_KEY_SENSE0 12
|
||||
-#define SPITZ_GPIO_KEY_SENSE1 17
|
||||
-#define SPITZ_GPIO_KEY_SENSE2 91
|
||||
-#define SPITZ_GPIO_KEY_SENSE3 34
|
||||
-#define SPITZ_GPIO_KEY_SENSE4 36
|
||||
-#define SPITZ_GPIO_KEY_SENSE5 38
|
||||
-#define SPITZ_GPIO_KEY_SENSE6 39
|
||||
+#define SPITZ_KEY_STROBE_NUM (11)
|
||||
+#define SPITZ_KEY_SENSE_NUM (7)
|
||||
+#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
|
||||
+#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
|
||||
+#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
|
||||
+#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
|
||||
+#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
|
||||
+#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
|
||||
+#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
|
||||
+#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
|
||||
+#define SPITZ_GPIO_KEY_STROBE0 (88)
|
||||
+#define SPITZ_GPIO_KEY_STROBE1 (23)
|
||||
+#define SPITZ_GPIO_KEY_STROBE2 (24)
|
||||
+#define SPITZ_GPIO_KEY_STROBE3 (25)
|
||||
+#define SPITZ_GPIO_KEY_STROBE4 (26)
|
||||
+#define SPITZ_GPIO_KEY_STROBE5 (27)
|
||||
+#define SPITZ_GPIO_KEY_STROBE6 (52)
|
||||
+#define SPITZ_GPIO_KEY_STROBE7 (103)
|
||||
+#define SPITZ_GPIO_KEY_STROBE8 (107)
|
||||
+#define SPITZ_GPIO_KEY_STROBE9 (108)
|
||||
+#define SPITZ_GPIO_KEY_STROBE10 (114)
|
||||
+#define SPITZ_GPIO_KEY_SENSE0 (12)
|
||||
+#define SPITZ_GPIO_KEY_SENSE1 (17)
|
||||
+#define SPITZ_GPIO_KEY_SENSE2 (91)
|
||||
+#define SPITZ_GPIO_KEY_SENSE3 (34)
|
||||
+#define SPITZ_GPIO_KEY_SENSE4 (36)
|
||||
+#define SPITZ_GPIO_KEY_SENSE5 (38)
|
||||
+#define SPITZ_GPIO_KEY_SENSE6 (39)
|
||||
+
|
||||
+#define SPITZ_GPIO_SWA (97) /* Keyboard Interrupt A */
|
||||
+#define SPITZ_GPIO_SWB (96) /* Keyboard Interrupt B */
|
||||
+#define SPITZ_GPIO_ON_KEY (95) /* Power On Key */
|
||||
|
||||
|
||||
-/* Spitz Scoop Device (No. 1) GPIOs */
|
||||
+/* Spitz/Akita Scoop Device (No. 1) GPIOs */
|
||||
/* Suspend States in comments */
|
||||
-#define SPITZ_SCP_LED_GREEN SCOOP_GPCR_PA11 /* Keep */
|
||||
-#define SPITZ_SCP_JK_B SCOOP_GPCR_PA12 /* Keep */
|
||||
-#define SPITZ_SCP_CHRG_ON SCOOP_GPCR_PA13 /* Keep */
|
||||
-#define SPITZ_SCP_MUTE_L SCOOP_GPCR_PA14 /* Low */
|
||||
-#define SPITZ_SCP_MUTE_R SCOOP_GPCR_PA15 /* Low */
|
||||
-#define SPITZ_SCP_CF_POWER SCOOP_GPCR_PA16 /* Keep */
|
||||
-#define SPITZ_SCP_LED_ORANGE SCOOP_GPCR_PA17 /* Keep */
|
||||
-#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Low */
|
||||
-#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Low */
|
||||
+#define SPITZ_SCP_LED_GREEN SCOOP_GPCR_PA11 /* Green LED, Keep */
|
||||
+#define SPITZ_SCP_JK_B SCOOP_GPCR_PA12 /* Fast Charge On, Keep */
|
||||
+#define SPITZ_SCP_CHRG_ON SCOOP_GPCR_PA13 /* Charge On, Keep */
|
||||
+#define SPITZ_SCP_MUTE_L SCOOP_GPCR_PA14 /* Extra Mute Left, Low */
|
||||
+#define SPITZ_SCP_MUTE_R SCOOP_GPCR_PA15 /* Extra Mute Right, Low */
|
||||
+#define SPITZ_SCP_CF_POWER SCOOP_GPCR_PA16 /* CF+SD Power Circuit, Keep */
|
||||
+#define SPITZ_SCP_LED_ORANGE SCOOP_GPCR_PA17 /* Orange LED, Keep */
|
||||
+#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Dummy Load, Low */
|
||||
+#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Battery Sensor On, Low */
|
||||
|
||||
#define SPITZ_SCP_IO_DIR (SPITZ_SCP_LED_GREEN | SPITZ_SCP_JK_B | SPITZ_SCP_CHRG_ON | \
|
||||
- SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
|
||||
- SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
|
||||
+ SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
|
||||
+ SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
|
||||
#define SPITZ_SCP_IO_OUT (SPITZ_SCP_CHRG_ON | SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R)
|
||||
#define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
|
||||
#define SPITZ_SCP_SUS_SET 0
|
||||
|
||||
/* Spitz Scoop Device (No. 2) GPIOs */
|
||||
-/* Suspend States in comments */
|
||||
-#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* High */
|
||||
-#define SPITZ_SCP2_AKIN_PULLUP SCOOP_GPCR_PA12 /* Keep */
|
||||
-#define SPITZ_SCP2_RESERVED_1 SCOOP_GPCR_PA13 /* High */
|
||||
-#define SPITZ_SCP2_RESERVED_2 SCOOP_GPCR_PA14 /* Low */
|
||||
-#define SPITZ_SCP2_RESERVED_3 SCOOP_GPCR_PA15 /* Low */
|
||||
-#define SPITZ_SCP2_RESERVED_4 SCOOP_GPCR_PA16 /* Low */
|
||||
-#define SPITZ_SCP2_BACKLIGHT_CONT SCOOP_GPCR_PA17 /* Low */
|
||||
-#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Low */
|
||||
-#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Low */
|
||||
+/* Suspend States in comments
|
||||
+ * Spitz only, Akita uses corresponding AKITA_IOEXP_ */
|
||||
+#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* IrDA On, High */
|
||||
+#define SPITZ_SCP2_AKIN_PULLUP SCOOP_GPCR_PA12 /* Pull-Up for Remote, Keep */
|
||||
+#define SPITZ_SCP2_RESERVED_1 SCOOP_GPCR_PA13 /* High */
|
||||
+#define SPITZ_SCP2_RESERVED_2 SCOOP_GPCR_PA14 /* Low */
|
||||
+#define SPITZ_SCP2_RESERVED_3 SCOOP_GPCR_PA15 /* Low */
|
||||
+#define SPITZ_SCP2_RESERVED_4 SCOOP_GPCR_PA16 /* Low */
|
||||
+#define SPITZ_SCP2_BACKLIGHT_CONT SCOOP_GPCR_PA17 /* Backlight Control, Low */
|
||||
+#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Backlight On, Low */
|
||||
+#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Mic Bias On, Low */
|
||||
|
||||
#define SPITZ_SCP2_IO_DIR (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1 | \
|
||||
- SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
|
||||
- SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
|
||||
+ SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
|
||||
+ SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
|
||||
|
||||
#define SPITZ_SCP2_IO_OUT (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1)
|
||||
#define SPITZ_SCP2_SUS_CLR (SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
|
||||
- SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
|
||||
+ SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
|
||||
#define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1)
|
||||
|
||||
|
||||
-/* Spitz IRQ Definitions */
|
||||
+/* Spitz/Akita IRQ Definitions */
|
||||
|
||||
-#define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT)
|
||||
-#define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN)
|
||||
-#define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT)
|
||||
-#define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN)
|
||||
-#define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT)
|
||||
-#define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC)
|
||||
-#define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY)
|
||||
-#define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA)
|
||||
-#define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB)
|
||||
+#define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT)
|
||||
+#define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN)
|
||||
+#define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT)
|
||||
+#define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN)
|
||||
+#define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT)
|
||||
+#define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC)
|
||||
+#define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY)
|
||||
+#define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA)
|
||||
+#define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB)
|
||||
#define SPITZ_IRQ_GPIO_BAT_COVER IRQ_GPIO(SPITZ_GPIO_BAT_COVER)
|
||||
#define SPITZ_IRQ_GPIO_FATAL_BAT IRQ_GPIO(SPITZ_GPIO_FATAL_BAT)
|
||||
-#define SPITZ_IRQ_GPIO_CO IRQ_GPIO(SPITZ_GPIO_CO)
|
||||
-#define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
|
||||
-#define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD)
|
||||
-#define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
|
||||
-#define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT)
|
||||
+#define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
|
||||
+#define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD)
|
||||
+#define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
|
||||
+#define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT)
|
||||
#define SPITZ_IRQ_GPIO_nSD_DETECT IRQ_GPIO(SPITZ_GPIO_nSD_DETECT)
|
||||
|
||||
/*
|
||||
@@ -156,3 +274,5 @@
|
||||
extern struct platform_device spitzscoop2_device;
|
||||
extern struct platform_device spitzssp_device;
|
||||
extern struct sharpsl_charger_machinfo spitz_pm_machinfo;
|
||||
+
|
||||
+#endif
|
||||
Index: linux-2.6.26-rc4/sound/arm/pxa2xx-ac97.c
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/sound/arm/pxa2xx-ac97.c 2008-05-26 19:08:11.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/sound/arm/pxa2xx-ac97.c 2008-06-02 00:19:38.000000000 +0100
|
||||
@@ -156,10 +156,10 @@
|
||||
#ifdef CONFIG_PXA27x
|
||||
/* warm reset broken on Bulverde,
|
||||
so manually keep AC97 reset high */
|
||||
- pxa_gpio_mode(113 | GPIO_OUT | GPIO_DFLT_HIGH);
|
||||
+ pxa_gpio_mode(GPIO113_AC97_RESET_N | GPIO_OUT | GPIO_DFLT_HIGH);
|
||||
udelay(10);
|
||||
GCR |= GCR_WARM_RST;
|
||||
- pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
|
||||
+ pxa_gpio_mode(GPIO113_AC97_RESET_N_MD);
|
||||
udelay(500);
|
||||
#elif defined(CONFIG_PXA3xx)
|
||||
timeout = 100;
|
||||
@@ -364,7 +364,7 @@
|
||||
pxa_gpio_mode(GPIO29_SDATA_IN_AC97_MD);
|
||||
#ifdef CONFIG_PXA27x
|
||||
/* Use GPIO 113 as AC97 Reset on Bulverde */
|
||||
- pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
|
||||
+ pxa_gpio_mode(GPIO113_AC97_RESET_N_MD | GPIO_ALT_FN_2_OUT);
|
||||
ac97conf_clk = clk_get(&dev->dev, "AC97CONFCLK");
|
||||
if (IS_ERR(ac97conf_clk)) {
|
||||
ret = PTR_ERR(ac97conf_clk);
|
||||
Index: linux-2.6.26-rc4/include/asm-arm/arch-pxa/pxa2xx-gpio.h
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/include/asm-arm/arch-pxa/pxa2xx-gpio.h 2008-06-02 00:18:07.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/include/asm-arm/arch-pxa/pxa2xx-gpio.h 2008-06-02 00:18:28.000000000 +0100
|
||||
@@ -138,6 +138,7 @@
|
||||
#define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */
|
||||
#define GPIO103_CIF_DD_3 103 /* Camera data pin 3 */
|
||||
#define GPIO104_CIF_DD_2 104 /* Camera data pin 2 */
|
||||
+#define GPIO104_pSKTSEL 104 /* PCMCIA Socket Select (PXA27x) */
|
||||
#define GPIO105_CIF_DD_1 105 /* Camera data pin 1 */
|
||||
#define GPIO106_CIF_DD_9 106 /* Camera data pin 9 */
|
||||
#define GPIO107_CIF_DD_8 107 /* Camera data pin 8 */
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
arch/arm/mm/Kconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: linux-2.6.26-rc4/arch/arm/mm/Kconfig
|
||||
===================================================================
|
||||
--- linux-2.6.26-rc4.orig/arch/arm/mm/Kconfig 2008-05-26 19:08:11.000000000 +0100
|
||||
+++ linux-2.6.26-rc4/arch/arm/mm/Kconfig 2008-06-01 18:40:07.000000000 +0100
|
||||
@@ -387,7 +387,7 @@
|
||||
# ARMv6
|
||||
config CPU_V6
|
||||
bool "Support ARM V6 processor"
|
||||
- depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3 || ARCH_MSM7X00A || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176
|
||||
+ depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3 || ARCH_MSM7X00A || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || ARCH_VERSATILE_PB
|
||||
default y if ARCH_MX3
|
||||
default y if ARCH_MSM7X00A
|
||||
select CPU_32v6
|
||||
@@ -0,0 +1,45 @@
|
||||
From 04c42f566c68b757fdadf54e0e0f9dfe9f3f9b06 Mon Sep 17 00:00:00 2001
|
||||
From: eric miao <eric.miao@marvell.com>
|
||||
Date: Tue, 19 Jun 2007 16:42:53 +0800
|
||||
Subject: [PATCH] [PATCH] make zylonite boot
|
||||
|
||||
1. reuse head-xscale.S for XSC3
|
||||
|
||||
2. add a workaround for machine ID assignment, which should be done
|
||||
by boot loader
|
||||
---
|
||||
arch/arm/boot/compressed/Makefile | 4 ++++
|
||||
arch/arm/boot/compressed/head-xscale.S | 5 +++++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
Index: linux-2.6-pxa3/arch/arm/boot/compressed/Makefile
|
||||
===================================================================
|
||||
--- linux-2.6-pxa3.orig/arch/arm/boot/compressed/Makefile 2007-09-24 11:25:57.000000000 +0200
|
||||
+++ linux-2.6-pxa3/arch/arm/boot/compressed/Makefile 2007-09-24 12:26:53.000000000 +0200
|
||||
@@ -40,6 +40,10 @@
|
||||
OBJS += head-xscale.o
|
||||
endif
|
||||
|
||||
+ifeq ($(CONFIG_CPU_XSC3),y)
|
||||
+OBJS += head-xscale.o
|
||||
+endif
|
||||
+
|
||||
ifeq ($(CONFIG_PXA_SHARPSL),y)
|
||||
OBJS += head-sharpsl.o
|
||||
endif
|
||||
Index: linux-2.6-pxa3/arch/arm/boot/compressed/head-xscale.S
|
||||
===================================================================
|
||||
--- linux-2.6-pxa3.orig/arch/arm/boot/compressed/head-xscale.S 2007-09-24 11:42:27.000000000 +0200
|
||||
+++ linux-2.6-pxa3/arch/arm/boot/compressed/head-xscale.S 2007-09-24 12:26:02.000000000 +0200
|
||||
@@ -33,6 +33,11 @@
|
||||
bic r0, r0, #0x1000 @ clear Icache
|
||||
mcr p15, 0, r0, c1, c0, 0
|
||||
|
||||
+#ifdef CONFIG_MACH_ZYLONITE
|
||||
+ mov r7, #(MACH_TYPE_ZYLONITE & 0xff)
|
||||
+ orr r7, r7, #(MACH_TYPE_ZYLONITE & 0xff00)
|
||||
+#endif
|
||||
+
|
||||
#ifdef CONFIG_ARCH_COTULLA_IDP
|
||||
mov r7, #MACH_TYPE_COTULLA_IDP
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
4093
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch
Normal file
4093
meta/packages/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
190
meta/packages/linux/linux-rp_2.6.25+2.6.26-rc4.bb
Normal file
190
meta/packages/linux/linux-rp_2.6.25+2.6.26-rc4.bb
Normal file
@@ -0,0 +1,190 @@
|
||||
require linux-rp.inc
|
||||
|
||||
PR = "r5"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
DEFAULT_PREFERENCE_qemuarm = "1"
|
||||
DEFAULT_PREFERENCE_qemux86 = "1"
|
||||
DEFAULT_PREFERENCE_spitz = "1"
|
||||
|
||||
# Handy URLs
|
||||
# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
|
||||
# ${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
|
||||
# ${KERNELORG_MIRROR}pub/linux/kernel/v2.6/testing/linux-2.6.20-rc4.tar.bz2
|
||||
# ${KERNELORG_MIRROR}pub/linux/kernel/v2.6/testing/patch-2.6.18-rc6.bz2;patch=1
|
||||
# ${KERNELORG_MIRROR}pub/linux/kernel/v2.6/snapshots/patch-2.6.18-rc2-git1.bz2;patch=1
|
||||
# ${KERNELORG_MIRROR}pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1
|
||||
# ${KERNELORG_MIRROR}pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1
|
||||
|
||||
# Patches submitted upstream are towards top of this list
|
||||
# Hacks should clearly named and at the bottom
|
||||
SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2 \
|
||||
${KERNELORG_MIRROR}pub/linux/kernel/v2.6/testing/patch-2.6.26-rc4.bz2;patch=1 \
|
||||
${RPSRC}/lzo_jffs2_sysfs-r1.patch;patch=1 \
|
||||
${RPSRC}/hx2750_base-r34.patch;patch=1 \
|
||||
${RPSRC}/hx2750_bl-r9.patch;patch=1 \
|
||||
${RPSRC}/hx2750_pcmcia-r3.patch;patch=1 \
|
||||
${RPSRC}/pxa_keys-r9.patch;patch=1 \
|
||||
${RPSRC}/tsc2101-r19.patch;patch=1 \
|
||||
${RPSRC}/hx2750_test1-r8.patch;patch=1 \
|
||||
${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
|
||||
${RPSRC}/pm_changes-r1.patch;patch=1 \
|
||||
${RPSRC}/locomo_kbd_tweak-r2.patch;patch=1 \
|
||||
# ${RPSRC}/pxa27x_overlay-r8.patch;patch=1 \
|
||||
${RPSRC}/w100_extaccel-r2.patch;patch=1 \
|
||||
${RPSRC}/w100_extmem-r1.patch;patch=1 \
|
||||
${RPSRC}/poodle_pm-r6.patch;patch=1 \
|
||||
${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \
|
||||
${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \
|
||||
${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
|
||||
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
|
||||
file://hostap-monitor-mode.patch;patch=1;status=unmergable \
|
||||
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1;status=unmergable \
|
||||
${RPSRC}/mmcsd_large_cards-r1.patch;patch=1;status=hack \
|
||||
${RPSRC}/mmcsd_no_scr_check-r2.patch;patch=1;status=hack \
|
||||
${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
|
||||
${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
|
||||
file://sharpsl-rc-r1.patch;patch=1 \
|
||||
file://sharpsl-rc-r2.patch;patch=1 \
|
||||
file://spitz_h_rewrite.patch;patch=1 \
|
||||
file://pxa-serial-hack.patch;patch=1;status=hack \
|
||||
file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
|
||||
file://connectplus-prevent-oops-HACK.patch;patch=1;status=hack \
|
||||
file://htcuni.patch;patch=1 \
|
||||
file://versatile-armv6.patch;patch=1 \
|
||||
file://defconfig-c7x0 \
|
||||
file://defconfig-hx2000 \
|
||||
file://defconfig-akita \
|
||||
file://defconfig-spitz \
|
||||
file://defconfig-qemuarm \
|
||||
file://defconfig-qemux86 \
|
||||
file://defconfig-bootcdx86 \
|
||||
file://defconfig-htcuniversal \
|
||||
file://defconfig-zylonite"
|
||||
# Disabled until the patchset is updated:
|
||||
# file://defconfig-tosa
|
||||
# file://defconfig-collie
|
||||
# file://defconfig-poodle
|
||||
|
||||
|
||||
# FIXMEs before made default
|
||||
# ${RPSRC}/mmcsd_no_scr_check-r1.patch;patch=1;status=hack
|
||||
|
||||
|
||||
# Add this to enable pm debug code (useful with a serial lead)
|
||||
# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
|
||||
|
||||
# Disabled until I find the reason this gives issues with cdc_subset
|
||||
# ${RPSRC}/usb_rndis_tweaks-r0.patch;patch=1 \
|
||||
|
||||
|
||||
SRC_URI_append_collie = "\
|
||||
${TKSRC}/mtd-sharp-flash-hack-r4.patch;patch=1 \
|
||||
${TKSRC}/mcp-sa11x0-r0.patch;patch=1 \
|
||||
${TKSRC}/locomo-r1.patch;patch=1 \
|
||||
${TKSRC}/collie-kexec-r1.patch;patch=1 \
|
||||
${TKSRC}/sharpsl_pm-4.patch;patch=1 \
|
||||
${TKSRC}/collie_pm-3.patch;patch=1 \
|
||||
${TKSRC}/ucb1x00_suspend.patch;patch=1 \
|
||||
${TKSRC}/collie-ts.patch;patch=1 \
|
||||
${TKSRC}/pcmcia_suspend.patch;patch=1 \
|
||||
${TKSRC}/locomo_spi-6.patch;patch=1 \
|
||||
${TKSRC}/config.patch;patch=1 \
|
||||
${TKSRC}/locomokeyb-2.patch;patch=1 \
|
||||
${TKSRC}/mmc-spi.patch;patch=1 \
|
||||
${TKSRC}/linux-2.6.24-SIMpad-rtc-sa1100.patch;patch=1 \
|
||||
${TKSRC}/sa1100_spinlock.patch;patch=1 \
|
||||
${TKSRC}/sa1100-dma.patch;patch=1 \
|
||||
${TKSRC}/sa1100_udc_g_ether-2.patch;patch=1 \
|
||||
"
|
||||
|
||||
SRC_URI_append_poodle = "\
|
||||
${RPSRC}/poodle_serial_vcc-r0.patch;patch=1 \
|
||||
file://poodle_ts.patch;patch=1 \
|
||||
file://pxafb.patch;patch=1 \
|
||||
"
|
||||
|
||||
SRC_URI_append_tosa = "\
|
||||
file://tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch;patch=1 \
|
||||
file://tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch;patch=1 \
|
||||
file://tosa/0003-Core-MFD-support.patch;patch=1 \
|
||||
file://tosa/0004-Add-support-for-tc6393xb-MFD-core.patch;patch=1 \
|
||||
file://tosa/0005-Add-support-for-tc6387xb-MFD-core.patch;patch=1 \
|
||||
file://tosa/0006-Add-support-for-t7l66xb-MFD-core.patch;patch=1 \
|
||||
file://tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch;patch=1 \
|
||||
file://tosa/0008-Nand-driver-for-TMIO-devices.patch;patch=1 \
|
||||
file://tosa/0009-FB-driver-for-TMIO-devices.patch;patch=1 \
|
||||
file://tosa/0010-OHCI-driver-for-TMIO-devices.patch;patch=1 \
|
||||
file://tosa/0011-MMC-driver-for-TMIO-devices.patch;patch=1 \
|
||||
file://tosa/0012-Tosa-keyboard-support.patch;patch=1 \
|
||||
file://tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch;patch=1 \
|
||||
file://tosa/0014-tosa_udc_use_gpio_vbus.patch.patch;patch=1 \
|
||||
file://tosa/0015-sharpsl-export-params.patch;patch=1 \
|
||||
file://tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch;patch=1 \
|
||||
file://tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch;patch=1 \
|
||||
file://tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch;patch=1 \
|
||||
file://tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch;patch=1 \
|
||||
file://tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch;patch=1 \
|
||||
file://tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch;patch=1 \
|
||||
file://tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch;patch=1 \
|
||||
file://tosa/0030-Core-driver-for-WM97xx-touchscreens.patch;patch=1 \
|
||||
file://tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch;patch=1 \
|
||||
file://tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch;patch=1 \
|
||||
file://tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch;patch=1 \
|
||||
file://tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch;patch=1 \
|
||||
file://tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch;patch=1 \
|
||||
file://tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch;patch=1 \
|
||||
file://tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch;patch=1 \
|
||||
file://tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch;patch=1 \
|
||||
file://tosa/0044-fix-tmio_mmc-debug-compilation.patch;patch=1 \
|
||||
file://tosa/0045-Update-tmio_ohci.patch;patch=1 \
|
||||
file://tosa/0046-patch-tc6393xb-cleanup.patch;patch=1 \
|
||||
file://tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch;patch=1 \
|
||||
file://tosa/0048-tc6393xb-GPIO-support.patch;patch=1 \
|
||||
file://tosa/0049-platform-support-for-TMIO-on-tosa.patch;patch=1 \
|
||||
file://tosa/0050-tosa-update-for-tc6393xb-gpio.patch;patch=1 \
|
||||
file://tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch;patch=1 \
|
||||
file://tosa/0052-tosa-platform-backlight-support.patch;patch=1 \
|
||||
file://tosa/0053-sound-soc-codecs-wm9712.c-28.patch;patch=1 \
|
||||
file://tosa/0054-sound-soc-codecs-wm9712.c-2.patch;patch=1 \
|
||||
file://tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch;patch=1 \
|
||||
file://tosa/0058-Fix-tosakbd-suspend.patch;patch=1 \
|
||||
file://tosa/0059-patch-tosa-wakeup-test.patch;patch=1 \
|
||||
file://tosa/0060-Add-support-for-power_supply-on-tosa.patch;patch=1 \
|
||||
file://tosa/0061-tosa-bat-unify.patch;patch=1 \
|
||||
file://tosa/0062-tosa-bat-fix-charging.patch;patch=1 \
|
||||
file://tosa/0063-patch-tosa-bat-jacket-detect.patch;patch=1 \
|
||||
file://tosa/0064-Export-modes-via-sysfs.patch;patch=1 \
|
||||
file://tosa/0065-wm97xx-core-fixes.patch;patch=1 \
|
||||
file://tosa/0066-tmiofb_probe-should-be-__devinit.patch;patch=1 \
|
||||
file://tosa/0067-modeswitching.patch;patch=1 \
|
||||
file://tosa/0068-Preliminary-tosa-denoiser.patch;patch=1 \
|
||||
file://tosa/0019-pxa-remove-periodic-mode-emulation-support.patch;patch=1 \
|
||||
file://tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch;patch=1 \
|
||||
file://tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch;patch=1 \
|
||||
file://tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch;patch=1 \
|
||||
file://tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch;patch=1 \
|
||||
file://tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch;patch=1 \
|
||||
file://tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch;patch=1 \
|
||||
file://tosa/0039-Add-generic-framework-for-managing-clocks.patch;patch=1 \
|
||||
file://tosa/0040-Clocklib-debugfs-support.patch;patch=1 \
|
||||
file://tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch;patch=1 \
|
||||
file://tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch;patch=1 \
|
||||
file://tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch;patch=1 \
|
||||
file://tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch;patch=1 \
|
||||
file://tosa/0057-Clean-up-tosa-resetting.patch;patch=1 \
|
||||
"
|
||||
|
||||
SRC_URI_append_htcuniversal ="\
|
||||
file://htcuni-acx.patch;patch=1;status=external \
|
||||
"
|
||||
|
||||
SRC_URI_append_zylonite ="\
|
||||
file://pxa_fb_overlay.patch;patch=1 \
|
||||
file://zylonite-boot.patch;patch=1 \
|
||||
file://zylonite_mtd-r0.patch;patch=1 \
|
||||
file://zylonite_touch-r0.patch;patch=1 \
|
||||
file://zylonite_keypad-r0.patch;patch=1 \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/linux-2.6.25"
|
||||
Reference in New Issue
Block a user