diff options
author | danh-arm <dan.handley@arm.com> | 2015-08-11 10:08:55 +0100 |
---|---|---|
committer | danh-arm <dan.handley@arm.com> | 2015-08-11 10:08:55 +0100 |
commit | aaa0567c38ea6f08d68ce64210800b51a8872c13 (patch) | |
tree | f4853ddf770eb91591306ab7a4a20f7e3ccf7cbd /include | |
parent | c905376f966dbdcfd1c9fb9adca87172e691897e (diff) | |
parent | 7d116dccab2249a692181ba9521a52277e86591c (diff) | |
download | platform_external_arm-trusted-firmware-aaa0567c38ea6f08d68ce64210800b51a8872c13.tar.gz platform_external_arm-trusted-firmware-aaa0567c38ea6f08d68ce64210800b51a8872c13.tar.bz2 platform_external_arm-trusted-firmware-aaa0567c38ea6f08d68ce64210800b51a8872c13.zip |
Merge pull request #356 from mtk09422/mt8173-support-v3
Mt8173 support v3
Diffstat (limited to 'include')
-rw-r--r-- | include/lib/cpus/aarch64/cortex_a53.h | 15 | ||||
-rw-r--r-- | include/lib/mmio.h | 27 |
2 files changed, 42 insertions, 0 deletions
diff --git a/include/lib/cpus/aarch64/cortex_a53.h b/include/lib/cpus/aarch64/cortex_a53.h index 14821ab68..6e71f9ca5 100644 --- a/include/lib/cpus/aarch64/cortex_a53.h +++ b/include/lib/cpus/aarch64/cortex_a53.h @@ -41,4 +41,19 @@ #define CPUECTLR_SMP_BIT (1 << 6) +/******************************************************************************* + * CPU Auxiliary Control register specific definitions. + ******************************************************************************/ +#define CPUACTLR_EL1 S3_1_C15_C2_0 /* Instruction def. */ + +#define CPUACTLR_DTAH (1 << 24) + +/******************************************************************************* + * L2 Auxiliary Control register specific definitions. + ******************************************************************************/ +#define L2ACTLR_EL1 S3_1_C15_C0_0 /* Instruction def. */ + +#define L2ACTLR_ENABLE_UNIQUECLEAN (1 << 14) +#define L2ACTLR_DISABLE_CLEAN_PUSH (1 << 3) + #endif /* __CORTEX_A53_H__ */ diff --git a/include/lib/mmio.h b/include/lib/mmio.h index cb37a1c89..19f798f46 100644 --- a/include/lib/mmio.h +++ b/include/lib/mmio.h @@ -43,6 +43,16 @@ static inline uint8_t mmio_read_8(uintptr_t addr) return *(volatile uint8_t*)addr; } +static inline void mmio_write_16(uintptr_t addr, uint16_t value) +{ + *(volatile uint16_t*)addr = value; +} + +static inline uint16_t mmio_read_16(uintptr_t addr) +{ + return *(volatile uint16_t*)addr; +} + static inline void mmio_write_32(uintptr_t addr, uint32_t value) { *(volatile uint32_t*)addr = value; @@ -63,4 +73,21 @@ static inline uint64_t mmio_read_64(uintptr_t addr) return *(volatile uint64_t*)addr; } +static inline void mmio_clrbits_32(uintptr_t addr, uint32_t clear) +{ + mmio_write_32(addr, mmio_read_32(addr) & ~clear); +} + +static inline void mmio_setbits_32(uintptr_t addr, uint32_t set) +{ + mmio_write_32(addr, mmio_read_32(addr) | set); +} + +static inline void mmio_clrsetbits_32(uintptr_t addr, + uint32_t clear, + uint32_t set) +{ + mmio_write_32(addr, (mmio_read_32(addr) & ~clear) | set); +} + #endif /* __MMIO_H__ */ |