Tegra: memmap Tegra micro-seconds timer controller
authorSteven Kao <skao@nvidia.com>
Fri, 23 Dec 2016 08:05:13 +0000 (16:05 +0800)
committerVarun Wadekar <vwadekar@nvidia.com>
Mon, 1 May 2017 22:28:44 +0000 (15:28 -0700)
This patch adds the Tegra micro-seconds controller to the
memory map. This allows us to use the delay_timer functionality.

Change-Id: Ia8b148a871949bfede539974cacbe0e93ec7e77c
Signed-off-by: Steven Kao <skao@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
plat/nvidia/tegra/common/tegra_bl31_setup.c
plat/nvidia/tegra/include/t132/tegra_def.h
plat/nvidia/tegra/include/t186/tegra_def.h
plat/nvidia/tegra/include/t210/tegra_def.h
plat/nvidia/tegra/soc/t210/platform_t210.mk

index a61146d03ba478f7b1b4235b181eb1faeca574cd..ffaa0ba3f18e053e40f55f65d0aa92ce927439f9 100644 (file)
@@ -354,6 +354,12 @@ void bl31_plat_arch_setup(void)
                        MT_DEVICE | MT_RW | MT_SECURE);
 #endif
 
+       /* map on-chip free running uS timer */
+       mmap_add_region(page_align((uint64_t)TEGRA_TMRUS_BASE, 0),
+                       page_align((uint64_t)TEGRA_TMRUS_BASE, 0),
+                       (uint64_t)TEGRA_TMRUS_SIZE,
+                       MT_DEVICE | MT_RO | MT_SECURE);
+
        /* add MMIO space */
        plat_mmio_map = plat_get_mmio_map();
        if (plat_mmio_map)
index 4ba4f12c5e76e71f479bfaa847d6697d52665abd..e488bd87cd1eb5470a00b6e43a381cedead365c8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -58,6 +58,7 @@
  * Tegra micro-seconds timer constants
  ******************************************************************************/
 #define TEGRA_TMRUS_BASE               0x60005010
+#define TEGRA_TMRUS_SIZE               0x1000
 
 /*******************************************************************************
  * Tegra Clock and Reset Controller constants
index ae11d2810418c6313b51d0c15cdc68bb9683f683..6693cb3ae6daa9a35aab603bf02f604815129757 100644 (file)
  * Tegra micro-seconds timer constants
  ******************************************************************************/
 #define TEGRA_TMRUS_BASE               0x0C2E0000
+#define TEGRA_TMRUS_SIZE               0x1000
 
 /*******************************************************************************
  * Tegra Power Mgmt Controller constants
index 0961355143a13c915812305f24b5486cc02de081..d8ad10c880dc58323a5764f23dff34bbc18aad34 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -83,6 +83,7 @@
  * Tegra micro-seconds timer constants
  ******************************************************************************/
 #define TEGRA_TMRUS_BASE               0x60005010
+#define TEGRA_TMRUS_SIZE               0x1000
 
 /*******************************************************************************
  * Tegra Clock and Reset Controller constants
index 89468692bcc3bdc81001569bb7cc36a6daf04308..cd26e6e8d2eb241249c79206426a690fc4f5de65 100644 (file)
@@ -40,7 +40,7 @@ $(eval $(call add_define,PLATFORM_CLUSTER_COUNT))
 PLATFORM_MAX_CPUS_PER_CLUSTER          := 4
 $(eval $(call add_define,PLATFORM_MAX_CPUS_PER_CLUSTER))
 
-MAX_XLAT_TABLES                                := 3
+MAX_XLAT_TABLES                                := 4
 $(eval $(call add_define,MAX_XLAT_TABLES))
 
 MAX_MMAP_REGIONS                       := 8