diff options
author | Gary King <gking@nvidia.com> | 2009-12-15 14:55:34 -0800 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2009-12-15 19:50:26 -0800 |
commit | b3a248722f4c4ca332ecb7e666012c842de65fd4 (patch) | |
tree | 242ddce9d7a41edcaf61bc617f8f60dee924eba5 /arch | |
parent | 49b630cca2d3cd555a86a5e78f8fa1891f099289 (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')
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 -} |