/* * Copyright 2020-2021 NXP * * SPDX-License-Identifier: BSD-3-Clause * */ #ifndef SCFG_H #define SCFG_H #ifdef CONFIG_CHASSIS_2 /* SCFG register offsets */ #define SCFG_CORE0_SFT_RST_OFFSET 0x0130 #define SCFG_SNPCNFGCR_OFFSET 0x01A4 #define SCFG_CORESRENCR_OFFSET 0x0204 #define SCFG_RVBAR0_0_OFFSET 0x0220 #define SCFG_RVBAR0_1_OFFSET 0x0224 #define SCFG_COREBCR_OFFSET 0x0680 #define SCFG_RETREQCR_OFFSET 0x0424 #define SCFG_COREPMCR_OFFSET 0x042C #define COREPMCR_WFIL2 0x1 #define SCFG_GIC400_ADDR_ALIGN_OFFSET 0x0188 #define SCFG_BOOTLOCPTRH_OFFSET 0x0600 #define SCFG_BOOTLOCPTRL_OFFSET 0x0604 #define SCFG_SCRATCHRW2_OFFSET 0x0608 #define SCFG_SCRATCHRW3_OFFSET 0x060C /* SCFG bit fields */ #define SCFG_SNPCNFGCR_SECRDSNP 0x80000000 #define SCFG_SNPCNFGCR_SECWRSNP 0x40000000 /* GIC Address Align Register */ #define SCFG_GIC400_ADDR_ALIGN_4KMODE_MASK 0x80000000 #define SCFG_GIC400_ADDR_ALIGN_4KMODE_EN 0x80000000 #define SCFG_GIC400_ADDR_ALIGN_4KMODE_DIS 0x0 #endif /* CONFIG_CHASSIS_2 */ #ifndef __ASSEMBLER__ #include #include #ifdef NXP_SCFG_BE #define scfg_in32(a) bswap32(mmio_read_32((uintptr_t)(a))) #define scfg_out32(a, v) mmio_write_32((uintptr_t)(a), bswap32(v)) #define scfg_setbits32(a, v) mmio_setbits_32((uintptr_t)(a), v) #define scfg_clrbits32(a, v) mmio_clrbits_32((uintptr_t)(a), v) #define scfg_clrsetbits32(a, clear, set) \ mmio_clrsetbits_32((uintptr_t)(a), clear, set) #elif defined(NXP_SCFG_LE) #define scfg_in32(a) mmio_read_32((uintptr_t)(a)) #define scfg_out32(a, v) mmio_write_32((uintptr_t)(a), v) #define scfg_setbits32(a, v) mmio_setbits_32((uintptr_t)(a), v) #define scfg_clrbits32(a, v) mmio_clrbits_32((uintptr_t)(a), v) #define scfg_clrsetbits32(a, clear, set) \ mmio_clrsetbits_32((uintptr_t)(a), clear, set) #else #error Please define CCSR SCFG register endianness #endif #endif /* __ASSEMBLER__ */ #endif /* SCFG_H */