• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
3  *
4  * Under GPLv2
5  */
6 
7 struct at91_init_soc {
8 	int builtin;
9 	unsigned int *default_irq_priority;
10 	void (*map_io)(void);
11 	void (*ioremap_registers)(void);
12 	void (*register_clocks)(void);
13 	void (*init)(void);
14 };
15 
16 extern struct at91_init_soc at91_boot_soc;
17 extern struct at91_init_soc at91rm9200_soc;
18 extern struct at91_init_soc at91sam9260_soc;
19 extern struct at91_init_soc at91sam9261_soc;
20 extern struct at91_init_soc at91sam9263_soc;
21 extern struct at91_init_soc at91sam9g45_soc;
22 extern struct at91_init_soc at91sam9rl_soc;
23 extern struct at91_init_soc at91sam9x5_soc;
24 extern struct at91_init_soc at91sam9n12_soc;
25 extern struct at91_init_soc sama5d3_soc;
26 
27 #define AT91_SOC_START(_name)				\
28 struct at91_init_soc __initdata _name##_soc		\
29  __used							\
30 						= {	\
31 	.builtin	= 1,				\
32 
33 #define AT91_SOC_END					\
34 };
35 
at91_soc_is_enabled(void)36 static inline int at91_soc_is_enabled(void)
37 {
38 	return at91_boot_soc.builtin;
39 }
40 
41 #if !defined(CONFIG_SOC_AT91RM9200)
42 #define at91rm9200_soc	at91_boot_soc
43 #endif
44 
45 #if !defined(CONFIG_SOC_AT91SAM9260)
46 #define at91sam9260_soc	at91_boot_soc
47 #endif
48 
49 #if !defined(CONFIG_SOC_AT91SAM9261)
50 #define at91sam9261_soc	at91_boot_soc
51 #endif
52 
53 #if !defined(CONFIG_SOC_AT91SAM9263)
54 #define at91sam9263_soc	at91_boot_soc
55 #endif
56 
57 #if !defined(CONFIG_SOC_AT91SAM9G45)
58 #define at91sam9g45_soc	at91_boot_soc
59 #endif
60 
61 #if !defined(CONFIG_SOC_AT91SAM9RL)
62 #define at91sam9rl_soc	at91_boot_soc
63 #endif
64 
65 #if !defined(CONFIG_SOC_AT91SAM9X5)
66 #define at91sam9x5_soc	at91_boot_soc
67 #endif
68 
69 #if !defined(CONFIG_SOC_AT91SAM9N12)
70 #define at91sam9n12_soc	at91_boot_soc
71 #endif
72 
73 #if !defined(CONFIG_SOC_SAMA5D3)
74 #define sama5d3_soc	at91_boot_soc
75 #endif
76