1/*	$NetBSD: nfsmbreg.h,v 1.1 2007/07/11 07:53:29 kiyohara 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