blob: c730ef2c72f50dfb055a799d782c278c2174050e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
/* linux/arch/arm/mach-s3c2410/include/mach/regs-cfata.h
*
* Copyright (c) 2009 Digi Internationa Inc.
* http://www.digi.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef ___ASM_ARCH_REGS_CFATA_H
#define ___ASM_ARCH_REGS_CFATA_H
/* PCMCIA / ATA controller registers */
#define S3C2443_ATTR_BASE (0x0000)
#define S3C2443_IO_BASE (0x0800)
#define S3C2443_COMM_BASE (0x1000)
#define S3C2443_SFR_BASE (0x1800)
#define S3C2443_MUX_REG (0x1800)
#define S3C2443_PCCARD_BASE (0x1820)
#define S3C2443_PCCARD_CFG (0x1820)
#define S3C2443_PCCARD_INT (0x1824)
#define S3C2443_PCCARD_ATTR (0x1828)
#define S3C2443_PCCARD_IO (0x182C)
#define S3C2443_PCCARD_COMM (0x1830)
#define S3C2443_ATA_BASE (0x1900)
#define S3C2443_ATA_CONTROL (0x1900)
#define S3C2443_ATA_STATUS (0x1904)
#define S3C2443_ATA_COMMAND (0x1908)
#define S3C2443_ATA_SWRST (0x190c)
#define S3C2443_ATA_IRQ (0x1910)
#define S3C2443_ATA_IRQ_MASK (0x1914)
#define S3C2443_ATA_CFG (0x1918)
#define S3C2443_ATA_PIO_TIME (0x192c)
#define S3C2443_ATA_UDMA_TIME (0x1930)
#define S3C2443_ATA_PIO_DTR (0x1954)
#define S3C2443_ATA_PIO_FED (0x1958)
#define S3C2443_ATA_PIO_SCR (0x195c)
#define S3C2443_ATA_PIO_LLR (0x1960)
#define S3C2443_ATA_PIO_LMR (0x1964)
#define S3C2443_ATA_PIO_LHR (0x1968)
#define S3C2443_ATA_PIO_DVR (0x196c)
#define S3C2443_ATA_PIO_CSD (0x1970)
#define S3C2443_ATA_PIO_DAD (0x1974)
#define S3C2443_ATA_PIO_RDATA (0x197c)
#define S3C2443_BUS_FIFO_STATUS (0x1990)
#define S3C2443_ATA_FIFO_STATUS (0x1994)
/* PCCARD / ATA register masks */
/* MUX_REG masks */
#define S3C2443_MUX_OUTPUT_DISABLE (1 << 2)
#define S3C2443_MUX_OUTPUT_ENABLE (0 << 2)
#define S3C2443_MUX_PWREN_PWOFF (1 << 1)
#define S3C2443_MUX_PWREN_PWON (0 << 1)
#define S3C2443_MUX_MODE_PCCARD (0 << 0)
#define S3C2443_MUX_MODE_IDE (1 << 0)
/* PCCARD_CFG */
#define S3C2443_PCC_CARD_RESET (1 << 13)
#define S3C2443_PCC_INT_SEL (1 << 12)
#define S3C2443_PCC_nWAIT_EN (1 << 11)
#define S3C2443_PCC_DEVICE_ATT_8 (0 << 10)
#define S3C2443_PCC_DEVICE_ATT_16 (1 << 10)
#define S3C2443_PCC_DEVICE_COMM_8 (0 << 9)
#define S3C2443_PCC_DEVICE_COMM_16 (1 << 9)
#define S3C2443_PCC_DEVICE_IO_8 (0 << 8)
#define S3C2443_PCC_DEVICE_IO_16 (1 << 8)
#define S3C2443_PCC_NOCARD_ERR (1 << 3)
#define S3C2443_PCC_nWAIT (1 << 2)
#define S3C2443_PCC_nIREQ (1 << 1)
#define S3C2443_PCC_nCD (1 << 0)
/* PCCARD_INT */
#define S3C2443_PCC_INTMSK_ERR_N (1 << 10)
#define S3C2443_PCC_INTMSK_IREQ (1 << 9)
#define S3C2443_PCC_INTMSK_CD (1 << 8)
#define S3C2443_PCC_INTMSK_ALL (S3C2443_PCC_INTMSK_ERR_N | \
S3C2443_PCC_INTMSK_IREQ | \
S3C2443_PCC_INTMSK_CD)
#define S3C2443_PCC_INTSRC_ERR_N (1 << 2)
#define S3C2443_PCC_INTSRC_IREQ (1 << 1)
#define S3C2443_PCC_INTSRC_CD (1 << 0)
#define S3C2443_PCC_INTSRC_ALL (S3C2443_PCC_INTSRC_ERR_N | \
S3C2443_PCC_INTSRC_IREQ | \
S3C2443_PCC_INTSRC_CD)
/* PCCARD_ATTR */
#define S3C2443_PCC_HOLD_ATTR (0x7f << 16)
#define S3C2443_PCC_CMND_ATTR (0x7f << 8)
#define S3C2443_PCC_SETUP_ATTR (0x7f << 0)
/* PCCARD_IO */
#define S3C2443_PCC_HOLD_IO (0x7f << 16)
#define S3C2443_PCC_CMND_IO (0x7f << 8)
#define S3C2443_PCC_SETUP_IO (0x7f << 0)
/* PCCARD_COMM */
#define S3C2443_PCC_HOLD_COMM (0x7f << 16)
#define S3C2443_PCC_CMND_COMM (0x7f << 8)
#define S3C2443_PCC_SETUP_COMM (0x7f << 0)
#endif /* ___ASM_ARCH_REGS_CFATA_H */
|