xref: /openbmc/u-boot/arch/arm/include/asm/mach-imx/regs-apbh.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2552a848eSStefano Babic /*
3552a848eSStefano Babic  * Freescale i.MX28 APBH Register Definitions
4552a848eSStefano Babic  *
5552a848eSStefano Babic  * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
6552a848eSStefano Babic  * on behalf of DENX Software Engineering GmbH
7552a848eSStefano Babic  *
8552a848eSStefano Babic  * Based on code from LTIB:
9552a848eSStefano Babic  * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved.
10552a848eSStefano Babic  */
11552a848eSStefano Babic 
12552a848eSStefano Babic #ifndef __REGS_APBH_H__
13552a848eSStefano Babic #define __REGS_APBH_H__
14552a848eSStefano Babic 
15552a848eSStefano Babic #include <asm/mach-imx/regs-common.h>
16552a848eSStefano Babic 
17552a848eSStefano Babic #ifndef	__ASSEMBLY__
18552a848eSStefano Babic 
19552a848eSStefano Babic #if defined(CONFIG_MX23)
20552a848eSStefano Babic struct mxs_apbh_regs {
21552a848eSStefano Babic 	mxs_reg_32(hw_apbh_ctrl0)
22552a848eSStefano Babic 	mxs_reg_32(hw_apbh_ctrl1)
23552a848eSStefano Babic 	mxs_reg_32(hw_apbh_ctrl2)
24552a848eSStefano Babic 	mxs_reg_32(hw_apbh_channel_ctrl)
25552a848eSStefano Babic 
26552a848eSStefano Babic 	union {
27552a848eSStefano Babic 	struct {
28552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_curcmdar)
29552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_nxtcmdar)
30552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_cmd)
31552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_bar)
32552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_sema)
33552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_debug1)
34552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_debug2)
35552a848eSStefano Babic 	} ch[8];
36552a848eSStefano Babic 	struct {
37552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_curcmdar)
38552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_nxtcmdar)
39552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_cmd)
40552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_bar)
41552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_sema)
42552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_debug1)
43552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_debug2)
44552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_curcmdar)
45552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_nxtcmdar)
46552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_cmd)
47552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_bar)
48552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_sema)
49552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_debug1)
50552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_debug2)
51552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_curcmdar)
52552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_nxtcmdar)
53552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_cmd)
54552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_bar)
55552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_sema)
56552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_debug1)
57552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_debug2)
58552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_curcmdar)
59552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_nxtcmdar)
60552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_cmd)
61552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_bar)
62552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_sema)
63552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_debug1)
64552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_debug2)
65552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_curcmdar)
66552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_nxtcmdar)
67552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_cmd)
68552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_bar)
69552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_sema)
70552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_debug1)
71552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_debug2)
72552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_curcmdar)
73552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_nxtcmdar)
74552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_cmd)
75552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_bar)
76552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_sema)
77552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_debug1)
78552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_debug2)
79552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_curcmdar)
80552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_nxtcmdar)
81552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_cmd)
82552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_bar)
83552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_sema)
84552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_debug1)
85552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_debug2)
86552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_curcmdar)
87552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_nxtcmdar)
88552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_cmd)
89552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_bar)
90552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_sema)
91552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_debug1)
92552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_debug2)
93552a848eSStefano Babic 	};
94552a848eSStefano Babic 	};
95552a848eSStefano Babic 	mxs_reg_32(hw_apbh_version)
96552a848eSStefano Babic };
97552a848eSStefano Babic 
98552a848eSStefano Babic #elif (defined(CONFIG_MX28) || defined(CONFIG_MX6) || defined(CONFIG_MX7))
99552a848eSStefano Babic struct mxs_apbh_regs {
100552a848eSStefano Babic 	mxs_reg_32(hw_apbh_ctrl0)
101552a848eSStefano Babic 	mxs_reg_32(hw_apbh_ctrl1)
102552a848eSStefano Babic 	mxs_reg_32(hw_apbh_ctrl2)
103552a848eSStefano Babic 	mxs_reg_32(hw_apbh_channel_ctrl)
104552a848eSStefano Babic 	mxs_reg_32(hw_apbh_devsel)
105552a848eSStefano Babic 	mxs_reg_32(hw_apbh_dma_burst_size)
106552a848eSStefano Babic 	mxs_reg_32(hw_apbh_debug)
107552a848eSStefano Babic 
108552a848eSStefano Babic 	uint32_t	reserved[36];
109552a848eSStefano Babic 
110552a848eSStefano Babic 	union {
111552a848eSStefano Babic 	struct {
112552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_curcmdar)
113552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_nxtcmdar)
114552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_cmd)
115552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_bar)
116552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_sema)
117552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_debug1)
118552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch_debug2)
119552a848eSStefano Babic 	} ch[16];
120552a848eSStefano Babic 	struct {
121552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_curcmdar)
122552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_nxtcmdar)
123552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_cmd)
124552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_bar)
125552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_sema)
126552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_debug1)
127552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch0_debug2)
128552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_curcmdar)
129552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_nxtcmdar)
130552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_cmd)
131552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_bar)
132552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_sema)
133552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_debug1)
134552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch1_debug2)
135552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_curcmdar)
136552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_nxtcmdar)
137552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_cmd)
138552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_bar)
139552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_sema)
140552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_debug1)
141552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch2_debug2)
142552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_curcmdar)
143552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_nxtcmdar)
144552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_cmd)
145552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_bar)
146552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_sema)
147552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_debug1)
148552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch3_debug2)
149552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_curcmdar)
150552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_nxtcmdar)
151552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_cmd)
152552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_bar)
153552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_sema)
154552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_debug1)
155552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch4_debug2)
156552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_curcmdar)
157552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_nxtcmdar)
158552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_cmd)
159552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_bar)
160552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_sema)
161552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_debug1)
162552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch5_debug2)
163552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_curcmdar)
164552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_nxtcmdar)
165552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_cmd)
166552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_bar)
167552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_sema)
168552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_debug1)
169552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch6_debug2)
170552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_curcmdar)
171552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_nxtcmdar)
172552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_cmd)
173552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_bar)
174552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_sema)
175552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_debug1)
176552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch7_debug2)
177552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_curcmdar)
178552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_nxtcmdar)
179552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_cmd)
180552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_bar)
181552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_sema)
182552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_debug1)
183552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch8_debug2)
184552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_curcmdar)
185552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_nxtcmdar)
186552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_cmd)
187552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_bar)
188552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_sema)
189552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_debug1)
190552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch9_debug2)
191552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_curcmdar)
192552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_nxtcmdar)
193552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_cmd)
194552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_bar)
195552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_sema)
196552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_debug1)
197552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch10_debug2)
198552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_curcmdar)
199552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_nxtcmdar)
200552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_cmd)
201552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_bar)
202552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_sema)
203552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_debug1)
204552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch11_debug2)
205552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_curcmdar)
206552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_nxtcmdar)
207552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_cmd)
208552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_bar)
209552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_sema)
210552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_debug1)
211552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch12_debug2)
212552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_curcmdar)
213552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_nxtcmdar)
214552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_cmd)
215552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_bar)
216552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_sema)
217552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_debug1)
218552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch13_debug2)
219552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_curcmdar)
220552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_nxtcmdar)
221552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_cmd)
222552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_bar)
223552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_sema)
224552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_debug1)
225552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch14_debug2)
226552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_curcmdar)
227552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_nxtcmdar)
228552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_cmd)
229552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_bar)
230552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_sema)
231552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_debug1)
232552a848eSStefano Babic 		mxs_reg_32(hw_apbh_ch15_debug2)
233552a848eSStefano Babic 	};
234552a848eSStefano Babic 	};
235552a848eSStefano Babic 	mxs_reg_32(hw_apbh_version)
236552a848eSStefano Babic };
237552a848eSStefano Babic #endif
238552a848eSStefano Babic 
239552a848eSStefano Babic #endif
240552a848eSStefano Babic 
241552a848eSStefano Babic #define	APBH_CTRL0_SFTRST				(1 << 31)
242552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE				(1 << 30)
243552a848eSStefano Babic #define	APBH_CTRL0_AHB_BURST8_EN			(1 << 29)
244552a848eSStefano Babic #define	APBH_CTRL0_APB_BURST_EN				(1 << 28)
245552a848eSStefano Babic #if defined(CONFIG_MX23)
246552a848eSStefano Babic #define	APBH_CTRL0_RSVD0_MASK				(0xf << 24)
247552a848eSStefano Babic #define	APBH_CTRL0_RSVD0_OFFSET				24
248552a848eSStefano Babic #define	APBH_CTRL0_RESET_CHANNEL_MASK			(0xff << 16)
249552a848eSStefano Babic #define	APBH_CTRL0_RESET_CHANNEL_OFFSET			16
250552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_MASK			(0xff << 8)
251552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_OFFSET		8
252552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP0			0x02
253552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP1			0x04
254552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND0		0x10
255552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND1		0x20
256552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND2		0x40
257552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND3		0x80
258552a848eSStefano Babic #elif defined(CONFIG_MX28)
259552a848eSStefano Babic #define	APBH_CTRL0_RSVD0_MASK				(0xfff << 16)
260552a848eSStefano Babic #define	APBH_CTRL0_RSVD0_OFFSET				16
261552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_MASK			0xffff
262552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_OFFSET		0
263552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP0			0x0001
264552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP1			0x0002
265552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP2			0x0004
266552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP3			0x0008
267552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND0		0x0010
268552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND1		0x0020
269552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND2		0x0040
270552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND3		0x0080
271552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND4		0x0100
272552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND5		0x0200
273552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND6		0x0400
274552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND7		0x0800
275552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_HSADC		0x1000
276552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_LCDIF		0x2000
277552a848eSStefano Babic #elif (defined(CONFIG_MX6) || defined(CONFIG_MX7))
278552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_OFFSET		0
279552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND0		0x0001
280552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND1		0x0002
281552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND2		0x0004
282552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND3		0x0008
283552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND4		0x0010
284552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND5		0x0020
285552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND6		0x0040
286552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_NAND7		0x0080
287552a848eSStefano Babic #define	APBH_CTRL0_CLKGATE_CHANNEL_SSP			0x0100
288552a848eSStefano Babic #endif
289552a848eSStefano Babic 
290552a848eSStefano Babic #define	APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN			(1 << 31)
291552a848eSStefano Babic #define	APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN			(1 << 30)
292552a848eSStefano Babic #define	APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN			(1 << 29)
293552a848eSStefano Babic #define	APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN			(1 << 28)
294552a848eSStefano Babic #define	APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN			(1 << 27)
295552a848eSStefano Babic #define	APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN			(1 << 26)
296552a848eSStefano Babic #define	APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN			(1 << 25)
297552a848eSStefano Babic #define	APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN			(1 << 24)
298552a848eSStefano Babic #define	APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN			(1 << 23)
299552a848eSStefano Babic #define	APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN			(1 << 22)
300552a848eSStefano Babic #define	APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN			(1 << 21)
301552a848eSStefano Babic #define	APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN			(1 << 20)
302552a848eSStefano Babic #define	APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN			(1 << 19)
303552a848eSStefano Babic #define	APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN			(1 << 18)
304552a848eSStefano Babic #define	APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN			(1 << 17)
305552a848eSStefano Babic #define	APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN			(1 << 16)
306552a848eSStefano Babic #define	APBH_CTRL1_CH_CMDCMPLT_IRQ_EN_OFFSET		16
307552a848eSStefano Babic #define	APBH_CTRL1_CH_CMDCMPLT_IRQ_EN_MASK		(0xffff << 16)
308552a848eSStefano Babic #define	APBH_CTRL1_CH15_CMDCMPLT_IRQ			(1 << 15)
309552a848eSStefano Babic #define	APBH_CTRL1_CH14_CMDCMPLT_IRQ			(1 << 14)
310552a848eSStefano Babic #define	APBH_CTRL1_CH13_CMDCMPLT_IRQ			(1 << 13)
311552a848eSStefano Babic #define	APBH_CTRL1_CH12_CMDCMPLT_IRQ			(1 << 12)
312552a848eSStefano Babic #define	APBH_CTRL1_CH11_CMDCMPLT_IRQ			(1 << 11)
313552a848eSStefano Babic #define	APBH_CTRL1_CH10_CMDCMPLT_IRQ			(1 << 10)
314552a848eSStefano Babic #define	APBH_CTRL1_CH9_CMDCMPLT_IRQ			(1 << 9)
315552a848eSStefano Babic #define	APBH_CTRL1_CH8_CMDCMPLT_IRQ			(1 << 8)
316552a848eSStefano Babic #define	APBH_CTRL1_CH7_CMDCMPLT_IRQ			(1 << 7)
317552a848eSStefano Babic #define	APBH_CTRL1_CH6_CMDCMPLT_IRQ			(1 << 6)
318552a848eSStefano Babic #define	APBH_CTRL1_CH5_CMDCMPLT_IRQ			(1 << 5)
319552a848eSStefano Babic #define	APBH_CTRL1_CH4_CMDCMPLT_IRQ			(1 << 4)
320552a848eSStefano Babic #define	APBH_CTRL1_CH3_CMDCMPLT_IRQ			(1 << 3)
321552a848eSStefano Babic #define	APBH_CTRL1_CH2_CMDCMPLT_IRQ			(1 << 2)
322552a848eSStefano Babic #define	APBH_CTRL1_CH1_CMDCMPLT_IRQ			(1 << 1)
323552a848eSStefano Babic #define	APBH_CTRL1_CH0_CMDCMPLT_IRQ			(1 << 0)
324552a848eSStefano Babic 
325552a848eSStefano Babic #define	APBH_CTRL2_CH15_ERROR_STATUS			(1 << 31)
326552a848eSStefano Babic #define	APBH_CTRL2_CH14_ERROR_STATUS			(1 << 30)
327552a848eSStefano Babic #define	APBH_CTRL2_CH13_ERROR_STATUS			(1 << 29)
328552a848eSStefano Babic #define	APBH_CTRL2_CH12_ERROR_STATUS			(1 << 28)
329552a848eSStefano Babic #define	APBH_CTRL2_CH11_ERROR_STATUS			(1 << 27)
330552a848eSStefano Babic #define	APBH_CTRL2_CH10_ERROR_STATUS			(1 << 26)
331552a848eSStefano Babic #define	APBH_CTRL2_CH9_ERROR_STATUS			(1 << 25)
332552a848eSStefano Babic #define	APBH_CTRL2_CH8_ERROR_STATUS			(1 << 24)
333552a848eSStefano Babic #define	APBH_CTRL2_CH7_ERROR_STATUS			(1 << 23)
334552a848eSStefano Babic #define	APBH_CTRL2_CH6_ERROR_STATUS			(1 << 22)
335552a848eSStefano Babic #define	APBH_CTRL2_CH5_ERROR_STATUS			(1 << 21)
336552a848eSStefano Babic #define	APBH_CTRL2_CH4_ERROR_STATUS			(1 << 20)
337552a848eSStefano Babic #define	APBH_CTRL2_CH3_ERROR_STATUS			(1 << 19)
338552a848eSStefano Babic #define	APBH_CTRL2_CH2_ERROR_STATUS			(1 << 18)
339552a848eSStefano Babic #define	APBH_CTRL2_CH1_ERROR_STATUS			(1 << 17)
340552a848eSStefano Babic #define	APBH_CTRL2_CH0_ERROR_STATUS			(1 << 16)
341552a848eSStefano Babic #define	APBH_CTRL2_CH15_ERROR_IRQ			(1 << 15)
342552a848eSStefano Babic #define	APBH_CTRL2_CH14_ERROR_IRQ			(1 << 14)
343552a848eSStefano Babic #define	APBH_CTRL2_CH13_ERROR_IRQ			(1 << 13)
344552a848eSStefano Babic #define	APBH_CTRL2_CH12_ERROR_IRQ			(1 << 12)
345552a848eSStefano Babic #define	APBH_CTRL2_CH11_ERROR_IRQ			(1 << 11)
346552a848eSStefano Babic #define	APBH_CTRL2_CH10_ERROR_IRQ			(1 << 10)
347552a848eSStefano Babic #define	APBH_CTRL2_CH9_ERROR_IRQ			(1 << 9)
348552a848eSStefano Babic #define	APBH_CTRL2_CH8_ERROR_IRQ			(1 << 8)
349552a848eSStefano Babic #define	APBH_CTRL2_CH7_ERROR_IRQ			(1 << 7)
350552a848eSStefano Babic #define	APBH_CTRL2_CH6_ERROR_IRQ			(1 << 6)
351552a848eSStefano Babic #define	APBH_CTRL2_CH5_ERROR_IRQ			(1 << 5)
352552a848eSStefano Babic #define	APBH_CTRL2_CH4_ERROR_IRQ			(1 << 4)
353552a848eSStefano Babic #define	APBH_CTRL2_CH3_ERROR_IRQ			(1 << 3)
354552a848eSStefano Babic #define	APBH_CTRL2_CH2_ERROR_IRQ			(1 << 2)
355552a848eSStefano Babic #define	APBH_CTRL2_CH1_ERROR_IRQ			(1 << 1)
356552a848eSStefano Babic #define	APBH_CTRL2_CH0_ERROR_IRQ			(1 << 0)
357552a848eSStefano Babic 
358552a848eSStefano Babic #if defined(CONFIG_MX28)
359552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_MASK		(0xffff << 16)
360552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_OFFSET		16
361552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP0		(0x0001 << 16)
362552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP1		(0x0002 << 16)
363552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP2		(0x0004 << 16)
364552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP3		(0x0008 << 16)
365552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND0		(0x0010 << 16)
366552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND1		(0x0020 << 16)
367552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND2		(0x0040 << 16)
368552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND3		(0x0080 << 16)
369552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND4		(0x0100 << 16)
370552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND5		(0x0200 << 16)
371552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND6		(0x0400 << 16)
372552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND7		(0x0800 << 16)
373552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_HSADC		(0x1000 << 16)
374552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_LCDIF		(0x2000 << 16)
375552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_MASK		0xffff
376552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_OFFSET		0
377552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP0		0x0001
378552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP1		0x0002
379552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP2		0x0004
380552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP3		0x0008
381552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND0		0x0010
382552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND1		0x0020
383552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND2		0x0040
384552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND3		0x0080
385552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND4		0x0100
386552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND5		0x0200
387552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND6		0x0400
388552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND7		0x0800
389552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_HSADC		0x1000
390552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_FREEZE_CHANNEL_LCDIF		0x2000
391552a848eSStefano Babic #endif
392552a848eSStefano Babic 
393552a848eSStefano Babic #if (defined(CONFIG_MX6) || defined(CONFIG_MX7))
394552a848eSStefano Babic #define	APBH_CHANNEL_CTRL_RESET_CHANNEL_OFFSET		16
395552a848eSStefano Babic #endif
396552a848eSStefano Babic 
397552a848eSStefano Babic #if defined(CONFIG_MX23)
398552a848eSStefano Babic #define	APBH_DEVSEL_CH7_MASK				(0xf << 28)
399552a848eSStefano Babic #define	APBH_DEVSEL_CH7_OFFSET				28
400552a848eSStefano Babic #define	APBH_DEVSEL_CH6_MASK				(0xf << 24)
401552a848eSStefano Babic #define	APBH_DEVSEL_CH6_OFFSET				24
402552a848eSStefano Babic #define	APBH_DEVSEL_CH5_MASK				(0xf << 20)
403552a848eSStefano Babic #define	APBH_DEVSEL_CH5_OFFSET				20
404552a848eSStefano Babic #define	APBH_DEVSEL_CH4_MASK				(0xf << 16)
405552a848eSStefano Babic #define	APBH_DEVSEL_CH4_OFFSET				16
406552a848eSStefano Babic #define	APBH_DEVSEL_CH3_MASK				(0xf << 12)
407552a848eSStefano Babic #define	APBH_DEVSEL_CH3_OFFSET				12
408552a848eSStefano Babic #define	APBH_DEVSEL_CH2_MASK				(0xf << 8)
409552a848eSStefano Babic #define	APBH_DEVSEL_CH2_OFFSET				8
410552a848eSStefano Babic #define	APBH_DEVSEL_CH1_MASK				(0xf << 4)
411552a848eSStefano Babic #define	APBH_DEVSEL_CH1_OFFSET				4
412552a848eSStefano Babic #define	APBH_DEVSEL_CH0_MASK				(0xf << 0)
413552a848eSStefano Babic #define	APBH_DEVSEL_CH0_OFFSET				0
414552a848eSStefano Babic #elif defined(CONFIG_MX28)
415552a848eSStefano Babic #define	APBH_DEVSEL_CH15_MASK				(0x3 << 30)
416552a848eSStefano Babic #define	APBH_DEVSEL_CH15_OFFSET				30
417552a848eSStefano Babic #define	APBH_DEVSEL_CH14_MASK				(0x3 << 28)
418552a848eSStefano Babic #define	APBH_DEVSEL_CH14_OFFSET				28
419552a848eSStefano Babic #define	APBH_DEVSEL_CH13_MASK				(0x3 << 26)
420552a848eSStefano Babic #define	APBH_DEVSEL_CH13_OFFSET				26
421552a848eSStefano Babic #define	APBH_DEVSEL_CH12_MASK				(0x3 << 24)
422552a848eSStefano Babic #define	APBH_DEVSEL_CH12_OFFSET				24
423552a848eSStefano Babic #define	APBH_DEVSEL_CH11_MASK				(0x3 << 22)
424552a848eSStefano Babic #define	APBH_DEVSEL_CH11_OFFSET				22
425552a848eSStefano Babic #define	APBH_DEVSEL_CH10_MASK				(0x3 << 20)
426552a848eSStefano Babic #define	APBH_DEVSEL_CH10_OFFSET				20
427552a848eSStefano Babic #define	APBH_DEVSEL_CH9_MASK				(0x3 << 18)
428552a848eSStefano Babic #define	APBH_DEVSEL_CH9_OFFSET				18
429552a848eSStefano Babic #define	APBH_DEVSEL_CH8_MASK				(0x3 << 16)
430552a848eSStefano Babic #define	APBH_DEVSEL_CH8_OFFSET				16
431552a848eSStefano Babic #define	APBH_DEVSEL_CH7_MASK				(0x3 << 14)
432552a848eSStefano Babic #define	APBH_DEVSEL_CH7_OFFSET				14
433552a848eSStefano Babic #define	APBH_DEVSEL_CH6_MASK				(0x3 << 12)
434552a848eSStefano Babic #define	APBH_DEVSEL_CH6_OFFSET				12
435552a848eSStefano Babic #define	APBH_DEVSEL_CH5_MASK				(0x3 << 10)
436552a848eSStefano Babic #define	APBH_DEVSEL_CH5_OFFSET				10
437552a848eSStefano Babic #define	APBH_DEVSEL_CH4_MASK				(0x3 << 8)
438552a848eSStefano Babic #define	APBH_DEVSEL_CH4_OFFSET				8
439552a848eSStefano Babic #define	APBH_DEVSEL_CH3_MASK				(0x3 << 6)
440552a848eSStefano Babic #define	APBH_DEVSEL_CH3_OFFSET				6
441552a848eSStefano Babic #define	APBH_DEVSEL_CH2_MASK				(0x3 << 4)
442552a848eSStefano Babic #define	APBH_DEVSEL_CH2_OFFSET				4
443552a848eSStefano Babic #define	APBH_DEVSEL_CH1_MASK				(0x3 << 2)
444552a848eSStefano Babic #define	APBH_DEVSEL_CH1_OFFSET				2
445552a848eSStefano Babic #define	APBH_DEVSEL_CH0_MASK				(0x3 << 0)
446552a848eSStefano Babic #define	APBH_DEVSEL_CH0_OFFSET				0
447552a848eSStefano Babic #endif
448552a848eSStefano Babic 
449552a848eSStefano Babic #if defined(CONFIG_MX28)
450552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH15_MASK			(0x3 << 30)
451552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH15_OFFSET			30
452552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH14_MASK			(0x3 << 28)
453552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH14_OFFSET			28
454552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH13_MASK			(0x3 << 26)
455552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH13_OFFSET			26
456552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH12_MASK			(0x3 << 24)
457552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH12_OFFSET			24
458552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH11_MASK			(0x3 << 22)
459552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH11_OFFSET			22
460552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH10_MASK			(0x3 << 20)
461552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH10_OFFSET			20
462552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH9_MASK			(0x3 << 18)
463552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH9_OFFSET			18
464552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH8_MASK			(0x3 << 16)
465552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH8_OFFSET			16
466552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH8_BURST0			(0x0 << 16)
467552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH8_BURST4			(0x1 << 16)
468552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH8_BURST8			(0x2 << 16)
469552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH7_MASK			(0x3 << 14)
470552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH7_OFFSET			14
471552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH6_MASK			(0x3 << 12)
472552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH6_OFFSET			12
473552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH5_MASK			(0x3 << 10)
474552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH5_OFFSET			10
475552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH4_MASK			(0x3 << 8)
476552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH4_OFFSET			8
477552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH3_MASK			(0x3 << 6)
478552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH3_OFFSET			6
479552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH3_BURST0			(0x0 << 6)
480552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH3_BURST4			(0x1 << 6)
481552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH3_BURST8			(0x2 << 6)
482552a848eSStefano Babic 
483552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH2_MASK			(0x3 << 4)
484552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH2_OFFSET			4
485552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH2_BURST0			(0x0 << 4)
486552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH2_BURST4			(0x1 << 4)
487552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH2_BURST8			(0x2 << 4)
488552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH1_MASK			(0x3 << 2)
489552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH1_OFFSET			2
490552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH1_BURST0			(0x0 << 2)
491552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH1_BURST4			(0x1 << 2)
492552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH1_BURST8			(0x2 << 2)
493552a848eSStefano Babic 
494552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH0_MASK			0x3
495552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH0_OFFSET			0
496552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH0_BURST0			0x0
497552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH0_BURST4			0x1
498552a848eSStefano Babic #define	APBH_DMA_BURST_SIZE_CH0_BURST8			0x2
499552a848eSStefano Babic 
500552a848eSStefano Babic #define	APBH_DEBUG_GPMI_ONE_FIFO			(1 << 0)
501552a848eSStefano Babic #endif
502552a848eSStefano Babic 
503552a848eSStefano Babic #define	APBH_CHn_CURCMDAR_CMD_ADDR_MASK			0xffffffff
504552a848eSStefano Babic #define	APBH_CHn_CURCMDAR_CMD_ADDR_OFFSET		0
505552a848eSStefano Babic 
506552a848eSStefano Babic #define	APBH_CHn_NXTCMDAR_CMD_ADDR_MASK			0xffffffff
507552a848eSStefano Babic #define	APBH_CHn_NXTCMDAR_CMD_ADDR_OFFSET		0
508552a848eSStefano Babic 
509552a848eSStefano Babic #define	APBH_CHn_CMD_XFER_COUNT_MASK			(0xffff << 16)
510552a848eSStefano Babic #define	APBH_CHn_CMD_XFER_COUNT_OFFSET			16
511552a848eSStefano Babic #define	APBH_CHn_CMD_CMDWORDS_MASK			(0xf << 12)
512552a848eSStefano Babic #define	APBH_CHn_CMD_CMDWORDS_OFFSET			12
513552a848eSStefano Babic #define	APBH_CHn_CMD_HALTONTERMINATE			(1 << 8)
514552a848eSStefano Babic #define	APBH_CHn_CMD_WAIT4ENDCMD			(1 << 7)
515552a848eSStefano Babic #define	APBH_CHn_CMD_SEMAPHORE				(1 << 6)
516552a848eSStefano Babic #define	APBH_CHn_CMD_NANDWAIT4READY			(1 << 5)
517552a848eSStefano Babic #define	APBH_CHn_CMD_NANDLOCK				(1 << 4)
518552a848eSStefano Babic #define	APBH_CHn_CMD_IRQONCMPLT				(1 << 3)
519552a848eSStefano Babic #define	APBH_CHn_CMD_CHAIN				(1 << 2)
520552a848eSStefano Babic #define	APBH_CHn_CMD_COMMAND_MASK			0x3
521552a848eSStefano Babic #define	APBH_CHn_CMD_COMMAND_OFFSET			0
522552a848eSStefano Babic #define	APBH_CHn_CMD_COMMAND_NO_DMA_XFER		0x0
523552a848eSStefano Babic #define	APBH_CHn_CMD_COMMAND_DMA_WRITE			0x1
524552a848eSStefano Babic #define	APBH_CHn_CMD_COMMAND_DMA_READ			0x2
525552a848eSStefano Babic #define	APBH_CHn_CMD_COMMAND_DMA_SENSE			0x3
526552a848eSStefano Babic 
527552a848eSStefano Babic #define	APBH_CHn_BAR_ADDRESS_MASK			0xffffffff
528552a848eSStefano Babic #define	APBH_CHn_BAR_ADDRESS_OFFSET			0
529552a848eSStefano Babic 
530552a848eSStefano Babic #define	APBH_CHn_SEMA_RSVD2_MASK			(0xff << 24)
531552a848eSStefano Babic #define	APBH_CHn_SEMA_RSVD2_OFFSET			24
532552a848eSStefano Babic #define	APBH_CHn_SEMA_PHORE_MASK			(0xff << 16)
533552a848eSStefano Babic #define	APBH_CHn_SEMA_PHORE_OFFSET			16
534552a848eSStefano Babic #define	APBH_CHn_SEMA_RSVD1_MASK			(0xff << 8)
535552a848eSStefano Babic #define	APBH_CHn_SEMA_RSVD1_OFFSET			8
536552a848eSStefano Babic #define	APBH_CHn_SEMA_INCREMENT_SEMA_MASK		(0xff << 0)
537552a848eSStefano Babic #define	APBH_CHn_SEMA_INCREMENT_SEMA_OFFSET		0
538552a848eSStefano Babic 
539552a848eSStefano Babic #define	APBH_CHn_DEBUG1_REQ				(1 << 31)
540552a848eSStefano Babic #define	APBH_CHn_DEBUG1_BURST				(1 << 30)
541552a848eSStefano Babic #define	APBH_CHn_DEBUG1_KICK				(1 << 29)
542552a848eSStefano Babic #define	APBH_CHn_DEBUG1_END				(1 << 28)
543552a848eSStefano Babic #define	APBH_CHn_DEBUG1_SENSE				(1 << 27)
544552a848eSStefano Babic #define	APBH_CHn_DEBUG1_READY				(1 << 26)
545552a848eSStefano Babic #define	APBH_CHn_DEBUG1_LOCK				(1 << 25)
546552a848eSStefano Babic #define	APBH_CHn_DEBUG1_NEXTCMDADDRVALID		(1 << 24)
547552a848eSStefano Babic #define	APBH_CHn_DEBUG1_RD_FIFO_EMPTY			(1 << 23)
548552a848eSStefano Babic #define	APBH_CHn_DEBUG1_RD_FIFO_FULL			(1 << 22)
549552a848eSStefano Babic #define	APBH_CHn_DEBUG1_WR_FIFO_EMPTY			(1 << 21)
550552a848eSStefano Babic #define	APBH_CHn_DEBUG1_WR_FIFO_FULL			(1 << 20)
551552a848eSStefano Babic #define	APBH_CHn_DEBUG1_RSVD1_MASK			(0x7fff << 5)
552552a848eSStefano Babic #define	APBH_CHn_DEBUG1_RSVD1_OFFSET			5
553552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_MASK		0x1f
554552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_OFFSET		0
555552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_IDLE		0x00
556552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD1		0x01
557552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD3		0x02
558552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD2		0x03
559552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_XFER_DECODE	0x04
560552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_REQ_WAIT		0x05
561552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD4		0x06
562552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_PIO_REQ		0x07
563552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_READ_FLUSH		0x08
564552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_READ_WAIT		0x09
565552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_WRITE		0x0c
566552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_READ_REQ		0x0d
567552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_CHECK_CHAIN	0x0e
568552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_XFER_COMPLETE	0x0f
569552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_TERMINATE		0x14
570552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_WAIT_END		0x15
571552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_WRITE_WAIT		0x1c
572552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_HALT_AFTER_TERM	0x1d
573552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_CHECK_WAIT		0x1e
574552a848eSStefano Babic #define	APBH_CHn_DEBUG1_STATEMACHINE_WAIT_READY		0x1f
575552a848eSStefano Babic 
576552a848eSStefano Babic #define	APBH_CHn_DEBUG2_APB_BYTES_MASK			(0xffff << 16)
577552a848eSStefano Babic #define	APBH_CHn_DEBUG2_APB_BYTES_OFFSET		16
578552a848eSStefano Babic #define	APBH_CHn_DEBUG2_AHB_BYTES_MASK			0xffff
579552a848eSStefano Babic #define	APBH_CHn_DEBUG2_AHB_BYTES_OFFSET		0
580552a848eSStefano Babic 
581552a848eSStefano Babic #define	APBH_VERSION_MAJOR_MASK				(0xff << 24)
582552a848eSStefano Babic #define	APBH_VERSION_MAJOR_OFFSET			24
583552a848eSStefano Babic #define	APBH_VERSION_MINOR_MASK				(0xff << 16)
584552a848eSStefano Babic #define	APBH_VERSION_MINOR_OFFSET			16
585552a848eSStefano Babic #define	APBH_VERSION_STEP_MASK				0xffff
586552a848eSStefano Babic #define	APBH_VERSION_STEP_OFFSET			0
587552a848eSStefano Babic 
588552a848eSStefano Babic #endif	/* __REGS_APBH_H__ */
589