1 // SPDX-License-Identifier: BSD-2-Clause 2 /* 3 * Copyright (C) 2017 Timesys Corporation. 4 * Copyright (C) 2021 Microchip 5 * All rights reserved. 6 */ 7 8 #include <mm/core_memprot.h> 9 #include <mm/core_mmu.h> 10 #include <sam_sfr.h> 11 #include <sama5d2.h> 12 #include <types_ext.h> 13 14 register_phys_mem_pgdir(MEM_AREA_IO_SEC, SFR_BASE, CORE_MMU_PGDIR_SIZE); 15 16 vaddr_t sam_sfr_base(void) 17 { 18 static void *va; 19 20 if (cpu_mmu_enabled()) { 21 if (!va) 22 va = phys_to_virt(SFR_BASE, MEM_AREA_IO_SEC, 1); 23 return (vaddr_t)va; 24 } 25 return SFR_BASE; 26 } 27