xref: /rk3399_ARM-atf/include/drivers/arm/sp805.h (revision 01c44dddbda2bf74dff4bdbaee43177236982887)
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