1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright (c) 2021, Bootlin
4  */
5 
6 #ifndef SAM_SFR_H
7 #define SAM_SFR_H
8 
9 #include <stdbool.h>
10 #include <util.h>
11 
12 /* OHCI INT Configuration Register */
13 #define AT91_SFR_OHCIICR	0x10
14 /* UTMI Clock Trimming Register */
15 #define AT91_SFR_UTMICKTRIM	0x30
16 /* Serial number 0 Register */
17 #define AT91_SFR_SN0		0x4c
18 /* Serial number 1 Register */
19 #define AT91_SFR_SN1		0x50
20 /* AIC Interrupt Redirection Register */
21 #define AT91_SFR_AICREDIR	0x54
22 /* L2 cache RAM used as an internal SRAM */
23 #define AT91_SFR_L2CC_HRAMC		0x58
24 /* I2SC Register */
25 #define AT91_SFR_I2SCLKSEL	0x90
26 
27 /* Field definitions */
28 #define AT91_UTMICKTRIM_FREQ			GENMASK_32(1, 0)
29 
30 #define AT91_OHCIICR_USB_SUSPEND		GENMASK_32(10, 8)
31 
32 #define AT91_SFR_AICREDIR_XOR_KEY		0xb6d81c4d
33 #define AT91_SFR_AICREDIR_KEY_MASK		GENMASK_32(31, 1)
34 
35 vaddr_t sam_sfr_base(void);
36 
37 void atmel_sfr_set_usb_suspend(bool set);
38 
39 #endif
40