]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/arm/mach-uniphier/soc-info.h
ARM: uniphier: move headers out of include/mach directory
[people/ms/u-boot.git] / arch / arm / mach-uniphier / soc-info.h
CommitLineData
323d1f9d
MY
1/*
2 * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#ifndef __MACH_SOC_INFO_H__
8#define __MACH_SOC_INFO_H__
9
10enum uniphier_soc_id {
11 SOC_UNIPHIER_PH1_SLD3,
12 SOC_UNIPHIER_PH1_LD4,
13 SOC_UNIPHIER_PH1_PRO4,
14 SOC_UNIPHIER_PH1_SLD8,
15 SOC_UNIPHIER_PH1_PRO5,
16 SOC_UNIPHIER_PROXSTREAM2,
17 SOC_UNIPHIER_PH1_LD6B,
6f45a975
MY
18 SOC_UNIPHIER_PH1_SLD11,
19 SOC_UNIPHIER_PH1_LD10,
323d1f9d
MY
20 SOC_UNIPHIER_UNKNOWN,
21};
22
23#define UNIPHIER_NR_ENABLED_SOCS \
24 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_SLD3) + \
25 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_LD4) + \
26 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_PRO4) + \
27 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_SLD8) + \
28 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_PRO5) + \
29 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PROXSTREAM2) + \
6f45a975
MY
30 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_LD6B) + \
31 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_SLD11) + \
32 IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_LD10)
323d1f9d
MY
33
34#define UNIPHIER_MULTI_SOC ((UNIPHIER_NR_ENABLED_SOCS) > 1)
35
36#if UNIPHIER_MULTI_SOC
37enum uniphier_soc_id uniphier_get_soc_type(void);
38#else
39static inline enum uniphier_soc_id uniphier_get_soc_type(void)
40{
41#if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD3)
42 return SOC_UNIPHIER_PH1_SLD3;
43#endif
44#if defined(CONFIG_ARCH_UNIPHIER_PH1_LD4)
45 return SOC_UNIPHIER_PH1_LD4;
46#endif
47#if defined(CONFIG_ARCH_UNIPHIER_PH1_PRO4)
48 return SOC_UNIPHIER_PH1_PRO4;
49#endif
50#if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD8)
51 return SOC_UNIPHIER_PH1_SLD8;
52#endif
53#if defined(CONFIG_ARCH_UNIPHIER_PH1_PRO5)
54 return SOC_UNIPHIER_PH1_PRO5;
55#endif
56#if defined(CONFIG_ARCH_UNIPHIER_PROXSTREAM2)
57 return SOC_UNIPHIER_PROXSTREAM2;
58#endif
59#if defined(CONFIG_ARCH_UNIPHIER_PH1_LD6B)
60 return SOC_UNIPHIER_PH1_LD6B;
61#endif
6f45a975
MY
62#if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD11)
63 return SOC_UNIPHIER_PH1_SLD11;
64#endif
65#if defined(CONFIG_ARCH_UNIPHIER_PH1_LD10)
66 return SOC_UNIPHIER_PH1_LD10;
67#endif
323d1f9d
MY
68
69 return SOC_UNIPHIER_UNKNOWN;
70}
71#endif
72
2071f149
MY
73int uniphier_get_soc_model(void);
74int uniphier_get_soc_revision(void);
75
323d1f9d 76#endif /* __MACH_SOC_INFO_H__ */