1*91f16700Schasinglulu/* 2*91f16700Schasinglulu * Copyright (c) 2020, Arm Limited. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu#include <asm_macros.S> 8*91f16700Schasinglulu#include <neoverse_n_common.h> 9*91f16700Schasinglulu 10*91f16700Schasinglulu .global is_scu_present_in_dsu 11*91f16700Schasinglulu 12*91f16700Schasinglulu/* 13*91f16700Schasinglulu * Check if the SCU L3 Unit is present on the DSU 14*91f16700Schasinglulu * 1-> SCU present 15*91f16700Schasinglulu * 0-> SCU not present 16*91f16700Schasinglulu * 17*91f16700Schasinglulu * This function is implemented as weak on dsu_helpers.S and must be 18*91f16700Schasinglulu * overwritten for Neoverse Nx cores. 19*91f16700Schasinglulu */ 20*91f16700Schasinglulu 21*91f16700Schasinglulufunc is_scu_present_in_dsu 22*91f16700Schasinglulu mrs x0, CPUCFR_EL1 23*91f16700Schasinglulu ubfx x0, x0, #SCU_SHIFT, #1 24*91f16700Schasinglulu eor x0, x0, #1 25*91f16700Schasinglulu ret 26*91f16700Schasingluluendfunc is_scu_present_in_dsu 27