summaryrefslogtreecommitdiff
path: root/arch/mips/ath25/devices.c
diff options
context:
space:
mode:
authorSergey Ryazanov <ryazanov.s.a@gmail.com>2014-10-28 23:18:44 (GMT)
committerRalf Baechle <ralf@linux-mips.org>2014-11-24 06:45:27 (GMT)
commita7473717483ef3bb78563611bf1b3b82c5515b2e (patch)
treed5e3431409c4aee784c7c8401cf19614aed91d7c /arch/mips/ath25/devices.c
parent1ac91b1f686e9d819b16525baf2e8db3c282edba (diff)
downloadlinux-a7473717483ef3bb78563611bf1b3b82c5515b2e.tar.xz
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.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/mips/ath25/devices.c b/arch/mips/ath25/devices.c
index 400419d..d24dbb1 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())