1 /** @file 2 3 Copyright (c) 2011, ARM Limited. All rights reserved. 4 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __ARM_CORTEX_A9_H__ 16 #define __ARM_CORTEX_A9_H__ 17 18 #include <Chipset/ArmV7.h> 19 20 // 21 // Cortex A9 feature bit definitions 22 // 23 #define A9_FEATURE_PARITY (1<<9) 24 #define A9_FEATURE_AOW (1<<8) 25 #define A9_FEATURE_EXCL (1<<7) 26 #define A9_FEATURE_SMP (1<<6) 27 #define A9_FEATURE_FOZ (1<<3) 28 #define A9_FEATURE_DPREF (1<<2) 29 #define A9_FEATURE_HINT (1<<1) 30 #define A9_FEATURE_FWD (1<<0) 31 32 // 33 // Cortex A9 Watchdog 34 // 35 #define ARM_A9_WATCHDOG_REGION 0x600 36 37 #define ARM_A9_WATCHDOG_LOAD_REGISTER 0x20 38 #define ARM_A9_WATCHDOG_CONTROL_REGISTER 0x28 39 40 #define ARM_A9_WATCHDOG_WATCHDOG_MODE (1 << 3) 41 #define ARM_A9_WATCHDOG_TIMER_MODE (0 << 3) 42 #define ARM_A9_WATCHDOG_SINGLE_SHOT (0 << 1) 43 #define ARM_A9_WATCHDOG_AUTORELOAD (1 << 1) 44 #define ARM_A9_WATCHDOG_ENABLE 1 45 46 // 47 // SCU register offsets & masks 48 // 49 #define A9_SCU_CONTROL_OFFSET 0x0 50 #define A9_SCU_CONFIG_OFFSET 0x4 51 #define A9_SCU_INVALL_OFFSET 0xC 52 #define A9_SCU_FILT_START_OFFSET 0x40 53 #define A9_SCU_FILT_END_OFFSET 0x44 54 #define A9_SCU_SACR_OFFSET 0x50 55 #define A9_SCU_SSACR_OFFSET 0x54 56 57 58 UINTN 59 EFIAPI 60 ArmGetScuBaseAddress ( 61 VOID 62 ); 63 64 #endif 65 66