Update au1000 for .21, build an SREC initramfs image so that it can be tested directly with yamon
SVN-Revision: 7333
This commit is contained in:
parent
41e092a905
commit
46f7d89f9c
|
@ -48,12 +48,19 @@ define Image/Prepare
|
|||
$(OBJCOPY_BIN) $(KDIR)/loader_flash.elf $(KDIR)/kernel.flash.bin
|
||||
endef
|
||||
|
||||
define Image/Build/Initramfs
|
||||
$(OBJCOPY_SREC) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.srec
|
||||
endef
|
||||
|
||||
define Image/Build
|
||||
$(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma $(FLASH_FS) $(KDIR)/root.$(1) $(KDIR)/root.$(1).srec
|
||||
grep -v S7 $(KDIR)/root.$(1).srec > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).img
|
||||
grep -v S0 $(KDIR)/kernel.flash.srec >> $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).img
|
||||
$(CP) $(KDIR)/kernel.flash.bin $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.bin
|
||||
$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).fs
|
||||
ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
|
||||
$(call Image/Build/Initramfs)
|
||||
endif
|
||||
endef
|
||||
|
||||
$(eval $(call BuildImage))
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
--- linux-2.6.16.2/drivers/usb/host/ohci-pci.c 2006-04-07 18:56:47.000000000 +0200
|
||||
+++ linux-2.6.16.2.new/drivers/usb/host/ohci-pci.c 2006-04-11 14:20:33.000000000 +0200
|
||||
@@ -215,7 +215,7 @@
|
||||
#endif
|
||||
};
|
||||
|
||||
-
|
||||
+/*
|
||||
static int __init ohci_hcd_pci_init (void)
|
||||
{
|
||||
printk (KERN_DEBUG "%s: " DRIVER_INFO " (PCI)\n", hcd_name);
|
||||
@@ -227,11 +227,12 @@
|
||||
return pci_register_driver (&ohci_pci_driver);
|
||||
}
|
||||
module_init (ohci_hcd_pci_init);
|
||||
-
|
||||
+*/
|
||||
/*-------------------------------------------------------------------------*/
|
||||
-
|
||||
+/*
|
||||
static void __exit ohci_hcd_pci_cleanup (void)
|
||||
{
|
||||
pci_unregister_driver (&ohci_pci_driver);
|
||||
}
|
||||
module_exit (ohci_hcd_pci_cleanup);
|
||||
+*/
|
|
@ -1,9 +1,9 @@
|
|||
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.
|
||||
diff -urN linux-2.6.21.1/drivers/char/watchdog/Kconfig linux-2.6.21.1.new/drivers/char/watchdog/Kconfig
|
||||
--- linux-2.6.21.1/drivers/char/watchdog/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1.new/drivers/char/watchdog/Kconfig 2007-05-24 20:05:52.000000000 +0200
|
||||
@@ -586,6 +586,14 @@
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called rm9k_wdt.
|
||||
|
||||
+config MTX1_WATCHDOG
|
||||
+ tristate "MTX-1 Hardware Watchdog"
|
||||
|
@ -16,13 +16,14 @@ diff -urN linux-2.6.16.7/drivers/char/watchdog/Kconfig linux-2.6.16.7.new/driver
|
|||
# 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 @@
|
||||
|
||||
diff -urN linux-2.6.21.1/drivers/char/watchdog/Makefile linux-2.6.21.1.new/drivers/char/watchdog/Makefile
|
||||
--- linux-2.6.21.1/drivers/char/watchdog/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1.new/drivers/char/watchdog/Makefile 2007-05-24 20:05:41.000000000 +0200
|
||||
@@ -74,6 +74,7 @@
|
||||
# MIPS Architecture
|
||||
obj-$(CONFIG_INDYDOG) += indydog.o
|
||||
obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
|
||||
+obj-$(CONFIG_MTX1_WATCHDOG) += mtx-1_watchdog.o
|
||||
|
||||
# S390 Architecture
|
||||
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
--- 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 );
|
|
@ -1,63 +0,0 @@
|
|||
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) */
|
|
@ -1,16 +0,0 @@
|
|||
diff -urN linux-2.6.19/arch/mips/pci/ops-au1000.c linux-2.6.19.new/arch/mips/pci/ops-au1000.c
|
||||
--- linux-2.6.19/arch/mips/pci/ops-au1000.c 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.new/arch/mips/pci/ops-au1000.c 2006-12-28 03:02:42.000000000 +0100
|
||||
@@ -172,7 +172,11 @@
|
||||
error = -1;
|
||||
DBG("Au1x Master Abort\n");
|
||||
} else if ((status >> 28) & 0xf) {
|
||||
- DBG("PCI ERR detected: status %x\n", status);
|
||||
+ DBG("PCI ERR detected: device %d, status %x\n", device, ((status >> 28) & 0xf));
|
||||
+
|
||||
+ /* clear errors */
|
||||
+ au_writel(status & 0xf000ffff, Au1500_PCI_STATCMD);
|
||||
+
|
||||
*data = 0xffffffff;
|
||||
error = -1;
|
||||
}
|
|
@ -376,7 +376,7 @@ diff -urN linux-2.6.19/drivers/i2c/busses/i2c-au1x00gpio.c linux-2.6.19.new/driv
|
|||
+ if (adapter->scl_gpio == scl_gpio &&
|
||||
+ adapter->sda_gpio == sda_gpio)
|
||||
+ {
|
||||
+ i2c_bit_del_bus(&adapter->adapter);
|
||||
+ i2c_del_adapter(&adapter->adapter);
|
||||
+ if (prev)
|
||||
+ prev->next = adapter->next;
|
||||
+ else
|
||||
|
|
|
@ -15,13 +15,13 @@ diff -urN linux-2.6.19.2/drivers/leds/Kconfig linux-2.6.19.2.new/drivers/leds/Kc
|
|||
comment "LED Triggers"
|
||||
|
||||
config LEDS_TRIGGERS
|
||||
diff -urN linux-2.6.19.2/drivers/leds/Makefile linux-2.6.19.2.new/drivers/leds/Makefile
|
||||
--- linux-2.6.19.2/drivers/leds/Makefile 2007-01-10 20:10:37.000000000 +0100
|
||||
+++ linux-2.6.19.2.new/drivers/leds/Makefile 2007-03-02 13:49:35.000000000 +0100
|
||||
@@ -13,6 +13,7 @@
|
||||
obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o
|
||||
obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o
|
||||
obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
|
||||
diff -urN linux-2.6.21.1/drivers/leds/Makefile linux-2.6.21.1.new/drivers/leds/Makefile
|
||||
--- linux-2.6.21.1/drivers/leds/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1.new/drivers/leds/Makefile 2007-05-24 23:39:18.000000000 +0200
|
||||
@@ -16,6 +16,7 @@
|
||||
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
|
||||
obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
|
||||
obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
|
||||
+obj-$(CONFIG_LEDS_MTX1) += leds-mtx1.o
|
||||
|
||||
# LED Triggers
|
||||
|
|
Loading…
Reference in New Issue