source: asp3_tinet_ecnl_arm/trunk/asp3_dcre/mbed/targets/TARGET_RENESAS/TARGET_RZ_A1H/device/pl310.h@ 352

Last change on this file since 352 was 352, checked in by coas-nagasima, 6 years ago

arm向けASP3版ECNLを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 6.8 KB
Line 
1/**************************************************************************//**
2 * @file pl310.h
3 * @brief Implementation of pl310 functions
4 * @version
5 * @date 11 June 2013
6 *
7 * @note
8 *
9 ******************************************************************************/
10/* Copyright (c) 2011 - 2013 ARM LIMITED
11
12 All rights reserved.
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 - Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 - Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 - Neither the name of ARM nor the names of its contributors may be used
21 to endorse or promote products derived from this software without
22 specific prior written permission.
23 *
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 POSSIBILITY OF SUCH DAMAGE.
35 ---------------------------------------------------------------------------*/
36
37#ifndef __PL310
38#define __PL310
39
40typedef struct
41{
42 __I uint32_t CACHE_ID; /*!< Offset: 0x0000 Cache ID Register */
43 __I uint32_t CACHE_TYPE; /*!< Offset: 0x0004 Cache Type Register */
44 uint32_t RESERVED0[0x3e];
45 __IO uint32_t CONTROL; /*!< Offset: 0x0100 Control Register */
46 __IO uint32_t AUX_CNT; /*!< Offset: 0x0104 Auxiliary Control */
47 uint32_t RESERVED1[0x3e];
48 __IO uint32_t EVENT_CONTROL; /*!< Offset: 0x0200 Event Counter Control */
49 __IO uint32_t EVENT_COUNTER1_CONF; /*!< Offset: 0x0204 Event Counter 1 Configuration */
50 __IO uint32_t EVENT_COUNTER0_CONF; /*!< Offset: 0x0208 Event Counter 1 Configuration */
51 uint32_t RESERVED2[0x2];
52 __IO uint32_t INTERRUPT_MASK; /*!< Offset: 0x0214 Interrupt Mask */
53 __I uint32_t MASKED_INT_STATUS; /*!< Offset: 0x0218 Masked Interrupt Status */
54 __I uint32_t RAW_INT_STATUS; /*!< Offset: 0x021c Raw Interrupt Status */
55 __O uint32_t INTERRUPT_CLEAR; /*!< Offset: 0x0220 Interrupt Clear */
56 uint32_t RESERVED3[0x143];
57 __IO uint32_t CACHE_SYNC; /*!< Offset: 0x0730 Cache Sync */
58 uint32_t RESERVED4[0xf];
59 __IO uint32_t INV_LINE_PA; /*!< Offset: 0x0770 Invalidate Line By PA */
60 uint32_t RESERVED6[2];
61 __IO uint32_t INV_WAY; /*!< Offset: 0x077c Invalidate by Way */
62 uint32_t RESERVED5[0xc];
63 __IO uint32_t CLEAN_LINE_PA; /*!< Offset: 0x07b0 Clean Line by PA */
64 uint32_t RESERVED7[1];
65 __IO uint32_t CLEAN_LINE_INDEX_WAY; /*!< Offset: 0x07b8 Clean Line by Index/Way */
66 __IO uint32_t CLEAN_WAY; /*!< Offset: 0x07bc Clean by Way */
67 uint32_t RESERVED8[0xc];
68 __IO uint32_t CLEAN_INV_LINE_PA; /*!< Offset: 0x07f0 Clean and Invalidate Line by PA */
69 uint32_t RESERVED9[1];
70 __IO uint32_t CLEAN_INV_LINE_INDEX_WAY; /*!< Offset: 0x07f8 Clean and Invalidate Line by Index/Way */
71 __IO uint32_t CLEAN_INV_WAY; /*!< Offset: 0x07fc Clean and Invalidate by Way */
72 uint32_t RESERVED10[0x40];
73 __IO uint32_t DATA_LOCK_0_WAY; /*!< Offset: 0x0900 Data Lockdown 0 by Way */
74 __IO uint32_t INST_LOCK_0_WAY; /*!< Offset: 0x0904 Instruction Lockdown 0 by Way */
75 __IO uint32_t DATA_LOCK_1_WAY; /*!< Offset: 0x0908 Data Lockdown 1 by Way */
76 __IO uint32_t INST_LOCK_1_WAY; /*!< Offset: 0x090c Instruction Lockdown 1 by Way */
77 __IO uint32_t DATA_LOCK_2_WAY; /*!< Offset: 0x0910 Data Lockdown 2 by Way */
78 __IO uint32_t INST_LOCK_2_WAY; /*!< Offset: 0x0914 Instruction Lockdown 2 by Way */
79 __IO uint32_t DATA_LOCK_3_WAY; /*!< Offset: 0x0918 Data Lockdown 3 by Way */
80 __IO uint32_t INST_LOCK_3_WAY; /*!< Offset: 0x091c Instruction Lockdown 3 by Way */
81 __IO uint32_t DATA_LOCK_4_WAY; /*!< Offset: 0x0920 Data Lockdown 4 by Way */
82 __IO uint32_t INST_LOCK_4_WAY; /*!< Offset: 0x0924 Instruction Lockdown 4 by Way */
83 __IO uint32_t DATA_LOCK_5_WAY; /*!< Offset: 0x0928 Data Lockdown 5 by Way */
84 __IO uint32_t INST_LOCK_5_WAY; /*!< Offset: 0x092c Instruction Lockdown 5 by Way */
85 __IO uint32_t DATA_LOCK_6_WAY; /*!< Offset: 0x0930 Data Lockdown 5 by Way */
86 __IO uint32_t INST_LOCK_6_WAY; /*!< Offset: 0x0934 Instruction Lockdown 5 by Way */
87 __IO uint32_t DATA_LOCK_7_WAY; /*!< Offset: 0x0938 Data Lockdown 6 by Way */
88 __IO uint32_t INST_LOCK_7_WAY; /*!< Offset: 0x093c Instruction Lockdown 6 by Way */
89 uint32_t RESERVED11[0x4];
90 __IO uint32_t LOCK_LINE_EN; /*!< Offset: 0x0950 Lockdown by Line Enable */
91 __IO uint32_t UNLOCK_ALL_BY_WAY; /*!< Offset: 0x0954 Unlock All Lines by Way */
92 uint32_t RESERVED12[0xaa];
93 __IO uint32_t ADDRESS_FILTER_START; /*!< Offset: 0x0c00 Address Filtering Start */
94 __IO uint32_t ADDRESS_FILTER_END; /*!< Offset: 0x0c04 Address Filtering End */
95 uint32_t RESERVED13[0xce];
96 __IO uint32_t DEBUG_CONTROL; /*!< Offset: 0x0f40 Debug Control Register */
97
98} PL310_TypeDef;
99
100#define PL310 ((PL310_TypeDef *)Renesas_RZ_A1_PL310_BASE) /*!< PL310 Declaration */
101
102extern int PL310_GetID (void);
103extern int PL310_GetType (void);
104extern void PL310_InvAllByWay (void);
105extern void PL310_CleanInvAllByWay(void);
106extern void PL310_Enable(void);
107extern void PL310_Disable(void);
108extern void PL310_InvPa (void *);
109extern void PL310_CleanPa (void *);
110extern void PL310_CleanInvPa (void *);
111
112#endif
113
114
Note: See TracBrowser for help on using the repository browser.