1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2015 Atmel Corporation 3*4882a593Smuzhiyun * Wenyou Yang <wenyou.yang@atmel.com> 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include <common.h> 9*4882a593Smuzhiyun #include <asm/io.h> 10*4882a593Smuzhiyun #include <asm/arch/sama5_sfr.h> 11*4882a593Smuzhiyun redirect_int_from_saic_to_aic(void)12*4882a593Smuzhiyunvoid redirect_int_from_saic_to_aic(void) 13*4882a593Smuzhiyun { 14*4882a593Smuzhiyun struct atmel_sfr *sfr = (struct atmel_sfr *)ATMEL_BASE_SFR; 15*4882a593Smuzhiyun u32 key32; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun if (!(readl(&sfr->aicredir) & ATMEL_SFR_AICREDIR_NSAIC)) { 18*4882a593Smuzhiyun key32 = readl(&sfr->sn1) ^ ATMEL_SFR_AICREDIR_KEY; 19*4882a593Smuzhiyun writel((key32 | ATMEL_SFR_AICREDIR_NSAIC), &sfr->aicredir); 20*4882a593Smuzhiyun } 21*4882a593Smuzhiyun } 22*4882a593Smuzhiyun configure_2nd_sram_as_l2_cache(void)23*4882a593Smuzhiyunvoid configure_2nd_sram_as_l2_cache(void) 24*4882a593Smuzhiyun { 25*4882a593Smuzhiyun struct atmel_sfr *sfr = (struct atmel_sfr *)ATMEL_BASE_SFR; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun writel(1, &sfr->l2cc_hramc); 28*4882a593Smuzhiyun } 29