u-boot-brain/arch/arm/mach-uniphier/soc-info.c
Masahiro Yamada 351b74cb6d ARM: uniphier: use FIELD_GET() to get access to revision register fields
Define register fields as macros, and use FIELD_GET().

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2020-08-18 02:01:14 +09:00

34 lines
670 B
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2017 Socionext Inc.
* 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"
unsigned int uniphier_get_soc_id(void)
{
u32 rev = readl(sg_base + SG_REVISION);
return FIELD_GET(SG_REVISION_TYPE_MASK, rev);
}
unsigned int uniphier_get_soc_model(void)
{
u32 rev = readl(sg_base + SG_REVISION);
return FIELD_GET(SG_REVISION_MODEL_MASK, rev);
}
unsigned int uniphier_get_soc_revision(void)
{
u32 rev = readl(sg_base + SG_REVISION);
return FIELD_GET(SG_REVISION_REV_MASK, rev);
}