1 #ifndef __ASM_SH64_HARDWARE_H
2 #define __ASM_SH64_HARDWARE_H
3 
4 /*
5  * This file is subject to the terms and conditions of the GNU General Public
6  * License.  See the file "COPYING" in the main directory of this archive
7  * for more details.
8  *
9  * include/asm-sh64/hardware.h
10  *
11  * Copyright (C) 2002 Stuart Menefy
12  * Copyright (C) 2003 Paul Mundt
13  *
14  * Defitions of the locations of registers in the physical address space.
15  */
16 
17 #define	PHYS_PERIPHERAL_BLOCK	0x09000000
18 #define PHYS_DMAC_BLOCK		0x0e000000
19 #define PHYS_PCI_BLOCK		0x60000000
20 
21 #ifndef __ASSEMBLY__
22 #include <linux/types.h>
23 #include <asm/io.h>
24 
25 struct vcr_info {
26 	u8	perr_flags;	/* P-port Error flags */
27 	u8	merr_flags;	/* Module Error flags */
28 	u16	mod_vers;	/* Module Version */
29 	u16	mod_id;		/* Module ID */
30 	u8	bot_mb;		/* Bottom Memory block */
31 	u8	top_mb;		/* Top Memory block */
32 };
33 
sh64_get_vcr_info(unsigned long base)34 static inline struct vcr_info sh64_get_vcr_info(unsigned long base)
35 {
36 	unsigned long long tmp;
37 
38 	tmp = sh64_in64(base);
39 
40 	return *((struct vcr_info *)&tmp);
41 }
42 
43 #endif /* __ASSEMBLY__ */
44 
45 #endif /* __ASM_SH64_HARDWARE_H */
46