Blackfin arch: merge adeos blackfin part to arch/blackfin/
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / blackfin / mach-bf533 / include / mach / cdefBF532.h
CommitLineData
1394f032
BW
1/*
2 * File: include/asm-blackfin/mach-bf533/cdefBF532.h
3 * Based on:
4 * Author:
5 *
6 * Created:
7 * Description:
8 *
9 * Rev:
10 *
11 * Modified:
12 *
13 * Bugs: Enter bugs at http://blackfin.uclinux.org/
14 *
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation; either version 2, or (at your option)
18 * any later version.
19 *
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License
26 * along with this program; see the file COPYING.
27 * If not, write to the Free Software Foundation,
28 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
29 */
30
31#ifndef _CDEF_BF532_H
32#define _CDEF_BF532_H
36a1548f
MF
33
34#include <asm/blackfin.h>
35
1394f032
BW
36/*include all Core registers and bit definitions*/
37#include "defBF532.h"
38
39/*include core specific register pointer definitions*/
639f6571 40#include <asm/cdef_LPBlackfin.h>
1394f032 41
1394f032
BW
42/* Clock and System Control (0xFFC0 0400-0xFFC0 07FF) */
43#define bfin_read_PLL_CTL() bfin_read16(PLL_CTL)
1394f032
BW
44#define bfin_read_PLL_STAT() bfin_read16(PLL_STAT)
45#define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val)
46#define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT)
47#define bfin_write_PLL_LOCKCNT(val) bfin_write16(PLL_LOCKCNT,val)
48#define bfin_read_CHIPID() bfin_read32(CHIPID)
1394f032
BW
49#define bfin_read_PLL_DIV() bfin_read16(PLL_DIV)
50#define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val)
51#define bfin_read_VR_CTL() bfin_read16(VR_CTL)
1394f032
BW
52
53/* System Interrupt Controller (0xFFC0 0C00-0xFFC0 0FFF) */
19381f02
BW
54#define bfin_read_SWRST() bfin_read16(SWRST)
55#define bfin_write_SWRST(val) bfin_write16(SWRST,val)
56#define bfin_read_SYSCR() bfin_read16(SYSCR)
57#define bfin_write_SYSCR(val) bfin_write16(SYSCR,val)
1394f032
BW
58#define bfin_read_SIC_IAR0() bfin_read32(SIC_IAR0)
59#define bfin_write_SIC_IAR0(val) bfin_write32(SIC_IAR0,val)
60#define bfin_read_SIC_IAR1() bfin_read32(SIC_IAR1)
61#define bfin_write_SIC_IAR1(val) bfin_write32(SIC_IAR1,val)
62#define bfin_read_SIC_IAR2() bfin_read32(SIC_IAR2)
63#define bfin_write_SIC_IAR2(val) bfin_write32(SIC_IAR2,val)
64#define bfin_read_SIC_IAR3() bfin_read32(SIC_IAR3)
65#define bfin_write_SIC_IAR3(val) bfin_write32(SIC_IAR3,val)
66#define bfin_read_SIC_IMASK() bfin_read32(SIC_IMASK)
67#define bfin_write_SIC_IMASK(val) bfin_write32(SIC_IMASK,val)
68#define bfin_read_SIC_ISR() bfin_read32(SIC_ISR)
69#define bfin_write_SIC_ISR(val) bfin_write32(SIC_ISR,val)
70#define bfin_read_SIC_IWR() bfin_read32(SIC_IWR)
71#define bfin_write_SIC_IWR(val) bfin_write32(SIC_IWR,val)
72
73/* Watchdog Timer (0xFFC0 1000-0xFFC0 13FF) */
74#define bfin_read_WDOG_CTL() bfin_read16(WDOG_CTL)
75#define bfin_write_WDOG_CTL(val) bfin_write16(WDOG_CTL,val)
76#define bfin_read_WDOG_CNT() bfin_read32(WDOG_CNT)
77#define bfin_write_WDOG_CNT(val) bfin_write32(WDOG_CNT,val)
78#define bfin_read_WDOG_STAT() bfin_read32(WDOG_STAT)
79#define bfin_write_WDOG_STAT(val) bfin_write32(WDOG_STAT,val)
80
81/* Real Time Clock (0xFFC0 1400-0xFFC0 17FF) */
82#define bfin_read_RTC_STAT() bfin_read32(RTC_STAT)
83#define bfin_write_RTC_STAT(val) bfin_write32(RTC_STAT,val)
84#define bfin_read_RTC_ICTL() bfin_read16(RTC_ICTL)
85#define bfin_write_RTC_ICTL(val) bfin_write16(RTC_ICTL,val)
86#define bfin_read_RTC_ISTAT() bfin_read16(RTC_ISTAT)
87#define bfin_write_RTC_ISTAT(val) bfin_write16(RTC_ISTAT,val)
88#define bfin_read_RTC_SWCNT() bfin_read16(RTC_SWCNT)
89#define bfin_write_RTC_SWCNT(val) bfin_write16(RTC_SWCNT,val)
90#define bfin_read_RTC_ALARM() bfin_read32(RTC_ALARM)
91#define bfin_write_RTC_ALARM(val) bfin_write32(RTC_ALARM,val)
92#define bfin_read_RTC_FAST() bfin_read16(RTC_FAST)
93#define bfin_write_RTC_FAST(val) bfin_write16(RTC_FAST,val)
94#define bfin_read_RTC_PREN() bfin_read16(RTC_PREN)
95#define bfin_write_RTC_PREN(val) bfin_write16(RTC_PREN,val)
96
19381f02
BW
97/* DMA Traffic controls */
98#define bfin_read_DMA_TCPER() bfin_read16(DMA_TCPER)
99#define bfin_write_DMA_TCPER(val) bfin_write16(DMA_TCPER,val)
100#define bfin_read_DMA_TCCNT() bfin_read16(DMA_TCCNT)
101#define bfin_write_DMA_TCCNT(val) bfin_write16(DMA_TCCNT,val)
102
103/* Alternate deprecated register names (below) provided for backwards code compatibility */
104#define bfin_read_DMA_TC_PER() bfin_read16(DMA_TC_PER)
105#define bfin_write_DMA_TC_PER(val) bfin_write16(DMA_TC_PER,val)
106#define bfin_read_DMA_TC_CNT() bfin_read16(DMA_TC_CNT)
107#define bfin_write_DMA_TC_CNT(val) bfin_write16(DMA_TC_CNT,val)
108
1394f032
BW
109/* General Purpose IO (0xFFC0 2400-0xFFC0 27FF) */
110#define bfin_read_FIO_DIR() bfin_read16(FIO_DIR)
111#define bfin_write_FIO_DIR(val) bfin_write16(FIO_DIR,val)
1394f032
BW
112#define bfin_read_FIO_MASKA_C() bfin_read16(FIO_MASKA_C)
113#define bfin_write_FIO_MASKA_C(val) bfin_write16(FIO_MASKA_C,val)
114#define bfin_read_FIO_MASKA_S() bfin_read16(FIO_MASKA_S)
115#define bfin_write_FIO_MASKA_S(val) bfin_write16(FIO_MASKA_S,val)
116#define bfin_read_FIO_MASKB_C() bfin_read16(FIO_MASKB_C)
117#define bfin_write_FIO_MASKB_C(val) bfin_write16(FIO_MASKB_C,val)
118#define bfin_read_FIO_MASKB_S() bfin_read16(FIO_MASKB_S)
119#define bfin_write_FIO_MASKB_S(val) bfin_write16(FIO_MASKB_S,val)
120#define bfin_read_FIO_POLAR() bfin_read16(FIO_POLAR)
121#define bfin_write_FIO_POLAR(val) bfin_write16(FIO_POLAR,val)
122#define bfin_read_FIO_EDGE() bfin_read16(FIO_EDGE)
123#define bfin_write_FIO_EDGE(val) bfin_write16(FIO_EDGE,val)
124#define bfin_read_FIO_BOTH() bfin_read16(FIO_BOTH)
125#define bfin_write_FIO_BOTH(val) bfin_write16(FIO_BOTH,val)
126#define bfin_read_FIO_INEN() bfin_read16(FIO_INEN)
127#define bfin_write_FIO_INEN(val) bfin_write16(FIO_INEN,val)
1394f032
BW
128#define bfin_read_FIO_MASKA_D() bfin_read16(FIO_MASKA_D)
129#define bfin_write_FIO_MASKA_D(val) bfin_write16(FIO_MASKA_D,val)
130#define bfin_read_FIO_MASKA_T() bfin_read16(FIO_MASKA_T)
131#define bfin_write_FIO_MASKA_T(val) bfin_write16(FIO_MASKA_T,val)
132#define bfin_read_FIO_MASKB_D() bfin_read16(FIO_MASKB_D)
133#define bfin_write_FIO_MASKB_D(val) bfin_write16(FIO_MASKB_D,val)
134#define bfin_read_FIO_MASKB_T() bfin_read16(FIO_MASKB_T)
135#define bfin_write_FIO_MASKB_T(val) bfin_write16(FIO_MASKB_T,val)
136
1394f032
BW
137/* DMA Controller */
138#define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG)
139#define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG,val)
140#define bfin_read_DMA0_NEXT_DESC_PTR() bfin_read32(DMA0_NEXT_DESC_PTR)
141#define bfin_write_DMA0_NEXT_DESC_PTR(val) bfin_write32(DMA0_NEXT_DESC_PTR,val)
142#define bfin_read_DMA0_START_ADDR() bfin_read32(DMA0_START_ADDR)
143#define bfin_write_DMA0_START_ADDR(val) bfin_write32(DMA0_START_ADDR,val)
144#define bfin_read_DMA0_X_COUNT() bfin_read16(DMA0_X_COUNT)
145#define bfin_write_DMA0_X_COUNT(val) bfin_write16(DMA0_X_COUNT,val)
146#define bfin_read_DMA0_Y_COUNT() bfin_read16(DMA0_Y_COUNT)
147#define bfin_write_DMA0_Y_COUNT(val) bfin_write16(DMA0_Y_COUNT,val)
148#define bfin_read_DMA0_X_MODIFY() bfin_read16(DMA0_X_MODIFY)
149#define bfin_write_DMA0_X_MODIFY(val) bfin_write16(DMA0_X_MODIFY,val)
150#define bfin_read_DMA0_Y_MODIFY() bfin_read16(DMA0_Y_MODIFY)
151#define bfin_write_DMA0_Y_MODIFY(val) bfin_write16(DMA0_Y_MODIFY,val)
152#define bfin_read_DMA0_CURR_DESC_PTR() bfin_read32(DMA0_CURR_DESC_PTR)
153#define bfin_write_DMA0_CURR_DESC_PTR(val) bfin_write32(DMA0_CURR_DESC_PTR,val)
154#define bfin_read_DMA0_CURR_ADDR() bfin_read32(DMA0_CURR_ADDR)
155#define bfin_write_DMA0_CURR_ADDR(val) bfin_write32(DMA0_CURR_ADDR,val)
156#define bfin_read_DMA0_CURR_X_COUNT() bfin_read16(DMA0_CURR_X_COUNT)
157#define bfin_write_DMA0_CURR_X_COUNT(val) bfin_write16(DMA0_CURR_X_COUNT,val)
158#define bfin_read_DMA0_CURR_Y_COUNT() bfin_read16(DMA0_CURR_Y_COUNT)
159#define bfin_write_DMA0_CURR_Y_COUNT(val) bfin_write16(DMA0_CURR_Y_COUNT,val)
160#define bfin_read_DMA0_IRQ_STATUS() bfin_read16(DMA0_IRQ_STATUS)
161#define bfin_write_DMA0_IRQ_STATUS(val) bfin_write16(DMA0_IRQ_STATUS,val)
162#define bfin_read_DMA0_PERIPHERAL_MAP() bfin_read16(DMA0_PERIPHERAL_MAP)
163#define bfin_write_DMA0_PERIPHERAL_MAP(val) bfin_write16(DMA0_PERIPHERAL_MAP,val)
164
165#define bfin_read_DMA1_CONFIG() bfin_read16(DMA1_CONFIG)
166#define bfin_write_DMA1_CONFIG(val) bfin_write16(DMA1_CONFIG,val)
167#define bfin_read_DMA1_NEXT_DESC_PTR() bfin_read32(DMA1_NEXT_DESC_PTR)
168#define bfin_write_DMA1_NEXT_DESC_PTR(val) bfin_write32(DMA1_NEXT_DESC_PTR,val)
169#define bfin_read_DMA1_START_ADDR() bfin_read32(DMA1_START_ADDR)
170#define bfin_write_DMA1_START_ADDR(val) bfin_write32(DMA1_START_ADDR,val)
171#define bfin_read_DMA1_X_COUNT() bfin_read16(DMA1_X_COUNT)
172#define bfin_write_DMA1_X_COUNT(val) bfin_write16(DMA1_X_COUNT,val)
173#define bfin_read_DMA1_Y_COUNT() bfin_read16(DMA1_Y_COUNT)
174#define bfin_write_DMA1_Y_COUNT(val) bfin_write16(DMA1_Y_COUNT,val)
175#define bfin_read_DMA1_X_MODIFY() bfin_read16(DMA1_X_MODIFY)
176#define bfin_write_DMA1_X_MODIFY(val) bfin_write16(DMA1_X_MODIFY,val)
177#define bfin_read_DMA1_Y_MODIFY() bfin_read16(DMA1_Y_MODIFY)
178#define bfin_write_DMA1_Y_MODIFY(val) bfin_write16(DMA1_Y_MODIFY,val)
179#define bfin_read_DMA1_CURR_DESC_PTR() bfin_read32(DMA1_CURR_DESC_PTR)
180#define bfin_write_DMA1_CURR_DESC_PTR(val) bfin_write32(DMA1_CURR_DESC_PTR,val)
181#define bfin_read_DMA1_CURR_ADDR() bfin_read32(DMA1_CURR_ADDR)
182#define bfin_write_DMA1_CURR_ADDR(val) bfin_write32(DMA1_CURR_ADDR,val)
183#define bfin_read_DMA1_CURR_X_COUNT() bfin_read16(DMA1_CURR_X_COUNT)
184#define bfin_write_DMA1_CURR_X_COUNT(val) bfin_write16(DMA1_CURR_X_COUNT,val)
185#define bfin_read_DMA1_CURR_Y_COUNT() bfin_read16(DMA1_CURR_Y_COUNT)
186#define bfin_write_DMA1_CURR_Y_COUNT(val) bfin_write16(DMA1_CURR_Y_COUNT,val)
187#define bfin_read_DMA1_IRQ_STATUS() bfin_read16(DMA1_IRQ_STATUS)
188#define bfin_write_DMA1_IRQ_STATUS(val) bfin_write16(DMA1_IRQ_STATUS,val)
189#define bfin_read_DMA1_PERIPHERAL_MAP() bfin_read16(DMA1_PERIPHERAL_MAP)
190#define bfin_write_DMA1_PERIPHERAL_MAP(val) bfin_write16(DMA1_PERIPHERAL_MAP,val)
191
192#define bfin_read_DMA2_CONFIG() bfin_read16(DMA2_CONFIG)
193#define bfin_write_DMA2_CONFIG(val) bfin_write16(DMA2_CONFIG,val)
194#define bfin_read_DMA2_NEXT_DESC_PTR() bfin_read32(DMA2_NEXT_DESC_PTR)
195#define bfin_write_DMA2_NEXT_DESC_PTR(val) bfin_write32(DMA2_NEXT_DESC_PTR,val)
196#define bfin_read_DMA2_START_ADDR() bfin_read32(DMA2_START_ADDR)
197#define bfin_write_DMA2_START_ADDR(val) bfin_write32(DMA2_START_ADDR,val)
198#define bfin_read_DMA2_X_COUNT() bfin_read16(DMA2_X_COUNT)
199#define bfin_write_DMA2_X_COUNT(val) bfin_write16(DMA2_X_COUNT,val)
200#define bfin_read_DMA2_Y_COUNT() bfin_read16(DMA2_Y_COUNT)
201#define bfin_write_DMA2_Y_COUNT(val) bfin_write16(DMA2_Y_COUNT,val)
202#define bfin_read_DMA2_X_MODIFY() bfin_read16(DMA2_X_MODIFY)
203#define bfin_write_DMA2_X_MODIFY(val) bfin_write16(DMA2_X_MODIFY,val)
204#define bfin_read_DMA2_Y_MODIFY() bfin_read16(DMA2_Y_MODIFY)
205#define bfin_write_DMA2_Y_MODIFY(val) bfin_write16(DMA2_Y_MODIFY,val)
206#define bfin_read_DMA2_CURR_DESC_PTR() bfin_read32(DMA2_CURR_DESC_PTR)
207#define bfin_write_DMA2_CURR_DESC_PTR(val) bfin_write32(DMA2_CURR_DESC_PTR,val)
208#define bfin_read_DMA2_CURR_ADDR() bfin_read32(DMA2_CURR_ADDR)
209#define bfin_write_DMA2_CURR_ADDR(val) bfin_write32(DMA2_CURR_ADDR,val)
210#define bfin_read_DMA2_CURR_X_COUNT() bfin_read16(DMA2_CURR_X_COUNT)
211#define bfin_write_DMA2_CURR_X_COUNT(val) bfin_write16(DMA2_CURR_X_COUNT,val)
212#define bfin_read_DMA2_CURR_Y_COUNT() bfin_read16(DMA2_CURR_Y_COUNT)
213#define bfin_write_DMA2_CURR_Y_COUNT(val) bfin_write16(DMA2_CURR_Y_COUNT,val)
214#define bfin_read_DMA2_IRQ_STATUS() bfin_read16(DMA2_IRQ_STATUS)
215#define bfin_write_DMA2_IRQ_STATUS(val) bfin_write16(DMA2_IRQ_STATUS,val)
216#define bfin_read_DMA2_PERIPHERAL_MAP() bfin_read16(DMA2_PERIPHERAL_MAP)
217#define bfin_write_DMA2_PERIPHERAL_MAP(val) bfin_write16(DMA2_PERIPHERAL_MAP,val)
218
219#define bfin_read_DMA3_CONFIG() bfin_read16(DMA3_CONFIG)
220#define bfin_write_DMA3_CONFIG(val) bfin_write16(DMA3_CONFIG,val)
221#define bfin_read_DMA3_NEXT_DESC_PTR() bfin_read32(DMA3_NEXT_DESC_PTR)
222#define bfin_write_DMA3_NEXT_DESC_PTR(val) bfin_write32(DMA3_NEXT_DESC_PTR,val)
223#define bfin_read_DMA3_START_ADDR() bfin_read32(DMA3_START_ADDR)
224#define bfin_write_DMA3_START_ADDR(val) bfin_write32(DMA3_START_ADDR,val)
225#define bfin_read_DMA3_X_COUNT() bfin_read16(DMA3_X_COUNT)
226#define bfin_write_DMA3_X_COUNT(val) bfin_write16(DMA3_X_COUNT,val)
227#define bfin_read_DMA3_Y_COUNT() bfin_read16(DMA3_Y_COUNT)
228#define bfin_write_DMA3_Y_COUNT(val) bfin_write16(DMA3_Y_COUNT,val)
229#define bfin_read_DMA3_X_MODIFY() bfin_read16(DMA3_X_MODIFY)
230#define bfin_write_DMA3_X_MODIFY(val) bfin_write16(DMA3_X_MODIFY,val)
231#define bfin_read_DMA3_Y_MODIFY() bfin_read16(DMA3_Y_MODIFY)
232#define bfin_write_DMA3_Y_MODIFY(val) bfin_write16(DMA3_Y_MODIFY,val)
233#define bfin_read_DMA3_CURR_DESC_PTR() bfin_read32(DMA3_CURR_DESC_PTR)
234#define bfin_write_DMA3_CURR_DESC_PTR(val) bfin_write32(DMA3_CURR_DESC_PTR,val)
235#define bfin_read_DMA3_CURR_ADDR() bfin_read32(DMA3_CURR_ADDR)
236#define bfin_write_DMA3_CURR_ADDR(val) bfin_write32(DMA3_CURR_ADDR,val)
237#define bfin_read_DMA3_CURR_X_COUNT() bfin_read16(DMA3_CURR_X_COUNT)
238#define bfin_write_DMA3_CURR_X_COUNT(val) bfin_write16(DMA3_CURR_X_COUNT,val)
239#define bfin_read_DMA3_CURR_Y_COUNT() bfin_read16(DMA3_CURR_Y_COUNT)
240#define bfin_write_DMA3_CURR_Y_COUNT(val) bfin_write16(DMA3_CURR_Y_COUNT,val)
241#define bfin_read_DMA3_IRQ_STATUS() bfin_read16(DMA3_IRQ_STATUS)
242#define bfin_write_DMA3_IRQ_STATUS(val) bfin_write16(DMA3_IRQ_STATUS,val)
243#define bfin_read_DMA3_PERIPHERAL_MAP() bfin_read16(DMA3_PERIPHERAL_MAP)
244#define bfin_write_DMA3_PERIPHERAL_MAP(val) bfin_write16(DMA3_PERIPHERAL_MAP,val)
245
246#define bfin_read_DMA4_CONFIG() bfin_read16(DMA4_CONFIG)
247#define bfin_write_DMA4_CONFIG(val) bfin_write16(DMA4_CONFIG,val)
248#define bfin_read_DMA4_NEXT_DESC_PTR() bfin_read32(DMA4_NEXT_DESC_PTR)
249#define bfin_write_DMA4_NEXT_DESC_PTR(val) bfin_write32(DMA4_NEXT_DESC_PTR,val)
250#define bfin_read_DMA4_START_ADDR() bfin_read32(DMA4_START_ADDR)
251#define bfin_write_DMA4_START_ADDR(val) bfin_write32(DMA4_START_ADDR,val)
252#define bfin_read_DMA4_X_COUNT() bfin_read16(DMA4_X_COUNT)
253#define bfin_write_DMA4_X_COUNT(val) bfin_write16(DMA4_X_COUNT,val)
254#define bfin_read_DMA4_Y_COUNT() bfin_read16(DMA4_Y_COUNT)
255#define bfin_write_DMA4_Y_COUNT(val) bfin_write16(DMA4_Y_COUNT,val)
256#define bfin_read_DMA4_X_MODIFY() bfin_read16(DMA4_X_MODIFY)
257#define bfin_write_DMA4_X_MODIFY(val) bfin_write16(DMA4_X_MODIFY,val)
258#define bfin_read_DMA4_Y_MODIFY() bfin_read16(DMA4_Y_MODIFY)
259#define bfin_write_DMA4_Y_MODIFY(val) bfin_write16(DMA4_Y_MODIFY,val)
260#define bfin_read_DMA4_CURR_DESC_PTR() bfin_read32(DMA4_CURR_DESC_PTR)
261#define bfin_write_DMA4_CURR_DESC_PTR(val) bfin_write32(DMA4_CURR_DESC_PTR,val)
262#define bfin_read_DMA4_CURR_ADDR() bfin_read32(DMA4_CURR_ADDR)
263#define bfin_write_DMA4_CURR_ADDR(val) bfin_write32(DMA4_CURR_ADDR,val)
264#define bfin_read_DMA4_CURR_X_COUNT() bfin_read16(DMA4_CURR_X_COUNT)
265#define bfin_write_DMA4_CURR_X_COUNT(val) bfin_write16(DMA4_CURR_X_COUNT,val)
266#define bfin_read_DMA4_CURR_Y_COUNT() bfin_read16(DMA4_CURR_Y_COUNT)
267#define bfin_write_DMA4_CURR_Y_COUNT(val) bfin_write16(DMA4_CURR_Y_COUNT,val)
268#define bfin_read_DMA4_IRQ_STATUS() bfin_read16(DMA4_IRQ_STATUS)
269#define bfin_write_DMA4_IRQ_STATUS(val) bfin_write16(DMA4_IRQ_STATUS,val)
270#define bfin_read_DMA4_PERIPHERAL_MAP() bfin_read16(DMA4_PERIPHERAL_MAP)
271#define bfin_write_DMA4_PERIPHERAL_MAP(val) bfin_write16(DMA4_PERIPHERAL_MAP,val)
272
273#define bfin_read_DMA5_CONFIG() bfin_read16(DMA5_CONFIG)
274#define bfin_write_DMA5_CONFIG(val) bfin_write16(DMA5_CONFIG,val)
275#define bfin_read_DMA5_NEXT_DESC_PTR() bfin_read32(DMA5_NEXT_DESC_PTR)
276#define bfin_write_DMA5_NEXT_DESC_PTR(val) bfin_write32(DMA5_NEXT_DESC_PTR,val)
277#define bfin_read_DMA5_START_ADDR() bfin_read32(DMA5_START_ADDR)
278#define bfin_write_DMA5_START_ADDR(val) bfin_write32(DMA5_START_ADDR,val)
279#define bfin_read_DMA5_X_COUNT() bfin_read16(DMA5_X_COUNT)
280#define bfin_write_DMA5_X_COUNT(val) bfin_write16(DMA5_X_COUNT,val)
281#define bfin_read_DMA5_Y_COUNT() bfin_read16(DMA5_Y_COUNT)
282#define bfin_write_DMA5_Y_COUNT(val) bfin_write16(DMA5_Y_COUNT,val)
283#define bfin_read_DMA5_X_MODIFY() bfin_read16(DMA5_X_MODIFY)
284#define bfin_write_DMA5_X_MODIFY(val) bfin_write16(DMA5_X_MODIFY,val)
285#define bfin_read_DMA5_Y_MODIFY() bfin_read16(DMA5_Y_MODIFY)
286#define bfin_write_DMA5_Y_MODIFY(val) bfin_write16(DMA5_Y_MODIFY,val)
287#define bfin_read_DMA5_CURR_DESC_PTR() bfin_read32(DMA5_CURR_DESC_PTR)
288#define bfin_write_DMA5_CURR_DESC_PTR(val) bfin_write32(DMA5_CURR_DESC_PTR,val)
289#define bfin_read_DMA5_CURR_ADDR() bfin_read32(DMA5_CURR_ADDR)
290#define bfin_write_DMA5_CURR_ADDR(val) bfin_write32(DMA5_CURR_ADDR,val)
291#define bfin_read_DMA5_CURR_X_COUNT() bfin_read16(DMA5_CURR_X_COUNT)
292#define bfin_write_DMA5_CURR_X_COUNT(val) bfin_write16(DMA5_CURR_X_COUNT,val)
293#define bfin_read_DMA5_CURR_Y_COUNT() bfin_read16(DMA5_CURR_Y_COUNT)
294#define bfin_write_DMA5_CURR_Y_COUNT(val) bfin_write16(DMA5_CURR_Y_COUNT,val)
295#define bfin_read_DMA5_IRQ_STATUS() bfin_read16(DMA5_IRQ_STATUS)
296#define bfin_write_DMA5_IRQ_STATUS(val) bfin_write16(DMA5_IRQ_STATUS,val)
297#define bfin_read_DMA5_PERIPHERAL_MAP() bfin_read16(DMA5_PERIPHERAL_MAP)
298#define bfin_write_DMA5_PERIPHERAL_MAP(val) bfin_write16(DMA5_PERIPHERAL_MAP,val)
299
300#define bfin_read_DMA6_CONFIG() bfin_read16(DMA6_CONFIG)
301#define bfin_write_DMA6_CONFIG(val) bfin_write16(DMA6_CONFIG,val)
302#define bfin_read_DMA6_NEXT_DESC_PTR() bfin_read32(DMA6_NEXT_DESC_PTR)
303#define bfin_write_DMA6_NEXT_DESC_PTR(val) bfin_write32(DMA6_NEXT_DESC_PTR,val)
304#define bfin_read_DMA6_START_ADDR() bfin_read32(DMA6_START_ADDR)
305#define bfin_write_DMA6_START_ADDR(val) bfin_write32(DMA6_START_ADDR,val)
306#define bfin_read_DMA6_X_COUNT() bfin_read16(DMA6_X_COUNT)
307#define bfin_write_DMA6_X_COUNT(val) bfin_write16(DMA6_X_COUNT,val)
308#define bfin_read_DMA6_Y_COUNT() bfin_read16(DMA6_Y_COUNT)
309#define bfin_write_DMA6_Y_COUNT(val) bfin_write16(DMA6_Y_COUNT,val)
310#define bfin_read_DMA6_X_MODIFY() bfin_read16(DMA6_X_MODIFY)
311#define bfin_write_DMA6_X_MODIFY(val) bfin_write16(DMA6_X_MODIFY,val)
312#define bfin_read_DMA6_Y_MODIFY() bfin_read16(DMA6_Y_MODIFY)
313#define bfin_write_DMA6_Y_MODIFY(val) bfin_write16(DMA6_Y_MODIFY,val)
314#define bfin_read_DMA6_CURR_DESC_PTR() bfin_read32(DMA6_CURR_DESC_PTR)
315#define bfin_write_DMA6_CURR_DESC_PTR(val) bfin_write32(DMA6_CURR_DESC_PTR,val)
316#define bfin_read_DMA6_CURR_ADDR() bfin_read32(DMA6_CURR_ADDR)
317#define bfin_write_DMA6_CURR_ADDR(val) bfin_write32(DMA6_CURR_ADDR,val)
318#define bfin_read_DMA6_CURR_X_COUNT() bfin_read16(DMA6_CURR_X_COUNT)
319#define bfin_write_DMA6_CURR_X_COUNT(val) bfin_write16(DMA6_CURR_X_COUNT,val)
320#define bfin_read_DMA6_CURR_Y_COUNT() bfin_read16(DMA6_CURR_Y_COUNT)
321#define bfin_write_DMA6_CURR_Y_COUNT(val) bfin_write16(DMA6_CURR_Y_COUNT,val)
322#define bfin_read_DMA6_IRQ_STATUS() bfin_read16(DMA6_IRQ_STATUS)
323#define bfin_write_DMA6_IRQ_STATUS(val) bfin_write16(DMA6_IRQ_STATUS,val)
324#define bfin_read_DMA6_PERIPHERAL_MAP() bfin_read16(DMA6_PERIPHERAL_MAP)
325#define bfin_write_DMA6_PERIPHERAL_MAP(val) bfin_write16(DMA6_PERIPHERAL_MAP,val)
326
327#define bfin_read_DMA7_CONFIG() bfin_read16(DMA7_CONFIG)
328#define bfin_write_DMA7_CONFIG(val) bfin_write16(DMA7_CONFIG,val)
329#define bfin_read_DMA7_NEXT_DESC_PTR() bfin_read32(DMA7_NEXT_DESC_PTR)
330#define bfin_write_DMA7_NEXT_DESC_PTR(val) bfin_write32(DMA7_NEXT_DESC_PTR,val)
331#define bfin_read_DMA7_START_ADDR() bfin_read32(DMA7_START_ADDR)
332#define bfin_write_DMA7_START_ADDR(val) bfin_write32(DMA7_START_ADDR,val)
333#define bfin_read_DMA7_X_COUNT() bfin_read16(DMA7_X_COUNT)
334#define bfin_write_DMA7_X_COUNT(val) bfin_write16(DMA7_X_COUNT,val)
335#define bfin_read_DMA7_Y_COUNT() bfin_read16(DMA7_Y_COUNT)
336#define bfin_write_DMA7_Y_COUNT(val) bfin_write16(DMA7_Y_COUNT,val)
337#define bfin_read_DMA7_X_MODIFY() bfin_read16(DMA7_X_MODIFY)
338#define bfin_write_DMA7_X_MODIFY(val) bfin_write16(DMA7_X_MODIFY,val)
339#define bfin_read_DMA7_Y_MODIFY() bfin_read16(DMA7_Y_MODIFY)
340#define bfin_write_DMA7_Y_MODIFY(val) bfin_write16(DMA7_Y_MODIFY,val)
341#define bfin_read_DMA7_CURR_DESC_PTR() bfin_read32(DMA7_CURR_DESC_PTR)
342#define bfin_write_DMA7_CURR_DESC_PTR(val) bfin_write32(DMA7_CURR_DESC_PTR,val)
343#define bfin_read_DMA7_CURR_ADDR() bfin_read32(DMA7_CURR_ADDR)
344#define bfin_write_DMA7_CURR_ADDR(val) bfin_write32(DMA7_CURR_ADDR,val)
345#define bfin_read_DMA7_CURR_X_COUNT() bfin_read16(DMA7_CURR_X_COUNT)
346#define bfin_write_DMA7_CURR_X_COUNT(val) bfin_write16(DMA7_CURR_X_COUNT,val)
347#define bfin_read_DMA7_CURR_Y_COUNT() bfin_read16(DMA7_CURR_Y_COUNT)
348#define bfin_write_DMA7_CURR_Y_COUNT(val) bfin_write16(DMA7_CURR_Y_COUNT,val)
349#define bfin_read_DMA7_IRQ_STATUS() bfin_read16(DMA7_IRQ_STATUS)
350#define bfin_write_DMA7_IRQ_STATUS(val) bfin_write16(DMA7_IRQ_STATUS,val)
351#define bfin_read_DMA7_PERIPHERAL_MAP() bfin_read16(DMA7_PERIPHERAL_MAP)
352#define bfin_write_DMA7_PERIPHERAL_MAP(val) bfin_write16(DMA7_PERIPHERAL_MAP,val)
353
354#define bfin_read_MDMA_D1_CONFIG() bfin_read16(MDMA_D1_CONFIG)
355#define bfin_write_MDMA_D1_CONFIG(val) bfin_write16(MDMA_D1_CONFIG,val)
356#define bfin_read_MDMA_D1_NEXT_DESC_PTR() bfin_read32(MDMA_D1_NEXT_DESC_PTR)
357#define bfin_write_MDMA_D1_NEXT_DESC_PTR(val) bfin_write32(MDMA_D1_NEXT_DESC_PTR,val)
358#define bfin_read_MDMA_D1_START_ADDR() bfin_read32(MDMA_D1_START_ADDR)
359#define bfin_write_MDMA_D1_START_ADDR(val) bfin_write32(MDMA_D1_START_ADDR,val)
360#define bfin_read_MDMA_D1_X_COUNT() bfin_read16(MDMA_D1_X_COUNT)
361#define bfin_write_MDMA_D1_X_COUNT(val) bfin_write16(MDMA_D1_X_COUNT,val)
362#define bfin_read_MDMA_D1_Y_COUNT() bfin_read16(MDMA_D1_Y_COUNT)
363#define bfin_write_MDMA_D1_Y_COUNT(val) bfin_write16(MDMA_D1_Y_COUNT,val)
364#define bfin_read_MDMA_D1_X_MODIFY() bfin_read16(MDMA_D1_X_MODIFY)
365#define bfin_write_MDMA_D1_X_MODIFY(val) bfin_write16(MDMA_D1_X_MODIFY,val)
366#define bfin_read_MDMA_D1_Y_MODIFY() bfin_read16(MDMA_D1_Y_MODIFY)
367#define bfin_write_MDMA_D1_Y_MODIFY(val) bfin_write16(MDMA_D1_Y_MODIFY,val)
368#define bfin_read_MDMA_D1_CURR_DESC_PTR() bfin_read32(MDMA_D1_CURR_DESC_PTR)
369#define bfin_write_MDMA_D1_CURR_DESC_PTR(val) bfin_write32(MDMA_D1_CURR_DESC_PTR,val)
370#define bfin_read_MDMA_D1_CURR_ADDR() bfin_read32(MDMA_D1_CURR_ADDR)
371#define bfin_write_MDMA_D1_CURR_ADDR(val) bfin_write32(MDMA_D1_CURR_ADDR,val)
372#define bfin_read_MDMA_D1_CURR_X_COUNT() bfin_read16(MDMA_D1_CURR_X_COUNT)
373#define bfin_write_MDMA_D1_CURR_X_COUNT(val) bfin_write16(MDMA_D1_CURR_X_COUNT,val)
374#define bfin_read_MDMA_D1_CURR_Y_COUNT() bfin_read16(MDMA_D1_CURR_Y_COUNT)
375#define bfin_write_MDMA_D1_CURR_Y_COUNT(val) bfin_write16(MDMA_D1_CURR_Y_COUNT,val)
376#define bfin_read_MDMA_D1_IRQ_STATUS() bfin_read16(MDMA_D1_IRQ_STATUS)
377#define bfin_write_MDMA_D1_IRQ_STATUS(val) bfin_write16(MDMA_D1_IRQ_STATUS,val)
378#define bfin_read_MDMA_D1_PERIPHERAL_MAP() bfin_read16(MDMA_D1_PERIPHERAL_MAP)
379#define bfin_write_MDMA_D1_PERIPHERAL_MAP(val) bfin_write16(MDMA_D1_PERIPHERAL_MAP,val)
380
381#define bfin_read_MDMA_S1_CONFIG() bfin_read16(MDMA_S1_CONFIG)
382#define bfin_write_MDMA_S1_CONFIG(val) bfin_write16(MDMA_S1_CONFIG,val)
383#define bfin_read_MDMA_S1_NEXT_DESC_PTR() bfin_read32(MDMA_S1_NEXT_DESC_PTR)
384#define bfin_write_MDMA_S1_NEXT_DESC_PTR(val) bfin_write32(MDMA_S1_NEXT_DESC_PTR,val)
385#define bfin_read_MDMA_S1_START_ADDR() bfin_read32(MDMA_S1_START_ADDR)
386#define bfin_write_MDMA_S1_START_ADDR(val) bfin_write32(MDMA_S1_START_ADDR,val)
387#define bfin_read_MDMA_S1_X_COUNT() bfin_read16(MDMA_S1_X_COUNT)
388#define bfin_write_MDMA_S1_X_COUNT(val) bfin_write16(MDMA_S1_X_COUNT,val)
389#define bfin_read_MDMA_S1_Y_COUNT() bfin_read16(MDMA_S1_Y_COUNT)
390#define bfin_write_MDMA_S1_Y_COUNT(val) bfin_write16(MDMA_S1_Y_COUNT,val)
391#define bfin_read_MDMA_S1_X_MODIFY() bfin_read16(MDMA_S1_X_MODIFY)
392#define bfin_write_MDMA_S1_X_MODIFY(val) bfin_write16(MDMA_S1_X_MODIFY,val)
393#define bfin_read_MDMA_S1_Y_MODIFY() bfin_read16(MDMA_S1_Y_MODIFY)
394#define bfin_write_MDMA_S1_Y_MODIFY(val) bfin_write16(MDMA_S1_Y_MODIFY,val)
395#define bfin_read_MDMA_S1_CURR_DESC_PTR() bfin_read32(MDMA_S1_CURR_DESC_PTR)
396#define bfin_write_MDMA_S1_CURR_DESC_PTR(val) bfin_write32(MDMA_S1_CURR_DESC_PTR,val)
397#define bfin_read_MDMA_S1_CURR_ADDR() bfin_read32(MDMA_S1_CURR_ADDR)
398#define bfin_write_MDMA_S1_CURR_ADDR(val) bfin_write32(MDMA_S1_CURR_ADDR,val)
399#define bfin_read_MDMA_S1_CURR_X_COUNT() bfin_read16(MDMA_S1_CURR_X_COUNT)
400#define bfin_write_MDMA_S1_CURR_X_COUNT(val) bfin_write16(MDMA_S1_CURR_X_COUNT,val)
401#define bfin_read_MDMA_S1_CURR_Y_COUNT() bfin_read16(MDMA_S1_CURR_Y_COUNT)
402#define bfin_write_MDMA_S1_CURR_Y_COUNT(val) bfin_write16(MDMA_S1_CURR_Y_COUNT,val)
403#define bfin_read_MDMA_S1_IRQ_STATUS() bfin_read16(MDMA_S1_IRQ_STATUS)
404#define bfin_write_MDMA_S1_IRQ_STATUS(val) bfin_write16(MDMA_S1_IRQ_STATUS,val)
405#define bfin_read_MDMA_S1_PERIPHERAL_MAP() bfin_read16(MDMA_S1_PERIPHERAL_MAP)
406#define bfin_write_MDMA_S1_PERIPHERAL_MAP(val) bfin_write16(MDMA_S1_PERIPHERAL_MAP,val)
407
408#define bfin_read_MDMA_D0_CONFIG() bfin_read16(MDMA_D0_CONFIG)
409#define bfin_write_MDMA_D0_CONFIG(val) bfin_write16(MDMA_D0_CONFIG,val)
410#define bfin_read_MDMA_D0_NEXT_DESC_PTR() bfin_read32(MDMA_D0_NEXT_DESC_PTR)
411#define bfin_write_MDMA_D0_NEXT_DESC_PTR(val) bfin_write32(MDMA_D0_NEXT_DESC_PTR,val)
412#define bfin_read_MDMA_D0_START_ADDR() bfin_read32(MDMA_D0_START_ADDR)
413#define bfin_write_MDMA_D0_START_ADDR(val) bfin_write32(MDMA_D0_START_ADDR,val)
414#define bfin_read_MDMA_D0_X_COUNT() bfin_read16(MDMA_D0_X_COUNT)
415#define bfin_write_MDMA_D0_X_COUNT(val) bfin_write16(MDMA_D0_X_COUNT,val)
416#define bfin_read_MDMA_D0_Y_COUNT() bfin_read16(MDMA_D0_Y_COUNT)
417#define bfin_write_MDMA_D0_Y_COUNT(val) bfin_write16(MDMA_D0_Y_COUNT,val)
418#define bfin_read_MDMA_D0_X_MODIFY() bfin_read16(MDMA_D0_X_MODIFY)
419#define bfin_write_MDMA_D0_X_MODIFY(val) bfin_write16(MDMA_D0_X_MODIFY,val)
420#define bfin_read_MDMA_D0_Y_MODIFY() bfin_read16(MDMA_D0_Y_MODIFY)
421#define bfin_write_MDMA_D0_Y_MODIFY(val) bfin_write16(MDMA_D0_Y_MODIFY,val)
422#define bfin_read_MDMA_D0_CURR_DESC_PTR() bfin_read32(MDMA_D0_CURR_DESC_PTR)
423#define bfin_write_MDMA_D0_CURR_DESC_PTR(val) bfin_write32(MDMA_D0_CURR_DESC_PTR,val)
424#define bfin_read_MDMA_D0_CURR_ADDR() bfin_read32(MDMA_D0_CURR_ADDR)
425#define bfin_write_MDMA_D0_CURR_ADDR(val) bfin_write32(MDMA_D0_CURR_ADDR,val)
426#define bfin_read_MDMA_D0_CURR_X_COUNT() bfin_read16(MDMA_D0_CURR_X_COUNT)
427#define bfin_write_MDMA_D0_CURR_X_COUNT(val) bfin_write16(MDMA_D0_CURR_X_COUNT,val)
428#define bfin_read_MDMA_D0_CURR_Y_COUNT() bfin_read16(MDMA_D0_CURR_Y_COUNT)
429#define bfin_write_MDMA_D0_CURR_Y_COUNT(val) bfin_write16(MDMA_D0_CURR_Y_COUNT,val)
430#define bfin_read_MDMA_D0_IRQ_STATUS() bfin_read16(MDMA_D0_IRQ_STATUS)
431#define bfin_write_MDMA_D0_IRQ_STATUS(val) bfin_write16(MDMA_D0_IRQ_STATUS,val)
432#define bfin_read_MDMA_D0_PERIPHERAL_MAP() bfin_read16(MDMA_D0_PERIPHERAL_MAP)
433#define bfin_write_MDMA_D0_PERIPHERAL_MAP(val) bfin_write16(MDMA_D0_PERIPHERAL_MAP,val)
434
435#define bfin_read_MDMA_S0_CONFIG() bfin_read16(MDMA_S0_CONFIG)
436#define bfin_write_MDMA_S0_CONFIG(val) bfin_write16(MDMA_S0_CONFIG,val)
437#define bfin_read_MDMA_S0_NEXT_DESC_PTR() bfin_read32(MDMA_S0_NEXT_DESC_PTR)
438#define bfin_write_MDMA_S0_NEXT_DESC_PTR(val) bfin_write32(MDMA_S0_NEXT_DESC_PTR,val)
439#define bfin_read_MDMA_S0_START_ADDR() bfin_read32(MDMA_S0_START_ADDR)
440#define bfin_write_MDMA_S0_START_ADDR(val) bfin_write32(MDMA_S0_START_ADDR,val)
441#define bfin_read_MDMA_S0_X_COUNT() bfin_read16(MDMA_S0_X_COUNT)
442#define bfin_write_MDMA_S0_X_COUNT(val) bfin_write16(MDMA_S0_X_COUNT,val)
443#define bfin_read_MDMA_S0_Y_COUNT() bfin_read16(MDMA_S0_Y_COUNT)
444#define bfin_write_MDMA_S0_Y_COUNT(val) bfin_write16(MDMA_S0_Y_COUNT,val)
445#define bfin_read_MDMA_S0_X_MODIFY() bfin_read16(MDMA_S0_X_MODIFY)
446#define bfin_write_MDMA_S0_X_MODIFY(val) bfin_write16(MDMA_S0_X_MODIFY,val)
447#define bfin_read_MDMA_S0_Y_MODIFY() bfin_read16(MDMA_S0_Y_MODIFY)
448#define bfin_write_MDMA_S0_Y_MODIFY(val) bfin_write16(MDMA_S0_Y_MODIFY,val)
449#define bfin_read_MDMA_S0_CURR_DESC_PTR() bfin_read32(MDMA_S0_CURR_DESC_PTR)
450#define bfin_write_MDMA_S0_CURR_DESC_PTR(val) bfin_write32(MDMA_S0_CURR_DESC_PTR,val)
451#define bfin_read_MDMA_S0_CURR_ADDR() bfin_read32(MDMA_S0_CURR_ADDR)
452#define bfin_write_MDMA_S0_CURR_ADDR(val) bfin_write32(MDMA_S0_CURR_ADDR,val)
453#define bfin_read_MDMA_S0_CURR_X_COUNT() bfin_read16(MDMA_S0_CURR_X_COUNT)
454#define bfin_write_MDMA_S0_CURR_X_COUNT(val) bfin_write16(MDMA_S0_CURR_X_COUNT,val)
455#define bfin_read_MDMA_S0_CURR_Y_COUNT() bfin_read16(MDMA_S0_CURR_Y_COUNT)
456#define bfin_write_MDMA_S0_CURR_Y_COUNT(val) bfin_write16(MDMA_S0_CURR_Y_COUNT,val)
457#define bfin_read_MDMA_S0_IRQ_STATUS() bfin_read16(MDMA_S0_IRQ_STATUS)
458#define bfin_write_MDMA_S0_IRQ_STATUS(val) bfin_write16(MDMA_S0_IRQ_STATUS,val)
459#define bfin_read_MDMA_S0_PERIPHERAL_MAP() bfin_read16(MDMA_S0_PERIPHERAL_MAP)
460#define bfin_write_MDMA_S0_PERIPHERAL_MAP(val) bfin_write16(MDMA_S0_PERIPHERAL_MAP,val)
461
462/* Aysnchronous Memory Controller - External Bus Interface Unit (0xFFC0 3C00-0xFFC0 3FFF) */
463#define bfin_read_EBIU_AMGCTL() bfin_read16(EBIU_AMGCTL)
464#define bfin_write_EBIU_AMGCTL(val) bfin_write16(EBIU_AMGCTL,val)
465#define bfin_read_EBIU_AMBCTL0() bfin_read32(EBIU_AMBCTL0)
466#define bfin_write_EBIU_AMBCTL0(val) bfin_write32(EBIU_AMBCTL0,val)
467#define bfin_read_EBIU_AMBCTL1() bfin_read32(EBIU_AMBCTL1)
468#define bfin_write_EBIU_AMBCTL1(val) bfin_write32(EBIU_AMBCTL1,val)
469
470/* SDRAM Controller External Bus Interface Unit (0xFFC0 4C00-0xFFC0 4FFF) */
471#define bfin_read_EBIU_SDGCTL() bfin_read32(EBIU_SDGCTL)
472#define bfin_write_EBIU_SDGCTL(val) bfin_write32(EBIU_SDGCTL,val)
473#define bfin_read_EBIU_SDRRC() bfin_read16(EBIU_SDRRC)
474#define bfin_write_EBIU_SDRRC(val) bfin_write16(EBIU_SDRRC,val)
475#define bfin_read_EBIU_SDSTAT() bfin_read16(EBIU_SDSTAT)
476#define bfin_write_EBIU_SDSTAT(val) bfin_write16(EBIU_SDSTAT,val)
477#define bfin_read_EBIU_SDBCTL() bfin_read16(EBIU_SDBCTL)
478#define bfin_write_EBIU_SDBCTL(val) bfin_write16(EBIU_SDBCTL,val)
479
480/* UART Controller */
481#define bfin_read_UART_THR() bfin_read16(UART_THR)
482#define bfin_write_UART_THR(val) bfin_write16(UART_THR,val)
483#define bfin_read_UART_RBR() bfin_read16(UART_RBR)
484#define bfin_write_UART_RBR(val) bfin_write16(UART_RBR,val)
485#define bfin_read_UART_DLL() bfin_read16(UART_DLL)
486#define bfin_write_UART_DLL(val) bfin_write16(UART_DLL,val)
487#define bfin_read_UART_IER() bfin_read16(UART_IER)
488#define bfin_write_UART_IER(val) bfin_write16(UART_IER,val)
489#define bfin_read_UART_DLH() bfin_read16(UART_DLH)
490#define bfin_write_UART_DLH(val) bfin_write16(UART_DLH,val)
491#define bfin_read_UART_IIR() bfin_read16(UART_IIR)
492#define bfin_write_UART_IIR(val) bfin_write16(UART_IIR,val)
493#define bfin_read_UART_LCR() bfin_read16(UART_LCR)
494#define bfin_write_UART_LCR(val) bfin_write16(UART_LCR,val)
495#define bfin_read_UART_MCR() bfin_read16(UART_MCR)
496#define bfin_write_UART_MCR(val) bfin_write16(UART_MCR,val)
497#define bfin_read_UART_LSR() bfin_read16(UART_LSR)
498#define bfin_write_UART_LSR(val) bfin_write16(UART_LSR,val)
499/*
500#define UART_MSR
501*/
502#define bfin_read_UART_SCR() bfin_read16(UART_SCR)
503#define bfin_write_UART_SCR(val) bfin_write16(UART_SCR,val)
504#define bfin_read_UART_GCTL() bfin_read16(UART_GCTL)
505#define bfin_write_UART_GCTL(val) bfin_write16(UART_GCTL,val)
506
507/* SPI Controller */
508#define bfin_read_SPI_CTL() bfin_read16(SPI_CTL)
509#define bfin_write_SPI_CTL(val) bfin_write16(SPI_CTL,val)
510#define bfin_read_SPI_FLG() bfin_read16(SPI_FLG)
511#define bfin_write_SPI_FLG(val) bfin_write16(SPI_FLG,val)
512#define bfin_read_SPI_STAT() bfin_read16(SPI_STAT)
513#define bfin_write_SPI_STAT(val) bfin_write16(SPI_STAT,val)
514#define bfin_read_SPI_TDBR() bfin_read16(SPI_TDBR)
515#define bfin_write_SPI_TDBR(val) bfin_write16(SPI_TDBR,val)
516#define bfin_read_SPI_RDBR() bfin_read16(SPI_RDBR)
517#define bfin_write_SPI_RDBR(val) bfin_write16(SPI_RDBR,val)
518#define bfin_read_SPI_BAUD() bfin_read16(SPI_BAUD)
519#define bfin_write_SPI_BAUD(val) bfin_write16(SPI_BAUD,val)
520#define bfin_read_SPI_SHADOW() bfin_read16(SPI_SHADOW)
521#define bfin_write_SPI_SHADOW(val) bfin_write16(SPI_SHADOW,val)
522
523/* TIMER 0, 1, 2 Registers */
524#define bfin_read_TIMER0_CONFIG() bfin_read16(TIMER0_CONFIG)
525#define bfin_write_TIMER0_CONFIG(val) bfin_write16(TIMER0_CONFIG,val)
526#define bfin_read_TIMER0_COUNTER() bfin_read32(TIMER0_COUNTER)
527#define bfin_write_TIMER0_COUNTER(val) bfin_write32(TIMER0_COUNTER,val)
528#define bfin_read_TIMER0_PERIOD() bfin_read32(TIMER0_PERIOD)
529#define bfin_write_TIMER0_PERIOD(val) bfin_write32(TIMER0_PERIOD,val)
530#define bfin_read_TIMER0_WIDTH() bfin_read32(TIMER0_WIDTH)
531#define bfin_write_TIMER0_WIDTH(val) bfin_write32(TIMER0_WIDTH,val)
532
533#define bfin_read_TIMER1_CONFIG() bfin_read16(TIMER1_CONFIG)
534#define bfin_write_TIMER1_CONFIG(val) bfin_write16(TIMER1_CONFIG,val)
535#define bfin_read_TIMER1_COUNTER() bfin_read32(TIMER1_COUNTER)
536#define bfin_write_TIMER1_COUNTER(val) bfin_write32(TIMER1_COUNTER,val)
537#define bfin_read_TIMER1_PERIOD() bfin_read32(TIMER1_PERIOD)
538#define bfin_write_TIMER1_PERIOD(val) bfin_write32(TIMER1_PERIOD,val)
539#define bfin_read_TIMER1_WIDTH() bfin_read32(TIMER1_WIDTH)
540#define bfin_write_TIMER1_WIDTH(val) bfin_write32(TIMER1_WIDTH,val)
541
542#define bfin_read_TIMER2_CONFIG() bfin_read16(TIMER2_CONFIG)
543#define bfin_write_TIMER2_CONFIG(val) bfin_write16(TIMER2_CONFIG,val)
544#define bfin_read_TIMER2_COUNTER() bfin_read32(TIMER2_COUNTER)
545#define bfin_write_TIMER2_COUNTER(val) bfin_write32(TIMER2_COUNTER,val)
546#define bfin_read_TIMER2_PERIOD() bfin_read32(TIMER2_PERIOD)
547#define bfin_write_TIMER2_PERIOD(val) bfin_write32(TIMER2_PERIOD,val)
548#define bfin_read_TIMER2_WIDTH() bfin_read32(TIMER2_WIDTH)
549#define bfin_write_TIMER2_WIDTH(val) bfin_write32(TIMER2_WIDTH,val)
550
551#define bfin_read_TIMER_ENABLE() bfin_read16(TIMER_ENABLE)
552#define bfin_write_TIMER_ENABLE(val) bfin_write16(TIMER_ENABLE,val)
553#define bfin_read_TIMER_DISABLE() bfin_read16(TIMER_DISABLE)
554#define bfin_write_TIMER_DISABLE(val) bfin_write16(TIMER_DISABLE,val)
555#define bfin_read_TIMER_STATUS() bfin_read16(TIMER_STATUS)
556#define bfin_write_TIMER_STATUS(val) bfin_write16(TIMER_STATUS,val)
557
558/* SPORT0 Controller */
559#define bfin_read_SPORT0_TCR1() bfin_read16(SPORT0_TCR1)
560#define bfin_write_SPORT0_TCR1(val) bfin_write16(SPORT0_TCR1,val)
561#define bfin_read_SPORT0_TCR2() bfin_read16(SPORT0_TCR2)
562#define bfin_write_SPORT0_TCR2(val) bfin_write16(SPORT0_TCR2,val)
563#define bfin_read_SPORT0_TCLKDIV() bfin_read16(SPORT0_TCLKDIV)
564#define bfin_write_SPORT0_TCLKDIV(val) bfin_write16(SPORT0_TCLKDIV,val)
565#define bfin_read_SPORT0_TFSDIV() bfin_read16(SPORT0_TFSDIV)
566#define bfin_write_SPORT0_TFSDIV(val) bfin_write16(SPORT0_TFSDIV,val)
567#define bfin_read_SPORT0_TX() bfin_read32(SPORT0_TX)
568#define bfin_write_SPORT0_TX(val) bfin_write32(SPORT0_TX,val)
569#define bfin_read_SPORT0_RX() bfin_read32(SPORT0_RX)
570#define bfin_write_SPORT0_RX(val) bfin_write32(SPORT0_RX,val)
571#define bfin_read_SPORT0_TX32() bfin_read32(SPORT0_TX)
572#define bfin_write_SPORT0_TX32(val) bfin_write32(SPORT0_TX,val)
573#define bfin_read_SPORT0_RX32() bfin_read32(SPORT0_RX)
574#define bfin_write_SPORT0_RX32(val) bfin_write32(SPORT0_RX,val)
575#define bfin_read_SPORT0_TX16() bfin_read16(SPORT0_TX)
576#define bfin_write_SPORT0_TX16(val) bfin_write16(SPORT0_TX,val)
577#define bfin_read_SPORT0_RX16() bfin_read16(SPORT0_RX)
578#define bfin_write_SPORT0_RX16(val) bfin_write16(SPORT0_RX,val)
579#define bfin_read_SPORT0_RCR1() bfin_read16(SPORT0_RCR1)
580#define bfin_write_SPORT0_RCR1(val) bfin_write16(SPORT0_RCR1,val)
581#define bfin_read_SPORT0_RCR2() bfin_read16(SPORT0_RCR2)
582#define bfin_write_SPORT0_RCR2(val) bfin_write16(SPORT0_RCR2,val)
583#define bfin_read_SPORT0_RCLKDIV() bfin_read16(SPORT0_RCLKDIV)
584#define bfin_write_SPORT0_RCLKDIV(val) bfin_write16(SPORT0_RCLKDIV,val)
585#define bfin_read_SPORT0_RFSDIV() bfin_read16(SPORT0_RFSDIV)
586#define bfin_write_SPORT0_RFSDIV(val) bfin_write16(SPORT0_RFSDIV,val)
587#define bfin_read_SPORT0_STAT() bfin_read16(SPORT0_STAT)
588#define bfin_write_SPORT0_STAT(val) bfin_write16(SPORT0_STAT,val)
589#define bfin_read_SPORT0_CHNL() bfin_read16(SPORT0_CHNL)
590#define bfin_write_SPORT0_CHNL(val) bfin_write16(SPORT0_CHNL,val)
591#define bfin_read_SPORT0_MCMC1() bfin_read16(SPORT0_MCMC1)
592#define bfin_write_SPORT0_MCMC1(val) bfin_write16(SPORT0_MCMC1,val)
593#define bfin_read_SPORT0_MCMC2() bfin_read16(SPORT0_MCMC2)
594#define bfin_write_SPORT0_MCMC2(val) bfin_write16(SPORT0_MCMC2,val)
595#define bfin_read_SPORT0_MTCS0() bfin_read32(SPORT0_MTCS0)
596#define bfin_write_SPORT0_MTCS0(val) bfin_write32(SPORT0_MTCS0,val)
597#define bfin_read_SPORT0_MTCS1() bfin_read32(SPORT0_MTCS1)
598#define bfin_write_SPORT0_MTCS1(val) bfin_write32(SPORT0_MTCS1,val)
599#define bfin_read_SPORT0_MTCS2() bfin_read32(SPORT0_MTCS2)
600#define bfin_write_SPORT0_MTCS2(val) bfin_write32(SPORT0_MTCS2,val)
601#define bfin_read_SPORT0_MTCS3() bfin_read32(SPORT0_MTCS3)
602#define bfin_write_SPORT0_MTCS3(val) bfin_write32(SPORT0_MTCS3,val)
603#define bfin_read_SPORT0_MRCS0() bfin_read32(SPORT0_MRCS0)
604#define bfin_write_SPORT0_MRCS0(val) bfin_write32(SPORT0_MRCS0,val)
605#define bfin_read_SPORT0_MRCS1() bfin_read32(SPORT0_MRCS1)
606#define bfin_write_SPORT0_MRCS1(val) bfin_write32(SPORT0_MRCS1,val)
607#define bfin_read_SPORT0_MRCS2() bfin_read32(SPORT0_MRCS2)
608#define bfin_write_SPORT0_MRCS2(val) bfin_write32(SPORT0_MRCS2,val)
609#define bfin_read_SPORT0_MRCS3() bfin_read32(SPORT0_MRCS3)
610#define bfin_write_SPORT0_MRCS3(val) bfin_write32(SPORT0_MRCS3,val)
611
612/* SPORT1 Controller */
613#define bfin_read_SPORT1_TCR1() bfin_read16(SPORT1_TCR1)
614#define bfin_write_SPORT1_TCR1(val) bfin_write16(SPORT1_TCR1,val)
615#define bfin_read_SPORT1_TCR2() bfin_read16(SPORT1_TCR2)
616#define bfin_write_SPORT1_TCR2(val) bfin_write16(SPORT1_TCR2,val)
617#define bfin_read_SPORT1_TCLKDIV() bfin_read16(SPORT1_TCLKDIV)
618#define bfin_write_SPORT1_TCLKDIV(val) bfin_write16(SPORT1_TCLKDIV,val)
619#define bfin_read_SPORT1_TFSDIV() bfin_read16(SPORT1_TFSDIV)
620#define bfin_write_SPORT1_TFSDIV(val) bfin_write16(SPORT1_TFSDIV,val)
621#define bfin_read_SPORT1_TX() bfin_read32(SPORT1_TX)
622#define bfin_write_SPORT1_TX(val) bfin_write32(SPORT1_TX,val)
623#define bfin_read_SPORT1_RX() bfin_read32(SPORT1_RX)
624#define bfin_write_SPORT1_RX(val) bfin_write32(SPORT1_RX,val)
625#define bfin_read_SPORT1_TX32() bfin_read32(SPORT1_TX)
626#define bfin_write_SPORT1_TX32(val) bfin_write32(SPORT1_TX,val)
627#define bfin_read_SPORT1_RX32() bfin_read32(SPORT1_RX)
628#define bfin_write_SPORT1_RX32(val) bfin_write32(SPORT1_RX,val)
629#define bfin_read_SPORT1_TX16() bfin_read16(SPORT1_TX)
630#define bfin_write_SPORT1_TX16(val) bfin_write16(SPORT1_TX,val)
631#define bfin_read_SPORT1_RX16() bfin_read16(SPORT1_RX)
632#define bfin_write_SPORT1_RX16(val) bfin_write16(SPORT1_RX,val)
633#define bfin_read_SPORT1_RCR1() bfin_read16(SPORT1_RCR1)
634#define bfin_write_SPORT1_RCR1(val) bfin_write16(SPORT1_RCR1,val)
635#define bfin_read_SPORT1_RCR2() bfin_read16(SPORT1_RCR2)
636#define bfin_write_SPORT1_RCR2(val) bfin_write16(SPORT1_RCR2,val)
637#define bfin_read_SPORT1_RCLKDIV() bfin_read16(SPORT1_RCLKDIV)
638#define bfin_write_SPORT1_RCLKDIV(val) bfin_write16(SPORT1_RCLKDIV,val)
639#define bfin_read_SPORT1_RFSDIV() bfin_read16(SPORT1_RFSDIV)
640#define bfin_write_SPORT1_RFSDIV(val) bfin_write16(SPORT1_RFSDIV,val)
641#define bfin_read_SPORT1_STAT() bfin_read16(SPORT1_STAT)
642#define bfin_write_SPORT1_STAT(val) bfin_write16(SPORT1_STAT,val)
643#define bfin_read_SPORT1_CHNL() bfin_read16(SPORT1_CHNL)
644#define bfin_write_SPORT1_CHNL(val) bfin_write16(SPORT1_CHNL,val)
645#define bfin_read_SPORT1_MCMC1() bfin_read16(SPORT1_MCMC1)
646#define bfin_write_SPORT1_MCMC1(val) bfin_write16(SPORT1_MCMC1,val)
647#define bfin_read_SPORT1_MCMC2() bfin_read16(SPORT1_MCMC2)
648#define bfin_write_SPORT1_MCMC2(val) bfin_write16(SPORT1_MCMC2,val)
649#define bfin_read_SPORT1_MTCS0() bfin_read32(SPORT1_MTCS0)
650#define bfin_write_SPORT1_MTCS0(val) bfin_write32(SPORT1_MTCS0,val)
651#define bfin_read_SPORT1_MTCS1() bfin_read32(SPORT1_MTCS1)
652#define bfin_write_SPORT1_MTCS1(val) bfin_write32(SPORT1_MTCS1,val)
653#define bfin_read_SPORT1_MTCS2() bfin_read32(SPORT1_MTCS2)
654#define bfin_write_SPORT1_MTCS2(val) bfin_write32(SPORT1_MTCS2,val)
655#define bfin_read_SPORT1_MTCS3() bfin_read32(SPORT1_MTCS3)
656#define bfin_write_SPORT1_MTCS3(val) bfin_write32(SPORT1_MTCS3,val)
657#define bfin_read_SPORT1_MRCS0() bfin_read32(SPORT1_MRCS0)
658#define bfin_write_SPORT1_MRCS0(val) bfin_write32(SPORT1_MRCS0,val)
659#define bfin_read_SPORT1_MRCS1() bfin_read32(SPORT1_MRCS1)
660#define bfin_write_SPORT1_MRCS1(val) bfin_write32(SPORT1_MRCS1,val)
661#define bfin_read_SPORT1_MRCS2() bfin_read32(SPORT1_MRCS2)
662#define bfin_write_SPORT1_MRCS2(val) bfin_write32(SPORT1_MRCS2,val)
663#define bfin_read_SPORT1_MRCS3() bfin_read32(SPORT1_MRCS3)
664#define bfin_write_SPORT1_MRCS3(val) bfin_write32(SPORT1_MRCS3,val)
665
666/* Parallel Peripheral Interface (PPI) */
667#define bfin_read_PPI_CONTROL() bfin_read16(PPI_CONTROL)
668#define bfin_write_PPI_CONTROL(val) bfin_write16(PPI_CONTROL,val)
669#define bfin_read_PPI_STATUS() bfin_read16(PPI_STATUS)
670#define bfin_write_PPI_STATUS(val) bfin_write16(PPI_STATUS,val)
671#define bfin_clear_PPI_STATUS() bfin_read_PPI_STATUS()
672#define bfin_read_PPI_DELAY() bfin_read16(PPI_DELAY)
673#define bfin_write_PPI_DELAY(val) bfin_write16(PPI_DELAY,val)
674#define bfin_read_PPI_COUNT() bfin_read16(PPI_COUNT)
675#define bfin_write_PPI_COUNT(val) bfin_write16(PPI_COUNT,val)
676#define bfin_read_PPI_FRAME() bfin_read16(PPI_FRAME)
677#define bfin_write_PPI_FRAME(val) bfin_write16(PPI_FRAME,val)
678
53442e1c 679/* These need to be last due to the cdef/linux inter-dependencies */
b6070576 680#include <asm/irq.h>
53442e1c 681
b1271d31
MF
682#if ANOMALY_05000311
683#define BFIN_WRITE_FIO_FLAG(name) \
684static inline void bfin_write_FIO_FLAG_##name(unsigned short val) \
685{ \
686 unsigned long flags; \
6a01f230 687 local_irq_save_hw(flags); \
b1271d31
MF
688 bfin_write16(FIO_FLAG_##name, val); \
689 bfin_read_CHIPID(); \
6a01f230 690 local_irq_restore_hw(flags); \
b1271d31
MF
691}
692BFIN_WRITE_FIO_FLAG(D)
693BFIN_WRITE_FIO_FLAG(C)
694BFIN_WRITE_FIO_FLAG(S)
695BFIN_WRITE_FIO_FLAG(T)
696
697#define BFIN_READ_FIO_FLAG(name) \
698static inline u16 bfin_read_FIO_FLAG_##name(void) \
699{ \
700 unsigned long flags; \
701 u16 ret; \
6a01f230 702 local_irq_save_hw(flags); \
b1271d31
MF
703 ret = bfin_read16(FIO_FLAG_##name); \
704 bfin_read_CHIPID(); \
6a01f230 705 local_irq_restore_hw(flags); \
b1271d31
MF
706 return ret; \
707}
708BFIN_READ_FIO_FLAG(D)
709BFIN_READ_FIO_FLAG(C)
710BFIN_READ_FIO_FLAG(S)
711BFIN_READ_FIO_FLAG(T)
712
713#else
714#define bfin_write_FIO_FLAG_D(val) bfin_write16(FIO_FLAG_D, val)
715#define bfin_write_FIO_FLAG_C(val) bfin_write16(FIO_FLAG_C, val)
716#define bfin_write_FIO_FLAG_S(val) bfin_write16(FIO_FLAG_S, val)
717#define bfin_write_FIO_FLAG_T(val) bfin_write16(FIO_FLAG_T, val)
718#define bfin_read_FIO_FLAG_T() bfin_read16(FIO_FLAG_T)
719#define bfin_read_FIO_FLAG_C() bfin_read16(FIO_FLAG_C)
720#define bfin_read_FIO_FLAG_S() bfin_read16(FIO_FLAG_S)
721#define bfin_read_FIO_FLAG_D() bfin_read16(FIO_FLAG_D)
722#endif
723
53442e1c
MF
724/* Writing to PLL_CTL initiates a PLL relock sequence. */
725static __inline__ void bfin_write_PLL_CTL(unsigned int val)
726{
727 unsigned long flags, iwr;
728
729 if (val == bfin_read_PLL_CTL())
730 return;
731
6a01f230 732 local_irq_save_hw(flags);
53442e1c
MF
733 /* Enable the PLL Wakeup bit in SIC IWR */
734 iwr = bfin_read32(SIC_IWR);
735 /* Only allow PPL Wakeup) */
736 bfin_write32(SIC_IWR, IWR_ENABLE(0));
737
738 bfin_write16(PLL_CTL, val);
739 SSYNC();
740 asm("IDLE;");
741
742 bfin_write32(SIC_IWR, iwr);
6a01f230 743 local_irq_restore_hw(flags);
53442e1c
MF
744}
745
746/* Writing to VR_CTL initiates a PLL relock sequence. */
747static __inline__ void bfin_write_VR_CTL(unsigned int val)
748{
749 unsigned long flags, iwr;
750
751 if (val == bfin_read_VR_CTL())
752 return;
753
6a01f230 754 local_irq_save_hw(flags);
53442e1c
MF
755 /* Enable the PLL Wakeup bit in SIC IWR */
756 iwr = bfin_read32(SIC_IWR);
757 /* Only allow PPL Wakeup) */
758 bfin_write32(SIC_IWR, IWR_ENABLE(0));
759
760 bfin_write16(VR_CTL, val);
761 SSYNC();
762 asm("IDLE;");
763
764 bfin_write32(SIC_IWR, iwr);
6a01f230 765 local_irq_restore_hw(flags);
53442e1c
MF
766}
767
1394f032 768#endif /* _CDEF_BF532_H */