diff mbox

[U-Boot,1/7] ARM: uniphier: add functions to get SoC model/revision

Message ID 1450342067-24669-2-git-send-email-yamada.masahiro@socionext.com
State Accepted
Delegated to: Masahiro Yamada
Headers show

Commit Message

Masahiro Yamada Dec. 17, 2015, 8:47 a.m. UTC
We sometimes have to implement different code depending on the SoC
revision.  This commit adds functions to get the model/revision
number.

Note:
  Model number: incremented on major changes of the SoC
  Revision number: incremented on minor changes of the SoC

The "Model 2" exists for PH1-sLD3, ProXstream2/PH1-LD6b.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 arch/arm/mach-uniphier/include/mach/soc_info.h |  3 +++
 arch/arm/mach-uniphier/soc_info.c              | 12 ++++++++++++
 2 files changed, 15 insertions(+)
diff mbox

Patch

diff --git a/arch/arm/mach-uniphier/include/mach/soc_info.h b/arch/arm/mach-uniphier/include/mach/soc_info.h
index 623e7ef..6e25baa 100644
--- a/arch/arm/mach-uniphier/include/mach/soc_info.h
+++ b/arch/arm/mach-uniphier/include/mach/soc_info.h
@@ -60,4 +60,7 @@  static inline enum uniphier_soc_id uniphier_get_soc_type(void)
 }
 #endif
 
+int uniphier_get_soc_model(void);
+int uniphier_get_soc_revision(void);
+
 #endif /* __MACH_SOC_INFO_H__ */
diff --git a/arch/arm/mach-uniphier/soc_info.c b/arch/arm/mach-uniphier/soc_info.c
index 3e8e7f4..a4010eb 100644
--- a/arch/arm/mach-uniphier/soc_info.c
+++ b/arch/arm/mach-uniphier/soc_info.c
@@ -59,3 +59,15 @@  enum uniphier_soc_id uniphier_get_soc_type(void)
 	return ret;
 }
 #endif
+
+int uniphier_get_soc_model(void)
+{
+	return (readl(SG_REVISION) & SG_REVISION_MODEL_MASK) >>
+						SG_REVISION_MODEL_SHIFT;
+}
+
+int uniphier_get_soc_revision(void)
+{
+	return (readl(SG_REVISION) & SG_REVISION_REV_MASK) >>
+						SG_REVISION_REV_SHIFT;
+}