• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/export.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 
ltq_soc_detect(struct ltq_soc_info * i)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 }
40