2
* Interface for smsc fdc48m81x Super IO chip
4
* Author: MontaVista Software, Inc. source@mvista.com
6
* 2001-2003 (c) MontaVista Software, Inc. This file is licensed under
7
* the terms of the GNU General Public License version 2. This program
8
* is licensed "as is" without any warranty of any kind, whether express
11
* Copyright (C) 2004 MontaVista Software Inc.
12
* Manish Lachwani, mlachwani@mvista.com
15
#ifndef _SMSC_FDC37M81X_H_
16
#define _SMSC_FDC37M81X_H_
18
/* Common Registers */
19
#define SMSC_FDC37M81X_CONFIG_INDEX 0x00
20
#define SMSC_FDC37M81X_CONFIG_DATA 0x01
21
#define SMSC_FDC37M81X_CONF 0x02
22
#define SMSC_FDC37M81X_INDEX 0x03
23
#define SMSC_FDC37M81X_DNUM 0x07
24
#define SMSC_FDC37M81X_DID 0x20
25
#define SMSC_FDC37M81X_DREV 0x21
26
#define SMSC_FDC37M81X_PCNT 0x22
27
#define SMSC_FDC37M81X_PMGT 0x23
28
#define SMSC_FDC37M81X_OSC 0x24
29
#define SMSC_FDC37M81X_CONFPA0 0x26
30
#define SMSC_FDC37M81X_CONFPA1 0x27
31
#define SMSC_FDC37M81X_TEST4 0x2B
32
#define SMSC_FDC37M81X_TEST5 0x2C
33
#define SMSC_FDC37M81X_TEST1 0x2D
34
#define SMSC_FDC37M81X_TEST2 0x2E
35
#define SMSC_FDC37M81X_TEST3 0x2F
37
/* Logical device numbers */
38
#define SMSC_FDC37M81X_FDD 0x00
39
#define SMSC_FDC37M81X_PARALLEL 0x03
40
#define SMSC_FDC37M81X_SERIAL1 0x04
41
#define SMSC_FDC37M81X_SERIAL2 0x05
42
#define SMSC_FDC37M81X_KBD 0x07
43
#define SMSC_FDC37M81X_AUXIO 0x08
44
#define SMSC_FDC37M81X_NONE 0xff
46
/* Logical device Config Registers */
47
#define SMSC_FDC37M81X_ACTIVE 0x30
48
#define SMSC_FDC37M81X_BASEADDR0 0x60
49
#define SMSC_FDC37M81X_BASEADDR1 0x61
50
#define SMSC_FDC37M81X_INT 0x70
51
#define SMSC_FDC37M81X_INT2 0x72
52
#define SMSC_FDC37M81X_LDCR_F0 0xF0
54
/* Chip Config Values */
55
#define SMSC_FDC37M81X_CONFIG_ENTER 0x55
56
#define SMSC_FDC37M81X_CONFIG_EXIT 0xaa
57
#define SMSC_FDC37M81X_CHIP_ID 0x4d
59
unsigned long smsc_fdc37m81x_init(unsigned long port);
61
void smsc_fdc37m81x_config_beg(void);
63
void smsc_fdc37m81x_config_end(void);
65
u8 smsc_fdc37m81x_config_get(u8 reg);
66
void smsc_fdc37m81x_config_set(u8 reg, u8 val);