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