xref: /optee_os/core/arch/arm/plat-sam/sam_sfr.h (revision 9ee674658cbf199a44b29904f238c295c26cb8ae)
13a0a0b24SClément Léger /* SPDX-License-Identifier: BSD-2-Clause */
23a0a0b24SClément Léger /*
33a0a0b24SClément Léger  * Copyright (c) 2021, Bootlin
43a0a0b24SClément Léger  */
53a0a0b24SClément Léger 
63a0a0b24SClément Léger #ifndef SAM_SFR_H
73a0a0b24SClément Léger #define SAM_SFR_H
83a0a0b24SClément Léger 
9*9ee67465SClément Léger #include <stdbool.h>
103a0a0b24SClément Léger #include <util.h>
113a0a0b24SClément Léger 
1254c0b326SClément Léger /* OHCI INT Configuration Register */
1354c0b326SClément Léger #define AT91_SFR_OHCIICR	0x10
1482444cc2SClément Léger /* UTMI Clock Trimming Register */
1582444cc2SClément Léger #define AT91_SFR_UTMICKTRIM	0x30
1654c0b326SClément Léger /* Serial number 0 Register */
1754c0b326SClément Léger #define AT91_SFR_SN0		0x4c
1854c0b326SClément Léger /* Serial number 1 Register */
1954c0b326SClément Léger #define AT91_SFR_SN1		0x50
2054c0b326SClément Léger /* AIC Interrupt Redirection Register */
2154c0b326SClément Léger #define AT91_SFR_AICREDIR	0x54
223a0a0b24SClément Léger /* L2 cache RAM used as an internal SRAM */
233a0a0b24SClément Léger #define AT91_SFR_L2CC_HRAMC		0x58
24b2d86a70SClément Léger /* I2SC Register */
25b2d86a70SClément Léger #define AT91_SFR_I2SCLKSEL	0x90
263a0a0b24SClément Léger 
2782444cc2SClément Léger /* Field definitions */
2882444cc2SClément Léger #define AT91_UTMICKTRIM_FREQ			GENMASK_32(1, 0)
2982444cc2SClément Léger 
30*9ee67465SClément Léger #define AT91_OHCIICR_USB_SUSPEND		GENMASK_32(10, 8)
31*9ee67465SClément Léger 
3254c0b326SClément Léger #define AT91_SFR_AICREDIR_XOR_KEY		0xb6d81c4d
3354c0b326SClément Léger #define AT91_SFR_AICREDIR_KEY_MASK		GENMASK_32(31, 1)
3454c0b326SClément Léger 
353a0a0b24SClément Léger vaddr_t sam_sfr_base(void);
363a0a0b24SClément Léger 
37*9ee67465SClément Léger void atmel_sfr_set_usb_suspend(bool set);
38*9ee67465SClément Léger 
393a0a0b24SClément Léger #endif
40