1/* $NetBSD: nfsmbreg.h,v 1.2 2007/12/04 15:58:11 xtraeme Exp $ */
2/*
3 * Copyright (c) 2007 KIYOHARA Takashi
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
24 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 * POSSIBILITY OF SUCH DAMAGE.
26 *
27 */
28#ifndef _NFSMB_H_
29#define _NFSMB_H_
30
31/* nForce 2/3/4 */
32#define NFORCE_OLD_SMB1 0x50
33#define NFORCE_OLD_SMB2 0x54
34/* nForce MCPXX */
35#define NFORCE_SMB1 0x20
36#define NFORCE_SMB2 0x24
37
38#define NFORCE_SMBBASE(x) ((x) & 0xfffc)
39#define NFORCE_SMBSIZE 8
40
41#define NFORCE_SMB_PROTOCOL 0x00
42#define NFORCE_SMB_STATUS 0x01
43#define NFORCE_SMB_ADDRESS 0x02
44#define NFORCE_SMB_COMMAND 0x03
45#define NFORCE_SMB_DATA 0x04 /* 32 data registers */
46#define NFORCE_SMB_BCNT 0x24 /* number of data bytes */
47#define NFORCE_SMB_ALRM_A 0x25 /* alarm address */
48#define NFORCE_SMB_ALRM_D 0x26 /* 2 bytes alarm data */
49
50#define NFORCE_SMB_PROTOCOL_WRITE 0x00
51#define NFORCE_SMB_PROTOCOL_READ 0x01
52#define NFORCE_SMB_PROTOCOL_QUICK 0x02
53#define NFORCE_SMB_PROTOCOL_BYTE 0x04
54#define NFORCE_SMB_PROTOCOL_BYTE_DATA 0x06
55#define NFORCE_SMB_PROTOCOL_WORD_DATA 0x08
56#define NFORCE_SMB_PROTOCOL_BLOCK_DATA 0x0a
57#define NFORCE_SMB_PROTOCOL_PROC_CALL 0x0c
58#define NFORCE_SMB_PROTOCOL_BLOCK_PROC_CALL 0x0d
59#define NFORCE_SMB_PROTOCOL_I2C_BLOCK_DATA 0x4a
60#define NFORCE_SMB_PROTOCOL_PEC 0x80
61
62#define NFORCE_SMB_STATUS_DONE 0x80
63#define NFORCE_SMB_STATUS_ALRM 0x40
64#define NFORCE_SMB_STATUS_RES 0x20
65#define NFORCE_SMB_STATUS_STATUS 0x1f
66
67#endif /* _NFSMB_H_ */
68