X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=arch%2Farm%2Fmach-uniphier%2Fsoc-info.h;h=04732527a75e5d53dac95dc8d32c949eb27b776a;hb=fed9c76641b02ccbda4119d1bee34767c8729107;hp=b528fa96bd9fb19757b278199acef5875ddf8874;hpb=e27d6c7d328caf75bd7680109bc6610bc681f46e;p=oweals%2Fu-boot.git diff --git a/arch/arm/mach-uniphier/soc-info.h b/arch/arm/mach-uniphier/soc-info.h index b528fa96bd..04732527a7 100644 --- a/arch/arm/mach-uniphier/soc-info.h +++ b/arch/arm/mach-uniphier/soc-info.h @@ -8,6 +8,9 @@ #ifndef __UNIPHIER_SOC_INFO_H__ #define __UNIPHIER_SOC_INFO_H__ +#include +#include + #define UNIPHIER_SLD3_ID 0x25 #define UNIPHIER_LD4_ID 0x26 #define UNIPHIER_PRO4_ID 0x28 @@ -17,9 +20,25 @@ #define UNIPHIER_LD6B_ID 0x2f #define UNIPHIER_LD11_ID 0x31 #define UNIPHIER_LD20_ID 0x32 +#define UNIPHIER_PXS3_ID 0x35 unsigned int uniphier_get_soc_id(void); unsigned int uniphier_get_soc_model(void); unsigned int uniphier_get_soc_revision(void); +#define UNIPHIER_DEFINE_SOCDATA_FUNC(__func_name, __table) \ +static typeof(&__table[0]) __func_name(void) \ +{ \ + unsigned int soc_id; \ + int i; \ + \ + soc_id = uniphier_get_soc_id(); \ + for (i = 0; i < ARRAY_SIZE(__table); i++) { \ + if (__table[i].soc_id == soc_id) \ + return &__table[i]; \ + } \ + \ + return NULL; \ +} + #endif /* __UNIPHIER_SOC_INFO_H__ */