summaryrefslogtreecommitdiff
path: root/arch/arm/mach-uniphier/soc-info.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-08-18 21:28:49 -0400
committerTom Rini <trini@konsulko.com>2020-08-18 21:28:49 -0400
commitba989cf1cac82f10efc749aaf2aaff1694894e71 (patch)
treeec4b3458d9d022cceab590c91a9bf5a80f488947 /arch/arm/mach-uniphier/soc-info.c
parent789bfb52668ee609b2043de645e2f94bbd24fd1f (diff)
parent65282edbdf2f30e97c1680e856e6e9fb7af26f8b (diff)
downloadu-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.c21
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);
}