/* * Copyright (C) 2015 Masahiro Yamada * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef __MACH_SOC_INFO_H__ #define __MACH_SOC_INFO_H__ enum uniphier_soc_id { SOC_UNIPHIER_PH1_SLD3, SOC_UNIPHIER_PH1_LD4, SOC_UNIPHIER_PH1_PRO4, SOC_UNIPHIER_PH1_SLD8, SOC_UNIPHIER_PH1_PRO5, SOC_UNIPHIER_PROXSTREAM2, SOC_UNIPHIER_PH1_LD6B, SOC_UNIPHIER_PH1_SLD11, SOC_UNIPHIER_PH1_LD10, SOC_UNIPHIER_UNKNOWN, }; #define UNIPHIER_NR_ENABLED_SOCS \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_SLD3) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_LD4) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_PRO4) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_SLD8) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_PRO5) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PROXSTREAM2) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_LD6B) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_SLD11) + \ IS_ENABLED(CONFIG_ARCH_UNIPHIER_PH1_LD10) #define UNIPHIER_MULTI_SOC ((UNIPHIER_NR_ENABLED_SOCS) > 1) #if UNIPHIER_MULTI_SOC enum uniphier_soc_id uniphier_get_soc_type(void); #else static inline enum uniphier_soc_id uniphier_get_soc_type(void) { #if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD3) return SOC_UNIPHIER_PH1_SLD3; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_LD4) return SOC_UNIPHIER_PH1_LD4; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_PRO4) return SOC_UNIPHIER_PH1_PRO4; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD8) return SOC_UNIPHIER_PH1_SLD8; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_PRO5) return SOC_UNIPHIER_PH1_PRO5; #endif #if defined(CONFIG_ARCH_UNIPHIER_PROXSTREAM2) return SOC_UNIPHIER_PROXSTREAM2; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_LD6B) return SOC_UNIPHIER_PH1_LD6B; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD11) return SOC_UNIPHIER_PH1_SLD11; #endif #if defined(CONFIG_ARCH_UNIPHIER_PH1_LD10) return SOC_UNIPHIER_PH1_LD10; #endif return SOC_UNIPHIER_UNKNOWN; } #endif int uniphier_get_soc_model(void); int uniphier_get_soc_revision(void); #endif /* __MACH_SOC_INFO_H__ */