Tegra186: use helper functions to get major/minor version
authorVarun Wadekar <vwadekar@nvidia.com>
Tue, 19 Jul 2016 18:29:40 +0000 (11:29 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Thu, 30 Mar 2017 23:49:05 +0000 (16:49 -0700)
This patch uses helper functions to read the chips's major and minor
version values.

Change-Id: I5b2530a31af5ab3778a8aa63380def4e9f9ee6ec
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
plat/nvidia/tegra/include/t186/tegra_def.h
plat/nvidia/tegra/soc/t186/plat_setup.c

index 9a5d8a511da3bbbaa28db76d0fef1437e648454a..e0eddfd348e8e687ab2ab57c8b1ad4e3746b6759 100644 (file)
  ******************************************************************************/
 #define TEGRA_MISC_BASE                        0x00100000
 #define  HARDWARE_REVISION_OFFSET      0x4
-#define  MAJOR_VERSION_SHIFT           0x4
-#define  MAJOR_VERSION_MASK            0xF
-#define  MINOR_VERSION_SHIFT           0x10
-#define  MINOR_VERSION_MASK            0xF
 
 #define  MISCREG_PFCFG                 0x200C
 
index 16b20f5e58155df5c780cc3c28921061ac7f880e..e848eabb7e737667463ed6ebfd71b929204207bb 100644 (file)
@@ -42,6 +42,7 @@
 #include <mce.h>
 #include <platform.h>
 #include <tegra_def.h>
+#include <tegra_platform.h>
 #include <tegra_private.h>
 #include <xlat_tables.h>
 
@@ -162,7 +163,7 @@ uint32_t plat_get_console_from_id(int id)
 void plat_early_platform_setup(void)
 {
        int impl = (read_midr() >> MIDR_IMPL_SHIFT) & MIDR_IMPL_MASK;
-       uint32_t chip_minor, chip_major, chip_subrev, val;
+       uint32_t chip_subrev, val;
 
        /* sanity check MCE firmware compatibility */
        mce_verify_firmware_version();
@@ -174,17 +175,13 @@ void plat_early_platform_setup(void)
        if (impl != DENVER_IMPL) {
 
                /* get the major, minor and sub-version values */
-               chip_major = (mmio_read_32(TEGRA_MISC_BASE +
-                             HARDWARE_REVISION_OFFSET) >>
-                             MAJOR_VERSION_SHIFT) & MAJOR_VERSION_MASK;
-               chip_minor = (mmio_read_32(TEGRA_MISC_BASE +
-                             HARDWARE_REVISION_OFFSET) >>
-                             MINOR_VERSION_SHIFT) & MINOR_VERSION_MASK;
                chip_subrev = mmio_read_32(TEGRA_FUSE_BASE + OPT_SUBREVISION) &
                              SUBREVISION_MASK;
 
                /* prepare chip version number */
-               val = (chip_major << 12) | (chip_minor << 8) | chip_subrev;
+               val = (tegra_get_chipid_major() << 12) |
+                     (tegra_get_chipid_minor() << 8) |
+                      chip_subrev;
 
                /* enable L2 ECC for Tegra186 A02P and beyond */
                if (val >= TEGRA186_VER_A02P) {