1 /* 2 * Copyright 2020-2021 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #ifndef SCFG_H 9 #define SCFG_H 10 11 #ifdef CONFIG_CHASSIS_2 12 13 /* SCFG register offsets */ 14 #define SCFG_CORE0_SFT_RST_OFFSET 0x0130 15 #define SCFG_SNPCNFGCR_OFFSET 0x01A4 16 #define SCFG_CORESRENCR_OFFSET 0x0204 17 #define SCFG_RVBAR0_0_OFFSET 0x0220 18 #define SCFG_RVBAR0_1_OFFSET 0x0224 19 #define SCFG_COREBCR_OFFSET 0x0680 20 #define SCFG_RETREQCR_OFFSET 0x0424 21 22 #define SCFG_COREPMCR_OFFSET 0x042C 23 #define COREPMCR_WFIL2 0x1 24 25 #define SCFG_GIC400_ADDR_ALIGN_OFFSET 0x0188 26 #define SCFG_BOOTLOCPTRH_OFFSET 0x0600 27 #define SCFG_BOOTLOCPTRL_OFFSET 0x0604 28 #define SCFG_SCRATCHRW2_OFFSET 0x0608 29 #define SCFG_SCRATCHRW3_OFFSET 0x060C 30 31 /* SCFG bit fields */ 32 #define SCFG_SNPCNFGCR_SECRDSNP 0x80000000 33 #define SCFG_SNPCNFGCR_SECWRSNP 0x40000000 34 #endif /* CONFIG_CHASSIS_2 */ 35 36 #ifndef __ASSEMBLER__ 37 #include <endian.h> 38 #include <lib/mmio.h> 39 40 #ifdef NXP_SCFG_BE 41 #define scfg_in32(a) bswap32(mmio_read_32((uintptr_t)(a))) 42 #define scfg_out32(a, v) mmio_write_32((uintptr_t)(a), bswap32(v)) 43 #define scfg_setbits32(a, v) mmio_setbits_32((uintptr_t)(a), v) 44 #define scfg_clrbits32(a, v) mmio_clrbits_32((uintptr_t)(a), v) 45 #define scfg_clrsetbits32(a, clear, set) \ 46 mmio_clrsetbits_32((uintptr_t)(a), clear, set) 47 #elif defined(NXP_SCFG_LE) 48 #define scfg_in32(a) mmio_read_32((uintptr_t)(a)) 49 #define scfg_out32(a, v) mmio_write_32((uintptr_t)(a), v) 50 #define scfg_setbits32(a, v) mmio_setbits_32((uintptr_t)(a), v) 51 #define scfg_clrbits32(a, v) mmio_clrbits_32((uintptr_t)(a), v) 52 #define scfg_clrsetbits32(a, clear, set) \ 53 mmio_clrsetbits_32((uintptr_t)(a), clear, set) 54 #else 55 #error Please define CCSR SCFG register endianness 56 #endif 57 #endif /* __ASSEMBLER__ */ 58 59 #endif /* SCFG_H */ 60