1
2
3
4
5
6
7
8
9
10
11#ifndef _ASM_PROC_DMACTL_REGS_H
12#define _ASM_PROC_DMACTL_REGS_H
13
14#include <asm/cpu-regs.h>
15
16#ifdef __KERNEL__
17
18
19#define DMxCTR(N) __SYSREG(0xd4005000+(N*0x100), u32)
20#define DMxCTR_BG 0x0000001f
21#define DMxCTR_BG_SOFT 0x00000000
22#define DMxCTR_BG_SC0TX 0x00000002
23#define DMxCTR_BG_SC0RX 0x00000003
24#define DMxCTR_BG_SC1TX 0x00000004
25#define DMxCTR_BG_SC1RX 0x00000005
26#define DMxCTR_BG_SC2TX 0x00000006
27#define DMxCTR_BG_SC2RX 0x00000007
28#define DMxCTR_BG_TM0UFLOW 0x00000008
29#define DMxCTR_BG_TM1UFLOW 0x00000009
30#define DMxCTR_BG_TM2UFLOW 0x0000000a
31#define DMxCTR_BG_TM3UFLOW 0x0000000b
32#define DMxCTR_BG_TM6ACMPCAP 0x0000000c
33#define DMxCTR_BG_RYBY 0x0000000d
34#define DMxCTR_BG_RMC 0x0000000e
35#define DMxCTR_BG_XIRQ12 0x00000011
36#define DMxCTR_BG_XIRQ13 0x00000012
37#define DMxCTR_BG_TCK 0x00000014
38#define DMxCTR_BG_SC4TX 0x00000019
39#define DMxCTR_BG_SC4RX 0x0000001a
40#define DMxCTR_BG_SC5TX 0x0000001b
41#define DMxCTR_BG_SC5RX 0x0000001c
42#define DMxCTR_BG_SC6TX 0x0000001d
43#define DMxCTR_BG_SC6RX 0x0000001e
44#define DMxCTR_BG_TMSUFLOW 0x0000001f
45#define DMxCTR_SAM 0x00000060
46#define DMxCTR_SAM_INCR 0x00000000
47#define DMxCTR_SAM_DECR 0x00000020
48#define DMxCTR_SAM_FIXED 0x00000040
49#define DMxCTR_DAM 0x00000300
50#define DMxCTR_DAM_INCR 0x00000000
51#define DMxCTR_DAM_DECR 0x00000100
52#define DMxCTR_DAM_FIXED 0x00000200
53#define DMxCTR_UT 0x00006000
54#define DMxCTR_UT_1 0x00000000
55#define DMxCTR_UT_2 0x00002000
56#define DMxCTR_UT_4 0x00004000
57#define DMxCTR_UT_16 0x00006000
58#define DMxCTR_RRE 0x00008000
59#define DMxCTR_TEN 0x00010000
60#define DMxCTR_RQM 0x00060000
61#define DMxCTR_RQM_FALLEDGE 0x00000000
62#define DMxCTR_RQM_RISEEDGE 0x00020000
63#define DMxCTR_RQM_LOLEVEL 0x00040000
64#define DMxCTR_RQM_HILEVEL 0x00060000
65#define DMxCTR_RQF 0x01000000
66#define DMxCTR_PERR 0x40000000
67#define DMxCTR_XEND 0x80000000
68
69#define DMxSRC(N) __SYSREG(0xd4005004+(N*0x100), u32)
70
71#define DMxDST(N) __SYSREG(0xd4005008+(N*0x100), u32)
72
73#define DMxSIZ(N) __SYSREG(0xd400500c+(N*0x100), u32)
74#define DMxSIZ_CT 0x000fffff
75
76#define DMxCYC(N) __SYSREG(0xd4005010+(N*0x100), u32)
77#define DMxCYC_CYC 0x000000ff
78
79#define DM0IRQ 16
80#define DM1IRQ 17
81#define DM2IRQ 18
82#define DM3IRQ 19
83
84#define DM0ICR GxICR(DM0IRQ)
85#define DM1ICR GxICR(DM0IR1)
86#define DM2ICR GxICR(DM0IR2)
87#define DM3ICR GxICR(DM0IR3)
88
89#ifndef __ASSEMBLY__
90
91struct mn10300_dmactl_regs {
92 u32 ctr;
93 const void *src;
94 void *dst;
95 u32 siz;
96 u32 cyc;
97} __attribute__((aligned(0x100)));
98
99#endif
100
101#endif
102
103#endif
104