From 8e1f8520a89e44763a3683ae1965e1db1e4c4318 Mon Sep 17 00:00:00 2001 From: Sylwester Nawrocki Date: Wed, 30 Jan 2019 15:57:56 +0100 Subject: [PATCH] soc: samsung: chipid: Add exynos_chipid_read_bits() function Add register read helper function needed by the ASV driver. Change-Id: I90ec78cff58ac7ff424a50309e83d37605e7cbc7 Signed-off-by: Sylwester Nawrocki --- drivers/soc/samsung/exynos-chipid.c | 6 ++++++ drivers/soc/samsung/exynos-chipid.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c index 4920f0ef2c55..17d06d21bc6f 100644 --- a/drivers/soc/samsung/exynos-chipid.c +++ b/drivers/soc/samsung/exynos-chipid.c @@ -44,6 +44,12 @@ unsigned int exynos_chipid_read(unsigned int offset) return readl_relaxed(exynos_chipid_base + offset); } +unsigned int exynos_chipid_read_bits(unsigned int offset, unsigned int shift, + unsigned int mask) +{ + return (readl_relaxed(exynos_chipid_base + offset) >> shift) & mask; +} + static const char * __init product_id_to_soc_id(unsigned int product_id) { int i; diff --git a/drivers/soc/samsung/exynos-chipid.h b/drivers/soc/samsung/exynos-chipid.h index 826a12c25fa2..754528120522 100644 --- a/drivers/soc/samsung/exynos-chipid.h +++ b/drivers/soc/samsung/exynos-chipid.h @@ -46,3 +46,5 @@ #define EXYNOS5422_KFC_DN_MASK 0x03 unsigned int exynos_chipid_read(unsigned int offset); +unsigned int exynos_chipid_read_bits(unsigned int offset, unsigned int shift, + unsigned int mask); -- 2.34.1