]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
Tegra194: organize the memory/mmio map to make it linear
authorVarun Wadekar <vwadekar@nvidia.com>
Tue, 23 Jan 2018 22:51:40 +0000 (14:51 -0800)
committerVarun Wadekar <vwadekar@nvidia.com>
Thu, 23 Jan 2020 17:02:12 +0000 (09:02 -0800)
This patch organizes the platform memory/mmio map, so that the base
addresses for the apertures line up in ascending order. This makes
it easier for the xlat_tables_v2 library to create mappings for each
mmap_add_region call.

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

index 6eb58b970ada82997947642f34611e54c09b7fe3..9737a29419b068344f5ee6c47207372485bc5b80 100644 (file)
 #define TEGRA_UARTF_BASE               U(0x03150000)
 #define TEGRA_UARTG_BASE               U(0x0C290000)
 
+/*******************************************************************************
+ * XUSB PADCTL
+ ******************************************************************************/
+#define TEGRA_XUSB_PADCTL_BASE                 U(0x03520000)
+#define TEGRA_XUSB_PADCTL_SIZE                 U(0x10000)
+#define XUSB_PADCTL_HOST_AXI_STREAMID_PF_0     U(0x136c)
+#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_0     U(0x1370)
+#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_1     U(0x1374)
+#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_2     U(0x1378)
+#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_3     U(0x137c)
+#define XUSB_PADCTL_DEV_AXI_STREAMID_PF_0      U(0x139c)
+
 /*******************************************************************************
  * Tegra Fuse Controller related constants
  ******************************************************************************/
 /*******************************************************************************
  * Tegra HSP doorbell #0 constants
  ******************************************************************************/
-#define TEGRA_HSP_DBELL_BASE        U(0x03C90000)
-#define  HSP_DBELL_1_ENABLE         U(0x104)
-#define  HSP_DBELL_3_TRIGGER        U(0x300)
-#define  HSP_DBELL_3_ENABLE         U(0x304)
+#define TEGRA_HSP_DBELL_BASE           U(0x03C90000)
+#define  HSP_DBELL_1_ENABLE            U(0x104)
+#define  HSP_DBELL_3_TRIGGER           U(0x300)
+#define  HSP_DBELL_3_ENABLE            U(0x304)
 
 /*******************************************************************************
  * Tegra hardware synchronization primitives for the SPE engine
 #define  GPU_RESET_BIT                 (U(1) << 0)
 #define  GPU_SET_BIT                   (U(1) << 0)
 
-/*******************************************************************************
- * XUSB PADCTL
- ******************************************************************************/
-#define TEGRA_XUSB_PADCTL_BASE                 U(0x3520000)
-#define TEGRA_XUSB_PADCTL_SIZE                 U(0x10000)
-#define XUSB_PADCTL_HOST_AXI_STREAMID_PF_0     U(0x136c)
-#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_0     U(0x1370)
-#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_1     U(0x1374)
-#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_2     U(0x1378)
-#define XUSB_PADCTL_HOST_AXI_STREAMID_VF_3     U(0x137c)
-#define XUSB_PADCTL_DEV_AXI_STREAMID_PF_0      U(0x139c)
-
 /*******************************************************************************
  * XUSB STREAMIDs
  ******************************************************************************/
index ead6bf552ae7f3f5727bd6f9dc91e45443c5d16d..d4918d2e261c438b52043afb915f3899cc293b76 100644 (file)
@@ -64,13 +64,13 @@ const uint8_t *plat_get_power_domain_tree_desc(void)
  * Table of regions to map using the MMU.
  */
 static const mmap_region_t tegra_mmap[] = {
-       MAP_REGION_FLAT(TEGRA_MISC_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_MISC_BASE, 0x4000U, /* 16KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
        MAP_REGION_FLAT(TEGRA_TSA_BASE, 0x20000U, /* 128KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_MC_STREAMID_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_MC_STREAMID_BASE, 0x8000U, /* 32KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_MC_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_MC_BASE, 0x8000U, /* 32KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
 #if !ENABLE_CONSOLE_SPE
        MAP_REGION_FLAT(TEGRA_UARTA_BASE, 0x20000U, /* 128KB - UART A, B*/
@@ -80,39 +80,37 @@ static const mmap_region_t tegra_mmap[] = {
        MAP_REGION_FLAT(TEGRA_UARTD_BASE, 0x30000U, /* 192KB - UART D, E, F */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
 #endif
-       MAP_REGION_FLAT(TEGRA_FUSE_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_XUSB_PADCTL_BASE, 0x2000U, /* 8KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_GICD_BASE, 0x20000U, /* 128KB */
+       MAP_REGION_FLAT(TEGRA_GICD_BASE, 0x1000, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_SE0_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_GICC_BASE, 0x1000, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_HSP_DBELL_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_SE0_BASE, 0x1000U, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_PKA1_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_PKA1_BASE, 0x1000U, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_RNG1_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_RNG1_BASE, 0x1000U, /* 4KB */
+                       (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
+       MAP_REGION_FLAT(TEGRA_HSP_DBELL_BASE, 0x1000U, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
 #if ENABLE_CONSOLE_SPE
-       MAP_REGION_FLAT(TEGRA_AON_HSP_SM_6_7_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_CONSOLE_SPE_BASE, 0x1000U, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
 #endif
-       MAP_REGION_FLAT(TEGRA_BPMP_IPC_TX_PHYS_BASE, 0x10000U, /* 64KB */
-                       (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_CAR_RESET_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_TMRUS_BASE, TEGRA_TMRUS_SIZE, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_PMC_BASE, 0x40000U, /* 256KB */
+       MAP_REGION_FLAT(TEGRA_SCRATCH_BASE, 0x1000U, /* 4KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_SCRATCH_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_SMMU2_BASE, 0x800000U, /* 8MB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_MMCRAB_BASE, 0x60000U, /* 384KB */
+       MAP_REGION_FLAT(TEGRA_SMMU1_BASE, 0x800000U, /* 8MB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_SMMU0_BASE, 0x1000000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_SMMU0_BASE, 0x800000U, /* 8MB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_SMMU1_BASE, 0x1000000U, /* 64KB */
-                       (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_SMMU2_BASE, 0x1000000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_BPMP_IPC_TX_PHYS_BASE, 0x10000U, /* 64KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
-       MAP_REGION_FLAT(TEGRA_XUSB_PADCTL_BASE, 0x10000U, /* 64KB */
+       MAP_REGION_FLAT(TEGRA_CAR_RESET_BASE, 0x10000U, /* 64KB */
                        (uint8_t)MT_DEVICE | (uint8_t)MT_RW | (uint8_t)MT_SECURE),
        {0}
 };