source: atk2-sc3-1.4.0-ntisr/arch/v850_gcc/rh850_f1l.h@ 172

Last change on this file since 172 was 172, checked in by ertl-ishikawa, 8 years ago

ATK2-SC3 1.4.0 RH850依存部 非信頼C2ISR対応を追加

  • Property svn:executable set to *
File size: 9.3 KB
Line 
1/*
2 * TOPPERS ATK2
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 * Automotive Kernel Version 2
5 *
6 * Copyright (C) 2012-2014 by Center for Embedded Computing Systems
7 * Graduate School of Information Science, Nagoya Univ., JAPAN
8 *
9 * 上記著作権者
10は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
12 * 変・再é…
13å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
16 * スコード中に含まれていること.
17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
18 * 用できる形で再é…
19å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
20å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
21 * 者
22マニュアルなど)に,上記の著作権表示,この利用条件および下記
23 * の無保証規定を掲載すること.
24 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
25 * 用できない形で再é…
26å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
27 * と.
28 * (a) 再é…
29å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
30マニュアルなど)に,上記の著
31 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
32 * (b) 再é…
33å¸ƒã®å½¢æ…
34‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
35 * 報告すること.
36 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
37 * 害からも,上記著作権者
38およびTOPPERSプロジェクトをå…
39è²¬ã™ã‚‹ã“と.
40 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
41 * 由に基づく請求からも,上記著作権者
42およびTOPPERSプロジェクトを
43 * å…
44è²¬ã™ã‚‹ã“と.
45 *
46 * 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
47 * 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
48 * はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
49 * 用する者
50に対して,AUTOSARパートナーになることを求めている.
51 *
52 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
53お
54 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
55 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
56 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
57 * の責任を負わない.
58 *
59 * $Id: rh850_f1l.h 187 2015-06-25 03:39:04Z t_ishikawa $
60 */
61
62/*
63 * RH850/F1Lのハードウェア資源の定義
64 */
65
66#ifndef TOPPERS_RH850_F1L_H
67#define TOPPERS_RH850_F1L_H
68
69#define _RH850G3K_
70
71/*
72 * 保護コマンドレジスタ
73 */
74#define PROTCMD0 0xFFF80000
75#define PROTCMD1 0xFFF88000
76#define CLMA0PCMD 0xFFF8C010
77#define CLMA1PCMD 0xFFF8D010
78#define CLMA2PCMD 0xFFF8E010
79#define PROTCMDCLMA 0xFFF8C200
80#define JPPCMD0 0xFFC204C0
81#define PPCMD0 0xFFC14C00
82#define PPCMD1 0xFFC14C04
83#define PPCMD2 0xFFC14C08
84#define PPCMD8 0xFFC14C20
85#define PPCMD9 0xFFC14C24
86#define PPCMD10 0xFFC14C28
87#define PPCMD11 0xFFC14C2C
88#define PPCMD12 0xFFC14C30
89#define PPCMD18 0xFFC14C48
90#define PPCMD20 0xFFC14C50
91#define PROTCMDCVM 0xFFF50100
92#define FLMDPCMD 0xFFA00004
93
94/*
95 * 保護ステータスレジスタ
96 */
97#define PROTS0 0xFFF80004
98#define PROTS1 0xFFF88004
99#define CLMA0PS 0xFFF8C014
100#define CLMA1PS 0xFFF8D014
101#define CLMA2PS 0xFFF8E014
102#define PROTSCLMA 0xFFF8C204
103#define JPPROTS0 0xFFC204B0
104#define PPROTS0 0xFFC14B00
105#define PPROTS1 0xFFC14B04
106#define PPROTS2 0xFFC14B08
107#define PPROTS8 0xFFC14B20
108#define PPROTS9 0xFFC14B24
109#define PPROTS10 0xFFC14B28
110#define PPROTS11 0xFFC14B2C
111#define PPROTS12 0xFFC14B30
112#define PPROTS18 0xFFC14B48
113#define PPROTS20 0xFFC14B50
114#define PROTSCVM 0xFFF50104
115#define FLMDPS 0xFFA00008
116
117/*
118 * 保護コマンドレジスタの番号
119 */
120#define PNO_CtrlProt0 0
121#define PNO_CtrlProt1 1
122#define PNO_ClkMonitorCtrlProt0 2
123#define PNO_ClkMonitorCtrlProt1 3
124#define PNO_ClkMonitorCtrlProt2 4
125#define PNO_ClkMonitorTestProt 5
126#define PNO_PortProt1_0 6
127#define PNO_PortProt1_1 7
128#define PNO_PortProt1_2 8
129#define PNO_PortProt1_8 9
130#define PNO_PortProt1_9 10
131#define PNO_PortProt1_10 11
132#define PNO_PortProt1_11 12
133#define PNO_PortProt1_12 13
134#define PNO_PortProt1_18 14
135#define PNO_PortProt1_20 15
136#define PNO_PortProt2 16
137#define PNO_CoreVMonitorProt 17
138#define PNO_SelfProgProt 18
139
140/*
141 * PORTレジスタ
142 */
143#define PORT_BASE UINT_C(0xffc10000)
144
145/* 端子機能設定 (USE)*/
146#define PMC(n) ((PORT_BASE) + 0x0400 + (n * 0x04U)) /* ポート・モード・コントロール・レジスタ */
147#define PMCSR(n) ((PORT_BASE) + 0x0900 + (n * 0x04U)) /* ポート・モード・コントロール・セット/リセット・レジスタ */
148#define PIPC(n) ((PORT_BASE) + 0x4200 + (n * 0x04U)) /* ポートIP コントロール・レジスタ */
149#define PM(n) ((PORT_BASE) + 0x0300 + (n * 0x04U)) /* ポート・モード・レジスタ */
150#define PMSR(n) ((PORT_BASE) + 0x0800 + (n * 0x04U)) /* ポート・モード・セット/リセット・レジスタ */
151#define PIBC(n) ((PORT_BASE) + 0x4000 + (n * 0x04U)) /* ポートå…
152¥åŠ›ãƒãƒƒãƒ•ã‚¡ãƒ»ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ãƒ»ãƒ¬ã‚¸ã‚¹ã‚¿ */
153#define PFC(n) ((PORT_BASE) + 0x0500 + (n * 0x04U)) /* ポート機能コントロール・レジスタ */
154#define PFCE(n) ((PORT_BASE) + 0x0600 + (n * 0x04U)) /* ポート機能コントロール・レジスタ */
155#define PFCAE(n) ((PORT_BASE) + 0x0A00 + (n * 0x04U)) /* ポート機能コントロール・拡張レジスタ */
156
157/* 端子データå…
158¥åŠ›ï¼å‡ºåŠ› (USE)*/
159#define PBDC(n) ((PORT_BASE) + 0x4100 + (n * 0x04U)) /* ポート双方向コントロール・レジスタ */
160#define PPR(n) ((PORT_BASE) + 0x0200 + (n * 0x04U)) /* ポート端子リード・レジスタ */
161#define P(n) ((PORT_BASE) + 0x0000 + (n * 0x04U)) /* ポート・レジスタ */
162#define PNOT(n) ((PORT_BASE) + 0x0700 + (n * 0x04U)) /* ポート・ノット・レジスタ */
163#define PSR(n) ((PORT_BASE) + 0x0100 + (n * 0x04U)) /* ポート・セット/リセット・レジスタ */
164
165
166/*
167 * PLL関連のレジスタと定義
168 */
169/* Main OSC */
170#define MOSCE 0xfff81100
171#define MOSCS 0xfff81104
172#define MOSCC 0xfff81108
173#define MOSCST 0xfff8110c
174#define MOSCSTPM 0xfff81118
175
176/* Sub OSC */
177#define SOSCE 0xfff81200
178#define SOSCS 0xfff81204
179
180/* PLL */
181#define PLLE 0xfff89000
182#define PLLS 0xfff89004
183#define PLLC 0xfff89008
184
185#define CKSC_CPUCLKS_CTL 0xfff8a000
186#define CKSC_CPUCLKS_ACT 0xfff8a008
187#define CKSC_CPUCLKD_CTL 0xfff8a100
188#define CKSC_CPUCLKD_ACT 0xfff8a108
189
190#define CKSC_ATAUJS_CTL 0xfff82100
191#define CKSC_ATAUJS_ACT 0xfff82108
192#define CKSC_ATAUJD_CTL 0xfff82200
193#define CKSC_ATAUJD_ACT 0xfff82208
194
195#define MHz(n) ((n) * 1000 * 1000)
196#define CLK_MHz(num) (num * 1000 * 1000)
197
198/* xxxS Register (USE) */
199#define CLK_S_STPACK 0x08
200#define CLK_S_CLKEN 0x04
201#define CLK_S_CLKACT 0x02
202#define CLK_S_CLKSTAB 0x01
203
204/* Return Parameter */
205#define UC_SUCCESS 0
206#define UC_ERROR 1
207#define UC_INVALIDPARAM 2
208#define UC_PROTREGERROR 3
209#define UC_CLKSTATUSERR 4
210#define UC_CLKNOTENABLE 5
211#define UC_CLKNOTACTIVE 6
212#define UC_CLKNOTSTAB 7
213
214/*
215 * INTC
216 */
217#define INTC1_BASE 0xFFFF9000
218#define INTC2_BASE 0xFFFFA000
219
220#define INTC2_EIC 0x040
221#define INTC2_EIBD 0x880
222#define INTC2_INTNO_OFFSET 32
223
224/* intno は unsigned を想定 */
225#define EIC_ADDRESS(intno) (intno <= 31) ? (INTC1_BASE + (intno * 2)) : (INTC2_BASE + INTC2_EIC + ((intno - INTC2_INTNO_OFFSET) * 2))
226
227#define TMIN_INTNO UINT_C(0)
228#define TMAX_INTNO UINT_C(287)
229#define TNUM_INT UINT_C(288)
230
231
232#define RLIN30_BASE 0xffcf0000
233#define RLIN31_BASE 0xffcf0040
234#define RLIN32_BASE 0xffcf0080
235#define RLIN33_BASE 0xffcf00c0
236#define RLIN34_BASE 0xffcf0100
237#define RLIN35_BASE 0xffcf0140
238
239/*
240 * INTNO
241 */
242#define RLIN31_TX_INTNO UINT_C(113)
243#define RLIN31_RX_INTNO UINT_C(114)
244#define RLIN32_TX_INTNO UINT_C(157)
245#define RLIN32_RX_INTNO UINT_C(158)
246#define RLIN32_ER_INTNO UINT_C(159)
247#define RLIN35_TX_INTNO UINT_C(229)
248#define RLIN35_RX_INTNO UINT_C(230)
249#define RLIN35_ER_INTNO UINT_C(231)
250
251#define TAUFJ0I0_INTNO UINT_C(72)
252#define TAUFJ0I1_INTNO UINT_C(73)
253#define TAUFJ0I2_INTNO UINT_C(74)
254#define TAUFJ0I3_INTNO UINT_C(75)
255#define TAUFJ1I0_INTNO UINT_C(160)
256#define TAUFJ1I1_INTNO UINT_C(161)
257#define TAUFJ1I2_INTNO UINT_C(162)
258#define TAUFJ1I3_INTNO UINT_C(163)
259
260#ifndef TOPPERS_MACRO_ONLY
261
262extern uint32 EnableSubOSC(void);
263
264extern uint32 EnableMainOSC(uint32 clk_in);
265
266extern uint32 EnablePLL(void);
267
268extern uint32 SetClockSelection(uint32 s_control, uint32 s_status, uint8 regno, uint16 sel,
269 uint32 d_control, uint32 d_status, uint8 divider);
270
271#endif /* TOPPERS_MACRO_ONLY */
272
273
274#include "v850.h"
275
276#endif /* TOPPERS_RH850_F1L_H */
Note: See TracBrowser for help on using the repository browser.