summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/odm_kit/query
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2009-12-15 14:55:34 -0800
committerGary King <gking@nvidia.com>2009-12-15 19:50:26 -0800
commitb3a248722f4c4ca332ecb7e666012c842de65fd4 (patch)
tree242ddce9d7a41edcaf61bc617f8f60dee924eba5 /arch/arm/mach-tegra/odm_kit/query
parent49b630cca2d3cd555a86a5e78f8fa1891f099289 (diff)
harmony ODM: merge nvodm_query_secure.c and nvodm_query.c into one file
no need for both files in the kernel tree Change-Id: I9d0e9e1910be108915758234e861d2399fa873fd
Diffstat (limited to 'arch/arm/mach-tegra/odm_kit/query')
-rw-r--r--arch/arm/mach-tegra/odm_kit/query/harmony/Makefile5
-rw-r--r--arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c78
-rw-r--r--arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_secure.c144
3 files changed, 82 insertions, 145 deletions
diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/Makefile b/arch/arm/mach-tegra/odm_kit/query/harmony/Makefile
index fd797eddfaa1..bdc7cbfee77f 100644
--- a/arch/arm/mach-tegra/odm_kit/query/harmony/Makefile
+++ b/arch/arm/mach-tegra/odm_kit/query/harmony/Makefile
@@ -7,10 +7,13 @@ else
ccflags-y += -DNV_DEBUG=0
endif
+ccflags-y += -Iarch/arm/mach-tegra/odm_kit/adaptations
+ccflags-y += -Iarch/arm/mach-tegra/odm_kit/adaptations
+
obj-y += nvodm_query.o
obj-y += nvodm_query_discovery.o
obj-y += nvodm_query_nand.o
obj-y += nvodm_query_gpio.o
obj-y += nvodm_query_pinmux.o
obj-y += nvodm_query_kbc.o
-obj-y += nvodm_query_secure.o
+
diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c
index 8d789327907e..d19c4ff61b22 100644
--- a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c
+++ b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c
@@ -634,3 +634,81 @@ const NvOdmGpioWakeupSource *NvOdmQueryGetWakeupSources(NvU32 *pCount)
*pCount = 0;
return NULL;
}
+
+/**
+ * This function is called from early boot process.
+ * Therefore, it cannot use global variables.
+ */
+NvU32 NvOdmQueryMemSize(NvOdmMemoryType MemType)
+{
+ NvOdmOsOsInfo Info;
+ NvU32 MemBctCustOpt = GetBctKeyValue();
+
+ switch (MemType)
+ {
+ // NOTE:
+ // For Windows CE/WM operating systems the total size of SDRAM may
+ // need to be reduced due to limitations in the virtual address map.
+ // Under the legacy physical memory manager, Windows OSs have a
+ // maximum 512MB statically mapped virtual address space. Under the
+ // new physical memory manager, Windows OSs have a maximum 1GB
+ // statically mapped virtual address space. Out of that virtual
+ // address space, the upper 32 or 36 MB (depending upon the SOC)
+ // of the virtual address space is reserved for SOC register
+ // apertures.
+ //
+ // Refer to virtual_tables_apxx.arm for the reserved aperture list.
+ // If the cumulative size of the reserved apertures changes, the
+ // maximum size of SDRAM will also change.
+ case NvOdmMemoryType_Sdram:
+ switch (NV_DRF_VAL(TEGRA_DEVKIT, BCT_SYSTEM, MEMORY, MemBctCustOpt))
+ {
+ case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_256:
+ if ( NvOdmOsGetOsInformation(&Info) &&
+ ((Info.OsType!=NvOdmOsOs_Windows) ||
+ (Info.OsType==NvOdmOsOs_Windows && Info.MajorVersion>=7)) )
+ return 0x10000000;
+ else
+ return 0x0DD00000; // Legacy Physical Memory Manager: 256 MB - 35 MB
+
+ case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_1024:
+ if ( NvOdmOsGetOsInformation(&Info) &&
+ ((Info.OsType!=NvOdmOsOs_Windows) ||
+ (Info.OsType==NvOdmOsOs_Windows && Info.MajorVersion>=7)) )
+ return 0x40000000;
+ else
+ // Earlier versions of WinCE only support 512MB max memory size
+ return 0x1E000000; // Legacy Physical Memory Manager: 512 MB - 32 MB
+
+ case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_512:
+ case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_DEFAULT:
+ default:
+ if ( NvOdmOsGetOsInformation(&Info) &&
+ ((Info.OsType!=NvOdmOsOs_Windows) ||
+ (Info.OsType==NvOdmOsOs_Windows && Info.MajorVersion>=7)) )
+ return 0x20000000;
+ else
+ return 0x1E000000; // Legacy Physical Memory Manager: 512 MB - 32 MB
+ }
+
+ case NvOdmMemoryType_Nor:
+ return 0x00400000; // 4 MB
+
+ case NvOdmMemoryType_Nand:
+ case NvOdmMemoryType_I2CEeprom:
+ case NvOdmMemoryType_Hsmmc:
+ case NvOdmMemoryType_Mio:
+ default:
+ return 0;
+ }
+}
+
+NvU32 NvOdmQueryCarveoutSize(void)
+{
+ return 0x04000000; // 64 MB
+}
+
+NvU32 NvOdmQuerySecureRegionSize(void)
+{
+ return 0x00800000;// 8 MB
+}
diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_secure.c b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_secure.c
deleted file mode 100644
index 59d63267d97d..000000000000
--- a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_secure.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2009 NVIDIA Corporation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * Neither the name of the NVIDIA Corporation nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/**
- * @file
- * <b>NVIDIA APX ODM Kit:
- * Implementation of the ODM Query API</b>
- *
- * @b Description: Implements the query functions for ODMs that may be
- * accessed at boot-time, runtime, or anywhere in between.
- */
-
-#include "nvodm_query.h"
-#include "nvodm_services.h"
-#include "../tegra_devkit_custopt.h"
-#include "nvodm_keylist_reserved.h"
-#include "nvrm_drf.h"
-
-/* --- Function Implementations ---*/
-
-static NvU32
-GetBctKeyValue(void)
-{
- NvOdmServicesKeyListHandle hKeyList = NULL;
- NvU32 BctCustOpt = 0;
-
- hKeyList = NvOdmServicesKeyListOpen();
- if (hKeyList)
- {
- BctCustOpt =
- NvOdmServicesGetKeyValue(hKeyList,
- NvOdmKeyListId_ReservedBctCustomerOption);
- NvOdmServicesKeyListClose(hKeyList);
- }
-
- return BctCustOpt;
-}
-
-/**
- * This function is called from early boot process.
- * Therefore, it cannot use global variables.
- */
-NvU32 NvOdmQueryMemSize(NvOdmMemoryType MemType)
-{
- NvOdmOsOsInfo Info;
- NvU32 MemBctCustOpt = GetBctKeyValue();
-
- switch (MemType)
- {
- // NOTE:
- // For Windows CE/WM operating systems the total size of SDRAM may
- // need to be reduced due to limitations in the virtual address map.
- // Under the legacy physical memory manager, Windows OSs have a
- // maximum 512MB statically mapped virtual address space. Under the
- // new physical memory manager, Windows OSs have a maximum 1GB
- // statically mapped virtual address space. Out of that virtual
- // address space, the upper 32 or 36 MB (depending upon the SOC)
- // of the virtual address space is reserved for SOC register
- // apertures.
- //
- // Refer to virtual_tables_apxx.arm for the reserved aperture list.
- // If the cumulative size of the reserved apertures changes, the
- // maximum size of SDRAM will also change.
- case NvOdmMemoryType_Sdram:
- switch (NV_DRF_VAL(TEGRA_DEVKIT, BCT_SYSTEM, MEMORY, MemBctCustOpt))
- {
- case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_256:
- if ( NvOdmOsGetOsInformation(&Info) &&
- ((Info.OsType!=NvOdmOsOs_Windows) ||
- (Info.OsType==NvOdmOsOs_Windows && Info.MajorVersion>=7)) )
- return 0x10000000;
- else
- return 0x0DD00000; // Legacy Physical Memory Manager: 256 MB - 35 MB
-
- case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_1024:
- if ( NvOdmOsGetOsInformation(&Info) &&
- ((Info.OsType!=NvOdmOsOs_Windows) ||
- (Info.OsType==NvOdmOsOs_Windows && Info.MajorVersion>=7)) )
- return 0x40000000;
- else
- // Earlier versions of WinCE only support 512MB max memory size
- return 0x1E000000; // Legacy Physical Memory Manager: 512 MB - 32 MB
-
- case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_512:
- case TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_DEFAULT:
- default:
- if ( NvOdmOsGetOsInformation(&Info) &&
- ((Info.OsType!=NvOdmOsOs_Windows) ||
- (Info.OsType==NvOdmOsOs_Windows && Info.MajorVersion>=7)) )
- return 0x20000000;
- else
- return 0x1E000000; // Legacy Physical Memory Manager: 512 MB - 32 MB
- }
-
- case NvOdmMemoryType_Nor:
- return 0x00400000; // 4 MB
-
- case NvOdmMemoryType_Nand:
- case NvOdmMemoryType_I2CEeprom:
- case NvOdmMemoryType_Hsmmc:
- case NvOdmMemoryType_Mio:
- default:
- return 0;
- }
-}
-
-NvU32 NvOdmQueryCarveoutSize(void)
-{
- return 0x04000000; // 64 MB
-}
-
-NvU32 NvOdmQuerySecureRegionSize(void)
-{
- return 0x00800000;// 8 MB
-}