arm: socfpga: Enable all FPGA config support for Arria 10
[platform/kernel/u-boot.git] / arch / arm / mach-uniphier / soc-info.h
1 /*
2  * Copyright (C) 2017 Socionext Inc.
3  *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #ifndef __UNIPHIER_SOC_INFO_H__
9 #define __UNIPHIER_SOC_INFO_H__
10
11 #include <linux/kernel.h>
12 #include <linux/stddef.h>
13
14 #define UNIPHIER_SLD3_ID        0x25
15 #define UNIPHIER_LD4_ID         0x26
16 #define UNIPHIER_PRO4_ID        0x28
17 #define UNIPHIER_SLD8_ID        0x29
18 #define UNIPHIER_PRO5_ID        0x2a
19 #define UNIPHIER_PXS2_ID        0x2e
20 #define UNIPHIER_LD6B_ID        0x2f
21 #define UNIPHIER_LD11_ID        0x31
22 #define UNIPHIER_LD20_ID        0x32
23 #define UNIPHIER_PXS3_ID        0x35
24
25 unsigned int uniphier_get_soc_id(void);
26 unsigned int uniphier_get_soc_model(void);
27 unsigned int uniphier_get_soc_revision(void);
28
29 #define UNIPHIER_DEFINE_SOCDATA_FUNC(__func_name, __table)      \
30 static typeof(&__table[0]) __func_name(void)                    \
31 {                                                               \
32         unsigned int soc_id;                                    \
33         int i;                                                  \
34                                                                 \
35         soc_id = uniphier_get_soc_id();                         \
36         for (i = 0; i < ARRAY_SIZE(__table); i++) {             \
37                 if (__table[i].soc_id == soc_id)                \
38                         return &__table[i];                     \
39         }                                                       \
40                                                                 \
41         return NULL;                                            \
42 }
43
44 #endif /* __UNIPHIER_SOC_INFO_H__ */