Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas...
[linux-2.6.git] / arch / mips / lantiq / xway / prom-ase.c
1 /*
2  *  This program is free software; you can redistribute it and/or modify it
3  *  under the terms of the GNU General Public License version 2 as published
4  *  by the Free Software Foundation.
5  *
6  *  Copyright (C) 2010 John Crispin <blogic@openwrt.org>
7  */
8
9 #include <linux/module.h>
10 #include <linux/clk.h>
11 #include <asm/bootinfo.h>
12 #include <asm/time.h>
13
14 #include <lantiq_soc.h>
15
16 #include "../prom.h"
17
18 #define SOC_AMAZON_SE   "Amazon_SE"
19
20 #define PART_SHIFT      12
21 #define PART_MASK       0x0FFFFFFF
22 #define REV_SHIFT       28
23 #define REV_MASK        0xF0000000
24
25 void __init ltq_soc_detect(struct ltq_soc_info *i)
26 {
27         i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT;
28         i->rev = (ltq_r32(LTQ_MPS_CHIPID) & REV_MASK) >> REV_SHIFT;
29         switch (i->partnum) {
30         case SOC_ID_AMAZON_SE:
31                 i->name = SOC_AMAZON_SE;
32                 i->type = SOC_TYPE_AMAZON_SE;
33                 break;
34
35         default:
36                 unreachable();
37                 break;
38         }
39 }