1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park #ifndef SP805_H 8*54fd6939SJiyong Park #define SP805_H 9*54fd6939SJiyong Park 10*54fd6939SJiyong Park #include <lib/utils_def.h> 11*54fd6939SJiyong Park 12*54fd6939SJiyong Park /* SP805 register offset */ 13*54fd6939SJiyong Park #define SP805_WDOG_LOAD_OFF UL(0x000) 14*54fd6939SJiyong Park #define SP805_WDOG_CTR_OFF UL(0x008) 15*54fd6939SJiyong Park #define SP805_WDOG_LOCK_OFF UL(0xc00) 16*54fd6939SJiyong Park 17*54fd6939SJiyong Park /* Magic word to unlock the wd registers */ 18*54fd6939SJiyong Park #define WDOG_UNLOCK_KEY U(0x1ACCE551) 19*54fd6939SJiyong Park 20*54fd6939SJiyong Park /* Register field definitions */ 21*54fd6939SJiyong Park #define SP805_CTR_RESEN (U(1) << 1) 22*54fd6939SJiyong Park #define SP805_CTR_INTEN (U(1) << 0) 23*54fd6939SJiyong Park 24*54fd6939SJiyong Park #ifndef __ASSEMBLER__ 25*54fd6939SJiyong Park 26*54fd6939SJiyong Park #include <stdint.h> 27*54fd6939SJiyong Park 28*54fd6939SJiyong Park /* Public high level API */ 29*54fd6939SJiyong Park 30*54fd6939SJiyong Park void sp805_start(uintptr_t base, unsigned int ticks); 31*54fd6939SJiyong Park void sp805_stop(uintptr_t base); 32*54fd6939SJiyong Park void sp805_refresh(uintptr_t base, unsigned int ticks); 33*54fd6939SJiyong Park 34*54fd6939SJiyong Park #endif /* __ASSEMBLER__ */ 35*54fd6939SJiyong Park 36*54fd6939SJiyong Park #endif /* SP805_H */ 37