[ar71xx] move MyLoader stuff into generic files, will be used on adm5120
authorGabor Juhos <juhosg@openwrt.org>
Mon, 17 Nov 2008 09:19:27 +0000 (09:19 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Mon, 17 Nov 2008 09:19:27 +0000 (09:19 +0000)
SVN-Revision: 13254

target/linux/ar71xx/files/arch/mips/fw/myloader/Makefile [deleted file]
target/linux/ar71xx/files/arch/mips/fw/myloader/myloader.c [deleted file]
target/linux/ar71xx/files/include/linux/myloader.h [deleted file]
target/linux/generic-2.6/files/arch/mips/fw/myloader/Makefile [new file with mode: 0644]
target/linux/generic-2.6/files/arch/mips/fw/myloader/myloader.c [new file with mode: 0644]
target/linux/generic-2.6/files/include/linux/myloader.h [new file with mode: 0644]

diff --git a/target/linux/ar71xx/files/arch/mips/fw/myloader/Makefile b/target/linux/ar71xx/files/arch/mips/fw/myloader/Makefile
deleted file mode 100644 (file)
index 34acfd0..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Makefile for the Compex's MyLoader support on MIPS architecture
-#
-
-lib-y += myloader.o
diff --git a/target/linux/ar71xx/files/arch/mips/fw/myloader/myloader.c b/target/linux/ar71xx/files/arch/mips/fw/myloader/myloader.c
deleted file mode 100644 (file)
index a26f9ad..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Compex's MyLoader specific prom routines
- *
- *  Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org>
- *
- *  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.
- *
- */
-
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/string.h>
-
-#include <asm/addrspace.h>
-#include <asm/fw/myloader/myloader.h>
-
-#define SYS_PARAMS_ADDR                KSEG1ADDR(0x80000800)
-#define BOARD_PARAMS_ADDR      KSEG1ADDR(0x80000A00)
-#define PART_TABLE_ADDR                KSEG1ADDR(0x80000C00)
-#define BOOT_PARAMS_ADDR       KSEG1ADDR(0x80000E00)
-
-static struct myloader_info myloader_info __initdata;
-static int myloader_found __initdata;
-
-struct myloader_info * __init myloader_get_info(void)
-{
-       struct mylo_system_params *sysp;
-       struct mylo_board_params *boardp;
-       struct mylo_partition_table *parts;
-
-       if (myloader_found)
-               return &myloader_info;
-
-       sysp = (struct mylo_system_params *)(SYS_PARAMS_ADDR);
-       boardp = (struct mylo_board_params *)(BOARD_PARAMS_ADDR);
-       parts = (struct mylo_partition_table *)(PART_TABLE_ADDR);
-
-       printk(KERN_DEBUG "MyLoader: sysp=%08x, boardp=%08x, parts=%08x\n",
-               sysp->magic, boardp->magic, parts->magic);
-
-       /* Check for some magic numbers */
-       if (sysp->magic != MYLO_MAGIC_SYS_PARAMS ||
-           boardp->magic != MYLO_MAGIC_BOARD_PARAMS ||
-           le32_to_cpu(parts->magic) != MYLO_MAGIC_PARTITIONS)
-               return NULL;
-
-       printk(KERN_DEBUG "MyLoader: id=%04x:%04x, sub_id=%04x:%04x\n",
-               sysp->vid, sysp->did, sysp->svid, sysp->sdid);
-
-       myloader_info.vid = sysp->vid;
-       myloader_info.did = sysp->did;
-       myloader_info.svid = sysp->svid;
-       myloader_info.sdid = sysp->sdid;
-
-       memcpy(myloader_info.macs, boardp->addr, sizeof(myloader_info.macs));
-
-       myloader_found = 1;
-
-       return &myloader_info;
-}
diff --git a/target/linux/ar71xx/files/include/linux/myloader.h b/target/linux/ar71xx/files/include/linux/myloader.h
deleted file mode 100644 (file)
index c16c413..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *  Compex's MyLoader specific definitions
- *
- *  Copyright (C) 2006-2008 Gabor Juhos <juhosg@openwrt.org>
- *
- *  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.
- *
- */
-
-#ifndef _MYLOADER_H_
-#define _MYLOADER_H_
-
-/* Myloader specific magic numbers */
-#define MYLO_MAGIC_SYS_PARAMS  0x20021107
-#define MYLO_MAGIC_PARTITIONS  0x20021103
-#define MYLO_MAGIC_BOARD_PARAMS        0x20021103
-
-/* Vendor ID's (seems to be same as the PCI vendor ID's) */
-#define VENID_COMPEX           0x11F6
-
-/* Devices based on the ADM5120 */
-#define DEVID_COMPEX_NP27G     0x0078
-#define DEVID_COMPEX_NP28G     0x044C
-#define DEVID_COMPEX_NP28GHS   0x044E
-#define DEVID_COMPEX_WP54Gv1C  0x0514
-#define DEVID_COMPEX_WP54G     0x0515
-#define DEVID_COMPEX_WP54AG    0x0546
-#define DEVID_COMPEX_WPP54AG   0x0550
-#define DEVID_COMPEX_WPP54G    0x0555
-
-/* Devices based on the Atheros AR71xx */
-#define DEVID_COMPEX_WP543     0x0640
-
-/* Devices based on the IXP422 */
-#define DEVID_COMPEX_WP18      0x047E
-#define DEVID_COMPEX_NP18A     0x0489
-
-/* Other devices */
-#define DEVID_COMPEX_NP26G8M   0x03E8
-#define DEVID_COMPEX_NP26G16M  0x03E9
-
-struct mylo_partition {
-       uint16_t        flags;  /* partition flags */
-       uint16_t        type;   /* type of the partition */
-       uint32_t        addr;   /* relative address of the partition from the
-                                  flash start */
-       uint32_t        size;   /* size of the partition in bytes */
-       uint32_t        param;  /* if this is the active partition, the
-                                  MyLoader load code to this address */
-};
-
-#define PARTITION_FLAG_ACTIVE  0x8000 /* this is the active partition,
-                                       * MyLoader loads firmware from here */
-#define PARTITION_FLAG_ISRAM   0x2000 /* FIXME: this is a RAM partition? */
-#define PARTIIION_FLAG_RAMLOAD 0x1000 /* FIXME: load this partition into the RAM? */
-#define PARTITION_FLAG_PRELOAD 0x0800 /* the partition data preloaded to RAM
-                                       * before decompression */
-#define PARTITION_FLAG_LZMA    0x0100 /* partition data compressed by LZMA */
-#define PARTITION_FLAG_HAVEHDR  0x0002 /* the partition data have a header */
-
-#define PARTITION_TYPE_FREE    0
-#define PARTITION_TYPE_USED    1
-
-#define MYLO_MAX_PARTITIONS    8       /* maximum number of partitions in the
-                                          partition table */
-
-struct mylo_partition_table {
-       uint32_t        magic;          /* must be MYLO_MAGIC_PARTITIONS */
-       uint32_t        res0;           /* unknown/unused */
-       uint32_t        res1;           /* unknown/unused */
-       uint32_t        res2;           /* unknown/unused */
-       struct mylo_partition partitions[MYLO_MAX_PARTITIONS];
-};
-
-struct mylo_partition_header {
-       uint32_t        len;            /* length of the partition data */
-       uint32_t        crc;            /* CRC value of the partition data */
-};
-
-struct mylo_system_params {
-       uint32_t        magic;          /* must be MYLO_MAGIC_SYS_PARAMS */
-       uint32_t        res0;
-       uint32_t        res1;
-       uint32_t        mylo_ver;
-       uint16_t        vid;            /* Vendor ID */
-       uint16_t        did;            /* Device ID */
-       uint16_t        svid;           /* Sub Vendor ID */
-       uint16_t        sdid;           /* Sub Device ID */
-       uint32_t        rev;            /* device revision */
-       uint32_t        fwhi;
-       uint32_t        fwlo;
-       uint32_t        tftp_addr;
-       uint32_t        prog_start;
-       uint32_t        flash_size;     /* size of boot FLASH in bytes */
-       uint32_t        dram_size;      /* size of onboard RAM in bytes */
-};
-
-struct mylo_eth_addr {
-       uint8_t mac[6];
-       uint8_t csum[2];
-};
-
-#define MYLO_ETHADDR_COUNT     8       /* maximum number of ethernet address
-                                          in the board parameters */
-
-struct mylo_board_params {
-       uint32_t        magic;  /* must be MYLO_MAGIC_BOARD_PARAMS */
-       uint32_t        res0;
-       uint32_t        res1;
-       uint32_t        res2;
-       struct mylo_eth_addr addr[MYLO_ETHADDR_COUNT];
-};
-
-#endif /* _MYLOADER_H_*/
diff --git a/target/linux/generic-2.6/files/arch/mips/fw/myloader/Makefile b/target/linux/generic-2.6/files/arch/mips/fw/myloader/Makefile
new file mode 100644 (file)
index 0000000..34acfd0
--- /dev/null
@@ -0,0 +1,5 @@
+#
+# Makefile for the Compex's MyLoader support on MIPS architecture
+#
+
+lib-y += myloader.o
diff --git a/target/linux/generic-2.6/files/arch/mips/fw/myloader/myloader.c b/target/linux/generic-2.6/files/arch/mips/fw/myloader/myloader.c
new file mode 100644 (file)
index 0000000..a26f9ad
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ *  Compex's MyLoader specific prom routines
+ *
+ *  Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org>
+ *
+ *  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.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/string.h>
+
+#include <asm/addrspace.h>
+#include <asm/fw/myloader/myloader.h>
+
+#define SYS_PARAMS_ADDR                KSEG1ADDR(0x80000800)
+#define BOARD_PARAMS_ADDR      KSEG1ADDR(0x80000A00)
+#define PART_TABLE_ADDR                KSEG1ADDR(0x80000C00)
+#define BOOT_PARAMS_ADDR       KSEG1ADDR(0x80000E00)
+
+static struct myloader_info myloader_info __initdata;
+static int myloader_found __initdata;
+
+struct myloader_info * __init myloader_get_info(void)
+{
+       struct mylo_system_params *sysp;
+       struct mylo_board_params *boardp;
+       struct mylo_partition_table *parts;
+
+       if (myloader_found)
+               return &myloader_info;
+
+       sysp = (struct mylo_system_params *)(SYS_PARAMS_ADDR);
+       boardp = (struct mylo_board_params *)(BOARD_PARAMS_ADDR);
+       parts = (struct mylo_partition_table *)(PART_TABLE_ADDR);
+
+       printk(KERN_DEBUG "MyLoader: sysp=%08x, boardp=%08x, parts=%08x\n",
+               sysp->magic, boardp->magic, parts->magic);
+
+       /* Check for some magic numbers */
+       if (sysp->magic != MYLO_MAGIC_SYS_PARAMS ||
+           boardp->magic != MYLO_MAGIC_BOARD_PARAMS ||
+           le32_to_cpu(parts->magic) != MYLO_MAGIC_PARTITIONS)
+               return NULL;
+
+       printk(KERN_DEBUG "MyLoader: id=%04x:%04x, sub_id=%04x:%04x\n",
+               sysp->vid, sysp->did, sysp->svid, sysp->sdid);
+
+       myloader_info.vid = sysp->vid;
+       myloader_info.did = sysp->did;
+       myloader_info.svid = sysp->svid;
+       myloader_info.sdid = sysp->sdid;
+
+       memcpy(myloader_info.macs, boardp->addr, sizeof(myloader_info.macs));
+
+       myloader_found = 1;
+
+       return &myloader_info;
+}
diff --git a/target/linux/generic-2.6/files/include/linux/myloader.h b/target/linux/generic-2.6/files/include/linux/myloader.h
new file mode 100644 (file)
index 0000000..c16c413
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ *  Compex's MyLoader specific definitions
+ *
+ *  Copyright (C) 2006-2008 Gabor Juhos <juhosg@openwrt.org>
+ *
+ *  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.
+ *
+ */
+
+#ifndef _MYLOADER_H_
+#define _MYLOADER_H_
+
+/* Myloader specific magic numbers */
+#define MYLO_MAGIC_SYS_PARAMS  0x20021107
+#define MYLO_MAGIC_PARTITIONS  0x20021103
+#define MYLO_MAGIC_BOARD_PARAMS        0x20021103
+
+/* Vendor ID's (seems to be same as the PCI vendor ID's) */
+#define VENID_COMPEX           0x11F6
+
+/* Devices based on the ADM5120 */
+#define DEVID_COMPEX_NP27G     0x0078
+#define DEVID_COMPEX_NP28G     0x044C
+#define DEVID_COMPEX_NP28GHS   0x044E
+#define DEVID_COMPEX_WP54Gv1C  0x0514
+#define DEVID_COMPEX_WP54G     0x0515
+#define DEVID_COMPEX_WP54AG    0x0546
+#define DEVID_COMPEX_WPP54AG   0x0550
+#define DEVID_COMPEX_WPP54G    0x0555
+
+/* Devices based on the Atheros AR71xx */
+#define DEVID_COMPEX_WP543     0x0640
+
+/* Devices based on the IXP422 */
+#define DEVID_COMPEX_WP18      0x047E
+#define DEVID_COMPEX_NP18A     0x0489
+
+/* Other devices */
+#define DEVID_COMPEX_NP26G8M   0x03E8
+#define DEVID_COMPEX_NP26G16M  0x03E9
+
+struct mylo_partition {
+       uint16_t        flags;  /* partition flags */
+       uint16_t        type;   /* type of the partition */
+       uint32_t        addr;   /* relative address of the partition from the
+                                  flash start */
+       uint32_t        size;   /* size of the partition in bytes */
+       uint32_t        param;  /* if this is the active partition, the
+                                  MyLoader load code to this address */
+};
+
+#define PARTITION_FLAG_ACTIVE  0x8000 /* this is the active partition,
+                                       * MyLoader loads firmware from here */
+#define PARTITION_FLAG_ISRAM   0x2000 /* FIXME: this is a RAM partition? */
+#define PARTIIION_FLAG_RAMLOAD 0x1000 /* FIXME: load this partition into the RAM? */
+#define PARTITION_FLAG_PRELOAD 0x0800 /* the partition data preloaded to RAM
+                                       * before decompression */
+#define PARTITION_FLAG_LZMA    0x0100 /* partition data compressed by LZMA */
+#define PARTITION_FLAG_HAVEHDR  0x0002 /* the partition data have a header */
+
+#define PARTITION_TYPE_FREE    0
+#define PARTITION_TYPE_USED    1
+
+#define MYLO_MAX_PARTITIONS    8       /* maximum number of partitions in the
+                                          partition table */
+
+struct mylo_partition_table {
+       uint32_t        magic;          /* must be MYLO_MAGIC_PARTITIONS */
+       uint32_t        res0;           /* unknown/unused */
+       uint32_t        res1;           /* unknown/unused */
+       uint32_t        res2;           /* unknown/unused */
+       struct mylo_partition partitions[MYLO_MAX_PARTITIONS];
+};
+
+struct mylo_partition_header {
+       uint32_t        len;            /* length of the partition data */
+       uint32_t        crc;            /* CRC value of the partition data */
+};
+
+struct mylo_system_params {
+       uint32_t        magic;          /* must be MYLO_MAGIC_SYS_PARAMS */
+       uint32_t        res0;
+       uint32_t        res1;
+       uint32_t        mylo_ver;
+       uint16_t        vid;            /* Vendor ID */
+       uint16_t        did;            /* Device ID */
+       uint16_t        svid;           /* Sub Vendor ID */
+       uint16_t        sdid;           /* Sub Device ID */
+       uint32_t        rev;            /* device revision */
+       uint32_t        fwhi;
+       uint32_t        fwlo;
+       uint32_t        tftp_addr;
+       uint32_t        prog_start;
+       uint32_t        flash_size;     /* size of boot FLASH in bytes */
+       uint32_t        dram_size;      /* size of onboard RAM in bytes */
+};
+
+struct mylo_eth_addr {
+       uint8_t mac[6];
+       uint8_t csum[2];
+};
+
+#define MYLO_ETHADDR_COUNT     8       /* maximum number of ethernet address
+                                          in the board parameters */
+
+struct mylo_board_params {
+       uint32_t        magic;  /* must be MYLO_MAGIC_BOARD_PARAMS */
+       uint32_t        res0;
+       uint32_t        res1;
+       uint32_t        res2;
+       struct mylo_eth_addr addr[MYLO_ETHADDR_COUNT];
+};
+
+#endif /* _MYLOADER_H_*/