source: atk2-sc3_fl850f1l/arch/v850_gcc/v850e2_px4.h@ 117

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

ATK2-SC3 1.3.2 FL850F1L(RH850F1L)依存部(GCC/GHS/CCRH)を追加

File size: 9.1 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 * Copyright (C) 2012-2014 by FUJI SOFT INCORPORATED, JAPAN
9 * Copyright (C) 2012-2013 by Spansion LLC, USA
10 * Copyright (C) 2012-2013 by NEC Communication Systems, Ltd., JAPAN
11 * Copyright (C) 2012-2014 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
12 * Copyright (C) 2012-2014 by Renesas Electronics Corporation, JAPAN
13 * Copyright (C) 2012-2014 by Sunny Giken Inc., JAPAN
14 * Copyright (C) 2012-2014 by TOSHIBA CORPORATION, JAPAN
15 * Copyright (C) 2012-2014 by Witz Corporation, JAPAN
16 *
17 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
18 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
19 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
20 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
21 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
22 * スコード中に含まれていること.
23 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
24 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
25 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
26 * の無保証規定を掲載すること.
27 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
28 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
29 * と.
30 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
31 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
32 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
33 * 報告すること.
34 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
35 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
36 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
37 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
38 * 免責すること.
39 *
40 * 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
41 * 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
42 * はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
43 * 用する者に対して,AUTOSARパートナーになることを求めている.
44 *
45 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
46 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
47 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
48 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
49 * の責任を負わない.
50 *
51 * $Id: v850e2_px4.h 117 2014-12-10 03:58:03Z t_ishikawa $
52 */
53
54/*
55 * V850E2/Px4のハードウェア資源の定義
56 */
57
58#ifndef TOPPERS_V850E2_PX4_H
59#define TOPPERS_V850E2_PX4_H
60
61#define _V850E2M_
62
63#define VPNECR 0xffff5110
64#define VPNADR 0xffff5114
65#define VPNTID 0xffff5118
66#define VPTTID 0xffff511A
67#define VPTECR 0xffff5120
68#define VPTADR 0xffff5124
69
70/*
71 * ポートレジスタ
72 */
73#define PM0 0xffff8300
74#define PMC0 0xffff8400
75#define PFC0 0xffff8500
76#define PFCE0 0xffff8600
77
78#define P4 0xffff8010
79#define PM4 0xffff8310
80#define PMC4 0xffff8410
81#define PFC4 0xffff8510
82#define PFCE4 0xffff8610
83
84#define FCLA0CTL0 0xFF414000
85#define FCLA1CTL2 0xFF414028
86#define FCLA1CTL3 0xFF41402c
87
88#define FCLA27CTL3 0xff41624c
89#define FCLA27CTL6 0xff416258
90
91/*
92 * Interval Timer(TAUA0)
93 */
94#define TAUA0_BASE0 UINT_C(0xFF808000) /* TAUA0 */
95#define TAUA0_BASE1 UINT_C(0xFFFFC400) /* TAUA0 */
96
97#define TAUA0_IRQ UINT_C(54) /* TAUA0 */
98#define TAUA1_IRQ UINT_C(55) /* TAUA1 */
99#define TAUA2_IRQ UINT_C(56) /* TAUA2 */
100#define TAUA3_IRQ UINT_C(57) /* TAUA3 */
101#define TAUA4_IRQ UINT_C(58) /* TAUA4 */
102#define TAUA5_IRQ UINT_C(59) /* TAUA5 */
103#define TAUA6_IRQ UINT_C(60) /* TAUA6 */
104#define TAUA7_IRQ UINT_C(61) /* TAUA7 */
105#define TAUA8_IRQ UINT_C(62) /* TAUA8 */
106#define TAUA9_IRQ UINT_C(63) /* TAUA9 */
107#define TAUA10_IRQ UINT_C(64) /* TAUA10 */
108#define TAUA11_IRQ UINT_C(65) /* TAUA11 */
109#define TAUA12_IRQ UINT_C(66) /* TAUA12 */
110#define TAUA13_IRQ UINT_C(67) /* TAUA13 */
111#define TAUA14_IRQ UINT_C(68) /* TAUA14 */
112#define TAUA15_IRQ UINT_C(69) /* TAUA15 */
113
114#define TAUA_CH0 0
115#define TAUA_CH1 1
116#define TAUA_CH2 2
117#define TAUA_CH3 3
118#define TAUA_CH4 4
119#define TAUA_CH5 5
120#define TAUA_CH6 6
121#define TAUA_CH7 7
122#define TAUA_CH8 8
123#define TAUA_CH9 9
124#define TAUA_CH10 10
125#define TAUA_CH11 11
126#define TAUA_CH12 12
127#define TAUA_CH13 13
128#define TAUA_CH14 14
129#define TAUA_CH15 15
130
131/*
132 * TAUA0 Timer ハードウェア定義
133 */
134
135/*
136 * レジスタ
137 */
138/* TAUA0 プリスケーラ・レジスタ */
139#define TAUA0TPS (TAUA0_BASE0 + 0x240U) /* プリスケーラ・クロック選択レジス */
140#define TAUA0BRS (TAUA0_BASE0 + 0x244U) /* プリスケーラ・ボー・レート設定レジスタ */
141
142/* TAUA0 制御レジスタ */
143#define TAUA0CDR(CH) (TAUA0_BASE1 + (CH * 4U)) /* データ・レジスタ */
144#define TAUA0CNT(CH) (TAUA0_BASE1 + (0x80U + (CH * 4U))) /* カウンタ・レジスタ */
145#define TAUA0CMOR(CH) (TAUA0_BASE0 + (0x200U + (CH * 4U))) /* モードOS レジスタ */
146#define TAUA0CMUR(CH) (TAUA0_BASE1 + (0xC0 + (CH * 4U))) /* モード・ユーザ・レジスタ */
147#define TAUA0CSR(CH) (TAUA0_BASE1 + (0x140U + (CH * 4U))) /* ステータス・レジスタ */
148#define TATA0CSC(CH) (TAUA0_BASE1 + (0x180U + (CH * 4U))) /* ステータス・クリア・トリガ・レジスタ */
149#define TAUA0TS (TAUA0_BASE1 + 0x1C4U) /* スタート・トリガ・レジスタ */
150#define TAUA0TE (TAUA0_BASE1 + 0x1C0U) /* 許可ステータス・レジスタ */
151#define TAUA0TT (TAUA0_BASE1 + 0x1C8U) /* ストップ・トリガ・レジスタ */
152
153/* TAUA0 出力レジスタ */
154#define TAUA0TOE (TAUA0_BASE1 + 0x5CU) /* 出力許可レジスタ */
155#define TAUA0TO (TAUA0_BASE1 + 0x58U) /* 出力レジスタ */
156#define TAUA0TOM (TAUA0_BASE0 + 0x248U) /* 出力モード・レジスタ */
157#define TAUA0TOC (TAUA0_BASE0 + 0x24CU) /* 出力コンフィギュレーション・レジスタ */
158
159#define TAUA0TOL (TAUA0_BASE1 + 0x40U) /* 出力アクティブ・レベル・レジスタ */
160#define TAUA0TDE (TAUA0_BASE0 + 0x250U) /* デッド・タイム出力許可レジスタ */
161#define TAUA0TDM (TAUA0_BASE0 + 0x254U) /* デッド・タイム出力モード・レジスタ */
162#define TAUA0TDL (TAUA0_BASE1 + 0x54U) /* デッド・タイム出力レベル・レジスタ */
163
164#define TAUA0TRO (TAUA0_BASE1 + 0x4CU) /* リアルタイム出力レジスタ */
165#define TAUA0TRE (TAUA0_BASE0 + 0x258U) /* リアルタイム出力許可レジスタ */
166#define TAUA0TRC (TAUA0_BASE0 + 0x25CU) /* リアルタイム出力制御レジスタ */
167#define TAUA0TME (TAUA0_BASE1 + 0x50U) /* 変調出力許可レジスタ */
168/* TAUA0 リロード・データ・レジスタ */
169#define TAUA0RDE (TAUA0_BASE0 + 0x260U) /* リロード・データ許可レジスタ */
170#define TAUA0RDM (TAUA0_BASE0 + 0x264U) /* リロード・データ・モード・レジスタ */
171#define TAUA0RDS (TAUA0_BASE0 + 0x268U) /* リロード・データ制御CH 選択・リロード・データ制御CH 選択 */
172#define TAUA0RDC (TAUA0_BASE0 + 0x26CU) /* リロード・データ制御レジスタ */
173#define TAUA0RDT (TAUA0_BASE1 + 0x44U) /* リロード・データ・トリガ・レジスタ */
174#define TAUA0RSF (TAUA0_BASE1 + 0x48U) /* リロード・ステータス・レジスタ */
175
176#define MCU_TAUA0_MASK_CK0 ((uint16) 0x000f)
177#define MCU_TAUA0_CK0 ((uint16) 0x0000) /* 2^0 */
178#define MCU_TAUA00_CMOR ((uint16) 0x0001)
179#define MCU_TAUA00_CMUR ((uint8) 0x01)
180#define MCU_TAUA00_DI ((uint16) 0x0080)
181#define MCU_TAUA00_EI ((uint16) 0x0000)
182#define MCU_TAUA00_MASK_ENB ((uint16) 0x0001)
183#define MCU_TIMER_STOP ((uint8) 0x0)
184#define MCU_TIMER_START ((uint8) 0x1)
185
186#define ICTAUA0_BASE 0xffff606c /* チャンネル0割り込み */
187#define ICTAUA0I(CH) (ICTAUA0_BASE + (CH * 0x02))
188
189/*
190 * TAUA0 マスク定義
191 */
192#define TAUA0_MASK_BIT 0x0xfffe /* bit0 = TAUA0 */
193
194/*
195 * UARTE
196 */
197#define URTE0_BASE 0xFF5C0000
198#define URTE1_BASE 0xFF5D0000
199#define URTE2_BASE0 0xFF5E0000
200#define URTE2_BASE1 0xFFFFEC00
201
202#define URTEnCTL0 (URTE2_BASE1 + 0x00U)
203#define URTEnCTL1 (URTE2_BASE0 + 0x40U)
204#define URTEnCTL2 (URTE2_BASE0 + 0x44U)
205#define URTEnTRG (URTE2_BASE1 + 0x0cU)
206#define URTEnSTR0 (URTE2_BASE1 + 0x10U)
207#define URTEnSTR1 (URTE2_BASE1 + 0x14U)
208#define URTEnSTC (URTE2_BASE1 + 0x18U)
209#define URTEnRX (URTE2_BASE1 + 0x1cU)
210#define URTEnTX (URTE2_BASE1 + 0x2cU)
211
212#define URTE2_INTNO UINT_C(197)
213
214#define INTNO_URTE2_IS 114
215#define INTNO_URTE2_IR 115
216#define INTNO_URTE2_IT 116
217
218/*
219 * INT
220 */
221#define EIC_BASE UINT_C(0xffff6000)
222#define EIC_ADDRESS(intno) (EIC_BASE + (intno * 2))
223#define PMR UINT_C(0xFFFF6448)
224#define ISPR_H UINT_C(0xFFFF6440)
225#define ISPC_H UINT_C(0xffff6450)
226
227#define TMIN_INTNO UINT_C(0)
228#define TMAX_INTNO UINT_C(255)
229#define TNUM_INT UINT_C(256)
230
231#include "v850.h"
232
233#endif /* TOPPERS_V850E2_PX4_H */
Note: See TracBrowser for help on using the repository browser.