ARM: at91: add soc detection infrastructure
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-at91 / soc.h
1 /*
2  * Copyright (C) 2015 Atmel
3  *
4  * Boris Brezillon <boris.brezillon@free-electrons.com
5  *
6  * This file is licensed under the terms of the GNU General Public
7  * License version 2.  This program is licensed "as is" without any
8  * warranty of any kind, whether express or implied.
9  *
10  */
11
12 #ifndef __AT91_SOC_H
13 #define __AT91_SOC_H
14
15 #include <linux/sys_soc.h>
16
17 struct at91_soc {
18         u32 cidr_match;
19         u32 exid_match;
20         const char *name;
21         const char *family;
22 };
23
24 #define AT91_SOC(__cidr, __exid, __name, __family)              \
25         {                                                       \
26                 .cidr_match = (__cidr),                         \
27                 .exid_match = (__exid),                         \
28                 .name = (__name),                               \
29                 .family = (__family),                           \
30         }
31
32 struct soc_device * __init
33 at91_soc_init(const struct at91_soc *socs);
34
35 #endif /* __AT91_SOC_H */