Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
m32700ut_lan.h
Go to the documentation of this file.
1 #ifndef _M32700UT_M32700UT_LAN_H
2 #define _M32700UT_M32700UT_LAN_H
3 
4 /*
5  * include/asm-m32r/m32700ut/m32700ut_lan.h
6  *
7  * M32700UT-LAN board
8  *
9  * Copyright (c) 2002 Takeo Takahashi
10  *
11  * This file is subject to the terms and conditions of the GNU General
12  * Public License. See the file "COPYING" in the main directory of
13  * this archive for more details.
14  */
15 
16 #ifndef __ASSEMBLY__
17 /*
18  * C functions use non-cache address.
19  */
20 #define M32700UT_LAN_BASE (0x10000000 /* + NONCACHE_OFFSET */)
21 #else
22 #define M32700UT_LAN_BASE (0x10000000 + NONCACHE_OFFSET)
23 #endif /* __ASSEMBLY__ */
24 
25 /* ICU
26  * ICUISTS: status register
27  * ICUIREQ0: request register
28  * ICUIREQ1: request register
29  * ICUCR3: control register for CFIREQ# interrupt
30  * ICUCR4: control register for CFC Card insert interrupt
31  * ICUCR5: control register for CFC Card eject interrupt
32  * ICUCR6: control register for external interrupt
33  * ICUCR11: control register for MMC Card insert/eject interrupt
34  * ICUCR13: control register for SC error interrupt
35  * ICUCR14: control register for SC receive interrupt
36  * ICUCR15: control register for SC send interrupt
37  * ICUCR16: control register for SIO0 receive interrupt
38  * ICUCR17: control register for SIO0 send interrupt
39  */
40 #define M32700UT_LAN_IRQ_LAN (M32700UT_LAN_PLD_IRQ_BASE + 1) /* LAN */
41 #define M32700UT_LAN_IRQ_I2C (M32700UT_LAN_PLD_IRQ_BASE + 3) /* I2C */
42 
43 #define M32700UT_LAN_ICUISTS __reg16(M32700UT_LAN_BASE + 0xc0002)
44 #define M32700UT_LAN_ICUISTS_VECB_MASK (0xf000)
45 #define M32700UT_LAN_VECB(x) ((x) & M32700UT_LAN_ICUISTS_VECB_MASK)
46 #define M32700UT_LAN_ICUISTS_ISN_MASK (0x07c0)
47 #define M32700UT_LAN_ICUISTS_ISN(x) ((x) & M32700UT_LAN_ICUISTS_ISN_MASK)
48 #define M32700UT_LAN_ICUIREQ0 __reg16(M32700UT_LAN_BASE + 0xc0004)
49 #define M32700UT_LAN_ICUCR1 __reg16(M32700UT_LAN_BASE + 0xc0010)
50 #define M32700UT_LAN_ICUCR3 __reg16(M32700UT_LAN_BASE + 0xc0014)
51 
52 /*
53  * AR register on PLD
54  */
55 #define ARVCR0 __reg32(M32700UT_LAN_BASE + 0x40000)
56 #define ARVCR0_VDS 0x00080000
57 #define ARVCR0_RST 0x00010000
58 #define ARVCR1 __reg32(M32700UT_LAN_BASE + 0x40004)
59 #define ARVCR1_QVGA 0x02000000
60 #define ARVCR1_NORMAL 0x01000000
61 #define ARVCR1_HIEN 0x00010000
62 #define ARVHCOUNT __reg32(M32700UT_LAN_BASE + 0x40008)
63 #define ARDATA __reg32(M32700UT_LAN_BASE + 0x40010)
64 #define ARINTSEL __reg32(M32700UT_LAN_BASE + 0x40014)
65 #define ARINTSEL_INT3 0x10000000 /* CPU INT3 */
66 #define ARDATA32 __reg32(M32700UT_LAN_BASE + 0x04040010) // Block 5
67 /*
68 #define ARINTSEL_SEL2 0x00002000
69 #define ARINTSEL_SEL3 0x00001000
70 #define ARINTSEL_SEL6 0x00000200
71 #define ARINTSEL_SEL7 0x00000100
72 #define ARINTSEL_SEL9 0x00000040
73 #define ARINTSEL_SEL10 0x00000020
74 #define ARINTSEL_SEL11 0x00000010
75 #define ARINTSEL_SEL12 0x00000008
76 */
77 
78 /*
79  * I2C register on PLD
80  */
81 #define PLDI2CCR __reg32(M32700UT_LAN_BASE + 0x40040)
82 #define PLDI2CCR_ES0 0x00000001 /* enable I2C interface */
83 #define PLDI2CMOD __reg32(M32700UT_LAN_BASE + 0x40044)
84 #define PLDI2CMOD_ACKCLK 0x00000200
85 #define PLDI2CMOD_DTWD 0x00000100
86 #define PLDI2CMOD_10BT 0x00000004
87 #define PLDI2CMOD_ATM_NORMAL 0x00000000
88 #define PLDI2CMOD_ATM_AUTO 0x00000003
89 #define PLDI2CACK __reg32(M32700UT_LAN_BASE + 0x40048)
90 #define PLDI2CACK_ACK 0x00000001
91 #define PLDI2CFREQ __reg32(M32700UT_LAN_BASE + 0x4004c)
92 #define PLDI2CCND __reg32(M32700UT_LAN_BASE + 0x40050)
93 #define PLDI2CCND_START 0x00000001
94 #define PLDI2CCND_STOP 0x00000002
95 #define PLDI2CSTEN __reg32(M32700UT_LAN_BASE + 0x40054)
96 #define PLDI2CSTEN_STEN 0x00000001
97 #define PLDI2CDATA __reg32(M32700UT_LAN_BASE + 0x40060)
98 #define PLDI2CSTS __reg32(M32700UT_LAN_BASE + 0x40064)
99 #define PLDI2CSTS_TRX 0x00000020
100 #define PLDI2CSTS_BB 0x00000010
101 #define PLDI2CSTS_NOACK 0x00000001 /* 0:ack, 1:noack */
102 
103 #endif /* _M32700UT_M32700UT_LAN_H */