Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
busctl-regs.h
Go to the documentation of this file.
1 /* busctl-regs.h: FR400-series CPU bus controller registers
2  *
3  * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
4  * Written by David Howells ([email protected])
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version
9  * 2 of the License, or (at your option) any later version.
10  */
11 
12 #ifndef _ASM_BUSCTL_REGS_H
13 #define _ASM_BUSCTL_REGS_H
14 
15 /* bus controller registers */
16 #define __get_LGCR() ({ *(volatile unsigned long *)(0xfe000010); })
17 #define __get_LMAICR() ({ *(volatile unsigned long *)(0xfe000030); })
18 #define __get_LEMBR() ({ *(volatile unsigned long *)(0xfe000040); })
19 #define __get_LEMAM() ({ *(volatile unsigned long *)(0xfe000048); })
20 #define __get_LCR(R) ({ *(volatile unsigned long *)(0xfe000100 + 8*(R)); })
21 #define __get_LSBR(R) ({ *(volatile unsigned long *)(0xfe000c00 + 8*(R)); })
22 #define __get_LSAM(R) ({ *(volatile unsigned long *)(0xfe000d00 + 8*(R)); })
23 
24 #define __set_LGCR(V) do { *(volatile unsigned long *)(0xfe000010) = (V); } while(0)
25 #define __set_LMAICR(V) do { *(volatile unsigned long *)(0xfe000030) = (V); } while(0)
26 #define __set_LEMBR(V) do { *(volatile unsigned long *)(0xfe000040) = (V); } while(0)
27 #define __set_LEMAM(V) do { *(volatile unsigned long *)(0xfe000048) = (V); } while(0)
28 #define __set_LCR(R,V) do { *(volatile unsigned long *)(0xfe000100 + 8*(R)) = (V); } while(0)
29 #define __set_LSBR(R,V) do { *(volatile unsigned long *)(0xfe000c00 + 8*(R)) = (V); } while(0)
30 #define __set_LSAM(R,V) do { *(volatile unsigned long *)(0xfe000d00 + 8*(R)) = (V); } while(0)
31 
32 /* FR401 SDRAM controller registers */
33 #define __get_DBR(R) ({ *(volatile unsigned long *)(0xfe000e00 + 8*(R)); })
34 #define __get_DAM(R) ({ *(volatile unsigned long *)(0xfe000f00 + 8*(R)); })
35 
36 /* FR551 SDRAM controller registers */
37 #define __get_DARS(R) ({ *(volatile unsigned long *)(0xfeff0100 + 8*(R)); })
38 #define __get_DAMK(R) ({ *(volatile unsigned long *)(0xfeff0110 + 8*(R)); })
39 
40 
41 #endif /* _ASM_BUSCTL_REGS_H */