blob: f374112a11b73eba76978e1f06b42181a6ca1d47 [file] [log] [blame]
/** @file
*
* Copyright (c) 2015, Hisilicon Limited. All rights reserved.
* Copyright (c) 2015, Linaro Limited. All rights reserved.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD License
* which accompanies this distribution. The full text of the license may be found at
* http://opensource.org/licenses/bsd-license.php
*
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
*
**/
#ifndef _PLATFORM_SYS_CTRL_LIB_H_
#define _PLATFORM_SYS_CTRL_LIB_H_
#define PACKAGE_16CORE 0
#define PACKAGE_32CORE 1
#define PACKAGE_RESERVED 2
#define PACKAGE_TYPE_NUM 3
UINT32 PlatformGetPackageType (VOID);
VOID DisplayCpuInfo (VOID);
UINT32 CheckChipIsEc(VOID);
UINTN PlatformGetPll (UINT32 NodeId, UINTN Pll);
#define DJTAG_READ_INVALID_VALUE 0xFFFFFFFF
#define DJTAG_CHAIN_ID_AA 1
#define DJTAG_CHAIN_ID_LLC 4
#define SC_DJTAG_MSTR_EN_OFFSET 0x6800
#define SC_DJTAG_MSTR_START_EN_OFFSET 0x6804
#define SC_DJTAG_SEC_ACC_EN_OFFSET 0x6808
#define SC_DJTAG_DEBUG_MODULE_SEL_OFFSET 0x680C
#define SC_DJTAG_MSTR_WR_OFFSET 0x6810
#define SC_DJTAG_CHAIN_UNIT_CFG_EN_OFFSET 0x6814
#define SC_DJTAG_MSTR_ADDR_OFFSET 0x6818
#define SC_DJTAG_MSTR_DATA_OFFSET 0x681C
#define SC_DJTAG_TMOUT_OFFSET 0x6820
#define SC_TDRE_OP_ADDR_OFFSET 0x6824
#define SC_TDRE_WDATA_OFFSET 0x6828
#define SC_TDRE_REPAIR_EN_OFFSET 0x682C
#define SC_DJTAG_RD_DATA0_OFFSET 0xE800
#define SC_TDRE_RDATA0_OFFSET 0xE830
UINTN PlatformGetI2cBase(UINT32 Socket,UINT8 Port);
VOID PlatformAddressMapCleanUp (VOID);
VOID PlatformDisableDdrWindow (VOID);
VOID PlatformEnableArchTimer (VOID);
EFI_STATUS
DawFindFreeWindow (UINTN Socket, UINTN *DawIndex);
VOID DawSetWindow (UINTN Socket, UINTN WindowIndex, UINT32 Value);
VOID DJTAG_TDRE_WRITE(UINT32 Offset, UINT32 Value, UINT32 ChainID, UINT32 NodeId, BOOLEAN Repair);
UINT32 DJTAG_TDRE_READ(UINT32 Offset, UINT32 ChainID, UINT32 NodeId, BOOLEAN Repair);
VOID RemoveRoceReset(VOID);
UINTN PlatformGetDdrChannel (VOID);
VOID ITSCONFIG (VOID);
VOID MN_CONFIG (VOID);
VOID SmmuConfigForOS (VOID);
VOID SmmuConfigForBios (VOID);
VOID StartupAp (VOID);
VOID LlcCleanInvalidate (VOID);
UINTN PlatformGetCpuFreq (UINT8 Socket);
VOID ClearInterruptStatus(VOID);
UINTN PlatformGetCoreCount (VOID);
VOID DAWConfigEn(UINT32 socket);
VOID DResetUsb ();
UINT32 PlatformGetEhciBase ();
UINT32 PlatformGetOhciBase ();
VOID PlatformPllInit();
VOID PlatformDeviceDReset();
VOID PlatformGicdInit();
VOID PlatformLpcInit();
#endif