diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-02-28 23:39:14 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2015-02-28 23:39:14 +0000 |
commit | 780d6939b2ae13603734b815b8dd9772842f4c70 (patch) | |
tree | 89edc4c1ba07c54a882029bab8d3aa3e96f54683 /target/linux/adm5120/files-3.18/arch/mips/adm5120/compex/compex.c | |
parent | 0e7e585752b3a73d7cb0c368f3a850447e9f79a0 (diff) | |
download | master-31e0f0ae-780d6939b2ae13603734b815b8dd9772842f4c70.tar.gz master-31e0f0ae-780d6939b2ae13603734b815b8dd9772842f4c70.tar.bz2 master-31e0f0ae-780d6939b2ae13603734b815b8dd9772842f4c70.zip |
adm5120: add 3.18 support
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 44580
Diffstat (limited to 'target/linux/adm5120/files-3.18/arch/mips/adm5120/compex/compex.c')
-rw-r--r-- | target/linux/adm5120/files-3.18/arch/mips/adm5120/compex/compex.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/target/linux/adm5120/files-3.18/arch/mips/adm5120/compex/compex.c b/target/linux/adm5120/files-3.18/arch/mips/adm5120/compex/compex.c new file mode 100644 index 0000000000..814acfb0cf --- /dev/null +++ b/target/linux/adm5120/files-3.18/arch/mips/adm5120/compex/compex.c @@ -0,0 +1,60 @@ +/* + * Compex boards + * + * 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 "compex.h" + +#include <asm/mach-adm5120/prom/myloader.h> + +static void switch_bank_gpio5(unsigned bank) +{ + switch (bank) { + case 0: + gpio_set_value(ADM5120_GPIO_PIN5, 0); + break; + case 1: + gpio_set_value(ADM5120_GPIO_PIN5, 1); + break; + } +} + +void __init compex_mac_setup(void) +{ + if (myloader_present()) { + int i; + + for (i = 0; i < 6; i++) { + if (is_valid_ether_addr(myloader_info.macs[i])) + memcpy(adm5120_eth_macs[i], + myloader_info.macs[i], ETH_ALEN); + else + random_ether_addr(adm5120_eth_macs[i]); + } + } else { + u8 mac[ETH_ALEN]; + + random_ether_addr(mac); + adm5120_setup_eth_macs(mac); + } +} + +void __init compex_generic_setup(void) +{ + gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */ + gpio_direction_output(ADM5120_GPIO_PIN5, 0); + + adm5120_flash0_data.switch_bank = switch_bank_gpio5; + adm5120_add_device_flash(0); + + adm5120_add_device_uart(0); + adm5120_add_device_uart(1); + + compex_mac_setup(); +} |