resync with kamikaze
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3844 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
f45baccdc5
commit
340f1875ed
|
@ -61,3 +61,7 @@ config_get() {
|
|||
config_set() {
|
||||
export CONFIG_${1}_${2}="${3}"
|
||||
}
|
||||
|
||||
load_modules() {
|
||||
sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/sh
|
||||
. /etc/functions.sh
|
||||
|
||||
[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
|
||||
vconfig set_name_type VLAN_PLUS_VID_NO_PAD
|
||||
|
@ -16,7 +17,7 @@ for iface in $(/sbin/ifconfig -a | awk '{print $1}' | grep eth); do
|
|||
/usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug net
|
||||
done
|
||||
|
||||
sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash
|
||||
load_modules /etc/modules /etc/modules.d/*
|
||||
|
||||
ifconfig lo 127.0.0.1 up
|
||||
ifconfig eth0 promisc
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
BEGIN {
|
||||
print ". /etc/config/network"
|
||||
print "proto=\"$wan_proto\""
|
||||
print "[ -z \"$proto\" -o \"$proto\" = \"none\" ] && exit"
|
||||
print "ifname=\"$wan_ifname\""
|
||||
|
|
|
@ -7,6 +7,7 @@ config LINUX_2_6_ARUBA
|
|||
select mips
|
||||
select LINUX_2_6
|
||||
select PCI_SUPPORT
|
||||
select BIG_ENDIAN
|
||||
help
|
||||
Build firmware images for Aruba boards
|
||||
|
||||
|
@ -14,6 +15,7 @@ config LINUX_2_4_AR531X
|
|||
bool "Atheros AR531x [2.4]"
|
||||
select mips
|
||||
select LINUX_2_4
|
||||
select BIG_ENDIAN
|
||||
help
|
||||
Build firmware images for Atheros AR531x based boards
|
||||
(e.g. Netgear WGT624, Linksys WRT55AG)
|
||||
|
@ -84,6 +86,7 @@ config LINUX_2_6_ARM
|
|||
config LINUX_2_6_ARMEB
|
||||
bool "UNSUPPORTED big-endian arm platform"
|
||||
select LINUX_2_6
|
||||
select BIG_ENDIAN
|
||||
select armeb
|
||||
|
||||
config LINUX_2_6_CRIS
|
||||
|
@ -99,6 +102,7 @@ config LINUX_2_6_M68K
|
|||
config LINUX_2_6_PPC
|
||||
bool "UNSUPPORTED powerpc platform"
|
||||
select LINUX_2_6
|
||||
select BIG_ENDIAN
|
||||
select powerpc
|
||||
|
||||
config LINUX_2_6_SH3
|
||||
|
@ -109,6 +113,7 @@ config LINUX_2_6_SH3
|
|||
config LINUX_2_6_SH3EB
|
||||
bool "UNSUPPORTED big-endian sh3 platform"
|
||||
select LINUX_2_6
|
||||
select BIG_ENDIAN
|
||||
select sh3eb
|
||||
|
||||
config LINUX_2_6_SH4
|
||||
|
@ -119,11 +124,13 @@ config LINUX_2_6_SH4
|
|||
config LINUX_2_6_SH4EB
|
||||
bool "UNSUPPORTED big-endian sh4 platform"
|
||||
select LINUX_2_6
|
||||
select BIG_ENDIAN
|
||||
select sh4eb
|
||||
|
||||
config LINUX_2_6_SPARC
|
||||
bool "UNSUPPORTED sparc platform"
|
||||
select LINUX_2_6
|
||||
select BIG_ENDIAN
|
||||
select sparc
|
||||
|
||||
endif
|
||||
|
@ -145,6 +152,8 @@ config PCI_SUPPORT
|
|||
config PCMCIA_SUPPORT
|
||||
bool
|
||||
|
||||
config BIG_ENDIAN
|
||||
bool
|
||||
|
||||
# Architecture selection
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ menu "Target Root Filesystem"
|
|||
bool "squashfs-lzma"
|
||||
default y
|
||||
depends !LINUX_2_6_ARUBA
|
||||
depends !LINUX_2_6_XSCALE
|
||||
help
|
||||
Build a squashfs-lzma root filesystem
|
||||
|
||||
|
@ -53,6 +54,13 @@ config PACKAGE_KMOD_IMQ
|
|||
help
|
||||
Kernel support for the Intermediate Queueing device
|
||||
|
||||
config PACKAGE_KMOD_IPIP
|
||||
prompt "kmod-ipip......................... IP in IP encapsulation support"
|
||||
tristate
|
||||
default m
|
||||
help
|
||||
Kernel module for IP in IP encapsulation
|
||||
|
||||
config PACKAGE_KMOD_IPV6
|
||||
prompt "kmod-ipv6......................... IPv6 support"
|
||||
tristate
|
||||
|
@ -294,7 +302,7 @@ config PACKAGE_KMOD_IDE
|
|||
- ide-core
|
||||
- ide-detect
|
||||
- ide-disk
|
||||
- pdc202old
|
||||
- pdc202xx_old
|
||||
|
||||
config PACKAGE_KMOD_LOOP
|
||||
prompt "kmod-loop......................... Loop mount support"
|
||||
|
@ -316,7 +324,7 @@ config PACKAGE_KMOD_CRYPTO
|
|||
prompt "CryptoAPI modules"
|
||||
tristate
|
||||
default m
|
||||
select BUSYBOX_FEATURE_CHECK_TAINTED_MODULE
|
||||
select BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
|
||||
help
|
||||
Kernel modules for cryptographic algorithms
|
||||
|
||||
|
|
|
@ -84,3 +84,5 @@ $(eval $(call kernel_template,2.6,x86,2_6_X86))
|
|||
$(eval $(call kernel_template,2.4,ar531x,2_4_AR531X))
|
||||
$(eval $(call kernel_template,2.6,aruba,2_6_ARUBA))
|
||||
$(eval $(call kernel_template,2.6,au1000,2_6_AU1000))
|
||||
$(eval $(call kernel_template,2.6,xscale,2_6_XSCALE))
|
||||
$(eval $(call kernel_template,2.6,sibyte,2_6_SIBYTE))
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LINUX_VERSION:=2.6.16.4
|
||||
LINUX_VERSION:=2.6.16.7
|
||||
LINUX_RELEASE:=1
|
||||
LINUX_KERNEL_MD5SUM:=cb675279c9711237a06ebb8379a4da27
|
||||
LINUX_KERNEL_MD5SUM:=9682b2bd6e02f3087982d7c3f5ba824e
|
||||
|
||||
include ../rules.mk
|
||||
include ./config
|
||||
|
|
|
@ -45,7 +45,7 @@ diff -Nur linux-2.6.16/arch/mips/aruba/Makefile linux-2.6.16-owrt/arch/mips/arub
|
|||
+# .S.o:
|
||||
+# $(CC) $(CFLAGS) -c $< -o $*.o
|
||||
+
|
||||
+obj-y := prom.o setup.o idtIRQ.o irq.o time.o flash_lock.o wdt_merlot.o
|
||||
+obj-y := prom.o setup.o idtIRQ.o irq.o time.o flash_lock.o
|
||||
+obj-$(CONFIG_SERIAL_8250) += serial.o
|
||||
+
|
||||
+subdir-y += nvram
|
||||
|
@ -823,6 +823,7 @@ diff -Nur linux-2.6.16/arch/mips/aruba/setup.c linux-2.6.16-owrt/arch/mips/aruba
|
|||
+ */
|
||||
+
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/mm.h>
|
||||
+#include <linux/sched.h>
|
||||
+#include <linux/irq.h>
|
||||
|
@ -872,7 +873,6 @@ diff -Nur linux-2.6.16/arch/mips/aruba/setup.c linux-2.6.16-owrt/arch/mips/aruba
|
|||
+
|
||||
+extern char * getenv(char *e);
|
||||
+extern void unlock_ap60_70_flash(void);
|
||||
+extern void wdt_merlot_disable(void);
|
||||
+
|
||||
+void __init plat_setup(void)
|
||||
+{
|
||||
|
@ -895,8 +895,6 @@ diff -Nur linux-2.6.16/arch/mips/aruba/setup.c linux-2.6.16-owrt/arch/mips/aruba
|
|||
+
|
||||
+ printk("BOARD - %s\n",getenv("boardname"));
|
||||
+
|
||||
+ wdt_merlot_disable();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
|
@ -909,6 +907,8 @@ diff -Nur linux-2.6.16/arch/mips/aruba/setup.c linux-2.6.16-owrt/arch/mips/aruba
|
|||
+{
|
||||
+ return "MIPS IDT32434 - ARUBA";
|
||||
+}
|
||||
+
|
||||
+EXPORT_SYMBOL(get_system_type);
|
||||
diff -Nur linux-2.6.16/arch/mips/aruba/time.c linux-2.6.16-owrt/arch/mips/aruba/time.c
|
||||
--- linux-2.6.16/arch/mips/aruba/time.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.16-owrt/arch/mips/aruba/time.c 2006-03-20 14:25:10.000000000 +0100
|
||||
|
@ -1021,40 +1021,6 @@ diff -Nur linux-2.6.16/arch/mips/aruba/time.c linux-2.6.16-owrt/arch/mips/aruba/
|
|||
+ timer_interrupt(irq, NULL, regs);
|
||||
+ irq_exit();
|
||||
+}
|
||||
diff -Nur linux-2.6.16/arch/mips/aruba/wdt_merlot.c linux-2.6.16-owrt/arch/mips/aruba/wdt_merlot.c
|
||||
--- linux-2.6.16/arch/mips/aruba/wdt_merlot.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.16-owrt/arch/mips/aruba/wdt_merlot.c 2006-03-20 14:25:10.000000000 +0100
|
||||
@@ -0,0 +1,30 @@
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <asm/bootinfo.h>
|
||||
+
|
||||
+void wdt_merlot_disable()
|
||||
+{
|
||||
+ volatile __u32 *wdt_errcs;
|
||||
+ volatile __u32 *wdt_wtc;
|
||||
+ volatile __u32 *wdt_ctl;
|
||||
+ volatile __u32 val;
|
||||
+
|
||||
+ switch (mips_machtype) {
|
||||
+ case MACH_ARUBA_AP70:
|
||||
+ wdt_errcs = (__u32 *) 0xb8030030;
|
||||
+ wdt_wtc = (__u32 *) 0xb803003c;
|
||||
+ val = *wdt_errcs;
|
||||
+ val &= ~0x201;
|
||||
+ *wdt_errcs = val;
|
||||
+ val = *wdt_wtc;
|
||||
+ val &= ~0x1;
|
||||
+ *wdt_wtc = val;
|
||||
+ break;
|
||||
+ case MACH_ARUBA_AP65:
|
||||
+ case MACH_ARUBA_AP60:
|
||||
+ default:
|
||||
+ wdt_ctl = (__u32 *) 0xbc003008;
|
||||
+ *wdt_ctl = 0;
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
diff -Nur linux-2.6.16/arch/mips/Kconfig linux-2.6.16-owrt/arch/mips/Kconfig
|
||||
--- linux-2.6.16/arch/mips/Kconfig 2006-03-20 06:53:29.000000000 +0100
|
||||
+++ linux-2.6.16-owrt/arch/mips/Kconfig 2006-03-20 14:25:10.000000000 +0100
|
||||
|
|
|
@ -0,0 +1,126 @@
|
|||
diff -Nur linux-2.6.15.1/drivers/char/watchdog/wdt_merlot.c linux-2.6.15.1-openwrt/drivers/char/watchdog/wdt_merlot.c
|
||||
--- linux-2.6.15.1/drivers/char/watchdog/wdt_merlot.c 2006-01-26 21:14:02.204626250 -0800
|
||||
+++ linux-2.6.15.1-openwrt/drivers/char/watchdog/wdt_merlot.c 2006-02-02 20:31:43.000000000 -0800
|
||||
@@ -0,0 +1,110 @@
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/miscdevice.h>
|
||||
+#include <linux/watchdog.h>
|
||||
+#include <linux/fs.h>
|
||||
+
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/uaccess.h>
|
||||
+#include <asm/system.h>
|
||||
+#include <asm/bootinfo.h>
|
||||
+
|
||||
+extern unsigned long mips_machtype;
|
||||
+
|
||||
+static unsigned long wdt_is_open;
|
||||
+static struct timer_list wdt_timer;
|
||||
+
|
||||
+static void wdt_merlot_refresh(void)
|
||||
+{
|
||||
+ volatile __u32 *wdt;
|
||||
+ switch (mips_machtype) {
|
||||
+ case MACH_ARUBA_AP70:
|
||||
+ wdt = (__u32 *) 0xb8030034;
|
||||
+ *wdt = 0x10000000;
|
||||
+ break;
|
||||
+ default:
|
||||
+ wdt = (__u32 *) 0xbc00300c;
|
||||
+ *wdt = 0x40000000;
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void wdt_merlot_timer_fn(unsigned long data)
|
||||
+{
|
||||
+ wdt_merlot_refresh();
|
||||
+ if (!test_bit(1, &wdt_is_open))
|
||||
+ mod_timer(&wdt_timer, jiffies + HZ);
|
||||
+}
|
||||
+
|
||||
+static int wdt_merlot_setup_timer(void)
|
||||
+{
|
||||
+
|
||||
+ init_timer(&wdt_timer);
|
||||
+ wdt_timer.function = wdt_merlot_timer_fn;
|
||||
+ wdt_timer.data = 0;
|
||||
+ wdt_timer.expires = jiffies + HZ;
|
||||
+ add_timer(&wdt_timer);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int wdt_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ if (test_and_set_bit(0, &wdt_is_open))
|
||||
+ return -EBUSY;
|
||||
+ set_bit(1, &wdt_is_open);
|
||||
+ return nonseekable_open(inode, file);
|
||||
+}
|
||||
+
|
||||
+static ssize_t wdt_write(struct file *file, const char __user * buf, size_t count, loff_t * ppos)
|
||||
+{
|
||||
+ if (count) /* something was written */
|
||||
+ wdt_merlot_refresh();
|
||||
+ return count;
|
||||
+}
|
||||
+
|
||||
+static int wdt_release(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ clear_bit(0, &wdt_is_open);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct file_operations wdt_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .llseek = no_llseek,
|
||||
+ .write = wdt_write,
|
||||
+ .open = wdt_open,
|
||||
+ .release = wdt_release,
|
||||
+};
|
||||
+
|
||||
+static struct miscdevice wdt_miscdev = {
|
||||
+ .minor = WATCHDOG_MINOR,
|
||||
+ .name = "watchdog",
|
||||
+ .fops = &wdt_fops,
|
||||
+};
|
||||
+
|
||||
+static void __exit wdt_exit(void)
|
||||
+{
|
||||
+ misc_deregister(&wdt_miscdev);
|
||||
+}
|
||||
+
|
||||
+static int __init wdt_init(void)
|
||||
+{
|
||||
+ int ret;
|
||||
+ ret = misc_register(&wdt_miscdev);
|
||||
+ if (ret) {
|
||||
+ printk(KERN_ERR
|
||||
+ "wdt: cannot register miscdev on minor=%d (err=%d)\n",
|
||||
+ WATCHDOG_MINOR, ret);
|
||||
+ misc_deregister(&wdt_miscdev);
|
||||
+ goto out;
|
||||
+ }
|
||||
+ printk("wdt: registered with refresh\n");
|
||||
+ wdt_merlot_refresh();
|
||||
+ wdt_merlot_setup_timer();
|
||||
+ out:
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+module_init(wdt_init);
|
||||
+module_exit(wdt_exit);
|
||||
diff -Nur linux-2.6.15.3/drivers/char/watchdog/Makefile linux-2.6.15.3-openwrt/drivers/char/watchdog/Makefile
|
||||
--- linux-2.6.15.3/drivers/char/watchdog/Makefile 2006-02-22 10:04:18.596278000 -0800
|
||||
+++ linux-2.6.15.3-openwrt/drivers/char/watchdog/Makefile 2006-02-22 10:06:21.400960000 -0800
|
||||
@@ -71,5 +71,8 @@
|
||||
|
||||
# SPARC64 Architecture
|
||||
|
||||
+# Aruba Architecture
|
||||
+obj-$(CONFIG_MACH_ARUBA) += wdt_merlot.o
|
||||
+
|
||||
# Architecture Independant
|
||||
obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
|
|
@ -1,8 +1,8 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LINUX_VERSION:=2.6.16.4
|
||||
LINUX_VERSION:=2.6.16.7
|
||||
LINUX_RELEASE:=1
|
||||
LINUX_KERNEL_MD5SUM:=cb675279c9711237a06ebb8379a4da27
|
||||
LINUX_KERNEL_MD5SUM:=9682b2bd6e02f3087982d7c3f5ba824e
|
||||
|
||||
include ../rules.mk
|
||||
include ./config
|
||||
|
@ -17,9 +17,10 @@ $(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
|
|||
@$(CP) config $(LINUX_DIR)/.config
|
||||
touch $@
|
||||
|
||||
$(LINUX_BUILD_DIR)/bzImage: $(LINUX_DIR)/vmlinux
|
||||
$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE=$(TARGET_CROSS) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) bzImage
|
||||
$(CP) $(LINUX_DIR)/vmlinux $@
|
||||
$(LINUX_BUILD_DIR)/zImage.flash.srec: $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.srec
|
||||
$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE=$(TARGET_CROSS) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) zImage.flash
|
||||
$(CP) $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec $(LINUX_DIR)/zImage.flash.srec
|
||||
$(CP) $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.srec $(LINUX_DIR)/zImage.srec
|
||||
touch $@
|
||||
|
||||
compile: $(LINUX_DIR)/vmlinux
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,16 @@
|
|||
diff -urN linux-2.6.16.7/drivers/mtd/maps/alchemy-flash.c linux-2.6.16.7.new/drivers/mtd/maps/alchemy-flash.c
|
||||
--- linux-2.6.16.7/drivers/mtd/maps/alchemy-flash.c 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/drivers/mtd/maps/alchemy-flash.c 2006-04-20 19:16:26.000000000 +0200
|
||||
@@ -105,6 +105,12 @@
|
||||
#define USE_LOCAL_ACCESSORS /* why? */
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_MIPS_MTX1
|
||||
+#define BOARD_MAP_NAME "MTX-1 Flash"
|
||||
+#define BOARD_FLASH_SIZE 0x04000000 /* 64MB */
|
||||
+#define BOARD_FLASH_WIDTH 4 /* 32-bits */
|
||||
+#endif
|
||||
+
|
||||
static struct map_info alchemy_map = {
|
||||
.name = BOARD_MAP_NAME,
|
||||
};
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,279 @@
|
|||
diff -urN linux-2.6.16.7/drivers/char/watchdog/Kconfig linux-2.6.16.7.new/drivers/char/watchdog/Kconfig
|
||||
--- linux-2.6.16.7/drivers/char/watchdog/Kconfig 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/drivers/char/watchdog/Kconfig 2006-04-22 23:23:53.000000000 +0200
|
||||
@@ -460,6 +460,14 @@
|
||||
timer expired and no process has written to /dev/watchdog during
|
||||
that time.
|
||||
|
||||
+config MTX1_WATCHDOG
|
||||
+ tristate "MTX-1 Hardware Watchdog"
|
||||
+ depends on WATCHDOG && MIPS_MTX1
|
||||
+ help
|
||||
+ Hardware driver for the AccessCube MTX-1 watchdog. This is a
|
||||
+ watchdog timer that will reboot the machine after a 100 seconds
|
||||
+ timer expired.
|
||||
+
|
||||
# S390 Architecture
|
||||
|
||||
config ZVM_WATCHDOG
|
||||
diff -urN linux-2.6.16.7/drivers/char/watchdog/Makefile linux-2.6.16.7.new/drivers/char/watchdog/Makefile
|
||||
--- linux-2.6.16.7/drivers/char/watchdog/Makefile 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/drivers/char/watchdog/Makefile 2006-04-22 23:21:18.000000000 +0200
|
||||
@@ -65,6 +65,7 @@
|
||||
|
||||
# MIPS Architecture
|
||||
obj-$(CONFIG_INDYDOG) += indydog.o
|
||||
+obj-$(CONFIG_MTX1_WATCHDOG) += mtx-1_watchdog.o
|
||||
|
||||
# S390 Architecture
|
||||
|
||||
diff -urN linux-2.6.16.7/drivers/char/watchdog/mtx-1_watchdog.c linux-2.6.16.7.new/drivers/char/watchdog/mtx-1_watchdog.c
|
||||
--- linux-2.6.16.7/drivers/char/watchdog/mtx-1_watchdog.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.16.7.new/drivers/char/watchdog/mtx-1_watchdog.c 2006-04-22 23:20:53.000000000 +0200
|
||||
@@ -0,0 +1,246 @@
|
||||
+/*
|
||||
+ * Driver for the MTX-1 Watchdog.
|
||||
+ *
|
||||
+ * (c) Copyright 2005 4G Systems <info@4g-systems.biz>, All Rights Reserved.
|
||||
+ * http://www.4g-systems.biz
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License
|
||||
+ * as published by the Free Software Foundation; either version
|
||||
+ * 2 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * Neither Michael Stickel nor 4G Systems admit liability nor provide
|
||||
+ * warranty for any of this software. This material is provided
|
||||
+ * "AS-IS" and at no charge.
|
||||
+ *
|
||||
+ * (c) Copyright 2005 4G Systems <info@4g-systems.biz>
|
||||
+ *
|
||||
+ * Release 0.01.
|
||||
+ *
|
||||
+ * Author: Michael Stickel michael.stickel@4g-systems.biz
|
||||
+ *
|
||||
+ *
|
||||
+ * The Watchdog is configured to reset the MTX-1
|
||||
+ * if it is not triggered for 100 seconds.
|
||||
+ * It should not be triggered more often than 1.6 seconds.
|
||||
+ *
|
||||
+ * A timer triggers the watchdog every 5 seconds, until
|
||||
+ * it is opened for the first time. After the first open
|
||||
+ * it MUST be triggered every 2..95 seconds.
|
||||
+ */
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/errno.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/sched.h>
|
||||
+#include <linux/miscdevice.h>
|
||||
+#include <linux/watchdog.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <asm/uaccess.h>
|
||||
+#include <linux/fs.h>
|
||||
+
|
||||
+#include <asm/mach-au1x00/au1000.h>
|
||||
+
|
||||
+#ifndef FALSE
|
||||
+# define FALSE (0)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef TRUE
|
||||
+# define TRUE (!FALSE)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+//---------[ Hardware Functions ]-----------------
|
||||
+
|
||||
+static void mtx1_trigger_wd (void)
|
||||
+{
|
||||
+ /*
|
||||
+ * toggle GPIO2_15
|
||||
+ */
|
||||
+
|
||||
+ u32 tmp = au_readl(GPIO2_DIR);
|
||||
+ tmp = (tmp & ~(1<<15)) | ((~tmp) & (1<<15));
|
||||
+ au_writel (tmp, GPIO2_DIR);
|
||||
+}
|
||||
+
|
||||
+static void mtx1_enable_wd (void)
|
||||
+{
|
||||
+ au_writel (au_readl(GPIO2_DIR) | (u32)(1<<15), GPIO2_DIR);
|
||||
+}
|
||||
+
|
||||
+static void mtx1_disable_wd (void)
|
||||
+{
|
||||
+ au_writel (au_readl(GPIO2_DIR) & ~((u32)(1<<15)), GPIO2_DIR);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+//---------[ Timer Functions ]-----------------
|
||||
+
|
||||
+static struct timer_list wd_trigger_timer;
|
||||
+static char timer_is_running = FALSE;
|
||||
+
|
||||
+static void wd_timer_callback (unsigned long data)
|
||||
+{
|
||||
+ if (timer_is_running)
|
||||
+ mod_timer (&wd_trigger_timer, jiffies + 5 * HZ);
|
||||
+ mtx1_trigger_wd();
|
||||
+}
|
||||
+
|
||||
+static void start_wd_timer (void)
|
||||
+{
|
||||
+ if (!timer_is_running) {
|
||||
+ struct timer_list *t = &wd_trigger_timer;
|
||||
+
|
||||
+ init_timer (t);
|
||||
+ t->function = wd_timer_callback;
|
||||
+ t->data = (unsigned long)0L;
|
||||
+ t->expires = jiffies + 5 * HZ; // 5 seconds.
|
||||
+ add_timer (t);
|
||||
+ timer_is_running = TRUE;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static void stop_wd_timer (void)
|
||||
+{
|
||||
+ if (timer_is_running) {
|
||||
+ del_timer(&wd_trigger_timer);
|
||||
+ timer_is_running = FALSE;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+//---------[ File Functions ]-----------------
|
||||
+
|
||||
+static char restart_after_close;
|
||||
+
|
||||
+static int mtx1wd_open (struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ if (MINOR(inode->i_rdev) != WATCHDOG_MINOR) return -ENODEV;
|
||||
+ //MOD_INC_USE_COUNT;
|
||||
+
|
||||
+ // stop the timer, if it is running. It will not be
|
||||
+ // started again, until the module is loaded again.
|
||||
+ stop_wd_timer();
|
||||
+
|
||||
+ // sleep for 2 seconds, to ensure, that the wd is
|
||||
+ // not triggered more often than every 2 seconds.
|
||||
+ schedule_timeout (2 * HZ);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static int mtx1wd_release (struct inode *inode, struct file *file) {
|
||||
+ if (MINOR(inode->i_rdev)==WATCHDOG_MINOR) {
|
||||
+ }
|
||||
+ if (restart_after_close)
|
||||
+ start_wd_timer();
|
||||
+ //MOD_DEC_USE_COUNT;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static ssize_t mtx1wd_write (struct file *file, const char *buf, size_t count, loff_t *ppos) {
|
||||
+
|
||||
+ mtx1_trigger_wd ();
|
||||
+
|
||||
+ if (count > 0) {
|
||||
+ char buffer[10];
|
||||
+ int n = (count>9)?9:count;
|
||||
+
|
||||
+ if (copy_from_user (&buffer, buf, n))
|
||||
+ return -EFAULT;
|
||||
+ buffer[n]=0;
|
||||
+
|
||||
+ if (count >= 4 && strncmp("auto", buffer, 4)==0)
|
||||
+ restart_after_close = 1;
|
||||
+
|
||||
+ else if (count >= 6 && strncmp("manual", buffer, 6)==0)
|
||||
+ restart_after_close = 0;
|
||||
+
|
||||
+ return n;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static ssize_t mtx1wd_read (struct file *file, char *buf, size_t count, loff_t *ppos)
|
||||
+{
|
||||
+ char * state = restart_after_close ? "auto\n" : "manual\n";
|
||||
+ int n = strlen(state)+1;
|
||||
+
|
||||
+ if (file->f_pos >= n)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (count < n)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if(copy_to_user(buf, state, n))
|
||||
+ return -EFAULT;
|
||||
+
|
||||
+ file->f_pos += n;
|
||||
+
|
||||
+ return n;
|
||||
+}
|
||||
+
|
||||
+static struct file_operations mtx1wd_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .read = mtx1wd_read,
|
||||
+ .write = mtx1wd_write,
|
||||
+ .open = mtx1wd_open,
|
||||
+ .release = mtx1wd_release
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static struct miscdevice mtx1wd_miscdev = {
|
||||
+ WATCHDOG_MINOR,
|
||||
+ "watchdog",
|
||||
+ &mtx1wd_fops
|
||||
+};
|
||||
+
|
||||
+
|
||||
+
|
||||
+//---------[ Module Functions ]-----------------
|
||||
+
|
||||
+
|
||||
+static int __init init_mtx1_watchdog(void)
|
||||
+{
|
||||
+ printk("MTX-1 watchdog driver\n");
|
||||
+
|
||||
+ misc_register(&mtx1wd_miscdev);
|
||||
+
|
||||
+ restart_after_close = 0;
|
||||
+
|
||||
+ mtx1_enable_wd ();
|
||||
+
|
||||
+ //-- trigger it for the first time.
|
||||
+ //-- We do not exactly know how long it has not been triggered.
|
||||
+ mtx1_trigger_wd ();
|
||||
+
|
||||
+ // start a timer, that calls mtx1_trigger_wd every 5 seconds.
|
||||
+ start_wd_timer();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void __exit exit_mtx1_watchdog(void) {
|
||||
+
|
||||
+ // stop the timer, if it is running.
|
||||
+ stop_wd_timer();
|
||||
+
|
||||
+ misc_deregister(&mtx1wd_miscdev);
|
||||
+
|
||||
+ mtx1_disable_wd();
|
||||
+}
|
||||
+
|
||||
+module_init(init_mtx1_watchdog);
|
||||
+module_exit(exit_mtx1_watchdog);
|
||||
+
|
||||
+MODULE_AUTHOR("Michael Stickel");
|
||||
+MODULE_DESCRIPTION("Driver for the MTX-1 watchdog");
|
||||
+MODULE_LICENSE("GPL");
|
|
@ -0,0 +1,24 @@
|
|||
diff -urN linux-2.6.16.7/drivers/net/au1000_eth.c linux-2.6.16.7.new/drivers/net/au1000_eth.c
|
||||
--- linux-2.6.16.7/drivers/net/au1000_eth.c 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/drivers/net/au1000_eth.c 2006-04-23 01:42:48.000000000 +0200
|
||||
@@ -12,6 +12,9 @@
|
||||
* Author: MontaVista Software, Inc.
|
||||
* ppopov@mvista.com or source@mvista.com
|
||||
*
|
||||
+ * Bjoern Riemer 2004
|
||||
+ * riemer@fokus.fraunhofer.de or riemer@riemer-nt.de
|
||||
+ * // fixed the link beat detection with ioctls (SIOCGMIIPHY)
|
||||
* ########################################################################
|
||||
*
|
||||
* This program is free software; you can distribute it and/or modify it
|
||||
@@ -1672,6 +1675,10 @@
|
||||
aup->phy_ops->phy_status(dev, aup->phy_addr, &link, &speed);
|
||||
control = MAC_DISABLE_RX_OWN | MAC_RX_ENABLE | MAC_TX_ENABLE;
|
||||
#ifndef CONFIG_CPU_LITTLE_ENDIAN
|
||||
+ /*riemer: fix for startup without cable */
|
||||
+ if (!link)
|
||||
+ dev->flags &= ~IFF_RUNNING;
|
||||
+
|
||||
control |= MAC_BIG_ENDIAN;
|
||||
#endif
|
||||
if (link && (dev->if_port == IF_PORT_100BASEFX)) {
|
|
@ -0,0 +1,241 @@
|
|||
diff -urN linux-2.6.16.7/arch/mips/au1000/mtx-1/irqmap.c linux-2.6.16.7.new/arch/mips/au1000/mtx-1/irqmap.c
|
||||
--- linux-2.6.16.7/arch/mips/au1000/mtx-1/irqmap.c 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/arch/mips/au1000/mtx-1/irqmap.c 2006-04-23 11:54:31.000000000 +0200
|
||||
@@ -64,6 +64,7 @@
|
||||
{ AU1500_GPIO_202, INTC_INT_LOW_LEVEL, 0 },
|
||||
{ AU1500_GPIO_203, INTC_INT_LOW_LEVEL, 0 },
|
||||
{ AU1500_GPIO_205, INTC_INT_LOW_LEVEL, 0 },
|
||||
+ { AU1500_GPIO_207, INTC_INT_RISE_AND_FALL_EDGE, 0 },
|
||||
};
|
||||
|
||||
int au1xxx_nr_irqs = sizeof(au1xxx_irq_map)/sizeof(au1xxx_irq_map_t);
|
||||
diff -urN linux-2.6.16.7/arch/mips/au1000/mtx-1/Makefile linux-2.6.16.7.new/arch/mips/au1000/mtx-1/Makefile
|
||||
--- linux-2.6.16.7/arch/mips/au1000/mtx-1/Makefile 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/arch/mips/au1000/mtx-1/Makefile 2006-04-23 14:01:36.000000000 +0200
|
||||
@@ -8,3 +8,4 @@
|
||||
#
|
||||
|
||||
lib-y := init.o board_setup.o irqmap.o
|
||||
+obj-y := mtx-1_sysbtn.o
|
||||
diff -urN linux-2.6.16.7/arch/mips/au1000/mtx-1/mtx-1_sysbtn.c linux-2.6.16.7.new/arch/mips/au1000/mtx-1/mtx-1_sysbtn.c
|
||||
--- linux-2.6.16.7/arch/mips/au1000/mtx-1/mtx-1_sysbtn.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.16.7.new/arch/mips/au1000/mtx-1/mtx-1_sysbtn.c 2006-04-23 14:01:17.000000000 +0200
|
||||
@@ -0,0 +1,218 @@
|
||||
+/*
|
||||
+ * Driver for the MTX-1 System Button.
|
||||
+ *
|
||||
+ * (c) Copyright 2005 4G Systems <info@4g-systems.biz>, All Rights Reserved.
|
||||
+ * http://www.4g-systems.biz
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License
|
||||
+ * as published by the Free Software Foundation; either version
|
||||
+ * 2 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * Neither Michael Stickel nor 4G Systeme GmbH admit liability nor provide
|
||||
+ * warranty for any of this software. This material is provided
|
||||
+ * "AS-IS" and at no charge.
|
||||
+ *
|
||||
+ * (c) Copyright 2005 4G Systems <info@4g-systems.biz>
|
||||
+ *
|
||||
+ * Release 0.01.
|
||||
+ *
|
||||
+ * Author: Michael Stickel michael.stickel@4g-systems.biz
|
||||
+ *
|
||||
+ *
|
||||
+ * After the module is loaded there is a device /dev/misc/btn
|
||||
+ * that can be read. It returns one char '1' if the button
|
||||
+ * has been pressed an '0' if it has been released.
|
||||
+ */
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/errno.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/poll.h>
|
||||
+#include <linux/sched.h>
|
||||
+#include <linux/miscdevice.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/irq.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+
|
||||
+#include <asm/uaccess.h>
|
||||
+
|
||||
+#include <asm/mach-au1x00/au1000.h>
|
||||
+
|
||||
+
|
||||
+#ifndef FALSE
|
||||
+# define FALSE (0)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef TRUE
|
||||
+# define TRUE (!FALSE)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+//---------[ declarations ]-----------------
|
||||
+
|
||||
+
|
||||
+static DECLARE_WAIT_QUEUE_HEAD(mtx1btn_wait_queue);
|
||||
+static char state_changed;
|
||||
+static char last_value;
|
||||
+static char is_inuse;
|
||||
+
|
||||
+
|
||||
+//---------[ Hardware Functions ]-----------------
|
||||
+
|
||||
+// The MTX-1 Button is attached to GPIO207.
|
||||
+#define MTX1_GPIO2_SYSBTN (7)
|
||||
+#define MTX1_SYSBTN_IRQ (AU1500_GPIO_207)
|
||||
+
|
||||
+
|
||||
+static char mtx1_getbtn (int btnno)
|
||||
+{
|
||||
+ if (btnno==0) {
|
||||
+ return (au_readl(GPIO2_PINSTATE) & (1<<MTX1_GPIO2_SYSBTN)) ? 0 : 1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void mtx1_initbuttons (void)
|
||||
+{
|
||||
+ au_writel (au_readl(GPIO2_DIR) & ~(1<<MTX1_GPIO2_SYSBTN), GPIO2_DIR);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+//---------[ Interrupt handling ]-----------------
|
||||
+
|
||||
+
|
||||
+static void mtx1_btn_interrupt (int irq, void *private, struct pt_regs *regs)
|
||||
+{
|
||||
+ char value = mtx1_getbtn(0);
|
||||
+ if (last_value != value)
|
||||
+ {
|
||||
+ last_value = value;
|
||||
+ state_changed = 1;
|
||||
+ wake_up (&mtx1btn_wait_queue);
|
||||
+ }
|
||||
+// kill_fasync(&async_queue, SIGIO, POLL_OUT);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static int mtx1_btn_startirq (void)
|
||||
+{
|
||||
+ if (!request_irq (MTX1_SYSBTN_IRQ, mtx1_btn_interrupt, 0 /* | SA_INTERRUPT */, "mtx1btn", (void *)&state_changed)) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+static int mtx1_btn_stopirq (void)
|
||||
+{
|
||||
+ free_irq(MTX1_SYSBTN_IRQ, (void *)&state_changed);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+//---------[ File Functions ]-----------------
|
||||
+
|
||||
+
|
||||
+static int mtx1sysbtn_minor = -1;
|
||||
+
|
||||
+
|
||||
+static int mtx1sysbtn_open (struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ if (MINOR(inode->i_rdev)!=mtx1sysbtn_minor) return -ENODEV;
|
||||
+ if (is_inuse) return -EBUSY;
|
||||
+ is_inuse=1;
|
||||
+ last_value = mtx1_getbtn(0);
|
||||
+ state_changed = 0;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static int mtx1sysbtn_release (struct inode *inode, struct file *file) {
|
||||
+ if (MINOR(inode->i_rdev)==mtx1sysbtn_minor) {
|
||||
+ is_inuse=0;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static ssize_t mtx1sysbtn_read (struct file *file, char *buf, size_t count, loff_t *ppos)
|
||||
+{
|
||||
+ if (count < 1)
|
||||
+ return -EINVAL;
|
||||
+ if (!state_changed)
|
||||
+ interruptible_sleep_on (&mtx1btn_wait_queue);
|
||||
+ state_changed = 0;
|
||||
+ char c = last_value ? '1' : '0'; /* mtx1_getbtn(0) */
|
||||
+ if(copy_to_user(buf, &c, 1))
|
||||
+ return -EFAULT;
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static unsigned int mtx1sysbtn_poll (struct file *file, poll_table * wait)
|
||||
+{
|
||||
+ unsigned int mask = 0;
|
||||
+
|
||||
+ poll_wait (file, &mtx1btn_wait_queue, wait);
|
||||
+
|
||||
+ if (state_changed) // state changed since last time.
|
||||
+ mask |= POLLIN | POLLRDNORM;
|
||||
+
|
||||
+ return mask;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static struct file_operations mtx1sysbtn_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .read = mtx1sysbtn_read,
|
||||
+ .poll = mtx1sysbtn_poll,
|
||||
+ .open = mtx1sysbtn_open,
|
||||
+ .release = mtx1sysbtn_release
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static struct miscdevice mtx1sysbtn_miscdev = {
|
||||
+ MISC_DYNAMIC_MINOR /* SYSBTN_MINOR */ ,
|
||||
+ "btn",
|
||||
+ &mtx1sysbtn_fops
|
||||
+};
|
||||
+
|
||||
+
|
||||
+
|
||||
+//---------[ Module Functions ]-----------------
|
||||
+
|
||||
+
|
||||
+void __exit exit_mtx1_sysbtn (void)
|
||||
+{
|
||||
+ is_inuse = 1;
|
||||
+ mtx1_btn_stopirq ();
|
||||
+ misc_deregister(&mtx1sysbtn_miscdev);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static int __init init_mtx1_sysbtn (void)
|
||||
+{
|
||||
+ printk("MTX-1 System Button driver\n");
|
||||
+ is_inuse = 1;
|
||||
+ mtx1_initbuttons ();
|
||||
+ if (misc_register (&mtx1sysbtn_miscdev) >= 0) {
|
||||
+ mtx1sysbtn_minor = mtx1sysbtn_miscdev.minor;
|
||||
+ if (mtx1_btn_startirq () == 0) {
|
||||
+ is_inuse=0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ misc_deregister(&mtx1sysbtn_miscdev);
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+module_init(init_mtx1_sysbtn);
|
||||
+module_exit(exit_mtx1_sysbtn);
|
||||
+
|
||||
+MODULE_AUTHOR("Michael Stickel");
|
||||
+MODULE_DESCRIPTION("Driver for the MTX-1 system button");
|
||||
+MODULE_LICENSE("GPL");
|
|
@ -0,0 +1,13 @@
|
|||
--- linux-2.6.16.7/arch/mips/au1000/mtx-1/board_setup.c 2006-04-17 23:53:25.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/arch/mips/au1000/mtx-1/board_setup.c 2006-04-23 14:35:42.000000000 +0200
|
||||
@@ -71,9 +71,7 @@
|
||||
#endif
|
||||
|
||||
// initialize sys_pinfunc:
|
||||
- // disable second ethernet port (SYS_PF_NI2)
|
||||
- // set U3/GPIO23 to GPIO23 (SYS_PF_U3)
|
||||
- au_writel( SYS_PF_NI2 | SYS_PF_U3, SYS_PINFUNC );
|
||||
+ au_writel( SYS_PF_NI2, SYS_PINFUNC );
|
||||
|
||||
// initialize GPIO
|
||||
au_writel( 0xFFFFFFFF, SYS_TRIOUTCLR );
|
|
@ -0,0 +1,63 @@
|
|||
diff -urN linux-2.6.16.7/arch/mips/au1000/mtx-1/board_setup.c linux-2.6.16.7.new/arch/mips/au1000/mtx-1/board_setup.c
|
||||
--- linux-2.6.16.7/arch/mips/au1000/mtx-1/board_setup.c 2006-04-23 14:39:21.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/arch/mips/au1000/mtx-1/board_setup.c 2006-04-23 14:39:03.000000000 +0200
|
||||
@@ -44,6 +44,9 @@
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
|
||||
+extern int (*board_pci_idsel)(unsigned int devsel, int assert);
|
||||
+int mtx1_pci_idsel(unsigned int devsel, int assert);
|
||||
+
|
||||
void board_reset (void)
|
||||
{
|
||||
/* Hit BCSR.SYSTEM_CONTROL[SW_RST] */
|
||||
@@ -77,11 +80,37 @@
|
||||
au_writel( 0xFFFFFFFF, SYS_TRIOUTCLR );
|
||||
au_writel( 0x00000001, SYS_OUTPUTCLR ); // set M66EN (PCI 66MHz) to OFF
|
||||
au_writel( 0x00000008, SYS_OUTPUTSET ); // set PCI CLKRUN# to OFF
|
||||
+ au_writel( 0x00000002, SYS_OUTPUTSET ); // set EXT_IO3 ON
|
||||
au_writel( 0x00000020, SYS_OUTPUTCLR ); // set eth PHY TX_ER to OFF
|
||||
|
||||
// enable LED and set it to green
|
||||
au_writel( au_readl(GPIO2_DIR) | 0x1800, GPIO2_DIR );
|
||||
au_writel( 0x18000800, GPIO2_OUTPUT );
|
||||
|
||||
+ board_pci_idsel = mtx1_pci_idsel;
|
||||
+
|
||||
printk("4G Systems MTX-1 Board\n");
|
||||
}
|
||||
+
|
||||
+int
|
||||
+mtx1_pci_idsel(unsigned int devsel, int assert)
|
||||
+{
|
||||
+#define MTX_IDSEL_ONLY_0_AND_3 0
|
||||
+#if MTX_IDSEL_ONLY_0_AND_3
|
||||
+ if (devsel != 0 && devsel != 3) {
|
||||
+ printk("*** not 0 or 3\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ if (assert && devsel != 0) {
|
||||
+ // supress signal to cardbus
|
||||
+ au_writel( 0x00000002, SYS_OUTPUTCLR ); // set EXT_IO3 OFF
|
||||
+ }
|
||||
+ else {
|
||||
+ au_writel( 0x00000002, SYS_OUTPUTSET ); // set EXT_IO3 ON
|
||||
+ }
|
||||
+ au_sync_udelay(1);
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
diff -urN linux-2.6.16.7/arch/mips/au1000/mtx-1/irqmap.c linux-2.6.16.7.new/arch/mips/au1000/mtx-1/irqmap.c
|
||||
--- linux-2.6.16.7/arch/mips/au1000/mtx-1/irqmap.c 2006-04-23 14:40:54.000000000 +0200
|
||||
+++ linux-2.6.16.7.new/arch/mips/au1000/mtx-1/irqmap.c 2006-04-23 14:40:12.000000000 +0200
|
||||
@@ -48,7 +48,7 @@
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
|
||||
char irq_tab_alchemy[][5] __initdata = {
|
||||
- [0] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 00 - AdapterA-Slot0 (top) */
|
||||
+ [0] = { -1, INTA, INTA, INTX, INTX}, /* IDSEL 00 - AdapterA-Slot0 (top) */
|
||||
[1] = { -1, INTB, INTA, INTX, INTX}, /* IDSEL 01 - AdapterA-Slot1 (bottom) */
|
||||
[2] = { -1, INTC, INTD, INTX, INTX}, /* IDSEL 02 - AdapterB-Slot0 (top) */
|
||||
[3] = { -1, INTD, INTC, INTX, INTX}, /* IDSEL 03 - AdapterB-Slot1 (bottom) */
|
|
@ -0,0 +1,15 @@
|
|||
diff -Nur linux-cvs/arch/mips/kernel/head.S linux-aruba/arch/mips/kernel/head.S
|
||||
--- linux-cvs/arch/mips/kernel/head.S 2004-12-23 00:21:39.000000000 -0800
|
||||
+++ linux-aruba/arch/mips/kernel/head.S 2005-10-20 09:16:08.000000000 -0700
|
||||
@@ -122,6 +122,10 @@
|
||||
#endif
|
||||
.endm
|
||||
|
||||
+
|
||||
+ j kernel_entry
|
||||
+ nop
|
||||
+
|
||||
/*
|
||||
* Reserved space for exception handlers.
|
||||
* Necessary for machines which link their kernels at KSEG0.
|
||||
|
|
@ -6,13 +6,3 @@ config PACKAGE_KMOD_BRCM_WL
|
|||
help
|
||||
Proprietary driver for Broadcom Wireless chipsets
|
||||
|
||||
config PACKAGE_KMOD_BRCM_WL2
|
||||
prompt "kmod-brcm-wl2..................... Broadcom Wireless Network Driver (new)"
|
||||
tristate
|
||||
depends LINUX_2_4_BRCM
|
||||
default m
|
||||
help
|
||||
Proprietary driver for Broadcom Wireless chipsets
|
||||
New version with Multi-BSS capability
|
||||
|
||||
|
||||
|
|
|
@ -12,10 +12,6 @@ $(eval $(call KMOD_template,BRCM_WL,brcm-wl,\
|
|||
$(MODULES_DIR)/kernel/drivers/net/wl/wl.o \
|
||||
,CONFIG_WL,,20,wl))
|
||||
|
||||
$(eval $(call KMOD_template,BRCM_WL2,brcm-wl2,\
|
||||
$(MODULES_DIR)/kernel/drivers/net/wl2/wl.o \
|
||||
,CONFIG_WL,,20,wl))
|
||||
|
||||
$(eval $(call KMOD_template,LP,lp,\
|
||||
$(MODULES_DIR)/kernel/drivers/parport/parport.o \
|
||||
$(MODULES_DIR)/kernel/drivers/parport/parport_splink.o \
|
||||
|
@ -38,10 +34,10 @@ $(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
|
|||
# Proprietary driver for BCM43xx
|
||||
###############################################
|
||||
|
||||
LINUX_BINARY_DRIVER_SITE=http://openwrt.org/downloads/sources
|
||||
LINUX_BINARY_DRIVER_SITE=http://downloads.openwrt.org/sources
|
||||
# proprietary driver, extracted from Linksys GPL sourcetree WRT54GS 4.70.6
|
||||
LINUX_BINARY_WL_DRIVER=kernel-binary-wl-0.6.tar.gz
|
||||
LINUX_BINARY_WL_MD5SUM=4fc1d5b46bcb7a17d6d5dd31da9c8d7f
|
||||
LINUX_BINARY_WL_DRIVER=kernel-binary-wl-0.7.tar.gz
|
||||
LINUX_BINARY_WL_MD5SUM=ff50130914790cbae9b73a13513da5ee
|
||||
|
||||
$(DL_DIR)/$(LINUX_BINARY_WL_DRIVER):
|
||||
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_BINARY_WL_DRIVER) $(LINUX_BINARY_WL_MD5SUM) $(LINUX_BINARY_DRIVER_SITE)
|
||||
|
@ -56,18 +52,15 @@ $(LINUX_DIR)/.drivers-unpacked: $(LINUX_DIR)/.unpacked
|
|||
zcat $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
# copy binary wlan driver
|
||||
mkdir -p $(LINUX_DIR)/drivers/net/wl
|
||||
$(CP) $(BUILD_DIR)/kernel-binary-wl/old/*.o $(LINUX_DIR)/drivers/net/wl
|
||||
$(CP) $(BUILD_DIR)/kernel-binary-wl/new/*.o $(LINUX_DIR)/drivers/net/wl2
|
||||
$(CP) $(BUILD_DIR)/kernel-binary-wl/*.o $(LINUX_DIR)/drivers/net/wl
|
||||
touch $@
|
||||
|
||||
$(LINUX_DIR)/.drivers-installed: $(LINUX_DIR)/.modules_done
|
||||
mkdir -p $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl
|
||||
mkdir -p $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl2
|
||||
@-[ -f $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl/wl.o ] || $(CP) $(LINUX_DIR)/drivers/net/wl/wl.o $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl/
|
||||
@-[ -f $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl2/wl.o ] || $(CP) $(LINUX_DIR)/drivers/net/wl2/wl.o $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl2/
|
||||
touch $@
|
||||
|
||||
linux-dirclean: drivers-clean
|
||||
|
||||
drivers-clean:
|
||||
rm -rf $(BUILD_DIR)/wl
|
||||
rm -rf $(BUILD_DIR)/kernel-binary-wl
|
||||
|
|
|
@ -833,7 +833,6 @@ CONFIG_NET_RADIO=y
|
|||
# CONFIG_AIRO is not set
|
||||
# CONFIG_HERMES is not set
|
||||
CONFIG_WL=m
|
||||
CONFIG_WL2=m
|
||||
# CONFIG_PLX_HERMES is not set
|
||||
# CONFIG_TMD_HERMES is not set
|
||||
# CONFIG_PCI_HERMES is not set
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,119 @@
|
|||
diff -urN linux.old/arch/mips/bcm947xx/pcibios.c linux.dev/arch/mips/bcm947xx/pcibios.c
|
||||
--- linux.old/arch/mips/bcm947xx/pcibios.c 2006-04-07 21:20:59.000000000 +0200
|
||||
+++ linux.dev/arch/mips/bcm947xx/pcibios.c 2006-04-08 03:17:59.000000000 +0200
|
||||
@@ -157,6 +157,7 @@
|
||||
|
||||
static u32 pci_iobase = 0x100;
|
||||
static u32 pci_membase = SB_PCI_DMA;
|
||||
+static u32 pcmcia_membase = 0x40004000;
|
||||
|
||||
void __init
|
||||
pcibios_fixup_bus(struct pci_bus *b)
|
||||
@@ -188,7 +189,7 @@
|
||||
/* Fix up resource bases */
|
||||
for (pos = 0; pos < 6; pos++) {
|
||||
res = &d->resource[pos];
|
||||
- base = (res->flags & IORESOURCE_IO) ? &pci_iobase : &pci_membase;
|
||||
+ base = (res->flags & IORESOURCE_IO) ? &pci_iobase : ((b->number == 2) ? &pcmcia_membase : &pci_membase);
|
||||
if (res->end) {
|
||||
size = res->end - res->start + 1;
|
||||
if (*base & (size - 1))
|
||||
@@ -308,7 +309,12 @@
|
||||
where = PCI_BASE_ADDRESS_0 + (resource * 4);
|
||||
size = res->end - res->start;
|
||||
pci_read_config_dword(dev, where, ®);
|
||||
- reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
|
||||
+
|
||||
+ if (dev->bus->number == 1)
|
||||
+ reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
|
||||
+ else
|
||||
+ reg = res->start;
|
||||
+
|
||||
pci_write_config_dword(dev, where, reg);
|
||||
}
|
||||
|
||||
diff -urN linux.old/drivers/pcmcia/yenta.c linux.dev/drivers/pcmcia/yenta.c
|
||||
--- linux.old/drivers/pcmcia/yenta.c 2004-11-17 12:54:21.000000000 +0100
|
||||
+++ linux.dev/drivers/pcmcia/yenta.c 2006-04-11 17:47:45.000000000 +0200
|
||||
@@ -543,6 +543,9 @@
|
||||
* Probe for usable interrupts using the force
|
||||
* register to generate bogus card status events.
|
||||
*/
|
||||
+
|
||||
+#ifndef CONFIG_BCM947XX
|
||||
+ /* WRT54G3G does not like this */
|
||||
cb_writel(socket, CB_SOCKET_EVENT, -1);
|
||||
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
|
||||
exca_writeb(socket, I365_CSCINT, 0);
|
||||
@@ -557,7 +560,8 @@
|
||||
}
|
||||
cb_writel(socket, CB_SOCKET_MASK, 0);
|
||||
exca_writeb(socket, I365_CSCINT, 0);
|
||||
-
|
||||
+#endif
|
||||
+
|
||||
mask = probe_irq_mask(val) & 0xffff;
|
||||
|
||||
bridge_ctrl &= ~CB_BRIDGE_INTR;
|
||||
@@ -578,6 +582,12 @@
|
||||
socket->cap.cb_dev = socket->dev;
|
||||
socket->cap.bus = NULL;
|
||||
|
||||
+#ifdef CONFIG_BCM947XX
|
||||
+ /* irq mask probing is broken for the WRT54G3G */
|
||||
+ if (socket->cap.irq_mask == 0)
|
||||
+ socket->cap.irq_mask = 0x6f8;
|
||||
+#endif
|
||||
+
|
||||
printk(KERN_INFO "Yenta ISA IRQ mask 0x%04x, PCI irq %d\n",
|
||||
socket->cap.irq_mask, socket->cb_irq);
|
||||
}
|
||||
@@ -609,6 +619,15 @@
|
||||
printk(KERN_INFO "Socket status: %08x\n",
|
||||
cb_readl(socket, CB_SOCKET_STATE));
|
||||
|
||||
+ /* Generate an interrupt on card insert/remove */
|
||||
+ config_writew(socket, CB_SOCKET_MASK, CB_CSTSMASK | CB_CDMASK);
|
||||
+
|
||||
+ /* Set up Multifunction Routing Status Register */
|
||||
+ config_writew(socket, 0x8C, 0x1000 /* MFUNC3 to GPIO3 */ | 0x2 /* MFUNC0 to INTA */);
|
||||
+
|
||||
+ /* Switch interrupts to parallelized */
|
||||
+ config_writeb(socket, 0x92, 0x64);
|
||||
+
|
||||
/* Register it with the pcmcia layer.. */
|
||||
cardbus_register(socket);
|
||||
|
||||
@@ -731,7 +750,7 @@
|
||||
{
|
||||
struct pci_bus *bus;
|
||||
struct resource *root, *res;
|
||||
- u32 start, end;
|
||||
+ u32 start = 0, end = 0;
|
||||
u32 align, size, min, max;
|
||||
unsigned offset;
|
||||
unsigned mask;
|
||||
@@ -750,6 +769,15 @@
|
||||
res->end = 0;
|
||||
root = pci_find_parent_resource(socket->dev, res);
|
||||
|
||||
+#ifdef CONFIG_BCM947XX
|
||||
+ /* default mem resources are completely fscked up on the wrt54g3g */
|
||||
+ /* bypass the entire resource allocation stuff below and just set it statically */
|
||||
+ if (type & IORESOURCE_MEM) {
|
||||
+ res->start = 0x40004000;
|
||||
+ res->end = res->start + 0x3fff;
|
||||
+ }
|
||||
+
|
||||
+#else
|
||||
if (!root)
|
||||
return;
|
||||
|
||||
@@ -794,6 +822,7 @@
|
||||
res->start = res->end = 0;
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
|
||||
config_writel(socket, offset, res->start);
|
||||
config_writel(socket, offset+4, res->end);
|
|
@ -1,8 +1,8 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LINUX_VERSION:=2.6.16.4
|
||||
LINUX_VERSION:=2.6.16.7
|
||||
LINUX_RELEASE:=1
|
||||
LINUX_KERNEL_MD5SUM:=cb675279c9711237a06ebb8379a4da27
|
||||
LINUX_KERNEL_MD5SUM:=9682b2bd6e02f3087982d7c3f5ba824e
|
||||
|
||||
include ../rules.mk
|
||||
include ./config
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kernel
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Virtual package for the Kernel
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-arptables
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: ARP firewalling kernel modules
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-atm
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: ATM/ADSL support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-ax25
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Michael Conrad <openwrt@friggleware.net>
|
||||
Source: buildroot internal
|
||||
Description: Kernel AX25 driver
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-bluetooth
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Markus Becker <mab@comnets.uni-bremen.de>
|
||||
Source: http://bluez.org
|
||||
Description: Bluetooth support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-brcm-et
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Proprietary driver for Broadcom Ethernet chipsets
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-brcm-wl
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Proprietary driver for Broadcom Wireless chipsets
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Package: kmod-brcm-wl2
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Proprietary driver for Broadcom Wireless chipsets
|
||||
New version with multi-BSS support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-cpmac
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: AR7 CPMAC ethernet driver
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-crypto
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: CryptoAPI kernel modules
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-ebtables
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Ethernet bridge firewalling kernel modules
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-gre
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel GRE tunneling support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-ide
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules IDE support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-ip6tables
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for ip6tables
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
Package: kmod-ipip
|
||||
Section: sys
|
||||
Priority: optional
|
||||
Description: IP in IP encapsulation support
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-iptables-extra
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Extra kernel modules for iptables
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-iptables
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: OpenWrt Development Team <bugs@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: kernel modules for iptables
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-ipv6
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for the IPv6 protocol
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-loop
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@dass-it.de>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for mount loopback support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-lp
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@dass-it.de>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for parallel port support and line printer
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-mppe
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Microsoft PPP Encryption/Compression support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nbd
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@dass-it.de>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for network block device
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nls-base
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for basic native language support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nls-cp437
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for codepage 437
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nls-cp850
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for codepage 850
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nls-iso8859-1
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for iso8859-1 charset support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nls-iso8859-15
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for iso8859-15 charset support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-nls-utf8
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel module for utf8 support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-ppp
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: PPP support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-pppoatm
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: PPP over ATM support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-pppoe
|
||||
Priority: optional
|
||||
Section: net
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: PPP over Ethernet support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-pwc
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Nicolas Thill <nico@openwrt.org>
|
||||
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/target/linux/linux-2.4/
|
||||
Description: Kernel driver for USB Philips Cameras
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-sangam-atm-annex-a
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: AR7 Sangam ATM/ADSL driver (Annex A version)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-sangam-atm-annex-b
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: AR7 Sangam ATM/ADSL driver (Annex B version)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-sched
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel schedulers for IP traffic
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-softdog
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel software watchdog driver
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-soundcore
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>, David Collett <daveco@users.sourceforge.net>
|
||||
Source: buildroot internal
|
||||
Description: Kernel support for audio soundcards
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-tun
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel TUN/TAP extension
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-acm
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Waldemar Brodkorb <wbx@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for USB modems and ISDN
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-atm-speedtouch
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Jonathan McDowell <noodles@earth.li>
|
||||
Source: buildroot internal
|
||||
Description: Kernel driver for USB Speedtouch ADSL modem
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Package: kmod-usb-audio
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: David Collett <daveco@users.sourceforge.net>
|
||||
Source: buildroot internal
|
||||
Depends: kmod-soundcore
|
||||
Description: Kernel Support for USB Soundcards
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-core
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for USB
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-ohci
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel driver for OHCI USB controllers
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-printer
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for USB Printer support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-serial-belkin
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for Belkin USB-to-Serial converters
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-serial-ftdi
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for FTDI USB-to-Serial converters
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-serial-mct-u232
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for Magic Control Technology USB-to-Serial converters
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-serial-pl2303
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for Prolific PL2303 USB-to-Serial converters
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
Package: kmod-usb-serial-visor
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for Handspring Visor / Palm m50x / Sony Clie
|
||||
Driver
|
||||
Description: Kernel Support for Handspring Visor / Palm m50x / Sony Clie Driver
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-serial
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
|
||||
Source: buildroot internal
|
||||
Description: Kernel Support for USB-to-Serial converters
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-storage
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel modules for USB storage support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb-uhci
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel driver for UHCI USB controllers
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-usb2
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: Kernel driver for USB2 controllers
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-videodev
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: Nicolas Thill <nico@openwrt.org>
|
||||
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/target/linux/linux-2.4/
|
||||
Description: Video For Linux kernel support
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
Package: kmod-wd1100
|
||||
Priority: optional
|
||||
Section: sys
|
||||
Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
|
||||
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/target/linux/
|
||||
Description: NatSemi SC1x00 series Watchdog kernel support
|
||||
|
|
|
@ -12,9 +12,12 @@ $(eval $(call KMOD_template,GRE,gre,\
|
|||
,CONFIG_NET_IPGRE))
|
||||
|
||||
$(eval $(call KMOD_template,IMQ,imq,\
|
||||
$(MODULES_DIR)/kernel/net/*/netfilter/*IMQ*.o \
|
||||
$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.o \
|
||||
$(MODULES_DIR)/kernel/drivers/net/imq.o \
|
||||
))
|
||||
$(eval $(call KMOD_template,IPIP,ipip,\
|
||||
$(MODULES_DIR)/kernel/net/ipv4/ipip.o \
|
||||
,CONFIG_NET_IPIP,,60,ipip))
|
||||
|
||||
$(eval $(call KMOD_template,IPV6,ipv6,\
|
||||
$(MODULES_DIR)/kernel/net/ipv6/ipv6.o \
|
||||
|
@ -39,12 +42,9 @@ $(eval $(call KMOD_template,PPPOE,pppoe,\
|
|||
$(MODULES_DIR)/kernel/drivers/net/pppoe.o \
|
||||
,CONFIG_PPPOE))
|
||||
|
||||
ifneq ($(wildcard $(MODULES_DIR)/kernel/net/sched/*.o),)
|
||||
CONFIG_SCHED:=m
|
||||
endif
|
||||
$(eval $(call KMOD_template,SCHED,sched,\
|
||||
$(MODULES_DIR)/kernel/net/sched/*.o \
|
||||
,CONFIG_SCHED))
|
||||
))
|
||||
|
||||
$(eval $(call KMOD_template,TUN,tun,\
|
||||
$(MODULES_DIR)/kernel/drivers/net/tun.o \
|
||||
|
|
|
@ -14,10 +14,14 @@ $(eval $(call KMOD_template,GRE,gre,\
|
|||
,CONFIG_NET_IPGRE))
|
||||
|
||||
$(eval $(call KMOD_template,IMQ,imq,\
|
||||
$(MODULES_DIR)/kernel/net/*/netfilter/*IMQ*.ko \
|
||||
$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.ko \
|
||||
$(MODULES_DIR)/kernel/drivers/net/imq.ko \
|
||||
))
|
||||
|
||||
$(eval $(call KMOD_template,IPIP,ipip,\
|
||||
$(MODULES_DIR)/kernel/net/ipv4/ipip.ko \
|
||||
,CONFIG_NET_IPIP,,60,ipip))
|
||||
|
||||
$(eval $(call KMOD_template,IPV6,ipv6,\
|
||||
$(MODULES_DIR)/kernel/net/ipv6/ipv6.ko \
|
||||
,CONFIG_IPV6,,20,ipv6))
|
||||
|
|
|
@ -179,7 +179,19 @@ diff -Nur linux-2.6.15.1/lib/Makefile linux-2.6.15.1-openwrt/lib/Makefile
|
|||
sha1.o
|
||||
|
||||
lib-y += kobject.o kref.o kobject_uevent.o klist.o
|
||||
+lib-y += ashldi3.o ashrdi3.o lshrdi3.o
|
||||
+obj-y += ashldi3.o ashrdi3.o lshrdi3.o
|
||||
|
||||
obj-y += sort.o parser.o halfmd4.o
|
||||
|
||||
diff -Nur linux-2.6.15.1/include/asm-arm/libgcc.h linux-2.6.15.1-openwrt/include/asm-arm/libgcc.h
|
||||
--- linux-2.6.15.1/include/asm-arm/libgcc.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.15.1-openwrt/include/asm-arm/libgcc.h 2006-04-12 23:01:18.000000000 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+#ifndef __ASM_LIBGCC_H
|
||||
+#define __ASM_LIBGCC_H
|
||||
+
|
||||
+#undef ARCH_NEEDS_ashldi3
|
||||
+#undef ARCH_NEEDS_ashrdi3
|
||||
+#undef ARCH_NEEDS_lshrdi3
|
||||
+
|
||||
+#endif /* __ASM_LIBGCC_H */
|
||||
|
|
|
@ -1,18 +1,43 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LOADADDR = 0x8108c8f4 # RAM start + 16M
|
||||
KERNEL_ENTRY = 0x80100000 # Default kernel entry in arch/mips/Makefile
|
||||
RAMSIZE = 0x04000000 # 64MB
|
||||
|
||||
LOADER_MAKEOPTS= \
|
||||
KDIR=$(KDIR) \
|
||||
LOADADDR=$(LOADADDR) \
|
||||
KERNEL_ENTRY=$(KERNEL_ENTRY) \
|
||||
RAMSIZE=$(RAMSIZE)
|
||||
|
||||
KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
|
||||
|
||||
lzma-loader-clean:
|
||||
$(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) clean
|
||||
|
||||
lzma-loader-prepare:
|
||||
$(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) prepare
|
||||
|
||||
lzma-loader-compile: $(KDIR)/vmlinux.lzma lzma-loader-prepare
|
||||
$(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) compile
|
||||
|
||||
ifeq ($(IB),)
|
||||
$(KDIR)/vmlinux.lzma: $(KDIR)/vmlinux
|
||||
cat $^ | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $@ || (rm -f $@ && false)
|
||||
|
||||
install: $(KDIR)/vmlinux.lzma
|
||||
endif
|
||||
|
||||
ifeq ($(FS),jffs2-8MB)
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img: $(KDIR)/root.$(FS)
|
||||
$(CP) $^ $@
|
||||
|
||||
install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FSNAME).bin: $(KDIR)/root.$(FS)
|
||||
$(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma 0xbe000000 $(KDIR)/root.$(FS) $(KDIR)/root.srec
|
||||
grep -v S7 $(KDIR)/root.srec > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
|
||||
grep -v S0 $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec >> $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
|
||||
|
||||
install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FSNAME).bin
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(FS),tgz)
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz: $(KDIR)/root.tar.gz
|
||||
|
@ -22,15 +47,30 @@ install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz
|
|||
|
||||
endif
|
||||
|
||||
ifeq ($(FS),squashfs)
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FSNAME).bin: $(KDIR)/root.$(FS)
|
||||
$(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma 0xbe000000 $(KDIR)/root.$(FS) $(KDIR)/root.srec
|
||||
grep -v S7 $(KDIR)/root.srec > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
|
||||
grep -v S0 $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec >> $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz: $(KDIR)/vmlinux
|
||||
endif
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz: $(KDIR)/zImage.flash
|
||||
$(CP) $^ $@
|
||||
|
||||
|
||||
ifeq ($(IB),)
|
||||
clean: lzma-loader-clean
|
||||
prepare: lzma-loader-prepare
|
||||
compile: lzma-loader-compile
|
||||
else
|
||||
clean:
|
||||
prepare:
|
||||
compile:
|
||||
install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz
|
||||
endif
|
||||
install-ib:
|
||||
mkdir -p $(IB_DIR)/staging_dir_$(ARCH)/bin
|
||||
mkdir -p $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)
|
||||
$(CP) $(KDIR)/bzImage $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/
|
||||
$(CP) $(KDIR)/loader.elf $(IB_DIR)/build_$(ARCH)/
|
||||
$(CP) $(KDIR)/vmlinux.lzma $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/
|
||||
$(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma 0xbe000000 $(KDIR)/loader.elf $(KDIR)/loader.srec
|
||||
grep -v S0 $(KDIR)/loader.srec > $(KDIR)/kernel.srec
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
ifneq ($(CONFIG_mips),y)
|
||||
ifneq ($(CONFIG_BIG_ENDIAN),y)
|
||||
JFFS2OPTS := --pad --little-endian --squash
|
||||
else
|
||||
JFFS2OPTS := --pad --big-endian --squash
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
ifneq ($(CONFIG_BIG_ENDIAN),y)
|
||||
endian := le
|
||||
|
||||
ifeq ($(ARCH),mips)
|
||||
endian := be
|
||||
else
|
||||
endian := be
|
||||
endif
|
||||
|
||||
squashfs-prepare:
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
|
||||
|
||||
|
||||
ifeq ($(FS),jffs2-8MB)
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img: $(KDIR)/root.$(FS)
|
||||
$(CP) $^ $@
|
||||
|
||||
install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
|
||||
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(FS),tgz)
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz: $(KDIR)/root.tar.gz
|
||||
$(CP) $^ $@
|
||||
|
||||
install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz
|
||||
|
||||
endif
|
||||
|
||||
|
||||
$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz: $(KDIR)/vmlinux
|
||||
$(CP) $^ $@
|
||||
|
||||
|
||||
clean:
|
||||
prepare:
|
||||
compile:
|
||||
install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz
|
||||
install-ib:
|
||||
mkdir -p $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)
|
||||
$(CP) $(KDIR)/bzImage $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/
|
|
@ -103,8 +103,10 @@ mostlyclean:
|
|||
|
||||
rebuild:
|
||||
-$(MAKE) mostlyclean
|
||||
@[ -f $(LINUX_KERNEL) ] && $(MAKE) clean
|
||||
$(MAKE) compile
|
||||
if [ -f $(LINUX_KERNEL) ]; then \
|
||||
$(MAKE) clean; \
|
||||
fi
|
||||
$(MAKE) compile $(MAKE_TRACE)
|
||||
|
||||
clean:
|
||||
rm -f $(STAMP_DIR)/.linux-compile
|
||||
|
|
|
@ -6,8 +6,6 @@ package-y += base-files
|
|||
package-$(CONFIG_PACKAGE_KMOD_ALSA) += alsa
|
||||
package-$(CONFIG_PACKAGE_KMOD_FUSE) += fuse
|
||||
package-$(CONFIG_PACKAGE_KMOD_HOSTAP) += hostap
|
||||
package-$(CONFIG_PACKAGE_KMOD_BCM43XX_STANDALONE) += bcm43xx-standalone
|
||||
package-$(CONFIG_PACKAGE_KMOD_IEEE80211_DSCAPE) += ieee80211-dscape
|
||||
package-$(CONFIG_PACKAGE_KMOD_MADWIFI) += madwifi
|
||||
package-$(CONFIG_PACKAGE_KMOD_MADWIFI_OLD) += madwifi-old
|
||||
package-$(CONFIG_PACKAGE_KMOD_MINI_FO) += mini_fo
|
||||
|
@ -20,7 +18,6 @@ package-$(CONFIG_PACKAGE_KMOD_DIAG) += diag
|
|||
package-$(CONFIG_PACKAGE_KMOD_WLCOMPAT) += wlcompat
|
||||
package-$(CONFIG_PACKAGE_KMOD_ZD1211) += zd1211
|
||||
|
||||
bcm43xx-standalone-compile: ieee80211-dscape-compile
|
||||
wlcompat-compile: base-files-compile
|
||||
|
||||
all: compile install
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)
|
||||
mount none /tmp -t tmpfs -o size=$size
|
||||
|
||||
if [ "$1" != "failsafe" ]; then
|
||||
mtd unlock filesystem
|
||||
mount | grep jffs2 >&-
|
||||
if [ $? = 0 ] ; then
|
||||
if [ $(cat /proc/mtd | wc -l) = 6 ]; then
|
||||
mtd erase filesystem
|
||||
jffs2root --move
|
||||
else
|
||||
mount -o remount,rw /dev/root /
|
||||
fi
|
||||
else
|
||||
. /bin/firstboot
|
||||
fi
|
||||
fi
|
||||
|
||||
mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777
|
||||
mkdir -p /dev/pts
|
||||
mount none /dev/pts -t devpts
|
||||
mount -t sysfs none /sys 2>&-
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/sh
|
||||
setup_eth()
|
||||
setup_wl()
|
||||
{
|
||||
[ -f /proc/net/wl0 ] && {
|
||||
lsmod | grep wlcompat >&- || insmod wlcompat
|
||||
|
@ -7,6 +7,9 @@ setup_eth()
|
|||
iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && {
|
||||
/sbin/wifi
|
||||
}
|
||||
}
|
||||
setup_eth()
|
||||
{
|
||||
[ -d /proc/switch ] || {
|
||||
insmod switch-core
|
||||
insmod switch-robo || insmod switch-adm
|
||||
|
@ -30,6 +33,7 @@ do_register()
|
|||
{
|
||||
case "${INTERFACE%%[0-9]*}" in
|
||||
eth) setup_eth;;
|
||||
wl) setup_wl;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
# Network configuration file
|
||||
|
||||
## LAN configuration
|
||||
lan_ifname="br0"
|
||||
lan_ifnames="eth0 ath0"
|
||||
lan_proto="static"
|
||||
lan_ipaddr="192.168.1.1"
|
||||
lan_netmask="255.255.255.0"
|
||||
|
||||
## WAN configuration
|
||||
wan_ifname=""
|
||||
wan_proto="none"
|
|
@ -0,0 +1,3 @@
|
|||
::sysinit:/etc/init.d/rcS
|
||||
duart/0::askfirst:/bin/ash --login
|
||||
#tts/1::askfirst:/bin/ash --login
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/ash
|
||||
mount none /dev -t devfs
|
||||
mount none /proc -t proc
|
||||
mount_root failsafe
|
||||
mount -o remount,rw /dev/root /
|
||||
exec /bin/busybox init
|
|
@ -0,0 +1,5 @@
|
|||
# Network configuration file
|
||||
|
||||
## LAN configuration
|
||||
lan_ifname="eth0"
|
||||
lan_proto="dhcp"
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
mount none /proc -t proc
|
||||
mount_root failsafe
|
||||
mount -o remount,rw /dev/root /
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/ash
|
||||
mount none /dev -t devfs
|
||||
exec /bin/busybox init
|
|
@ -1,12 +0,0 @@
|
|||
config PACKAGE_KMOD_BCM43XX_STANDALONE
|
||||
prompt "kmod-bcm43xx-standalone............... Free Broadcom 43xx wireless driver (devicescape stack)"
|
||||
tristate
|
||||
depends LINUX_2_6_BRCM
|
||||
select PACKAGE_KMOD_IEEE80211_DSCAPE
|
||||
default n
|
||||
help
|
||||
Free driver for the Broadcom 43xx wireless chipset
|
||||
This driver uses the DeviceScape 802.11 stack
|
||||
|
||||
http://bcm43xx.berlios.de
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include ../../rules.mk
|
||||
|
||||
PKG_NAME := bcm43xx-standalone
|
||||
PKG_VERSION := 060313
|
||||
PKG_RELEASE := 1
|
||||
PKG_MD%SUM := 773b26a164a54f0da544764969ca019b
|
||||
|
||||
PKG_SOURCE_URL := ftp://bu3sch.de/bcm43xx-snapshots/standalone/bcm43xx/
|
||||
PKG_SOURCE := $(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_CAT := bzcat
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
FIRMWARE_BLOB := wl_apsta-3.130.20.0.o
|
||||
FIRMWARE_BLOB_URL := http://downloads.openwrt.org/sources
|
||||
FIRMWARE_BLOB_MD5SUM := e08665c5c5b66beb9c3b2dd54aa80cb3
|
||||
|
||||
include $(TOPDIR)/package/rules.mk
|
||||
|
||||
$(eval $(call PKG_template,KMOD_BCM43XX_DSCAPE,kmod-$(PKG_NAME),$(LINUX_VERSION)-$(BOARD)+0.$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH),kernel ($(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))))
|
||||
|
||||
$(PKG_BUILD_DIR)/.configured:
|
||||
touch $@
|
||||
|
||||
$(PKG_BUILD_DIR)/fwcutter/.built:
|
||||
mkdir -p $(PKG_BUILD_DIR)/fwcutter
|
||||
$(CP) ./fwcutter/* $(PKG_BUILD_DIR)/fwcutter/
|
||||
$(SCRIPT_DIR)/download.pl "$(PKG_BUILD_DIR)/fwcutter" "$(FIRMWARE_BLOB)" "$(FIRMWARE_BLOB_MD5SUM)" $(FIRMWARE_BLOB_URL)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/fwcutter
|
||||
$(PKG_BUILD_DIR)/fwcutter/fwcutter -w $(PKG_BUILD_DIR)/fwcutter $(PKG_BUILD_DIR)/fwcutter/$(FIRMWARE_BLOB)
|
||||
touch $@
|
||||
|
||||
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/fwcutter/.built
|
||||
$(MAKE) -C "$(LINUX_DIR)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
PATH="$(TARGET_PATH)" \
|
||||
SUBDIRS="$(PKG_BUILD_DIR)" \
|
||||
LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/ieee80211-dscape -I$(LINUX_DIR)/include -DBCM47XX=1" \
|
||||
modules
|
||||
touch $@
|
||||
|
||||
$(IPKG_KMOD_BCM43XX_DSCAPE):
|
||||
install -m0755 -d $(IDIR_KMOD_BCM43XX_DSCAPE)/lib/modules/$(LINUX_VERSION)
|
||||
install -m0755 -d $(IDIR_KMOD_BCM43XX_DSCAPE)/etc/modules.d
|
||||
( \
|
||||
echo 80211; \
|
||||
echo rate_control; \
|
||||
echo bcm43xx; \
|
||||
) >& $(IDIR_KMOD_BCM43XX_DSCAPE)/etc/modules.d/50-bcm43xx
|
||||
$(CP) $(PKG_BUILD_DIR)/*.ko $(IDIR_KMOD_BCM43XX_DSCAPE)/lib/modules/$(LINUX_VERSION)
|
||||
install -m0755 -d $(IDIR_KMOD_BCM43XX_DSCAPE)/lib/firmware
|
||||
$(CP) $(PKG_BUILD_DIR)/fwcutter/*.fw $(IDIR_KMOD_BCM43XX_DSCAPE)/lib/firmware/
|
||||
$(IPKG_BUILD) $(IDIR_KMOD_BCM43XX_DSCAPE) $(PACKAGE_DIR)
|
|
@ -1,32 +0,0 @@
|
|||
VERSION = 0.0.1
|
||||
|
||||
FIRMWARE_INSTALL_DIR ?= /lib/firmware
|
||||
|
||||
CC = cc
|
||||
PREFIX = /usr/local
|
||||
CFLAGS = -std=c99 -O2 -fomit-frame-pointer -Wall -pedantic -D_BSD_SOURCE
|
||||
LDFLAGS =
|
||||
|
||||
|
||||
OBJECTS = fwcutter.o md5.o
|
||||
|
||||
CFLAGS += -DFWCUTTER_VERSION_=$(VERSION)
|
||||
|
||||
all: fwcutter
|
||||
|
||||
fwcutter: $(OBJECTS)
|
||||
$(CC) $(CFLAGS) -o fwcutter $(OBJECTS) $(LDFLAGS)
|
||||
|
||||
install: all
|
||||
-install -o 0 -g 0 -m 755 fwcutter $(PREFIX)/bin/
|
||||
|
||||
clean:
|
||||
-rm -f *~ *.o *.orig *.rej *.fw fwcutter
|
||||
|
||||
installfw:
|
||||
-if ! [ -d $(FIRMWARE_INSTALL_DIR) ]; then mkdir $(FIRMWARE_INSTALL_DIR); fi
|
||||
-install -o 0 -g 0 -m 600 bcm43xx_*.fw $(FIRMWARE_INSTALL_DIR)
|
||||
|
||||
# dependencies
|
||||
fwcutter.o: md5.h fwcutter_list.h
|
||||
md5.o: md5.h
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue