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