From: Sylwester Nawrocki Date: Wed, 30 Jan 2019 14:57:56 +0000 (+0100) Subject: soc: samsung: chipid: Add exynos_chipid_read_bits() function X-Git-Tag: submit/tizen/20190329.020226~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F42%2F200142%2F4;p=platform%2Fkernel%2Flinux-exynos.git 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 --- 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);