summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/sh/sh4dmac.h
blob: b7918fac997f8de5f15fba8e1cf0e84f08c53155 (plain) (blame)
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
// license:BSD-3-Clause
// copyright-holders:R. Belmont
/* SHA3/4 DMA Controller */

/* bit definitions */
#define CHCR_SSA    0xe0000000
#define CHCR_STC    0x10000000
#define CHCR_DSA    0x0e000000
#define CHCR_DTC    0x01000000
#define CHCR_DS     0x00080000
#define CHCR_RL     0x00040000
#define CHCR_AM     0x00020000
#define CHCR_AL     0x00010000
#define CHCR_DM     0x0000c000
#define CHCR_SM     0x00003000
#define CHCR_RS     0x00000f00
#define CHCR_TM     0x00000080
#define CHCR_TS     0x00000070
#define CHCR_IE     0x00000004
#define CHCR_TE     0x00000002
#define CHCR_DE     0x00000001

#define DMAOR_DDT   0x8000
#define DMAOR_PR    0x0300
#define DMAOR_COD   0x0010
#define DMAOR_AE    0x0004
#define DMAOR_NMIF  0x0002
#define DMAOR_DME   0x0001

void sh4_handle_sar0_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_sar1_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_sar2_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_sar3_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dar0_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dar1_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dar2_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dar3_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dmatcr0_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dmatcr1_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dmatcr2_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dmatcr3_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_chcr0_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_chcr1_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_chcr2_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_chcr3_addr_w(uint32_t data, uint32_t mem_mask);
void sh4_handle_dmaor_addr_w(uint32_t data, uint32_t mem_mask);
uint32_t sh4_handle_sar0_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_sar1_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_sar2_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_sar3_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dar0_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dar1_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dar2_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dar3_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dmatcr0_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dmatcr1_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dmatcr2_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dmatcr3_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_chcr0_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_chcr1_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_chcr2_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_chcr3_addr_r(uint32_t mem_mask);
uint32_t sh4_handle_dmaor_addr_r(uint32_t mem_mask);