1
2
3
4
5
6
7
8
9
10
11
12 #ifndef _CS5536_PCI_H
13 #define _CS5536_PCI_H
14
15 #include <linux/types.h>
16 #include <linux/pci_regs.h>
17
18 extern void cs5536_pci_conf_write4(int function, int reg, u32 value);
19 extern u32 cs5536_pci_conf_read4(int function, int reg);
20
21 #define CS5536_ACC_INTR 9
22 #define CS5536_IDE_INTR 14
23 #define CS5536_USB_INTR 11
24 #define CS5536_MFGPT_INTR 5
25 #define CS5536_UART1_INTR 4
26 #define CS5536_UART2_INTR 3
27
28
29
30
31
32
33 #define PCI_BUS_CS5536 0
34 #define PCI_IDSEL_CS5536 14
35
36
37
38
39
40
41
42
43
44
45 #define CFG_PCI_VENDOR_ID(mod_dev_id, sys_vendor_id) \
46 (((mod_dev_id) << 16) | (sys_vendor_id))
47
48
49 #define CS5536_VENDOR_ID 0x1022
50
51
52 #define CS5536_ISA_DEVICE_ID 0x2090
53 #define CS5536_IDE_DEVICE_ID 0x209a
54 #define CS5536_ACC_DEVICE_ID 0x2093
55 #define CS5536_OHCI_DEVICE_ID 0x2094
56 #define CS5536_EHCI_DEVICE_ID 0x2095
57
58
59 #define CS5536_ISA_CLASS_CODE 0x060100
60 #define CS5536_IDE_CLASS_CODE 0x010180
61 #define CS5536_ACC_CLASS_CODE 0x040100
62 #define CS5536_OHCI_CLASS_CODE 0x0C0310
63 #define CS5536_EHCI_CLASS_CODE 0x0C0320
64
65
66
67 #define CFG_PCI_CACHE_LINE_SIZE(header_type, latency_timer) \
68 ((PCI_NONE_BIST << 24) | ((header_type) << 16) \
69 | ((latency_timer) << 8) | PCI_NORMAL_CACHE_LINE_SIZE);
70
71 #define PCI_NONE_BIST 0x00
72 #define PCI_BRIDGE_HEADER_TYPE 0x80
73 #define PCI_NORMAL_HEADER_TYPE 0x00
74 #define PCI_NORMAL_LATENCY_TIMER 0x00
75 #define PCI_NORMAL_CACHE_LINE_SIZE 0x08
76
77
78 #define PCI_BAR0_REG 0x10
79 #define PCI_BAR1_REG 0x14
80 #define PCI_BAR2_REG 0x18
81 #define PCI_BAR3_REG 0x1c
82 #define PCI_BAR4_REG 0x20
83 #define PCI_BAR5_REG 0x24
84 #define PCI_BAR_RANGE_MASK 0xFFFFFFFF
85
86
87 #define PCI_CARDBUS_CIS_POINTER 0x00000000
88
89
90 #define CS5536_SUB_VENDOR_ID CS5536_VENDOR_ID
91
92
93 #define CS5536_ISA_SUB_ID CS5536_ISA_DEVICE_ID
94 #define CS5536_IDE_SUB_ID CS5536_IDE_DEVICE_ID
95 #define CS5536_ACC_SUB_ID CS5536_ACC_DEVICE_ID
96 #define CS5536_OHCI_SUB_ID CS5536_OHCI_DEVICE_ID
97 #define CS5536_EHCI_SUB_ID CS5536_EHCI_DEVICE_ID
98
99
100 #define PCI_EXPANSION_ROM_BAR 0x00000000
101
102
103 #define PCI_CAPLIST_POINTER 0x00000000
104 #define PCI_CAPLIST_USB_POINTER 0x40
105
106
107 #define CFG_PCI_INTERRUPT_LINE(pin, mod_intr) \
108 ((PCI_MAX_LATENCY << 24) | (PCI_MIN_GRANT << 16) | \
109 ((pin) << 8) | (mod_intr))
110
111 #define PCI_MAX_LATENCY 0x40
112 #define PCI_MIN_GRANT 0x00
113 #define PCI_DEFAULT_PIN 0x01
114
115
116
117
118
119
120 #define PCI_UART1_INT_REG 0x50
121 #define PCI_UART2_INT_REG 0x54
122 #define PCI_ISA_FIXUP_REG 0x58
123
124
125
126
127 #define PCI_IDE_CFG_REG 0x40
128 #define CS5536_IDE_FLASH_SIGNATURE 0xDEADBEEF
129 #define PCI_IDE_DTC_REG 0x48
130 #define PCI_IDE_CAST_REG 0x4C
131 #define PCI_IDE_ETC_REG 0x50
132 #define PCI_IDE_PM_REG 0x54
133 #define PCI_IDE_INT_REG 0x60
134
135
136
137
138 #define PCI_ACC_INT_REG 0x50
139
140
141
142
143 #define PCI_OHCI_PM_REG 0x40
144 #define PCI_OHCI_INT_REG 0x50
145
146
147
148
149 #define PCI_EHCI_LEGSMIEN_REG 0x50
150 #define PCI_EHCI_LEGSMISTS_REG 0x54
151 #define PCI_EHCI_FLADJ_REG 0x60
152
153 #endif