diff options
author | Sergey Ryazanov <ryazanov.s.a@gmail.com> | 2014-10-29 03:18:44 +0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-11-24 07:45:27 +0100 |
commit | a7473717483ef3bb78563611bf1b3b82c5515b2e (patch) | |
tree | d5e3431409c4aee784c7c8401cf19614aed91d7c /arch/mips/ath25/devices.c | |
parent | 1ac91b1f686e9d819b16525baf2e8db3c282edba (diff) | |
download | linux-stable-a7473717483ef3bb78563611bf1b3b82c5515b2e.tar.gz linux-stable-a7473717483ef3bb78563611bf1b3b82c5515b2e.tar.bz2 linux-stable-a7473717483ef3bb78563611bf1b3b82c5515b2e.zip |
MIPS: ath25: add board configuration detection
All boards based on AR5312/AR2315 SoC have a special structure located
at the end of flash. This structure contains board-specific data such as
Ethernet and Wireless MAC addresses. The flash is mapped to the memmory
at predefined location.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Cc: Linux MIPS <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/8243/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/ath25/devices.c')
-rw-r--r-- | arch/mips/ath25/devices.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/mips/ath25/devices.c b/arch/mips/ath25/devices.c index 400419d8e7d9..d24dbb1ef8ea 100644 --- a/arch/mips/ath25/devices.c +++ b/arch/mips/ath25/devices.c @@ -3,10 +3,13 @@ #include <linux/serial_8250.h> #include <asm/bootinfo.h> +#include <ath25_platform.h> #include "devices.h" #include "ar5312.h" #include "ar2315.h" +struct ar231x_board_config ath25_board; + const char *get_system_type(void) { return "Atheros (unknown)"; @@ -28,6 +31,18 @@ void __init ath25_serial_setup(u32 mapbase, int irq, unsigned int uartclk) early_serial_setup(&s); } +static int __init ath25_register_devices(void) +{ + if (is_ar5312()) + ar5312_init_devices(); + else + ar2315_init_devices(); + + return 0; +} + +device_initcall(ath25_register_devices); + static int __init ath25_arch_init(void) { if (is_ar5312()) |