1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
****************************************************************************
PROJECT : r7f701412
FILE : $Id: r_sys_davehd.c 11006 2016-11-07 16:32:44Z michael.golczewski $
============================================================================
DESCRIPTION
r7f701412 interrupt service routines
============================================================================
C O P Y R I G H T
============================================================================
Copyright (c) 2013 - 2014
by
Renesas Electronics (Europe) GmbH.
Arcadiastrasse 10
D-40472 Duesseldorf
Germany
All rights reserved.
============================================================================
Purpose: only for testing, not for mass production
DISCLAIMER
LICENSEE has read, understood and accepted the terms and conditions defined in
the license agreement, especially the usage rights. In any case, it is
LICENSEE's responsibility to make sure that any user of the software complies
with the terms and conditions of the signed license agreement.
SAMPLE CODE is not part of the licensed software, as such it must not be used in
mass-production applications. It can only be used for evaluation and
demonstration purposes at customer's premises listed in the signed license
agreement.
****************************************************************************
*/
/*******************************************************************************
Title: r7f701412 DHD Support Functions
Implementation of the DHD support functions for the
device r7f701412.
*/
/*******************************************************************************
Section: Includes
*/
#include "r_typedefs.h"
#include "r_dev_api.h"
#include "r_config_davehd.h"
#include "r_sys_davehd.h"
#if defined (R_DBG_PRINT_DEV_REGS) || defined (R_DBG_PRINT_MSG)
#include <stdio.h>
#include "r_dbg_api.h"
#endif
/*******************************************************************************
Variable: loc_IntAddress
Stores the Addresses of the Interrupt control registers for each unit
The order of the adresses for each interrupt type schould be the same
as defined in dhd. See <r_dhd_Interrupt_t>
*/
static r_dev_IntSel_t loc_dhd_IntAddress[R_DHD_MACRO_NUM][R_DHD_INT_NUM] =
{
/* unit 0 */ {R_DEV_INT_DAVEHD0SYNC, R_DEV_INT_DAVEHD0PAUSE, R_DEV_INT_DAVEHD0SP}
};
/*******************************************************************************
Section: Global Functions
*/
/*******************************************************************************
Function: R_SYS_DHD_GetBaseAddr
*/
uint32_t R_SYS_DHD_GetBaseAddr(uint32_t Unit)
{
uint32_t addr;
switch(Unit)
{
case 0:
addr = R_DAVEHD_0_BASE;
break;
default:
R_DEV_ERROR(Unit, R_DEV_ERR_UNIT, "DHD: We do not have this Unit");
break;
}
return addr;
}
/*******************************************************************************
Function: R_SYS_DHD_IntCInit
*/
void R_SYS_DHD_IntCInit(uint32_t Unit)
{
uint8_t i;
if (Unit >= R_DHD_MACRO_NUM)
{
R_DEV_ERROR(Unit, R_DEV_ERR_UNIT, "DHD: We do not have this Unit");
}
/* Enable all interrupts */
for(i = 0u; i < R_DHD_INT_NUM; i++) {
R_DEV_IntEnable(loc_dhd_IntAddress[Unit][i], 1);
}
}
/*******************************************************************************
Function: R_SYS_DHD_IntCDeInit
*/
void R_SYS_DHD_IntCDeInit(uint32_t Unit)
{
uint8_t i;
if (Unit >= R_DHD_MACRO_NUM)
{
R_DEV_ERROR(Unit, R_DEV_ERR_UNIT, "DHD: We do not have this Unit");
}
/* Disable all interrupts */
for(i = 0u; i < R_DHD_INT_NUM; i++) {
R_DEV_IntEnable(loc_dhd_IntAddress[Unit][i], 0);
}
}