projects
/
openwrt
/
svn-archive
/
archive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
57cdb4f
)
[adm5120] load board's mac address on Compex devices
author
Gabor Juhos
<juhosg@openwrt.org>
Wed, 13 Aug 2008 19:52:25 +0000
(19:52 +0000)
committer
Gabor Juhos
<juhosg@openwrt.org>
Wed, 13 Aug 2008 19:52:25 +0000
(19:52 +0000)
SVN-Revision: 12302
target/linux/adm5120/files-2.6.26/arch/mips/adm5120/compex/compex.c
patch
|
blob
|
history
target/linux/adm5120/files-2.6.26/arch/mips/adm5120/prom/myloader.c
patch
|
blob
|
history
target/linux/adm5120/files-2.6.26/include/asm-mips/mach-adm5120/prom/myloader.h
patch
|
blob
|
history
diff --git
a/target/linux/adm5120/files-2.6.26/arch/mips/adm5120/compex/compex.c
b/target/linux/adm5120/files-2.6.26/arch/mips/adm5120/compex/compex.c
index adc765f5e0b4ae4ab1903e16bb3cbac5db9b34bb..10120d6226d4b7e41edc6ab3b59e45e377a5c6ce 100644
(file)
--- a/
target/linux/adm5120/files-2.6.26/arch/mips/adm5120/compex/compex.c
+++ b/
target/linux/adm5120/files-2.6.26/arch/mips/adm5120/compex/compex.c
@@
-11,15
+11,19
@@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/init.h>
+#include <linux/gpio.h>
#include <asm/bootinfo.h>
#include <asm/bootinfo.h>
-#include <linux/gpio.h>
#include <asm/mach-adm5120/adm5120_info.h>
#include <asm/mach-adm5120/adm5120_board.h>
#include <asm/mach-adm5120/adm5120_platform.h>
#include <asm/mach-adm5120/adm5120_irq.h>
#include <asm/mach-adm5120/adm5120_info.h>
#include <asm/mach-adm5120/adm5120_board.h>
#include <asm/mach-adm5120/adm5120_platform.h>
#include <asm/mach-adm5120/adm5120_irq.h>
+#include <asm/mach-adm5120/prom/myloader.h>
+
+#include "compex.h"
+
#define COMPEX_GPIO_DEV_MASK (1 << ADM5120_GPIO_PIN5)
static void switch_bank_gpio5(unsigned bank)
#define COMPEX_GPIO_DEV_MASK (1 << ADM5120_GPIO_PIN5)
static void switch_bank_gpio5(unsigned bank)
@@
-34,6
+38,18
@@
static void switch_bank_gpio5(unsigned bank)
}
}
}
}
+void __init compex_mac_setup(void)
+{
+ int i, j;
+
+ if (!myloader_present())
+ return;
+
+ for (i = 0; i < 6; i++)
+ for (j = 0; j < 6; j++)
+ adm5120_eth_macs[i][j] = myloader_info.macs[i][j];
+}
+
void __init compex_generic_setup(void)
{
gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
void __init compex_generic_setup(void)
{
gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
@@
-43,4
+59,6
@@
void __init compex_generic_setup(void)
adm5120_add_device_flash(0);
adm5120_add_device_gpio(COMPEX_GPIO_DEV_MASK);
adm5120_add_device_flash(0);
adm5120_add_device_gpio(COMPEX_GPIO_DEV_MASK);
+
+ compex_mac_setup();
}
}
diff --git
a/target/linux/adm5120/files-2.6.26/arch/mips/adm5120/prom/myloader.c
b/target/linux/adm5120/files-2.6.26/arch/mips/adm5120/prom/myloader.c
index 737c15dea2d6bfd05bf92d7abe5d7a06a95d92a9..939422681b343598b5629af218efc86adaadc970 100644
(file)
--- a/
target/linux/adm5120/files-2.6.26/arch/mips/adm5120/prom/myloader.c
+++ b/
target/linux/adm5120/files-2.6.26/arch/mips/adm5120/prom/myloader.c
@@
-36,6
+36,7
@@
int __init myloader_present(void)
struct mylo_system_params *sysp;
struct mylo_board_params *boardp;
struct mylo_partition_table *parts;
struct mylo_system_params *sysp;
struct mylo_board_params *boardp;
struct mylo_partition_table *parts;
+ int i;
if (myloader_found)
goto out;
if (myloader_found)
goto out;
@@
-55,6
+56,12
@@
int __init myloader_present(void)
myloader_info.svid = le32_to_cpu(sysp->svid);
myloader_info.sdid = le32_to_cpu(sysp->sdid);
myloader_info.svid = le32_to_cpu(sysp->svid);
myloader_info.sdid = le32_to_cpu(sysp->sdid);
+ for (i = 0; i < MYLO_ETHADDR_COUNT; i++) {
+ int j;
+ for (j = 0; j < 6; j++)
+ myloader_info.macs[i][j] = boardp->addr[i].mac[j];
+ }
+
myloader_found = 1;
out:
myloader_found = 1;
out:
diff --git
a/target/linux/adm5120/files-2.6.26/include/asm-mips/mach-adm5120/prom/myloader.h
b/target/linux/adm5120/files-2.6.26/include/asm-mips/mach-adm5120/prom/myloader.h
index 2c40aa4056676d9fdc548ada0ac2ea567709e2a8..ea8db81ed3fbc732bb78177564dc57e679580944 100644
(file)
--- a/
target/linux/adm5120/files-2.6.26/include/asm-mips/mach-adm5120/prom/myloader.h
+++ b/
target/linux/adm5120/files-2.6.26/include/asm-mips/mach-adm5120/prom/myloader.h
@@
-170,6
+170,7
@@
struct myloader_info {
u32 did;
u32 svid;
u32 sdid;
u32 did;
u32 svid;
u32 sdid;
+ uint8_t macs[MYLO_ETHADDR_COUNT][6];
};
extern struct myloader_info myloader_info;
};
extern struct myloader_info myloader_info;