diff options
author | Tom Rini <trini@konsulko.com> | 2020-08-18 21:28:49 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-08-18 21:28:49 -0400 |
commit | ba989cf1cac82f10efc749aaf2aaff1694894e71 (patch) | |
tree | ec4b3458d9d022cceab590c91a9bf5a80f488947 /arch/arm/mach-uniphier/soc-info.c | |
parent | 789bfb52668ee609b2043de645e2f94bbd24fd1f (diff) | |
parent | 65282edbdf2f30e97c1680e856e6e9fb7af26f8b (diff) | |
download | u-boot-ba989cf1cac82f10efc749aaf2aaff1694894e71.tar.gz |
Merge tag 'uniphier-v2020.10-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-uniphierWIP/18Aug2020
UniPhier SoC updates for v2020.10 (2nd)
- minor code cleanups
- sync DT with Linux
Diffstat (limited to 'arch/arm/mach-uniphier/soc-info.c')
-rw-r--r-- | arch/arm/mach-uniphier/soc-info.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/arch/arm/mach-uniphier/soc-info.c b/arch/arm/mach-uniphier/soc-info.c index f021a8cab3..b0221016d1 100644 --- a/arch/arm/mach-uniphier/soc-info.c +++ b/arch/arm/mach-uniphier/soc-info.c @@ -4,31 +4,30 @@ * Author: Masahiro Yamada <yamada.masahiro@socionext.com> */ +#include <linux/bitfield.h> #include <linux/io.h> #include <linux/types.h> #include "sg-regs.h" #include "soc-info.h" -static unsigned int __uniphier_get_revision_field(unsigned int mask, - unsigned int shift) -{ - u32 revision = readl(sg_base + SG_REVISION); - - return (revision >> shift) & mask; -} - unsigned int uniphier_get_soc_id(void) { - return __uniphier_get_revision_field(0xff, 16); + u32 rev = readl(sg_base + SG_REVISION); + + return FIELD_GET(SG_REVISION_TYPE_MASK, rev); } unsigned int uniphier_get_soc_model(void) { - return __uniphier_get_revision_field(0x7, 8); + u32 rev = readl(sg_base + SG_REVISION); + + return FIELD_GET(SG_REVISION_MODEL_MASK, rev); } unsigned int uniphier_get_soc_revision(void) { - return __uniphier_get_revision_field(0x1f, 0); + u32 rev = readl(sg_base + SG_REVISION); + + return FIELD_GET(SG_REVISION_REV_MASK, rev); } |