1 /* SPDX-License-Identifier: BSD-Source-Code */ 2 /* ---------------------------------------------------------------------------- 3 * ATMEL Microcontroller Software Support 4 * ---------------------------------------------------------------------------- 5 * Copyright (c) 2013, Atmel Corporation 6 * 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions are met: 11 * 12 * - Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the disclaimer below. 14 * 15 * Atmel's name may not be used to endorse or promote products derived from 16 * this software without specific prior written permission. 17 * 18 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR 19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 21 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, 22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 24 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 27 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 */ 29 #ifndef MATRIX_H 30 #define MATRIX_H 31 32 extern void matrix_write_protect_enable(unsigned int matrix_base); 33 extern void matrix_write_protect_disable(unsigned int matrix_base); 34 extern void matrix_configure_slave_security(unsigned int matrix_base, 35 unsigned int slave, 36 unsigned int srtop_setting, 37 unsigned int srsplit_setting, 38 unsigned int ssr_setting); 39 40 int matrix_configure_periph_non_secure(unsigned int *peri_id_array, 41 unsigned int size); 42 int matrix_configure_periph_secure(unsigned int peri_id); 43 44 vaddr_t matrix32_base(void); 45 vaddr_t matrix64_base(void); 46 47 #endif /* #ifndef MATRIX_H */ 48