You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.5 KiB
56 lines
1.5 KiB
/*
|
|
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef FVP_PWRC_H
|
|
#define FVP_PWRC_H
|
|
|
|
/* FVP Power controller register offset etc */
|
|
#define PPOFFR_OFF U(0x0)
|
|
#define PPONR_OFF U(0x4)
|
|
#define PCOFFR_OFF U(0x8)
|
|
#define PWKUPR_OFF U(0xc)
|
|
#define PSYSR_OFF U(0x10)
|
|
|
|
#define PWKUPR_WEN BIT_32(31)
|
|
|
|
#define PSYSR_AFF_L2 BIT_32(31)
|
|
#define PSYSR_AFF_L1 BIT_32(30)
|
|
#define PSYSR_AFF_L0 BIT_32(29)
|
|
#define PSYSR_WEN BIT_32(28)
|
|
#define PSYSR_PC BIT_32(27)
|
|
#define PSYSR_PP BIT_32(26)
|
|
|
|
#define PSYSR_WK_SHIFT 24
|
|
#define PSYSR_WK_WIDTH 0x2
|
|
#define PSYSR_WK_MASK ((1U << PSYSR_WK_WIDTH) - 1U)
|
|
#define PSYSR_WK(x) ((x) >> PSYSR_WK_SHIFT) & PSYSR_WK_MASK
|
|
|
|
#define WKUP_COLD U(0x0)
|
|
#define WKUP_RESET U(0x1)
|
|
#define WKUP_PPONR U(0x2)
|
|
#define WKUP_GICREQ U(0x3)
|
|
|
|
#define PSYSR_INVALID U(0xffffffff)
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
#include <stdint.h>
|
|
|
|
/*******************************************************************************
|
|
* Function & variable prototypes
|
|
******************************************************************************/
|
|
void fvp_pwrc_write_pcoffr(u_register_t mpidr);
|
|
void fvp_pwrc_write_ppoffr(u_register_t mpidr);
|
|
void fvp_pwrc_write_pponr(u_register_t mpidr);
|
|
void fvp_pwrc_set_wen(u_register_t mpidr);
|
|
void fvp_pwrc_clr_wen(u_register_t mpidr);
|
|
unsigned int fvp_pwrc_read_psysr(u_register_t mpidr);
|
|
unsigned int fvp_pwrc_get_cpu_wkr(u_register_t mpidr);
|
|
|
|
#endif /*__ASSEMBLER__*/
|
|
|
|
#endif /* FVP_PWRC_H */
|