138041973SJuan Castillo /* 2354305c3SAntonio Nino Diaz * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. 338041973SJuan Castillo * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 538041973SJuan Castillo */ 638041973SJuan Castillo 7354305c3SAntonio Nino Diaz #ifndef SP805_H 8354305c3SAntonio Nino Diaz #define SP805_H 9354305c3SAntonio Nino Diaz 1009d40e0eSAntonio Nino Diaz #include <lib/utils_def.h> 1138041973SJuan Castillo 1238041973SJuan Castillo /* SP805 register offset */ 13354305c3SAntonio Nino Diaz #define SP805_WDOG_LOAD_OFF UL(0x000) 14354305c3SAntonio Nino Diaz #define SP805_WDOG_CTR_OFF UL(0x008) 15354305c3SAntonio Nino Diaz #define SP805_WDOG_LOCK_OFF UL(0xc00) 1638041973SJuan Castillo 1738041973SJuan Castillo /* Magic word to unlock the wd registers */ 18354305c3SAntonio Nino Diaz #define WDOG_UNLOCK_KEY U(0x1ACCE551) 1938041973SJuan Castillo 2038041973SJuan Castillo /* Register field definitions */ 21354305c3SAntonio Nino Diaz #define SP805_CTR_RESEN (U(1) << 1) 22354305c3SAntonio Nino Diaz #define SP805_CTR_INTEN (U(1) << 0) 2338041973SJuan Castillo 24*d5dfdeb6SJulius Werner #ifndef __ASSEMBLER__ 2538041973SJuan Castillo 2638041973SJuan Castillo #include <stdint.h> 2738041973SJuan Castillo 2838041973SJuan Castillo /* Public high level API */ 2938041973SJuan Castillo 30354305c3SAntonio Nino Diaz void sp805_start(uintptr_t base, unsigned int ticks); 3138041973SJuan Castillo void sp805_stop(uintptr_t base); 32354305c3SAntonio Nino Diaz void sp805_refresh(uintptr_t base, unsigned int ticks); 3338041973SJuan Castillo 34*d5dfdeb6SJulius Werner #endif /* __ASSEMBLER__ */ 3538041973SJuan Castillo 36354305c3SAntonio Nino Diaz #endif /* SP805_H */ 37