Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / include / asm-sh / saturn / smpc.h
1 /*
2  * include/asm-sh/saturn/smpc.h
3  *
4  * System Manager / Peripheral Control definitions.
5  *
6  * Copyright (C) 2002 Paul Mundt
7  *
8  * Released under the terms of the GNU GPL v2.0.
9  */
10 #ifndef __ASM_SH_SATURN_SMPC_H
11 #define __ASM_SH_SATURN_SMPC_H
12
13 #include <asm/io.h>
14
15 #define SMPC_COMMAND    0x2010001f      /* SMPC command register */
16 #define SMPC_RESULT     0x2010005f      /* SMPC result register */
17 #define SMPC_STATUS     0x20100063      /* SMPC status register */
18
19 #define SMPC_CMD_MSHON  0x0001          /* Master SH On */
20 #define SMPC_CMD_SSHON  0x0002          /* Slave SH On */
21 #define SMPC_CMD_SSHOFF 0x0003          /* Slave SH Off */
22 #define SMPC_CMD_SNDON  0x0004          /* Sound On */
23 #define SMPC_CMD_SNDOFF 0x0005          /* Sound Off */
24 #define SMPC_CMD_CDON   0x0006          /* CD On */
25 #define SMPC_CMD_CDOFF  0x0007          /* CD Off */
26
27 static inline void smpc_barrier(void)
28 {
29         while ((ctrl_inb(SMPC_STATUS) & 0x0001) == 0x0001)
30                 ;
31 }
32
33 #endif /* __ASM_SH_SATURN_SMPC_H */
34