public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ming Huang <ming.huang@linaro.org>
To: leif.lindholm@linaro.org, linaro-uefi@lists.linaro.org,
	edk2-devel@lists.01.org, graeme.gregory@linaro.org
Cc: ard.biesheuvel@linaro.org, michael.d.kinney@intel.com,
	lersek@redhat.com, wanghuiqiang@huawei.com,
	huangming23@huawei.com, zhangjinsong2@huawei.com,
	huangdaode@hisilicon.com, john.garry@huawei.com,
	zhangfeng56@huawei.com, xiaojun2@hisilicon.com,
	xingjiang tang <tangxingjiang@huawei.com>,
	Ming Huang <ming.huang@linaro.org>
Subject: [PATCH edk2-platforms v2 06/18] Hisilicon/D06: Add OemGetCpuFreq to encapsulate difference
Date: Wed, 20 Feb 2019 15:28:25 +0800	[thread overview]
Message-ID: <20190220072837.35058-7-ming.huang@linaro.org> (raw)
In-Reply-To: <20190220072837.35058-1-ming.huang@linaro.org>

From: xingjiang tang <tangxingjiang@huawei.com>

Implementation OemGetCpuFreq() to get cpu frequency from cpld to
encapsulate project difference, for some projects don't support
get cpu frequency by this way.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <ming.huang@linaro.org>
---
 Platform/Hisilicon/D06/Include/Library/CpldD06.h             |  4 ++++
 Silicon/Hisilicon/Include/Library/OemMiscLib.h               |  2 ++
 Platform/Hisilicon/D06/Library/OemMiscLibD06/OemMiscLibD06.c | 16 ++++++++++++++++
 3 files changed, 22 insertions(+)

diff --git a/Platform/Hisilicon/D06/Include/Library/CpldD06.h b/Platform/Hisilicon/D06/Include/Library/CpldD06.h
index ec9b49f4e70d..8eb333de529c 100644
--- a/Platform/Hisilicon/D06/Include/Library/CpldD06.h
+++ b/Platform/Hisilicon/D06/Include/Library/CpldD06.h
@@ -36,4 +36,8 @@
 #define CPLD_X8_X8_X8_BOARD_ID            0x92
 #define CPLD_X16_X8_BOARD_ID              0x93
 
+#define CPLD_CLOCK_FLAG      0xFD
+#define CPLD_BOM_VER_FLAG    0x0B
+#define CPLD_BOARD_REVISION_4TH           0x4
+
 #endif /* __CPLDD06_H__ */
diff --git a/Silicon/Hisilicon/Include/Library/OemMiscLib.h b/Silicon/Hisilicon/Include/Library/OemMiscLib.h
index 86ea6a1b3deb..dfac87d635d9 100644
--- a/Silicon/Hisilicon/Include/Library/OemMiscLib.h
+++ b/Silicon/Hisilicon/Include/Library/OemMiscLib.h
@@ -53,4 +53,6 @@ BOOLEAN OemIsNeedDisableExpanderBuffer(VOID);
 
 extern EFI_STRING_ID gDimmToDevLocator[MAX_SOCKET][MAX_CHANNEL][MAX_DIMM];
 EFI_HII_HANDLE EFIAPI OemGetPackages ();
+UINTN OemGetCpuFreq (UINT8 Socket);
+
 #endif
diff --git a/Platform/Hisilicon/D06/Library/OemMiscLibD06/OemMiscLibD06.c b/Platform/Hisilicon/D06/Library/OemMiscLibD06/OemMiscLibD06.c
index 2a9db46d1ff9..624fa33d2e14 100644
--- a/Platform/Hisilicon/D06/Library/OemMiscLibD06/OemMiscLibD06.c
+++ b/Platform/Hisilicon/D06/Library/OemMiscLibD06/OemMiscLibD06.c
@@ -207,3 +207,19 @@ OemIsNeedDisableExpanderBuffer (
 {
   return TRUE;
 }
+
+UINTN OemGetCpuFreq (UINT8 Socket)
+{
+  UINT8 BoardRevision;
+
+  BoardRevision = MmioRead8 (CPLD_BASE_ADDRESS + CPLD_BOM_VER_FLAG);
+
+  // Board revision 4 and higher run at 2.5GHz
+  // Earlier revisions run at 2GHz
+  if (BoardRevision >= CPLD_BOARD_REVISION_4TH) {
+    return 2500000000;
+  } else {
+    return 2000000000;
+  }
+}
+
-- 
2.9.5



  parent reply	other threads:[~2019-02-20  7:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-20  7:28 [PATCH edk2-platforms v2 00/18] Fix issues and improve D0x Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 01/18] Hisilicon/D0x: Add DriverHealthManagerDxe Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 02/18] Hisilicon/D06: Optimize SAS driver for reducing boot time Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 03/18] Hisilicon/D06: Fix access variable fail issue Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 04/18] Hisilicon/D06: Drop the leading 0 (0x0 -> 0x) Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 05/18] Hisilicon/D06: Add more PCIe port INT-x support Ming Huang
2019-02-20  7:28 ` Ming Huang [this message]
2019-02-20  7:28 ` [PATCH edk2-platforms v2 07/18] Hisilicon/D0x: Rename StartupAp() function Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 08/18] Hisilicon/D06: Use HCCS speed with 2.6G Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 09/18] Hisilicon/D06: Add PCI_OSC_SUPPORT Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 10/18] Hisilicon/D06: Modify for IMP self-Adapte support Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 11/18] Hisilicon/D06: Add Setup Item "Support DPC" and delete some PCIe menus Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 12/18] Hisilicon/D06: Use new flash layout Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 13/18] Hisilicon/D06: Remove SECURE_BOOT_ENABLE definition Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 14/18] Hisilicon/D0x: Remove SP805 watchdog pcd Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 15/18] Hisilicon/D06: Fix USB crash issue(4079) Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 16/18] Hisilicon/D0x: Remove and tidy some codes about SerdesLib Ming Huang
2019-02-20  7:28 ` [PATCH edk2-platforms v2 17/18] Hisilicon/D0x: Delete some header files Ming Huang
2019-02-20 17:24   ` Leif Lindholm
2019-02-20  7:28 ` [PATCH edk2-platforms v2 18/18] Hisilicon/D0x: Modify version to 19.02 Ming Huang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190220072837.35058-7-ming.huang@linaro.org \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox