diff options
author | Mark A. Greer <mgreer@mvista.com> | 2005-09-03 18:55:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:06:01 -0400 |
commit | f54bef9e9c84c8dc656c55dc96c1da7b6d1c53d8 (patch) | |
tree | de93df49c67ebf63aeca64941a201365440e9551 /arch/ppc | |
parent | f4c6cc8d1e2305796f7fdad52d83b88cea4d2276 (diff) |
[PATCH] ppc32: cpci690 updates
Update the cpci690 platform code:
- pass mem size in from bootwrapper via bi_rec
- some minor fixups
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc')
-rw-r--r-- | arch/ppc/boot/simple/misc-cpci690.c | 42 | ||||
-rw-r--r-- | arch/ppc/configs/cpci690_defconfig | 316 | ||||
-rw-r--r-- | arch/ppc/platforms/cpci690.c | 177 | ||||
-rw-r--r-- | arch/ppc/platforms/cpci690.h | 2 |
4 files changed, 326 insertions, 211 deletions
diff --git a/arch/ppc/boot/simple/misc-cpci690.c b/arch/ppc/boot/simple/misc-cpci690.c index ef08e86c9b25..26860300fa09 100644 --- a/arch/ppc/boot/simple/misc-cpci690.c +++ b/arch/ppc/boot/simple/misc-cpci690.c | |||
@@ -12,16 +12,56 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
15 | #include <asm/io.h> | ||
15 | #include <platforms/cpci690.h> | 16 | #include <platforms/cpci690.h> |
16 | 17 | ||
18 | #define KB (1024UL) | ||
19 | #define MB (1024UL*KB) | ||
20 | #define GB (1024UL*MB) | ||
21 | |||
17 | extern u32 mv64x60_console_baud; | 22 | extern u32 mv64x60_console_baud; |
18 | extern u32 mv64x60_mpsc_clk_src; | 23 | extern u32 mv64x60_mpsc_clk_src; |
19 | extern u32 mv64x60_mpsc_clk_freq; | 24 | extern u32 mv64x60_mpsc_clk_freq; |
20 | 25 | ||
26 | u32 mag = 0xffff; | ||
27 | |||
28 | unsigned long | ||
29 | get_mem_size(void) | ||
30 | { | ||
31 | u32 size; | ||
32 | |||
33 | switch (in_8(((void __iomem *)CPCI690_BR_BASE + CPCI690_BR_MEM_CTLR)) | ||
34 | & 0x07) { | ||
35 | case 0x01: | ||
36 | size = 256*MB; | ||
37 | break; | ||
38 | case 0x02: | ||
39 | size = 512*MB; | ||
40 | break; | ||
41 | case 0x03: | ||
42 | size = 768*MB; | ||
43 | break; | ||
44 | case 0x04: | ||
45 | size = 1*GB; | ||
46 | break; | ||
47 | case 0x05: | ||
48 | size = 1*GB + 512*MB; | ||
49 | break; | ||
50 | case 0x06: | ||
51 | size = 2*GB; | ||
52 | break; | ||
53 | default: | ||
54 | size = 0; | ||
55 | } | ||
56 | |||
57 | return size; | ||
58 | } | ||
59 | |||
21 | void | 60 | void |
22 | mv64x60_board_init(void __iomem *old_base, void __iomem *new_base) | 61 | mv64x60_board_init(void __iomem *old_base, void __iomem *new_base) |
23 | { | 62 | { |
24 | mv64x60_console_baud = CPCI690_MPSC_BAUD; | 63 | mv64x60_console_baud = CPCI690_MPSC_BAUD; |
25 | mv64x60_mpsc_clk_src = CPCI690_MPSC_CLK_SRC; | 64 | mv64x60_mpsc_clk_src = CPCI690_MPSC_CLK_SRC; |
26 | mv64x60_mpsc_clk_freq = CPCI690_BUS_FREQ; | 65 | mv64x60_mpsc_clk_freq = |
66 | (get_mem_size() >= (1*GB)) ? 100000000 : 133333333; | ||
27 | } | 67 | } |
diff --git a/arch/ppc/configs/cpci690_defconfig b/arch/ppc/configs/cpci690_defconfig index 53948793d9af..ff3f7e02ab0f 100644 --- a/arch/ppc/configs/cpci690_defconfig +++ b/arch/ppc/configs/cpci690_defconfig | |||
@@ -1,15 +1,17 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.10-rc2 | 3 | # Linux kernel version: 2.6.13-mm1 |
4 | # Fri Dec 3 15:56:10 2004 | 4 | # Thu Sep 1 17:10:37 2005 |
5 | # | 5 | # |
6 | CONFIG_MMU=y | 6 | CONFIG_MMU=y |
7 | CONFIG_GENERIC_HARDIRQS=y | 7 | CONFIG_GENERIC_HARDIRQS=y |
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
9 | CONFIG_HAVE_DEC_LOCK=y | 10 | CONFIG_HAVE_DEC_LOCK=y |
10 | CONFIG_PPC=y | 11 | CONFIG_PPC=y |
11 | CONFIG_PPC32=y | 12 | CONFIG_PPC32=y |
12 | CONFIG_GENERIC_NVRAM=y | 13 | CONFIG_GENERIC_NVRAM=y |
14 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
13 | 15 | ||
14 | # | 16 | # |
15 | # Code maturity level options | 17 | # Code maturity level options |
@@ -17,33 +19,38 @@ CONFIG_GENERIC_NVRAM=y | |||
17 | CONFIG_EXPERIMENTAL=y | 19 | CONFIG_EXPERIMENTAL=y |
18 | CONFIG_CLEAN_COMPILE=y | 20 | CONFIG_CLEAN_COMPILE=y |
19 | CONFIG_BROKEN_ON_SMP=y | 21 | CONFIG_BROKEN_ON_SMP=y |
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
20 | 23 | ||
21 | # | 24 | # |
22 | # General setup | 25 | # General setup |
23 | # | 26 | # |
24 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | ||
25 | # CONFIG_SWAP is not set | 29 | # CONFIG_SWAP is not set |
26 | CONFIG_SYSVIPC=y | 30 | CONFIG_SYSVIPC=y |
27 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
28 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
29 | CONFIG_SYSCTL=y | 33 | CONFIG_SYSCTL=y |
30 | # CONFIG_AUDIT is not set | 34 | # CONFIG_AUDIT is not set |
31 | CONFIG_LOG_BUF_SHIFT=14 | ||
32 | # CONFIG_HOTPLUG is not set | 35 | # CONFIG_HOTPLUG is not set |
33 | CONFIG_KOBJECT_UEVENT=y | 36 | CONFIG_KOBJECT_UEVENT=y |
34 | # CONFIG_IKCONFIG is not set | 37 | # CONFIG_IKCONFIG is not set |
38 | CONFIG_INITRAMFS_SOURCE="" | ||
35 | # CONFIG_EMBEDDED is not set | 39 | # CONFIG_EMBEDDED is not set |
36 | CONFIG_KALLSYMS=y | 40 | CONFIG_KALLSYMS=y |
37 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 41 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
42 | CONFIG_PRINTK=y | ||
43 | CONFIG_BUG=y | ||
44 | CONFIG_BASE_FULL=y | ||
38 | CONFIG_FUTEX=y | 45 | CONFIG_FUTEX=y |
39 | CONFIG_EPOLL=y | 46 | CONFIG_EPOLL=y |
40 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
41 | CONFIG_SHMEM=y | 47 | CONFIG_SHMEM=y |
42 | CONFIG_CC_ALIGN_FUNCTIONS=0 | 48 | CONFIG_CC_ALIGN_FUNCTIONS=0 |
43 | CONFIG_CC_ALIGN_LABELS=0 | 49 | CONFIG_CC_ALIGN_LABELS=0 |
44 | CONFIG_CC_ALIGN_LOOPS=0 | 50 | CONFIG_CC_ALIGN_LOOPS=0 |
45 | CONFIG_CC_ALIGN_JUMPS=0 | 51 | CONFIG_CC_ALIGN_JUMPS=0 |
46 | # CONFIG_TINY_SHMEM is not set | 52 | # CONFIG_TINY_SHMEM is not set |
53 | CONFIG_BASE_SMALL=0 | ||
47 | 54 | ||
48 | # | 55 | # |
49 | # Loadable module support | 56 | # Loadable module support |
@@ -65,38 +72,42 @@ CONFIG_6xx=y | |||
65 | # CONFIG_POWER3 is not set | 72 | # CONFIG_POWER3 is not set |
66 | # CONFIG_POWER4 is not set | 73 | # CONFIG_POWER4 is not set |
67 | # CONFIG_8xx is not set | 74 | # CONFIG_8xx is not set |
75 | # CONFIG_E200 is not set | ||
68 | # CONFIG_E500 is not set | 76 | # CONFIG_E500 is not set |
77 | CONFIG_PPC_FPU=y | ||
69 | CONFIG_ALTIVEC=y | 78 | CONFIG_ALTIVEC=y |
70 | # CONFIG_TAU is not set | 79 | # CONFIG_TAU is not set |
80 | # CONFIG_KEXEC is not set | ||
71 | # CONFIG_CPU_FREQ is not set | 81 | # CONFIG_CPU_FREQ is not set |
82 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
72 | CONFIG_PPC_STD_MMU=y | 83 | CONFIG_PPC_STD_MMU=y |
73 | # CONFIG_NOT_COHERENT_CACHE is not set | 84 | # CONFIG_NOT_COHERENT_CACHE is not set |
74 | 85 | ||
75 | # | 86 | # |
87 | # Performance-monitoring counters support | ||
88 | # | ||
89 | # CONFIG_PERFCTR is not set | ||
90 | |||
91 | # | ||
76 | # Platform options | 92 | # Platform options |
77 | # | 93 | # |
78 | # CONFIG_PPC_MULTIPLATFORM is not set | 94 | # CONFIG_PPC_MULTIPLATFORM is not set |
79 | # CONFIG_APUS is not set | 95 | # CONFIG_APUS is not set |
80 | # CONFIG_KATANA is not set | 96 | # CONFIG_KATANA is not set |
81 | # CONFIG_DMV182 is not set | ||
82 | # CONFIG_WILLOW is not set | 97 | # CONFIG_WILLOW is not set |
83 | CONFIG_CPCI690=y | 98 | CONFIG_CPCI690=y |
84 | # CONFIG_PCORE is not set | ||
85 | # CONFIG_POWERPMC250 is not set | 99 | # CONFIG_POWERPMC250 is not set |
86 | # CONFIG_EV64260 is not set | ||
87 | # CONFIG_DB64360 is not set | ||
88 | # CONFIG_CHESTNUT is not set | 100 | # CONFIG_CHESTNUT is not set |
89 | # CONFIG_SPRUCE is not set | 101 | # CONFIG_SPRUCE is not set |
102 | # CONFIG_HDPU is not set | ||
103 | # CONFIG_EV64260 is not set | ||
90 | # CONFIG_LOPEC is not set | 104 | # CONFIG_LOPEC is not set |
91 | # CONFIG_MCPN765 is not set | ||
92 | # CONFIG_MVME5100 is not set | 105 | # CONFIG_MVME5100 is not set |
93 | # CONFIG_PPLUS is not set | 106 | # CONFIG_PPLUS is not set |
94 | # CONFIG_PRPMC750 is not set | 107 | # CONFIG_PRPMC750 is not set |
95 | # CONFIG_PRPMC800 is not set | 108 | # CONFIG_PRPMC800 is not set |
96 | # CONFIG_PRPMC880 is not set | ||
97 | # CONFIG_SANDPOINT is not set | 109 | # CONFIG_SANDPOINT is not set |
98 | # CONFIG_ADIR is not set | 110 | # CONFIG_RADSTONE_PPC7D is not set |
99 | # CONFIG_K2 is not set | ||
100 | # CONFIG_PAL4 is not set | 111 | # CONFIG_PAL4 is not set |
101 | # CONFIG_GEMINI is not set | 112 | # CONFIG_GEMINI is not set |
102 | # CONFIG_EST8260 is not set | 113 | # CONFIG_EST8260 is not set |
@@ -105,22 +116,41 @@ CONFIG_CPCI690=y | |||
105 | # CONFIG_RPX8260 is not set | 116 | # CONFIG_RPX8260 is not set |
106 | # CONFIG_TQM8260 is not set | 117 | # CONFIG_TQM8260 is not set |
107 | # CONFIG_ADS8272 is not set | 118 | # CONFIG_ADS8272 is not set |
119 | # CONFIG_PQ2FADS is not set | ||
108 | # CONFIG_LITE5200 is not set | 120 | # CONFIG_LITE5200 is not set |
121 | # CONFIG_MPC834x_SYS is not set | ||
122 | # CONFIG_EV64360 is not set | ||
123 | CONFIG_GT64260=y | ||
124 | CONFIG_MV64X60=y | ||
109 | 125 | ||
110 | # | 126 | # |
111 | # Set bridge options | 127 | # Set bridge options |
112 | # | 128 | # |
113 | CONFIG_MV64X60_BASE=0xf1000000 | 129 | CONFIG_MV64X60_BASE=0xf1000000 |
114 | CONFIG_MV64X60_NEW_BASE=0xf1000000 | 130 | CONFIG_MV64X60_NEW_BASE=0xf1000000 |
115 | CONFIG_GT64260=y | ||
116 | CONFIG_MV64X60=y | ||
117 | # CONFIG_SMP is not set | 131 | # CONFIG_SMP is not set |
132 | CONFIG_HIGHMEM=y | ||
133 | CONFIG_HZ_100=y | ||
134 | # CONFIG_HZ_250 is not set | ||
135 | # CONFIG_HZ_1000 is not set | ||
136 | CONFIG_HZ=100 | ||
137 | CONFIG_PREEMPT_NONE=y | ||
138 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
118 | # CONFIG_PREEMPT is not set | 139 | # CONFIG_PREEMPT is not set |
119 | # CONFIG_HIGHMEM is not set | 140 | CONFIG_SELECT_MEMORY_MODEL=y |
141 | CONFIG_FLATMEM_MANUAL=y | ||
142 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
143 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
144 | CONFIG_FLATMEM=y | ||
145 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
146 | # CONFIG_SPARSEMEM_STATIC is not set | ||
120 | CONFIG_BINFMT_ELF=y | 147 | CONFIG_BINFMT_ELF=y |
121 | CONFIG_BINFMT_MISC=y | 148 | CONFIG_BINFMT_MISC=y |
122 | CONFIG_CMDLINE_BOOL=y | 149 | CONFIG_CMDLINE_BOOL=y |
123 | CONFIG_CMDLINE="console=ttyMM0,9600 ip=on" | 150 | CONFIG_CMDLINE="console=ttyMM0 ip=on" |
151 | # CONFIG_PM is not set | ||
152 | CONFIG_SECCOMP=y | ||
153 | CONFIG_ISA_DMA_API=y | ||
124 | 154 | ||
125 | # | 155 | # |
126 | # Bus options | 156 | # Bus options |
@@ -129,7 +159,11 @@ CONFIG_GENERIC_ISA_DMA=y | |||
129 | CONFIG_PCI=y | 159 | CONFIG_PCI=y |
130 | CONFIG_PCI_DOMAINS=y | 160 | CONFIG_PCI_DOMAINS=y |
131 | CONFIG_PCI_LEGACY_PROC=y | 161 | CONFIG_PCI_LEGACY_PROC=y |
132 | CONFIG_PCI_NAMES=y | 162 | |
163 | # | ||
164 | # PCCARD (PCMCIA/CardBus) support | ||
165 | # | ||
166 | # CONFIG_PCCARD is not set | ||
133 | 167 | ||
134 | # | 168 | # |
135 | # Advanced setup | 169 | # Advanced setup |
@@ -146,6 +180,76 @@ CONFIG_TASK_SIZE=0x80000000 | |||
146 | CONFIG_BOOT_LOAD=0x00800000 | 180 | CONFIG_BOOT_LOAD=0x00800000 |
147 | 181 | ||
148 | # | 182 | # |
183 | # Networking | ||
184 | # | ||
185 | CONFIG_NET=y | ||
186 | |||
187 | # | ||
188 | # Networking options | ||
189 | # | ||
190 | CONFIG_PACKET=y | ||
191 | # CONFIG_PACKET_MMAP is not set | ||
192 | CONFIG_UNIX=y | ||
193 | # CONFIG_NET_KEY is not set | ||
194 | CONFIG_INET=y | ||
195 | CONFIG_IP_MULTICAST=y | ||
196 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
197 | CONFIG_IP_FIB_HASH=y | ||
198 | CONFIG_IP_PNP=y | ||
199 | CONFIG_IP_PNP_DHCP=y | ||
200 | # CONFIG_IP_PNP_BOOTP is not set | ||
201 | # CONFIG_IP_PNP_RARP is not set | ||
202 | # CONFIG_NET_IPIP is not set | ||
203 | # CONFIG_NET_IPGRE is not set | ||
204 | # CONFIG_IP_MROUTE is not set | ||
205 | # CONFIG_ARPD is not set | ||
206 | CONFIG_SYN_COOKIES=y | ||
207 | # CONFIG_INET_AH is not set | ||
208 | # CONFIG_INET_ESP is not set | ||
209 | # CONFIG_INET_IPCOMP is not set | ||
210 | # CONFIG_INET_TUNNEL is not set | ||
211 | CONFIG_INET_DIAG=y | ||
212 | CONFIG_INET_TCP_DIAG=y | ||
213 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
214 | CONFIG_TCP_CONG_BIC=y | ||
215 | # CONFIG_IPV6 is not set | ||
216 | # CONFIG_NETFILTER is not set | ||
217 | |||
218 | # | ||
219 | # DCCP Configuration (EXPERIMENTAL) | ||
220 | # | ||
221 | # CONFIG_IP_DCCP is not set | ||
222 | |||
223 | # | ||
224 | # SCTP Configuration (EXPERIMENTAL) | ||
225 | # | ||
226 | # CONFIG_IP_SCTP is not set | ||
227 | # CONFIG_ATM is not set | ||
228 | # CONFIG_BRIDGE is not set | ||
229 | # CONFIG_VLAN_8021Q is not set | ||
230 | # CONFIG_DECNET is not set | ||
231 | # CONFIG_LLC2 is not set | ||
232 | # CONFIG_IPX is not set | ||
233 | # CONFIG_ATALK is not set | ||
234 | # CONFIG_X25 is not set | ||
235 | # CONFIG_LAPB is not set | ||
236 | # CONFIG_NET_DIVERT is not set | ||
237 | # CONFIG_ECONET is not set | ||
238 | # CONFIG_WAN_ROUTER is not set | ||
239 | # CONFIG_NET_SCHED is not set | ||
240 | # CONFIG_NET_CLS_ROUTE is not set | ||
241 | |||
242 | # | ||
243 | # Network testing | ||
244 | # | ||
245 | # CONFIG_NET_PKTGEN is not set | ||
246 | # CONFIG_NETFILTER_NETLINK is not set | ||
247 | # CONFIG_HAMRADIO is not set | ||
248 | # CONFIG_IRDA is not set | ||
249 | # CONFIG_BT is not set | ||
250 | # CONFIG_IEEE80211 is not set | ||
251 | |||
252 | # | ||
149 | # Device Drivers | 253 | # Device Drivers |
150 | # | 254 | # |
151 | 255 | ||
@@ -154,6 +258,7 @@ CONFIG_BOOT_LOAD=0x00800000 | |||
154 | # | 258 | # |
155 | CONFIG_STANDALONE=y | 259 | CONFIG_STANDALONE=y |
156 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 260 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
261 | # CONFIG_FW_LOADER is not set | ||
157 | 262 | ||
158 | # | 263 | # |
159 | # Memory Technology Devices (MTD) | 264 | # Memory Technology Devices (MTD) |
@@ -177,6 +282,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
177 | # CONFIG_BLK_CPQ_CISS_DA is not set | 282 | # CONFIG_BLK_CPQ_CISS_DA is not set |
178 | # CONFIG_BLK_DEV_DAC960 is not set | 283 | # CONFIG_BLK_DEV_DAC960 is not set |
179 | # CONFIG_BLK_DEV_UMEM is not set | 284 | # CONFIG_BLK_DEV_UMEM is not set |
285 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
180 | CONFIG_BLK_DEV_LOOP=y | 286 | CONFIG_BLK_DEV_LOOP=y |
181 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 287 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
182 | # CONFIG_BLK_DEV_NBD is not set | 288 | # CONFIG_BLK_DEV_NBD is not set |
@@ -185,7 +291,6 @@ CONFIG_BLK_DEV_RAM=y | |||
185 | CONFIG_BLK_DEV_RAM_COUNT=16 | 291 | CONFIG_BLK_DEV_RAM_COUNT=16 |
186 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 292 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
187 | CONFIG_BLK_DEV_INITRD=y | 293 | CONFIG_BLK_DEV_INITRD=y |
188 | CONFIG_INITRAMFS_SOURCE="" | ||
189 | # CONFIG_LBD is not set | 294 | # CONFIG_LBD is not set |
190 | # CONFIG_CDROM_PKTCDVD is not set | 295 | # CONFIG_CDROM_PKTCDVD is not set |
191 | 296 | ||
@@ -196,6 +301,7 @@ CONFIG_IOSCHED_NOOP=y | |||
196 | CONFIG_IOSCHED_AS=y | 301 | CONFIG_IOSCHED_AS=y |
197 | CONFIG_IOSCHED_DEADLINE=y | 302 | CONFIG_IOSCHED_DEADLINE=y |
198 | CONFIG_IOSCHED_CFQ=y | 303 | CONFIG_IOSCHED_CFQ=y |
304 | # CONFIG_ATA_OVER_ETH is not set | ||
199 | 305 | ||
200 | # | 306 | # |
201 | # ATA/ATAPI/MFM/RLL support | 307 | # ATA/ATAPI/MFM/RLL support |
@@ -205,6 +311,7 @@ CONFIG_IOSCHED_CFQ=y | |||
205 | # | 311 | # |
206 | # SCSI device support | 312 | # SCSI device support |
207 | # | 313 | # |
314 | # CONFIG_RAID_ATTRS is not set | ||
208 | # CONFIG_SCSI is not set | 315 | # CONFIG_SCSI is not set |
209 | 316 | ||
210 | # | 317 | # |
@@ -215,6 +322,7 @@ CONFIG_IOSCHED_CFQ=y | |||
215 | # | 322 | # |
216 | # Fusion MPT device support | 323 | # Fusion MPT device support |
217 | # | 324 | # |
325 | # CONFIG_FUSION is not set | ||
218 | 326 | ||
219 | # | 327 | # |
220 | # IEEE 1394 (FireWire) support | 328 | # IEEE 1394 (FireWire) support |
@@ -231,71 +339,8 @@ CONFIG_IOSCHED_CFQ=y | |||
231 | # | 339 | # |
232 | 340 | ||
233 | # | 341 | # |
234 | # Networking support | 342 | # Network device support |
235 | # | 343 | # |
236 | CONFIG_NET=y | ||
237 | |||
238 | # | ||
239 | # Networking options | ||
240 | # | ||
241 | CONFIG_PACKET=y | ||
242 | # CONFIG_PACKET_MMAP is not set | ||
243 | # CONFIG_NETLINK_DEV is not set | ||
244 | CONFIG_UNIX=y | ||
245 | # CONFIG_NET_KEY is not set | ||
246 | CONFIG_INET=y | ||
247 | CONFIG_IP_MULTICAST=y | ||
248 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
249 | CONFIG_IP_PNP=y | ||
250 | CONFIG_IP_PNP_DHCP=y | ||
251 | # CONFIG_IP_PNP_BOOTP is not set | ||
252 | # CONFIG_IP_PNP_RARP is not set | ||
253 | # CONFIG_NET_IPIP is not set | ||
254 | # CONFIG_NET_IPGRE is not set | ||
255 | # CONFIG_IP_MROUTE is not set | ||
256 | # CONFIG_ARPD is not set | ||
257 | CONFIG_SYN_COOKIES=y | ||
258 | # CONFIG_INET_AH is not set | ||
259 | # CONFIG_INET_ESP is not set | ||
260 | # CONFIG_INET_IPCOMP is not set | ||
261 | # CONFIG_INET_TUNNEL is not set | ||
262 | CONFIG_IP_TCPDIAG=y | ||
263 | # CONFIG_IP_TCPDIAG_IPV6 is not set | ||
264 | # CONFIG_IPV6 is not set | ||
265 | # CONFIG_NETFILTER is not set | ||
266 | |||
267 | # | ||
268 | # SCTP Configuration (EXPERIMENTAL) | ||
269 | # | ||
270 | # CONFIG_IP_SCTP is not set | ||
271 | # CONFIG_ATM is not set | ||
272 | # CONFIG_BRIDGE is not set | ||
273 | # CONFIG_VLAN_8021Q is not set | ||
274 | # CONFIG_DECNET is not set | ||
275 | # CONFIG_LLC2 is not set | ||
276 | # CONFIG_IPX is not set | ||
277 | # CONFIG_ATALK is not set | ||
278 | # CONFIG_X25 is not set | ||
279 | # CONFIG_LAPB is not set | ||
280 | # CONFIG_NET_DIVERT is not set | ||
281 | # CONFIG_ECONET is not set | ||
282 | # CONFIG_WAN_ROUTER is not set | ||
283 | |||
284 | # | ||
285 | # QoS and/or fair queueing | ||
286 | # | ||
287 | # CONFIG_NET_SCHED is not set | ||
288 | # CONFIG_NET_CLS_ROUTE is not set | ||
289 | |||
290 | # | ||
291 | # Network testing | ||
292 | # | ||
293 | # CONFIG_NET_PKTGEN is not set | ||
294 | # CONFIG_NETPOLL is not set | ||
295 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
296 | # CONFIG_HAMRADIO is not set | ||
297 | # CONFIG_IRDA is not set | ||
298 | # CONFIG_BT is not set | ||
299 | CONFIG_NETDEVICES=y | 344 | CONFIG_NETDEVICES=y |
300 | # CONFIG_DUMMY is not set | 345 | # CONFIG_DUMMY is not set |
301 | # CONFIG_BONDING is not set | 346 | # CONFIG_BONDING is not set |
@@ -308,6 +353,11 @@ CONFIG_NETDEVICES=y | |||
308 | # CONFIG_ARCNET is not set | 353 | # CONFIG_ARCNET is not set |
309 | 354 | ||
310 | # | 355 | # |
356 | # PHY device support | ||
357 | # | ||
358 | # CONFIG_PHYLIB is not set | ||
359 | |||
360 | # | ||
311 | # Ethernet (10 or 100Mbit) | 361 | # Ethernet (10 or 100Mbit) |
312 | # | 362 | # |
313 | CONFIG_NET_ETHERNET=y | 363 | CONFIG_NET_ETHERNET=y |
@@ -328,6 +378,7 @@ CONFIG_TULIP=y | |||
328 | # CONFIG_DE4X5 is not set | 378 | # CONFIG_DE4X5 is not set |
329 | # CONFIG_WINBOND_840 is not set | 379 | # CONFIG_WINBOND_840 is not set |
330 | # CONFIG_DM9102 is not set | 380 | # CONFIG_DM9102 is not set |
381 | # CONFIG_ULI526X is not set | ||
331 | # CONFIG_HP100 is not set | 382 | # CONFIG_HP100 is not set |
332 | CONFIG_NET_PCI=y | 383 | CONFIG_NET_PCI=y |
333 | # CONFIG_PCNET32 is not set | 384 | # CONFIG_PCNET32 is not set |
@@ -337,7 +388,6 @@ CONFIG_NET_PCI=y | |||
337 | # CONFIG_FORCEDETH is not set | 388 | # CONFIG_FORCEDETH is not set |
338 | # CONFIG_DGRS is not set | 389 | # CONFIG_DGRS is not set |
339 | CONFIG_EEPRO100=y | 390 | CONFIG_EEPRO100=y |
340 | # CONFIG_EEPRO100_PIO is not set | ||
341 | # CONFIG_E100 is not set | 391 | # CONFIG_E100 is not set |
342 | # CONFIG_FEALNX is not set | 392 | # CONFIG_FEALNX is not set |
343 | # CONFIG_NATSEMI is not set | 393 | # CONFIG_NATSEMI is not set |
@@ -360,13 +410,18 @@ CONFIG_EEPRO100=y | |||
360 | # CONFIG_HAMACHI is not set | 410 | # CONFIG_HAMACHI is not set |
361 | # CONFIG_YELLOWFIN is not set | 411 | # CONFIG_YELLOWFIN is not set |
362 | # CONFIG_R8169 is not set | 412 | # CONFIG_R8169 is not set |
413 | # CONFIG_SIS190 is not set | ||
414 | # CONFIG_SKGE is not set | ||
415 | # CONFIG_SKY2 is not set | ||
363 | # CONFIG_SK98LIN is not set | 416 | # CONFIG_SK98LIN is not set |
364 | # CONFIG_VIA_VELOCITY is not set | 417 | # CONFIG_VIA_VELOCITY is not set |
365 | # CONFIG_TIGON3 is not set | 418 | # CONFIG_TIGON3 is not set |
419 | # CONFIG_BNX2 is not set | ||
366 | 420 | ||
367 | # | 421 | # |
368 | # Ethernet (10000 Mbit) | 422 | # Ethernet (10000 Mbit) |
369 | # | 423 | # |
424 | # CONFIG_CHELSIO_T1 is not set | ||
370 | # CONFIG_IXGB is not set | 425 | # CONFIG_IXGB is not set |
371 | # CONFIG_S2IO is not set | 426 | # CONFIG_S2IO is not set |
372 | 427 | ||
@@ -390,6 +445,11 @@ CONFIG_EEPRO100=y | |||
390 | # CONFIG_SLIP is not set | 445 | # CONFIG_SLIP is not set |
391 | # CONFIG_SHAPER is not set | 446 | # CONFIG_SHAPER is not set |
392 | # CONFIG_NETCONSOLE is not set | 447 | # CONFIG_NETCONSOLE is not set |
448 | # CONFIG_KGDBOE is not set | ||
449 | # CONFIG_NETPOLL is not set | ||
450 | # CONFIG_NETPOLL_RX is not set | ||
451 | # CONFIG_NETPOLL_TRAP is not set | ||
452 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
393 | 453 | ||
394 | # | 454 | # |
395 | # ISDN subsystem | 455 | # ISDN subsystem |
@@ -419,14 +479,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
419 | # CONFIG_INPUT_EVBUG is not set | 479 | # CONFIG_INPUT_EVBUG is not set |
420 | 480 | ||
421 | # | 481 | # |
422 | # Input I/O drivers | ||
423 | # | ||
424 | # CONFIG_GAMEPORT is not set | ||
425 | CONFIG_SOUND_GAMEPORT=y | ||
426 | # CONFIG_SERIO is not set | ||
427 | # CONFIG_SERIO_I8042 is not set | ||
428 | |||
429 | # | ||
430 | # Input Device Drivers | 482 | # Input Device Drivers |
431 | # | 483 | # |
432 | # CONFIG_INPUT_KEYBOARD is not set | 484 | # CONFIG_INPUT_KEYBOARD is not set |
@@ -436,6 +488,12 @@ CONFIG_SOUND_GAMEPORT=y | |||
436 | # CONFIG_INPUT_MISC is not set | 488 | # CONFIG_INPUT_MISC is not set |
437 | 489 | ||
438 | # | 490 | # |
491 | # Hardware I/O ports | ||
492 | # | ||
493 | # CONFIG_SERIO is not set | ||
494 | # CONFIG_GAMEPORT is not set | ||
495 | |||
496 | # | ||
439 | # Character devices | 497 | # Character devices |
440 | # | 498 | # |
441 | CONFIG_VT=y | 499 | CONFIG_VT=y |
@@ -455,6 +513,7 @@ CONFIG_SERIAL_MPSC=y | |||
455 | CONFIG_SERIAL_MPSC_CONSOLE=y | 513 | CONFIG_SERIAL_MPSC_CONSOLE=y |
456 | CONFIG_SERIAL_CORE=y | 514 | CONFIG_SERIAL_CORE=y |
457 | CONFIG_SERIAL_CORE_CONSOLE=y | 515 | CONFIG_SERIAL_CORE_CONSOLE=y |
516 | # CONFIG_SERIAL_JSM is not set | ||
458 | CONFIG_UNIX98_PTYS=y | 517 | CONFIG_UNIX98_PTYS=y |
459 | CONFIG_LEGACY_PTYS=y | 518 | CONFIG_LEGACY_PTYS=y |
460 | CONFIG_LEGACY_PTY_COUNT=256 | 519 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -483,6 +542,11 @@ CONFIG_GEN_RTC=y | |||
483 | # CONFIG_RAW_DRIVER is not set | 542 | # CONFIG_RAW_DRIVER is not set |
484 | 543 | ||
485 | # | 544 | # |
545 | # TPM devices | ||
546 | # | ||
547 | # CONFIG_TCG_TPM is not set | ||
548 | |||
549 | # | ||
486 | # I2C support | 550 | # I2C support |
487 | # | 551 | # |
488 | # CONFIG_I2C is not set | 552 | # CONFIG_I2C is not set |
@@ -493,10 +557,21 @@ CONFIG_GEN_RTC=y | |||
493 | # CONFIG_W1 is not set | 557 | # CONFIG_W1 is not set |
494 | 558 | ||
495 | # | 559 | # |
560 | # Hardware Monitoring support | ||
561 | # | ||
562 | CONFIG_HWMON=y | ||
563 | # CONFIG_HWMON_VID is not set | ||
564 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
565 | |||
566 | # | ||
496 | # Misc devices | 567 | # Misc devices |
497 | # | 568 | # |
498 | 569 | ||
499 | # | 570 | # |
571 | # Multimedia Capabilities Port drivers | ||
572 | # | ||
573 | |||
574 | # | ||
500 | # Multimedia devices | 575 | # Multimedia devices |
501 | # | 576 | # |
502 | # CONFIG_VIDEO_DEV is not set | 577 | # CONFIG_VIDEO_DEV is not set |
@@ -518,6 +593,11 @@ CONFIG_GEN_RTC=y | |||
518 | CONFIG_DUMMY_CONSOLE=y | 593 | CONFIG_DUMMY_CONSOLE=y |
519 | 594 | ||
520 | # | 595 | # |
596 | # Speakup console speech | ||
597 | # | ||
598 | # CONFIG_SPEAKUP is not set | ||
599 | |||
600 | # | ||
521 | # Sound | 601 | # Sound |
522 | # | 602 | # |
523 | # CONFIG_SOUND is not set | 603 | # CONFIG_SOUND is not set |
@@ -525,35 +605,59 @@ CONFIG_DUMMY_CONSOLE=y | |||
525 | # | 605 | # |
526 | # USB support | 606 | # USB support |
527 | # | 607 | # |
528 | # CONFIG_USB is not set | ||
529 | CONFIG_USB_ARCH_HAS_HCD=y | 608 | CONFIG_USB_ARCH_HAS_HCD=y |
530 | CONFIG_USB_ARCH_HAS_OHCI=y | 609 | CONFIG_USB_ARCH_HAS_OHCI=y |
610 | # CONFIG_USB is not set | ||
531 | 611 | ||
532 | # | 612 | # |
533 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 613 | # USB Gadget Support |
534 | # | 614 | # |
615 | # CONFIG_USB_GADGET is not set | ||
535 | 616 | ||
536 | # | 617 | # |
537 | # USB Gadget Support | 618 | # MMC/SD Card support |
538 | # | 619 | # |
539 | # CONFIG_USB_GADGET is not set | 620 | # CONFIG_MMC is not set |
621 | |||
622 | # | ||
623 | # InfiniBand support | ||
624 | # | ||
625 | # CONFIG_INFINIBAND is not set | ||
626 | |||
627 | # | ||
628 | # SN Devices | ||
629 | # | ||
630 | |||
631 | # | ||
632 | # Distributed Lock Manager | ||
633 | # | ||
634 | # CONFIG_DLM is not set | ||
540 | 635 | ||
541 | # | 636 | # |
542 | # File systems | 637 | # File systems |
543 | # | 638 | # |
544 | CONFIG_EXT2_FS=y | 639 | CONFIG_EXT2_FS=y |
545 | # CONFIG_EXT2_FS_XATTR is not set | 640 | # CONFIG_EXT2_FS_XATTR is not set |
641 | # CONFIG_EXT2_FS_XIP is not set | ||
546 | # CONFIG_EXT3_FS is not set | 642 | # CONFIG_EXT3_FS is not set |
547 | # CONFIG_JBD is not set | 643 | # CONFIG_REISER4_FS is not set |
548 | # CONFIG_REISERFS_FS is not set | 644 | # CONFIG_REISERFS_FS is not set |
549 | # CONFIG_JFS_FS is not set | 645 | # CONFIG_JFS_FS is not set |
646 | # CONFIG_FS_POSIX_ACL is not set | ||
647 | |||
648 | # | ||
649 | # XFS support | ||
650 | # | ||
550 | # CONFIG_XFS_FS is not set | 651 | # CONFIG_XFS_FS is not set |
652 | # CONFIG_OCFS2_FS is not set | ||
551 | # CONFIG_MINIX_FS is not set | 653 | # CONFIG_MINIX_FS is not set |
552 | # CONFIG_ROMFS_FS is not set | 654 | # CONFIG_ROMFS_FS is not set |
655 | CONFIG_INOTIFY=y | ||
553 | # CONFIG_QUOTA is not set | 656 | # CONFIG_QUOTA is not set |
554 | CONFIG_DNOTIFY=y | 657 | CONFIG_DNOTIFY=y |
555 | # CONFIG_AUTOFS_FS is not set | 658 | # CONFIG_AUTOFS_FS is not set |
556 | # CONFIG_AUTOFS4_FS is not set | 659 | # CONFIG_AUTOFS4_FS is not set |
660 | # CONFIG_FUSE_FS is not set | ||
557 | 661 | ||
558 | # | 662 | # |
559 | # CD-ROM/DVD Filesystems | 663 | # CD-ROM/DVD Filesystems |
@@ -574,20 +678,18 @@ CONFIG_DNOTIFY=y | |||
574 | CONFIG_PROC_FS=y | 678 | CONFIG_PROC_FS=y |
575 | CONFIG_PROC_KCORE=y | 679 | CONFIG_PROC_KCORE=y |
576 | CONFIG_SYSFS=y | 680 | CONFIG_SYSFS=y |
577 | CONFIG_DEVFS_FS=y | ||
578 | # CONFIG_DEVFS_MOUNT is not set | ||
579 | # CONFIG_DEVFS_DEBUG is not set | ||
580 | # CONFIG_DEVPTS_FS_XATTR is not set | ||
581 | CONFIG_TMPFS=y | 681 | CONFIG_TMPFS=y |
582 | # CONFIG_TMPFS_XATTR is not set | ||
583 | # CONFIG_HUGETLB_PAGE is not set | 682 | # CONFIG_HUGETLB_PAGE is not set |
584 | CONFIG_RAMFS=y | 683 | CONFIG_RAMFS=y |
684 | # CONFIG_CONFIGFS_FS is not set | ||
685 | # CONFIG_RELAYFS_FS is not set | ||
585 | 686 | ||
586 | # | 687 | # |
587 | # Miscellaneous filesystems | 688 | # Miscellaneous filesystems |
588 | # | 689 | # |
589 | # CONFIG_ADFS_FS is not set | 690 | # CONFIG_ADFS_FS is not set |
590 | # CONFIG_AFFS_FS is not set | 691 | # CONFIG_AFFS_FS is not set |
692 | # CONFIG_ASFS_FS is not set | ||
591 | # CONFIG_HFS_FS is not set | 693 | # CONFIG_HFS_FS is not set |
592 | # CONFIG_HFSPLUS_FS is not set | 694 | # CONFIG_HFSPLUS_FS is not set |
593 | # CONFIG_BEFS_FS is not set | 695 | # CONFIG_BEFS_FS is not set |
@@ -605,13 +707,14 @@ CONFIG_RAMFS=y | |||
605 | # | 707 | # |
606 | CONFIG_NFS_FS=y | 708 | CONFIG_NFS_FS=y |
607 | CONFIG_NFS_V3=y | 709 | CONFIG_NFS_V3=y |
710 | # CONFIG_NFS_V3_ACL is not set | ||
608 | CONFIG_NFS_V4=y | 711 | CONFIG_NFS_V4=y |
609 | # CONFIG_NFS_DIRECTIO is not set | 712 | # CONFIG_NFS_DIRECTIO is not set |
610 | # CONFIG_NFSD is not set | 713 | # CONFIG_NFSD is not set |
611 | CONFIG_ROOT_NFS=y | 714 | CONFIG_ROOT_NFS=y |
612 | CONFIG_LOCKD=y | 715 | CONFIG_LOCKD=y |
613 | CONFIG_LOCKD_V4=y | 716 | CONFIG_LOCKD_V4=y |
614 | # CONFIG_EXPORTFS is not set | 717 | CONFIG_NFS_COMMON=y |
615 | CONFIG_SUNRPC=y | 718 | CONFIG_SUNRPC=y |
616 | CONFIG_SUNRPC_GSS=y | 719 | CONFIG_SUNRPC_GSS=y |
617 | CONFIG_RPCSEC_GSS_KRB5=y | 720 | CONFIG_RPCSEC_GSS_KRB5=y |
@@ -621,6 +724,7 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
621 | # CONFIG_NCP_FS is not set | 724 | # CONFIG_NCP_FS is not set |
622 | # CONFIG_CODA_FS is not set | 725 | # CONFIG_CODA_FS is not set |
623 | # CONFIG_AFS_FS is not set | 726 | # CONFIG_AFS_FS is not set |
727 | # CONFIG_9P_FS is not set | ||
624 | 728 | ||
625 | # | 729 | # |
626 | # Partition Types | 730 | # Partition Types |
@@ -637,6 +741,7 @@ CONFIG_MSDOS_PARTITION=y | |||
637 | # Library routines | 741 | # Library routines |
638 | # | 742 | # |
639 | # CONFIG_CRC_CCITT is not set | 743 | # CONFIG_CRC_CCITT is not set |
744 | # CONFIG_CRC16 is not set | ||
640 | CONFIG_CRC32=y | 745 | CONFIG_CRC32=y |
641 | # CONFIG_LIBCRC32C is not set | 746 | # CONFIG_LIBCRC32C is not set |
642 | 747 | ||
@@ -648,7 +753,9 @@ CONFIG_CRC32=y | |||
648 | # | 753 | # |
649 | # Kernel hacking | 754 | # Kernel hacking |
650 | # | 755 | # |
756 | # CONFIG_PRINTK_TIME is not set | ||
651 | # CONFIG_DEBUG_KERNEL is not set | 757 | # CONFIG_DEBUG_KERNEL is not set |
758 | CONFIG_LOG_BUF_SHIFT=14 | ||
652 | # CONFIG_SERIAL_TEXT_DEBUG is not set | 759 | # CONFIG_SERIAL_TEXT_DEBUG is not set |
653 | 760 | ||
654 | # | 761 | # |
@@ -669,6 +776,7 @@ CONFIG_CRYPTO_MD5=y | |||
669 | # CONFIG_CRYPTO_SHA256 is not set | 776 | # CONFIG_CRYPTO_SHA256 is not set |
670 | # CONFIG_CRYPTO_SHA512 is not set | 777 | # CONFIG_CRYPTO_SHA512 is not set |
671 | # CONFIG_CRYPTO_WP512 is not set | 778 | # CONFIG_CRYPTO_WP512 is not set |
779 | # CONFIG_CRYPTO_TGR192 is not set | ||
672 | CONFIG_CRYPTO_DES=y | 780 | CONFIG_CRYPTO_DES=y |
673 | # CONFIG_CRYPTO_BLOWFISH is not set | 781 | # CONFIG_CRYPTO_BLOWFISH is not set |
674 | # CONFIG_CRYPTO_TWOFISH is not set | 782 | # CONFIG_CRYPTO_TWOFISH is not set |
@@ -684,3 +792,7 @@ CONFIG_CRYPTO_DES=y | |||
684 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 792 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
685 | # CONFIG_CRYPTO_CRC32C is not set | 793 | # CONFIG_CRYPTO_CRC32C is not set |
686 | # CONFIG_CRYPTO_TEST is not set | 794 | # CONFIG_CRYPTO_TEST is not set |
795 | |||
796 | # | ||
797 | # Hardware crypto devices | ||
798 | # | ||
diff --git a/arch/ppc/platforms/cpci690.c b/arch/ppc/platforms/cpci690.c index 507870c9a97a..f64ac2acb603 100644 --- a/arch/ppc/platforms/cpci690.c +++ b/arch/ppc/platforms/cpci690.c | |||
@@ -35,11 +35,7 @@ | |||
35 | #define SET_PCI_IDE_NATIVE | 35 | #define SET_PCI_IDE_NATIVE |
36 | 36 | ||
37 | static struct mv64x60_handle bh; | 37 | static struct mv64x60_handle bh; |
38 | static u32 cpci690_br_base; | 38 | static void __iomem *cpci690_br_base; |
39 | |||
40 | static const unsigned int cpu_7xx[16] = { /* 7xx & 74xx (but not 745x) */ | ||
41 | 18, 15, 14, 2, 4, 13, 5, 9, 6, 11, 8, 10, 16, 12, 7, 0 | ||
42 | }; | ||
43 | 39 | ||
44 | TODC_ALLOC(); | 40 | TODC_ALLOC(); |
45 | 41 | ||
@@ -55,7 +51,7 @@ cpci690_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) | |||
55 | * A B C D | 51 | * A B C D |
56 | */ | 52 | */ |
57 | { | 53 | { |
58 | { 90, 91, 88, 89}, /* IDSEL 30/20 - Sentinel */ | 54 | { 90, 91, 88, 89 }, /* IDSEL 30/20 - Sentinel */ |
59 | }; | 55 | }; |
60 | 56 | ||
61 | const long min_idsel = 20, max_idsel = 20, irqs_per_slot = 4; | 57 | const long min_idsel = 20, max_idsel = 20, irqs_per_slot = 4; |
@@ -67,9 +63,9 @@ cpci690_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) | |||
67 | * A B C D | 63 | * A B C D |
68 | */ | 64 | */ |
69 | { | 65 | { |
70 | { 93, 94, 95, 92}, /* IDSEL 28/18 - PMC slot 2 */ | 66 | { 93, 94, 95, 92 }, /* IDSEL 28/18 - PMC slot 2 */ |
71 | { 0, 0, 0, 0}, /* IDSEL 29/19 - Not used */ | 67 | { 0, 0, 0, 0 }, /* IDSEL 29/19 - Not used */ |
72 | { 94, 95, 92, 93}, /* IDSEL 30/20 - PMC slot 1 */ | 68 | { 94, 95, 92, 93 }, /* IDSEL 30/20 - PMC slot 1 */ |
73 | }; | 69 | }; |
74 | 70 | ||
75 | const long min_idsel = 18, max_idsel = 20, irqs_per_slot = 4; | 71 | const long min_idsel = 18, max_idsel = 20, irqs_per_slot = 4; |
@@ -77,68 +73,29 @@ cpci690_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) | |||
77 | } | 73 | } |
78 | } | 74 | } |
79 | 75 | ||
80 | static int | 76 | #define GB (1024UL * 1024UL * 1024UL) |
81 | cpci690_get_cpu_speed(void) | ||
82 | { | ||
83 | unsigned long hid1; | ||
84 | 77 | ||
85 | hid1 = mfspr(SPRN_HID1) >> 28; | 78 | static u32 |
86 | return CPCI690_BUS_FREQ * cpu_7xx[hid1]/2; | 79 | cpci690_get_bus_freq(void) |
80 | { | ||
81 | if (boot_mem_size >= (1*GB)) /* bus speed based on mem size */ | ||
82 | return 100000000; | ||
83 | else | ||
84 | return 133333333; | ||
87 | } | 85 | } |
88 | 86 | ||
89 | #define KB (1024UL) | 87 | static const unsigned int cpu_750xx[32] = { /* 750FX & 750GX */ |
90 | #define MB (1024UL * KB) | 88 | 0, 0, 2, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,/* 0-15*/ |
91 | #define GB (1024UL * MB) | 89 | 16, 17, 18, 19, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 0 /*16-31*/ |
90 | }; | ||
92 | 91 | ||
93 | unsigned long __init | 92 | static int |
94 | cpci690_find_end_of_memory(void) | 93 | cpci690_get_cpu_freq(void) |
95 | { | 94 | { |
96 | u32 mem_ctlr_size; | 95 | unsigned long pll_cfg; |
97 | static u32 board_size; | 96 | |
98 | static u8 first_time = 1; | 97 | pll_cfg = (mfspr(SPRN_HID1) & 0xf8000000) >> 27; |
99 | 98 | return cpci690_get_bus_freq() * cpu_750xx[pll_cfg]/2; | |
100 | if (first_time) { | ||
101 | /* Using cpci690_set_bat() mapping ==> virt addr == phys addr */ | ||
102 | switch (in_8((u8 *) (cpci690_br_base + | ||
103 | CPCI690_BR_MEM_CTLR)) & 0x07) { | ||
104 | case 0x01: | ||
105 | board_size = 256*MB; | ||
106 | break; | ||
107 | case 0x02: | ||
108 | board_size = 512*MB; | ||
109 | break; | ||
110 | case 0x03: | ||
111 | board_size = 768*MB; | ||
112 | break; | ||
113 | case 0x04: | ||
114 | board_size = 1*GB; | ||
115 | break; | ||
116 | case 0x05: | ||
117 | board_size = 1*GB + 512*MB; | ||
118 | break; | ||
119 | case 0x06: | ||
120 | board_size = 2*GB; | ||
121 | break; | ||
122 | default: | ||
123 | board_size = 0xffffffff; /* use mem ctlr size */ | ||
124 | } /* switch */ | ||
125 | |||
126 | mem_ctlr_size = mv64x60_get_mem_size(CONFIG_MV64X60_NEW_BASE, | ||
127 | MV64x60_TYPE_GT64260A); | ||
128 | |||
129 | /* Check that mem ctlr & board reg agree. If not, pick MIN. */ | ||
130 | if (board_size != mem_ctlr_size) { | ||
131 | printk(KERN_WARNING "Board register & memory controller" | ||
132 | "mem size disagree (board reg: 0x%lx, " | ||
133 | "mem ctlr: 0x%lx)\n", | ||
134 | (ulong)board_size, (ulong)mem_ctlr_size); | ||
135 | board_size = min(board_size, mem_ctlr_size); | ||
136 | } | ||
137 | |||
138 | first_time = 0; | ||
139 | } /* if */ | ||
140 | |||
141 | return board_size; | ||
142 | } | 99 | } |
143 | 100 | ||
144 | static void __init | 101 | static void __init |
@@ -228,7 +185,7 @@ cpci690_setup_peripherals(void) | |||
228 | mv64x60_set_32bit_window(&bh, MV64x60_CPU2DEV_0_WIN, CPCI690_BR_BASE, | 185 | mv64x60_set_32bit_window(&bh, MV64x60_CPU2DEV_0_WIN, CPCI690_BR_BASE, |
229 | CPCI690_BR_SIZE, 0); | 186 | CPCI690_BR_SIZE, 0); |
230 | bh.ci->enable_window_32bit(&bh, MV64x60_CPU2DEV_0_WIN); | 187 | bh.ci->enable_window_32bit(&bh, MV64x60_CPU2DEV_0_WIN); |
231 | cpci690_br_base = (u32)ioremap(CPCI690_BR_BASE, CPCI690_BR_SIZE); | 188 | cpci690_br_base = ioremap(CPCI690_BR_BASE, CPCI690_BR_SIZE); |
232 | 189 | ||
233 | mv64x60_set_32bit_window(&bh, MV64x60_CPU2DEV_1_WIN, CPCI690_TODC_BASE, | 190 | mv64x60_set_32bit_window(&bh, MV64x60_CPU2DEV_1_WIN, CPCI690_TODC_BASE, |
234 | CPCI690_TODC_SIZE, 0); | 191 | CPCI690_TODC_SIZE, 0); |
@@ -329,7 +286,7 @@ cpci690_fixup_mpsc_pdata(struct platform_device *pdev) | |||
329 | pdata->max_idle = 40; | 286 | pdata->max_idle = 40; |
330 | pdata->default_baud = CPCI690_MPSC_BAUD; | 287 | pdata->default_baud = CPCI690_MPSC_BAUD; |
331 | pdata->brg_clk_src = CPCI690_MPSC_CLK_SRC; | 288 | pdata->brg_clk_src = CPCI690_MPSC_CLK_SRC; |
332 | pdata->brg_clk_freq = CPCI690_BUS_FREQ; | 289 | pdata->brg_clk_freq = cpci690_get_bus_freq(); |
333 | } | 290 | } |
334 | 291 | ||
335 | static int __init | 292 | static int __init |
@@ -365,7 +322,7 @@ cpci690_reset_board(void) | |||
365 | u32 i = 10000; | 322 | u32 i = 10000; |
366 | 323 | ||
367 | local_irq_disable(); | 324 | local_irq_disable(); |
368 | out_8((u8 *)(cpci690_br_base + CPCI690_BR_SW_RESET), 0x11); | 325 | out_8((cpci690_br_base + CPCI690_BR_SW_RESET), 0x11); |
369 | 326 | ||
370 | while (i != 0) i++; | 327 | while (i != 0) i++; |
371 | panic("restart failed\n"); | 328 | panic("restart failed\n"); |
@@ -394,10 +351,40 @@ cpci690_power_off(void) | |||
394 | static int | 351 | static int |
395 | cpci690_show_cpuinfo(struct seq_file *m) | 352 | cpci690_show_cpuinfo(struct seq_file *m) |
396 | { | 353 | { |
354 | char *s; | ||
355 | |||
356 | seq_printf(m, "cpu MHz\t\t: %d\n", | ||
357 | (cpci690_get_cpu_freq() + 500000) / 1000000); | ||
358 | seq_printf(m, "bus MHz\t\t: %d\n", | ||
359 | (cpci690_get_bus_freq() + 500000) / 1000000); | ||
397 | seq_printf(m, "vendor\t\t: " BOARD_VENDOR "\n"); | 360 | seq_printf(m, "vendor\t\t: " BOARD_VENDOR "\n"); |
398 | seq_printf(m, "machine\t\t: " BOARD_MACHINE "\n"); | 361 | seq_printf(m, "machine\t\t: " BOARD_MACHINE "\n"); |
399 | seq_printf(m, "cpu MHz\t\t: %d\n", cpci690_get_cpu_speed()/1000/1000); | 362 | seq_printf(m, "FPGA Revision\t: %d\n", |
400 | seq_printf(m, "bus MHz\t\t: %d\n", CPCI690_BUS_FREQ/1000/1000); | 363 | in_8(cpci690_br_base + CPCI690_BR_MEM_CTLR) >> 5); |
364 | |||
365 | switch(bh.type) { | ||
366 | case MV64x60_TYPE_GT64260A: | ||
367 | s = "gt64260a"; | ||
368 | break; | ||
369 | case MV64x60_TYPE_GT64260B: | ||
370 | s = "gt64260b"; | ||
371 | break; | ||
372 | case MV64x60_TYPE_MV64360: | ||
373 | s = "mv64360"; | ||
374 | break; | ||
375 | case MV64x60_TYPE_MV64460: | ||
376 | s = "mv64460"; | ||
377 | break; | ||
378 | default: | ||
379 | s = "Unknown"; | ||
380 | } | ||
381 | seq_printf(m, "bridge type\t: %s\n", s); | ||
382 | seq_printf(m, "bridge rev\t: 0x%x\n", bh.rev); | ||
383 | #if defined(CONFIG_NOT_COHERENT_CACHE) | ||
384 | seq_printf(m, "coherency\t: %s\n", "off"); | ||
385 | #else | ||
386 | seq_printf(m, "coherency\t: %s\n", "on"); | ||
387 | #endif | ||
401 | 388 | ||
402 | return 0; | 389 | return 0; |
403 | } | 390 | } |
@@ -407,7 +394,7 @@ cpci690_calibrate_decr(void) | |||
407 | { | 394 | { |
408 | ulong freq; | 395 | ulong freq; |
409 | 396 | ||
410 | freq = CPCI690_BUS_FREQ / 4; | 397 | freq = cpci690_get_bus_freq() / 4; |
411 | 398 | ||
412 | printk(KERN_INFO "time_init: decrementer frequency = %lu.%.6lu MHz\n", | 399 | printk(KERN_INFO "time_init: decrementer frequency = %lu.%.6lu MHz\n", |
413 | freq/1000000, freq%1000000); | 400 | freq/1000000, freq%1000000); |
@@ -416,25 +403,12 @@ cpci690_calibrate_decr(void) | |||
416 | tb_to_us = mulhwu_scale_factor(freq, 1000000); | 403 | tb_to_us = mulhwu_scale_factor(freq, 1000000); |
417 | } | 404 | } |
418 | 405 | ||
419 | static __inline__ void | 406 | #if defined(CONFIG_SERIAL_TEXT_DEBUG) || defined(CONFIG_KGDB_MPSC) |
420 | cpci690_set_bat(u32 addr, u32 size) | ||
421 | { | ||
422 | addr &= 0xfffe0000; | ||
423 | size &= 0x1ffe0000; | ||
424 | size = ((size >> 17) - 1) << 2; | ||
425 | |||
426 | mb(); | ||
427 | mtspr(SPRN_DBAT1U, addr | size | 0x2); /* Vs == 1; Vp == 0 */ | ||
428 | mtspr(SPRN_DBAT1L, addr | 0x2a); /* WIMG bits == 0101; PP == r/w access */ | ||
429 | mb(); | ||
430 | } | ||
431 | |||
432 | #if defined(CONFIG_SERIAL_TEXT_DEBUG) || defined(CONFIG_KGDB) | ||
433 | static void __init | 407 | static void __init |
434 | cpci690_map_io(void) | 408 | cpci690_map_io(void) |
435 | { | 409 | { |
436 | io_block_mapping(CONFIG_MV64X60_NEW_BASE, CONFIG_MV64X60_NEW_BASE, | 410 | io_block_mapping(CONFIG_MV64X60_NEW_BASE, CONFIG_MV64X60_NEW_BASE, |
437 | 128 * KB, _PAGE_IO); | 411 | 128 * 1024, _PAGE_IO); |
438 | } | 412 | } |
439 | #endif | 413 | #endif |
440 | 414 | ||
@@ -442,14 +416,15 @@ void __init | |||
442 | platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | 416 | platform_init(unsigned long r3, unsigned long r4, unsigned long r5, |
443 | unsigned long r6, unsigned long r7) | 417 | unsigned long r6, unsigned long r7) |
444 | { | 418 | { |
445 | #ifdef CONFIG_BLK_DEV_INITRD | ||
446 | initrd_start=initrd_end=0; | ||
447 | initrd_below_start_ok=0; | ||
448 | #endif /* CONFIG_BLK_DEV_INITRD */ | ||
449 | |||
450 | parse_bootinfo(find_bootinfo()); | 419 | parse_bootinfo(find_bootinfo()); |
451 | 420 | ||
452 | loops_per_jiffy = cpci690_get_cpu_speed() / HZ; | 421 | #ifdef CONFIG_BLK_DEV_INITRD |
422 | /* take care of initrd if we have one */ | ||
423 | if (r4) { | ||
424 | initrd_start = r4 + KERNELBASE; | ||
425 | initrd_end = r5 + KERNELBASE; | ||
426 | } | ||
427 | #endif /* CONFIG_BLK_DEV_INITRD */ | ||
453 | 428 | ||
454 | isa_mem_base = 0; | 429 | isa_mem_base = 0; |
455 | 430 | ||
@@ -460,7 +435,6 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | |||
460 | ppc_md.restart = cpci690_restart; | 435 | ppc_md.restart = cpci690_restart; |
461 | ppc_md.power_off = cpci690_power_off; | 436 | ppc_md.power_off = cpci690_power_off; |
462 | ppc_md.halt = cpci690_halt; | 437 | ppc_md.halt = cpci690_halt; |
463 | ppc_md.find_end_of_memory = cpci690_find_end_of_memory; | ||
464 | ppc_md.time_init = todc_time_init; | 438 | ppc_md.time_init = todc_time_init; |
465 | ppc_md.set_rtc_time = todc_set_rtc_time; | 439 | ppc_md.set_rtc_time = todc_set_rtc_time; |
466 | ppc_md.get_rtc_time = todc_get_rtc_time; | 440 | ppc_md.get_rtc_time = todc_get_rtc_time; |
@@ -468,22 +442,13 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | |||
468 | ppc_md.nvram_write_val = todc_direct_write_val; | 442 | ppc_md.nvram_write_val = todc_direct_write_val; |
469 | ppc_md.calibrate_decr = cpci690_calibrate_decr; | 443 | ppc_md.calibrate_decr = cpci690_calibrate_decr; |
470 | 444 | ||
471 | /* | 445 | #if defined(CONFIG_SERIAL_TEXT_DEBUG) || defined(CONFIG_KGDB_MPSC) |
472 | * Need to map in board regs (used by cpci690_find_end_of_memory()) | ||
473 | * and the bridge's regs (used by progress); | ||
474 | */ | ||
475 | cpci690_set_bat(CPCI690_BR_BASE, 32 * MB); | ||
476 | cpci690_br_base = CPCI690_BR_BASE; | ||
477 | |||
478 | #ifdef CONFIG_SERIAL_TEXT_DEBUG | ||
479 | ppc_md.setup_io_mappings = cpci690_map_io; | 446 | ppc_md.setup_io_mappings = cpci690_map_io; |
447 | #ifdef CONFIG_SERIAL_TEXT_DEBUG | ||
480 | ppc_md.progress = mv64x60_mpsc_progress; | 448 | ppc_md.progress = mv64x60_mpsc_progress; |
481 | mv64x60_progress_init(CONFIG_MV64X60_NEW_BASE); | 449 | mv64x60_progress_init(CONFIG_MV64X60_NEW_BASE); |
482 | #endif /* CONFIG_SERIAL_TEXT_DEBUG */ | 450 | #endif /* CONFIG_SERIAL_TEXT_DEBUG */ |
483 | #ifdef CONFIG_KGDB | 451 | #endif /* defined(CONFIG_SERIAL_TEXT_DEBUG) || defined(CONFIG_KGDB_MPSC) */ |
484 | ppc_md.setup_io_mappings = cpci690_map_io; | ||
485 | ppc_md.early_serial_map = cpci690_early_serial_map; | ||
486 | #endif /* CONFIG_KGDB */ | ||
487 | 452 | ||
488 | #if defined(CONFIG_SERIAL_MPSC) | 453 | #if defined(CONFIG_SERIAL_MPSC) |
489 | platform_notify = cpci690_platform_notify; | 454 | platform_notify = cpci690_platform_notify; |
diff --git a/arch/ppc/platforms/cpci690.h b/arch/ppc/platforms/cpci690.h index 36cd2673c742..49584c9cedf3 100644 --- a/arch/ppc/platforms/cpci690.h +++ b/arch/ppc/platforms/cpci690.h | |||
@@ -73,6 +73,4 @@ typedef struct board_info { | |||
73 | #define CPCI690_MPSC_BAUD 9600 | 73 | #define CPCI690_MPSC_BAUD 9600 |
74 | #define CPCI690_MPSC_CLK_SRC 8 /* TCLK */ | 74 | #define CPCI690_MPSC_CLK_SRC 8 /* TCLK */ |
75 | 75 | ||
76 | #define CPCI690_BUS_FREQ 133333333 | ||
77 | |||
78 | #endif /* __PPC_PLATFORMS_CPCI690_H */ | 76 | #endif /* __PPC_PLATFORMS_CPCI690_H */ |