soc: samsung: chipid: Add exynos_chipid_read_bits() function 42/200142/4
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Wed, 30 Jan 2019 14:57:56 +0000 (15:57 +0100)
committerSylwester Nawrocki <s.nawrocki@samsung.com>
Wed, 27 Mar 2019 11:18:53 +0000 (12:18 +0100)
Add register read helper function needed by the ASV driver.

Change-Id: I90ec78cff58ac7ff424a50309e83d37605e7cbc7
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
drivers/soc/samsung/exynos-chipid.c
drivers/soc/samsung/exynos-chipid.h

index 4920f0ef2c559c546a1b9531e094d54224ad34f9..17d06d21bc6fc4bb84cd529b3ee1aa86f1908f70 100644 (file)
@@ -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;
index 826a12c25fa2d0997b2f2ac7145edf9313430aef..7545281205227205679bf66d23bf6a9c6addd393 100644 (file)
@@ -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);