mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 21:44:15 +00:00

Add some register fields definition. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I9fd78c318b34a2becd82d502fa6d18c8298eb40a
65 lines
1.9 KiB
C
65 lines
1.9 KiB
C
/*
|
|
* 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 <endian.h>
|
|
#include <lib/mmio.h>
|
|
|
|
#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 */
|