mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 06:33:41 +00:00
load board's mac address on Compex devices
SVN-Revision: 12302
This commit is contained in:
parent
2e71a90347
commit
a45f225e73
@ -11,15 +11,19 @@
|
|||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/init.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_info.h>
|
||||||
#include <asm/mach-adm5120/adm5120_board.h>
|
#include <asm/mach-adm5120/adm5120_board.h>
|
||||||
#include <asm/mach-adm5120/adm5120_platform.h>
|
#include <asm/mach-adm5120/adm5120_platform.h>
|
||||||
#include <asm/mach-adm5120/adm5120_irq.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)
|
#define COMPEX_GPIO_DEV_MASK (1 << ADM5120_GPIO_PIN5)
|
||||||
|
|
||||||
static void switch_bank_gpio5(unsigned bank)
|
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)
|
void __init compex_generic_setup(void)
|
||||||
{
|
{
|
||||||
gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
|
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_flash(0);
|
||||||
|
|
||||||
adm5120_add_device_gpio(COMPEX_GPIO_DEV_MASK);
|
adm5120_add_device_gpio(COMPEX_GPIO_DEV_MASK);
|
||||||
|
|
||||||
|
compex_mac_setup();
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,7 @@ int __init myloader_present(void)
|
|||||||
struct mylo_system_params *sysp;
|
struct mylo_system_params *sysp;
|
||||||
struct mylo_board_params *boardp;
|
struct mylo_board_params *boardp;
|
||||||
struct mylo_partition_table *parts;
|
struct mylo_partition_table *parts;
|
||||||
|
int i;
|
||||||
|
|
||||||
if (myloader_found)
|
if (myloader_found)
|
||||||
goto out;
|
goto out;
|
||||||
@ -55,6 +56,12 @@ int __init myloader_present(void)
|
|||||||
myloader_info.svid = le32_to_cpu(sysp->svid);
|
myloader_info.svid = le32_to_cpu(sysp->svid);
|
||||||
myloader_info.sdid = le32_to_cpu(sysp->sdid);
|
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;
|
myloader_found = 1;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
@ -170,6 +170,7 @@ struct myloader_info {
|
|||||||
u32 did;
|
u32 did;
|
||||||
u32 svid;
|
u32 svid;
|
||||||
u32 sdid;
|
u32 sdid;
|
||||||
|
uint8_t macs[MYLO_ETHADDR_COUNT][6];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct myloader_info myloader_info;
|
extern struct myloader_info myloader_info;
|
||||||
|
Loading…
Reference in New Issue
Block a user