123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- /***********************************************************************************************************************
- * DISCLAIMER
- * This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
- * other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
- * applicable laws, including copyright laws.
- * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
- * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
- * EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
- * SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
- * SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
- * this software. By using this software, you agree to the additional terms and conditions found by accessing the
- * following link:
- * http://www.renesas.com/disclaimer
- *
- * Copyright (C) 2016 Renesas Electronics Corporation. All rights reserved.
- ***********************************************************************************************************************/
- /***********************************************************************************************************************
- * File Name : mcu_locks.h
- * Device(s) : RX65N
- * Description : This source file has 1 lock per MCU resource.
- ***********************************************************************************************************************/
- /**********************************************************************************************************************
- * History : DD.MM.YYYY Version Description
- * : 01.10.2016 1.00 First Release
- * : 15.05.2017 2.00 Added the following enumeration constant.
- * - BSP_LOCK_RIIC1
- * - BSP_LOCK_GLCDC
- * - BSP_LOCK_DRW2D
- * : 27.07.2018 2.01 Added the following enumeration constant.
- * - BSP_LOCK_SMCI10
- * - BSP_LOCK_SMCI11
- ***********************************************************************************************************************/
- #ifndef MCU_LOCKS_H
- #define MCU_LOCKS_H
- /***********************************************************************************************************************
- Includes <System Includes> , "Project Includes"
- ***********************************************************************************************************************/
- /* Gets MCU configuration information. */
- #include "r_bsp_config.h"
- /***********************************************************************************************************************
- Macro definitions
- ***********************************************************************************************************************/
- /***********************************************************************************************************************
- Typedef definitions
- ***********************************************************************************************************************/
- /* This enum defines all of the available hardware locks for this MCU. If you delete an entry out of this list then you
- will decrease the size of the locks array but will not be able to use that lock. For example, if your design is not
- using CAN at all then you can safely remove the BSP_LOCK_CAN# entries below. */
- typedef enum
- {
- BSP_LOCK_BSC = 0,
- BSP_LOCK_CAC,
- BSP_LOCK_CAN0,
- BSP_LOCK_CAN1,
- BSP_LOCK_CMT,
- BSP_LOCK_CMT0,
- BSP_LOCK_CMT1,
- BSP_LOCK_CMT2,
- BSP_LOCK_CMT3,
- BSP_LOCK_CMTW0,
- BSP_LOCK_CMTW1,
- BSP_LOCK_CRC,
- BSP_LOCK_DA,
- BSP_LOCK_DMAC,
- BSP_LOCK_DMAC0,
- BSP_LOCK_DMAC1,
- BSP_LOCK_DMAC2,
- BSP_LOCK_DMAC3,
- BSP_LOCK_DMAC4,
- BSP_LOCK_DMAC5,
- BSP_LOCK_DMAC6,
- BSP_LOCK_DMAC7,
- BSP_LOCK_DOC,
- BSP_LOCK_DTC,
- BSP_LOCK_EDMAC0,
- BSP_LOCK_ELC,
- BSP_LOCK_ETHERC0,
- BSP_LOCK_EXDMAC,
- BSP_LOCK_EXDMAC0,
- BSP_LOCK_EXDMAC1,
- BSP_LOCK_FLASH,
- BSP_LOCK_IRQ0,
- BSP_LOCK_IRQ1,
- BSP_LOCK_IRQ2,
- BSP_LOCK_IRQ3,
- BSP_LOCK_IRQ4,
- BSP_LOCK_IRQ5,
- BSP_LOCK_IRQ6,
- BSP_LOCK_IRQ7,
- BSP_LOCK_IRQ8,
- BSP_LOCK_IRQ9,
- BSP_LOCK_IRQ10,
- BSP_LOCK_IRQ11,
- BSP_LOCK_IRQ12,
- BSP_LOCK_IRQ13,
- BSP_LOCK_IRQ14,
- BSP_LOCK_IRQ15,
- BSP_LOCK_ICU,
- BSP_LOCK_IWDT,
- BSP_LOCK_MMC,
- BSP_LOCK_MPC,
- BSP_LOCK_MPU,
- BSP_LOCK_MTU,
- BSP_LOCK_MTU0,
- BSP_LOCK_MTU1,
- BSP_LOCK_MTU2,
- BSP_LOCK_MTU3,
- BSP_LOCK_MTU4,
- BSP_LOCK_MTU5,
- BSP_LOCK_MTU6,
- BSP_LOCK_MTU7,
- BSP_LOCK_MTU8,
- BSP_LOCK_PDC,
- BSP_LOCK_POE,
- BSP_LOCK_PPG0,
- BSP_LOCK_PPG1,
- BSP_LOCK_QSPI,
- BSP_LOCK_RAM,
- BSP_LOCK_RIIC0,
- BSP_LOCK_RIIC1,
- BSP_LOCK_RIIC2,
- BSP_LOCK_RSPI0,
- BSP_LOCK_RSPI1,
- BSP_LOCK_RSPI2,
- BSP_LOCK_RTC,
- BSP_LOCK_S12AD,
- BSP_LOCK_S12AD1,
- BSP_LOCK_SCI0,
- BSP_LOCK_SCI1,
- BSP_LOCK_SCI2,
- BSP_LOCK_SCI3,
- BSP_LOCK_SCI4,
- BSP_LOCK_SCI5,
- BSP_LOCK_SCI6,
- BSP_LOCK_SCI7,
- BSP_LOCK_SCI8,
- BSP_LOCK_SCI9,
- BSP_LOCK_SCI10,
- BSP_LOCK_SCI11,
- BSP_LOCK_SCI12,
- BSP_LOCK_SDHI,
- BSP_LOCK_SDSI,
- BSP_LOCK_SMCI0,
- BSP_LOCK_SMCI1,
- BSP_LOCK_SMCI2,
- BSP_LOCK_SMCI3,
- BSP_LOCK_SMCI4,
- BSP_LOCK_SMCI5,
- BSP_LOCK_SMCI6,
- BSP_LOCK_SMCI7,
- BSP_LOCK_SMCI8,
- BSP_LOCK_SMCI9,
- BSP_LOCK_SMCI10,
- BSP_LOCK_SMCI11,
- BSP_LOCK_SMCI12,
- BSP_LOCK_SYSTEM,
- BSP_LOCK_TEMPS,
- BSP_LOCK_TMR0,
- BSP_LOCK_TMR1,
- BSP_LOCK_TMR2,
- BSP_LOCK_TMR3,
- BSP_LOCK_TMR01,
- BSP_LOCK_TMR23,
- BSP_LOCK_TPU0,
- BSP_LOCK_TPU1,
- BSP_LOCK_TPU2,
- BSP_LOCK_TPU3,
- BSP_LOCK_TPU4,
- BSP_LOCK_TPU5,
- BSP_LOCK_TPUA,
- BSP_LOCK_USB,
- BSP_LOCK_USB0,
- BSP_LOCK_WDT,
- BSP_LOCK_FLASHCONST,
- BSP_LOCK_TEMPSCONST,
- BSP_LOCK_GLCDC,
- BSP_LOCK_DRW2D,
- BSP_NUM_LOCKS //This entry is not a valid lock. It is used for sizing g_bsp_Locks[] array below. Do not touch!
- } mcu_lock_t;
- typedef struct
- {
- /* The actual lock. int32_t is used because this is what the xchg() instruction takes as parameters. */
- int32_t lock;
- /* Could add a ID for locking and unlocking. In this could protect against any function being able to unlock. */
- } bsp_lock_t;
- /***********************************************************************************************************************
- Error checking
- ***********************************************************************************************************************/
- #if BSP_CFG_USER_LOCKING_ENABLED == 0
- #undef BSP_CFG_USER_LOCKING_TYPE
- #define BSP_CFG_USER_LOCKING_TYPE bsp_lock_t
- #else
- #if !defined(BSP_CFG_USER_LOCKING_TYPE)
- #error "R_BSP ERROR - If you are using your own locking mechanism then you must define BSP_CFG_USER_LOCKING_TYPE in \
- r_bsp_config.h."
- #endif
- #endif
- /***********************************************************************************************************************
- Exported global variables (to be accessed by other files)
- ***********************************************************************************************************************/
- extern BSP_CFG_USER_LOCKING_TYPE g_bsp_Locks[];
- #endif /* MCU_LOCKS_H */
|