1# 2# Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7# Cortex A57 specific optimisation to skip L1 cache flush when 8# cluster is powered down. 9SKIP_A57_L1_FLUSH_PWR_DWN ?=0 10 11# Flag to disable the cache non-temporal hint. 12# It is enabled by default. 13A53_DISABLE_NON_TEMPORAL_HINT ?=1 14 15# Flag to disable the cache non-temporal hint. 16# It is enabled by default. 17A57_DISABLE_NON_TEMPORAL_HINT ?=1 18 19# Process SKIP_A57_L1_FLUSH_PWR_DWN flag 20$(eval $(call assert_boolean,SKIP_A57_L1_FLUSH_PWR_DWN)) 21$(eval $(call add_define,SKIP_A57_L1_FLUSH_PWR_DWN)) 22 23# Process A53_DISABLE_NON_TEMPORAL_HINT flag 24$(eval $(call assert_boolean,A53_DISABLE_NON_TEMPORAL_HINT)) 25$(eval $(call add_define,A53_DISABLE_NON_TEMPORAL_HINT)) 26 27# Process A57_DISABLE_NON_TEMPORAL_HINT flag 28$(eval $(call assert_boolean,A57_DISABLE_NON_TEMPORAL_HINT)) 29$(eval $(call add_define,A57_DISABLE_NON_TEMPORAL_HINT)) 30 31 32# CPU Errata Build flags. 33# These should be enabled by the platform if the erratum workaround needs to be 34# applied. 35 36# Flag to apply erratum 826319 workaround during reset. This erratum applies 37# only to revision <= r0p2 of the Cortex A53 cpu. 38ERRATA_A53_826319 ?=0 39 40# Flag to apply erratum 836870 workaround during reset. This erratum applies 41# only to revision <= r0p3 of the Cortex A53 cpu. From r0p4 and onwards, this 42# erratum workaround is enabled by default in hardware. 43ERRATA_A53_836870 ?=0 44 45# Flag to apply errata 855873 during reset. This errata applies to all 46# revisions of the Cortex A53 CPU, but this firmware workaround only works 47# for revisions r0p3 and higher. Earlier revisions are taken care 48# of by the rich OS. 49ERRATA_A53_855873 ?=0 50 51# Flag to apply erratum 806969 workaround during reset. This erratum applies 52# only to revision r0p0 of the Cortex A57 cpu. 53ERRATA_A57_806969 ?=0 54 55# Flag to apply erratum 813419 workaround during reset. This erratum applies 56# only to revision r0p0 of the Cortex A57 cpu. 57ERRATA_A57_813419 ?=0 58 59# Flag to apply erratum 813420 workaround during reset. This erratum applies 60# only to revision r0p0 of the Cortex A57 cpu. 61ERRATA_A57_813420 ?=0 62 63# Flag to apply erratum 826974 workaround during reset. This erratum applies 64# only to revision <= r1p1 of the Cortex A57 cpu. 65ERRATA_A57_826974 ?=0 66 67# Flag to apply erratum 826977 workaround during reset. This erratum applies 68# only to revision <= r1p1 of the Cortex A57 cpu. 69ERRATA_A57_826977 ?=0 70 71# Flag to apply erratum 828024 workaround during reset. This erratum applies 72# only to revision <= r1p1 of the Cortex A57 cpu. 73ERRATA_A57_828024 ?=0 74 75# Flag to apply erratum 829520 workaround during reset. This erratum applies 76# only to revision <= r1p2 of the Cortex A57 cpu. 77ERRATA_A57_829520 ?=0 78 79# Flag to apply erratum 833471 workaround during reset. This erratum applies 80# only to revision <= r1p2 of the Cortex A57 cpu. 81ERRATA_A57_833471 ?=0 82 83# Process ERRATA_A53_826319 flag 84$(eval $(call assert_boolean,ERRATA_A53_826319)) 85$(eval $(call add_define,ERRATA_A53_826319)) 86 87# Process ERRATA_A53_836870 flag 88$(eval $(call assert_boolean,ERRATA_A53_836870)) 89$(eval $(call add_define,ERRATA_A53_836870)) 90 91# Process ERRATA_A53_855873 flag 92$(eval $(call assert_boolean,ERRATA_A53_855873)) 93$(eval $(call add_define,ERRATA_A53_855873)) 94 95# Process ERRATA_A57_806969 flag 96$(eval $(call assert_boolean,ERRATA_A57_806969)) 97$(eval $(call add_define,ERRATA_A57_806969)) 98 99# Process ERRATA_A57_813419 flag 100$(eval $(call assert_boolean,ERRATA_A57_813419)) 101$(eval $(call add_define,ERRATA_A57_813419)) 102 103# Process ERRATA_A57_813420 flag 104$(eval $(call assert_boolean,ERRATA_A57_813420)) 105$(eval $(call add_define,ERRATA_A57_813420)) 106 107# Process ERRATA_A57_826974 flag 108$(eval $(call assert_boolean,ERRATA_A57_826974)) 109$(eval $(call add_define,ERRATA_A57_826974)) 110 111# Process ERRATA_A57_826977 flag 112$(eval $(call assert_boolean,ERRATA_A57_826977)) 113$(eval $(call add_define,ERRATA_A57_826977)) 114 115# Process ERRATA_A57_828024 flag 116$(eval $(call assert_boolean,ERRATA_A57_828024)) 117$(eval $(call add_define,ERRATA_A57_828024)) 118 119# Process ERRATA_A57_829520 flag 120$(eval $(call assert_boolean,ERRATA_A57_829520)) 121$(eval $(call add_define,ERRATA_A57_829520)) 122 123# Process ERRATA_A57_833471 flag 124$(eval $(call assert_boolean,ERRATA_A57_833471)) 125$(eval $(call add_define,ERRATA_A57_833471)) 126