mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 09:34:18 +00:00
refactor(plat/allwinner): allow new AA64nAA32 position
In newer Allwiner SoCs, the AA64nAA32 wires are mapped to a new register called "General Control Register0" in the manual rather than the "Cluster 0 Control Register0" in older SoCs. Now the position of AA64nAA32 (reg and bit offset) is defined in a few macros instead assumed to be at bit offset 24 of SUNXI_CPUCFG_CLS_CTRL_REG0. Change-Id: I933d00b9a914bf7103e3a9dadbc6d7be1a409668 Signed-off-by: Icenowy Zheng <icenowy@sipeed.com>
This commit is contained in:
parent
86a7429e47
commit
080939f924
4 changed files with 11 additions and 1 deletions
|
@ -76,7 +76,8 @@ void sunxi_cpu_on(u_register_t mpidr)
|
|||
/* Assert CPU power-on reset */
|
||||
mmio_clrbits_32(SUNXI_POWERON_RST_REG(cluster), BIT(core));
|
||||
/* Set CPU to start in AArch64 mode */
|
||||
mmio_setbits_32(SUNXI_CPUCFG_CLS_CTRL_REG0(cluster), BIT(24 + core));
|
||||
mmio_setbits_32(SUNXI_AA64nAA32_REG(cluster),
|
||||
BIT(SUNXI_AA64nAA32_OFFSET + core));
|
||||
/* Apply power to the CPU */
|
||||
sunxi_cpu_enable_power(cluster, core);
|
||||
/* Release the core output clamps */
|
||||
|
|
|
@ -33,4 +33,7 @@
|
|||
#define SUNXI_R_CPUCFG_SS_ENTRY_REG (SUNXI_R_CPUCFG_BASE + 0x01a8)
|
||||
#define SUNXI_R_CPUCFG_HP_FLAG_REG (SUNXI_R_CPUCFG_BASE + 0x01ac)
|
||||
|
||||
#define SUNXI_AA64nAA32_REG SUNXI_CPUCFG_CLS_CTRL_REG0
|
||||
#define SUNXI_AA64nAA32_OFFSET 24
|
||||
|
||||
#endif /* SUNXI_CPUCFG_H */
|
||||
|
|
|
@ -29,4 +29,7 @@
|
|||
#define SUNXI_PWR_SW_DELAY_REG (SUNXI_R_CPUCFG_BASE + 0x0140)
|
||||
#define SUNXI_CONFIG_DELAY_REG (SUNXI_R_CPUCFG_BASE + 0x0144)
|
||||
|
||||
#define SUNXI_AA64nAA32_REG SUNXI_CPUCFG_CLS_CTRL_REG0
|
||||
#define SUNXI_AA64nAA32_OFFSET 24
|
||||
|
||||
#endif /* SUNXI_CPUCFG_H */
|
||||
|
|
|
@ -29,4 +29,7 @@
|
|||
#define SUNXI_PWR_SW_DELAY_REG (SUNXI_R_CPUCFG_BASE + 0x0140)
|
||||
#define SUNXI_CONFIG_DELAY_REG (SUNXI_R_CPUCFG_BASE + 0x0144)
|
||||
|
||||
#define SUNXI_AA64nAA32_REG SUNXI_CPUCFG_CLS_CTRL_REG0
|
||||
#define SUNXI_AA64nAA32_OFFSET 24
|
||||
|
||||
#endif /* SUNXI_CPUCFG_H */
|
||||
|
|
Loading…
Add table
Reference in a new issue