aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/ppc/Kconfig9
-rw-r--r--arch/ppc/boot/simple/Makefile4
-rw-r--r--arch/ppc/configs/k2_defconfig680
-rw-r--r--arch/ppc/platforms/Makefile1
-rw-r--r--arch/ppc/platforms/k2.c613
-rw-r--r--arch/ppc/platforms/k2.h82
-rw-r--r--arch/ppc/syslib/Makefile2
7 files changed, 1 insertions, 1390 deletions
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index 2f3598662f24..3f8e003ff881 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -637,9 +637,6 @@ config SANDPOINT
637config RADSTONE_PPC7D 637config RADSTONE_PPC7D
638 bool "Radstone Technology PPC7D board" 638 bool "Radstone Technology PPC7D board"
639 639
640config K2
641 bool "SBS-K2"
642
643config PAL4 640config PAL4
644 bool "SBS-Palomar4" 641 bool "SBS-Palomar4"
645 642
@@ -794,7 +791,7 @@ config PPC_OF
794config PPC_GEN550 791config PPC_GEN550
795 bool 792 bool
796 depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \ 793 depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
797 PRPMC750 || K2 || PRPMC800 || LOPEC || \ 794 PRPMC750 || PRPMC800 || LOPEC || \
798 (EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D || \ 795 (EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D || \
799 83xx 796 83xx
800 default y 797 default y
@@ -883,10 +880,6 @@ config SANDPOINT_ENABLE_UART1
883 If this option is enabled then the MPC824x processor will run 880 If this option is enabled then the MPC824x processor will run
884 in DUART mode instead of UART mode. 881 in DUART mode instead of UART mode.
885 882
886config CPC710_DATA_GATHERING
887 bool "Enable CPC710 data gathering"
888 depends on K2
889
890config HARRIER_STORE_GATHERING 883config HARRIER_STORE_GATHERING
891 bool "Enable Harrier store gathering" 884 bool "Enable Harrier store gathering"
892 depends on HARRIER 885 depends on HARRIER
diff --git a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile
index d4dc4fa79647..20717193fff5 100644
--- a/arch/ppc/boot/simple/Makefile
+++ b/arch/ppc/boot/simple/Makefile
@@ -96,10 +96,6 @@ zimageinitrd-$(CONFIG_OCOTEA) := zImage.initrd-TREE
96zimageinitrd-$(CONFIG_GEMINI) := zImage.initrd-STRIPELF 96zimageinitrd-$(CONFIG_GEMINI) := zImage.initrd-STRIPELF
97 end-$(CONFIG_GEMINI) := gemini 97 end-$(CONFIG_GEMINI) := gemini
98 98
99 extra.o-$(CONFIG_K2) := prepmap.o
100 end-$(CONFIG_K2) := k2
101 cacheflag-$(CONFIG_K2) := -include $(clear_L2_L3)
102
103 extra.o-$(CONFIG_KATANA) := misc-katana.o 99 extra.o-$(CONFIG_KATANA) := misc-katana.o
104 end-$(CONFIG_KATANA) := katana 100 end-$(CONFIG_KATANA) := katana
105 cacheflag-$(CONFIG_KATANA) := -include $(clear_L2_L3) 101 cacheflag-$(CONFIG_KATANA) := -include $(clear_L2_L3)
diff --git a/arch/ppc/configs/k2_defconfig b/arch/ppc/configs/k2_defconfig
deleted file mode 100644
index f10f5a6d2dae..000000000000
--- a/arch/ppc/configs/k2_defconfig
+++ /dev/null
@@ -1,680 +0,0 @@
1#
2# Automatically generated make config: don't edit
3#
4CONFIG_MMU=y
5CONFIG_RWSEM_XCHGADD_ALGORITHM=y
6CONFIG_HAVE_DEC_LOCK=y
7CONFIG_PPC=y
8CONFIG_PPC32=y
9CONFIG_GENERIC_NVRAM=y
10
11#
12# Code maturity level options
13#
14CONFIG_EXPERIMENTAL=y
15CONFIG_CLEAN_COMPILE=y
16CONFIG_STANDALONE=y
17CONFIG_BROKEN_ON_SMP=y
18
19#
20# General setup
21#
22CONFIG_SWAP=y
23CONFIG_SYSVIPC=y
24# CONFIG_POSIX_MQUEUE is not set
25# CONFIG_BSD_PROCESS_ACCT is not set
26CONFIG_SYSCTL=y
27# CONFIG_AUDIT is not set
28CONFIG_LOG_BUF_SHIFT=14
29# CONFIG_HOTPLUG is not set
30# CONFIG_IKCONFIG is not set
31CONFIG_EMBEDDED=y
32CONFIG_KALLSYMS=y
33CONFIG_FUTEX=y
34CONFIG_EPOLL=y
35CONFIG_IOSCHED_NOOP=y
36CONFIG_IOSCHED_AS=y
37CONFIG_IOSCHED_DEADLINE=y
38CONFIG_IOSCHED_CFQ=y
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40
41#
42# Loadable module support
43#
44CONFIG_MODULES=y
45CONFIG_MODULE_UNLOAD=y
46# CONFIG_MODULE_FORCE_UNLOAD is not set
47CONFIG_OBSOLETE_MODPARM=y
48# CONFIG_MODVERSIONS is not set
49CONFIG_KMOD=y
50
51#
52# Processor
53#
54CONFIG_6xx=y
55# CONFIG_40x is not set
56# CONFIG_44x is not set
57# CONFIG_POWER3 is not set
58# CONFIG_POWER4 is not set
59# CONFIG_8xx is not set
60# CONFIG_ALTIVEC is not set
61# CONFIG_TAU is not set
62# CONFIG_CPU_FREQ is not set
63CONFIG_PPC_STD_MMU=y
64
65#
66# Platform options
67#
68# CONFIG_PPC_MULTIPLATFORM is not set
69# CONFIG_APUS is not set
70# CONFIG_WILLOW is not set
71# CONFIG_PCORE is not set
72# CONFIG_POWERPMC250 is not set
73# CONFIG_EV64260 is not set
74# CONFIG_SPRUCE is not set
75# CONFIG_LOPEC is not set
76# CONFIG_MCPN765 is not set
77# CONFIG_MVME5100 is not set
78# CONFIG_PPLUS is not set
79# CONFIG_PRPMC750 is not set
80# CONFIG_PRPMC800 is not set
81# CONFIG_SANDPOINT is not set
82# CONFIG_ADIR is not set
83CONFIG_K2=y
84# CONFIG_PAL4 is not set
85# CONFIG_GEMINI is not set
86# CONFIG_EST8260 is not set
87# CONFIG_SBS8260 is not set
88# CONFIG_RPX6 is not set
89# CONFIG_TQM8260 is not set
90CONFIG_PPC_GEN550=y
91# CONFIG_CPC710_DATA_GATHERING is not set
92# CONFIG_SMP is not set
93# CONFIG_PREEMPT is not set
94# CONFIG_HIGHMEM is not set
95CONFIG_KERNEL_ELF=y
96CONFIG_BINFMT_ELF=y
97# CONFIG_BINFMT_MISC is not set
98CONFIG_CMDLINE_BOOL=y
99CONFIG_CMDLINE="ip=on"
100
101#
102# Bus options
103#
104CONFIG_GENERIC_ISA_DMA=y
105CONFIG_PCI=y
106CONFIG_PCI_DOMAINS=y
107# CONFIG_PCI_LEGACY_PROC is not set
108# CONFIG_PCI_NAMES is not set
109
110#
111# Advanced setup
112#
113# CONFIG_ADVANCED_OPTIONS is not set
114
115#
116# Default settings for advanced configuration options are used
117#
118CONFIG_HIGHMEM_START=0xfe000000
119CONFIG_LOWMEM_SIZE=0x30000000
120CONFIG_KERNEL_START=0xc0000000
121CONFIG_TASK_SIZE=0x80000000
122CONFIG_BOOT_LOAD=0x00800000
123
124#
125# Device Drivers
126#
127
128#
129# Generic Driver Options
130#
131
132#
133# Memory Technology Devices (MTD)
134#
135# CONFIG_MTD is not set
136
137#
138# Parallel port support
139#
140# CONFIG_PARPORT is not set
141
142#
143# Plug and Play support
144#
145
146#
147# Block devices
148#
149# CONFIG_BLK_DEV_FD is not set
150# CONFIG_BLK_CPQ_DA is not set
151# CONFIG_BLK_CPQ_CISS_DA is not set
152# CONFIG_BLK_DEV_DAC960 is not set
153# CONFIG_BLK_DEV_UMEM is not set
154CONFIG_BLK_DEV_LOOP=y
155# CONFIG_BLK_DEV_CRYPTOLOOP is not set
156# CONFIG_BLK_DEV_NBD is not set
157# CONFIG_BLK_DEV_CARMEL is not set
158CONFIG_BLK_DEV_RAM=y
159CONFIG_BLK_DEV_RAM_SIZE=4096
160CONFIG_BLK_DEV_INITRD=y
161# CONFIG_LBD is not set
162
163#
164# ATA/ATAPI/MFM/RLL support
165#
166CONFIG_IDE=y
167CONFIG_BLK_DEV_IDE=y
168
169#
170# Please see Documentation/ide.txt for help/info on IDE drives
171#
172CONFIG_BLK_DEV_IDEDISK=y
173# CONFIG_IDEDISK_MULTI_MODE is not set
174# CONFIG_IDEDISK_STROKE is not set
175# CONFIG_BLK_DEV_IDECD is not set
176# CONFIG_BLK_DEV_IDETAPE is not set
177# CONFIG_BLK_DEV_IDEFLOPPY is not set
178# CONFIG_IDE_TASK_IOCTL is not set
179# CONFIG_IDE_TASKFILE_IO is not set
180
181#
182# IDE chipset support/bugfixes
183#
184# CONFIG_IDE_GENERIC is not set
185CONFIG_BLK_DEV_IDEPCI=y
186# CONFIG_IDEPCI_SHARE_IRQ is not set
187# CONFIG_BLK_DEV_OFFBOARD is not set
188# CONFIG_BLK_DEV_GENERIC is not set
189# CONFIG_BLK_DEV_OPTI621 is not set
190# CONFIG_BLK_DEV_SL82C105 is not set
191CONFIG_BLK_DEV_IDEDMA_PCI=y
192# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
193# CONFIG_IDEDMA_PCI_AUTO is not set
194CONFIG_BLK_DEV_ADMA=y
195# CONFIG_BLK_DEV_AEC62XX is not set
196CONFIG_BLK_DEV_ALI15X3=y
197# CONFIG_WDC_ALI15X3 is not set
198# CONFIG_BLK_DEV_AMD74XX is not set
199# CONFIG_BLK_DEV_CMD64X is not set
200# CONFIG_BLK_DEV_TRIFLEX is not set
201# CONFIG_BLK_DEV_CY82C693 is not set
202# CONFIG_BLK_DEV_CS5520 is not set
203# CONFIG_BLK_DEV_CS5530 is not set
204# CONFIG_BLK_DEV_HPT34X is not set
205# CONFIG_BLK_DEV_HPT366 is not set
206# CONFIG_BLK_DEV_SC1200 is not set
207# CONFIG_BLK_DEV_PIIX is not set
208# CONFIG_BLK_DEV_NS87415 is not set
209# CONFIG_BLK_DEV_PDC202XX_OLD is not set
210# CONFIG_BLK_DEV_PDC202XX_NEW is not set
211# CONFIG_BLK_DEV_SVWKS is not set
212# CONFIG_BLK_DEV_SIIMAGE is not set
213# CONFIG_BLK_DEV_SLC90E66 is not set
214# CONFIG_BLK_DEV_TRM290 is not set
215# CONFIG_BLK_DEV_VIA82CXXX is not set
216CONFIG_BLK_DEV_IDEDMA=y
217# CONFIG_IDEDMA_IVB is not set
218# CONFIG_IDEDMA_AUTO is not set
219# CONFIG_BLK_DEV_HD is not set
220
221#
222# SCSI device support
223#
224# CONFIG_SCSI is not set
225
226#
227# Multi-device support (RAID and LVM)
228#
229# CONFIG_MD is not set
230
231#
232# Fusion MPT device support
233#
234# CONFIG_FUSION is not set
235
236#
237# IEEE 1394 (FireWire) support
238#
239# CONFIG_IEEE1394 is not set
240
241#
242# I2O device support
243#
244# CONFIG_I2O is not set
245
246#
247# Macintosh device drivers
248#
249
250#
251# Networking support
252#
253CONFIG_NET=y
254
255#
256# Networking options
257#
258CONFIG_PACKET=y
259# CONFIG_PACKET_MMAP is not set
260# CONFIG_NETLINK_DEV is not set
261CONFIG_UNIX=y
262# CONFIG_NET_KEY is not set
263CONFIG_INET=y
264# CONFIG_IP_MULTICAST is not set
265# CONFIG_IP_ADVANCED_ROUTER is not set
266CONFIG_IP_PNP=y
267CONFIG_IP_PNP_DHCP=y
268# CONFIG_IP_PNP_BOOTP is not set
269# CONFIG_IP_PNP_RARP is not set
270# CONFIG_NET_IPIP is not set
271# CONFIG_NET_IPGRE is not set
272# CONFIG_ARPD is not set
273# CONFIG_SYN_COOKIES is not set
274# CONFIG_INET_AH is not set
275# CONFIG_INET_ESP is not set
276# CONFIG_INET_IPCOMP is not set
277
278#
279# IP: Virtual Server Configuration
280#
281# CONFIG_IP_VS is not set
282# CONFIG_IPV6 is not set
283CONFIG_NETFILTER=y
284# CONFIG_NETFILTER_DEBUG is not set
285
286#
287# IP: Netfilter Configuration
288#
289CONFIG_IP_NF_CONNTRACK=m
290CONFIG_IP_NF_FTP=m
291# CONFIG_IP_NF_IRC is not set
292# CONFIG_IP_NF_TFTP is not set
293# CONFIG_IP_NF_AMANDA is not set
294# CONFIG_IP_NF_QUEUE is not set
295CONFIG_IP_NF_IPTABLES=m
296CONFIG_IP_NF_MATCH_LIMIT=m
297# CONFIG_IP_NF_MATCH_IPRANGE is not set
298CONFIG_IP_NF_MATCH_MAC=m
299CONFIG_IP_NF_MATCH_PKTTYPE=m
300CONFIG_IP_NF_MATCH_MARK=m
301CONFIG_IP_NF_MATCH_MULTIPORT=m
302CONFIG_IP_NF_MATCH_TOS=m
303# CONFIG_IP_NF_MATCH_RECENT is not set
304CONFIG_IP_NF_MATCH_ECN=m
305CONFIG_IP_NF_MATCH_DSCP=m
306CONFIG_IP_NF_MATCH_AH_ESP=m
307# CONFIG_IP_NF_MATCH_LENGTH is not set
308# CONFIG_IP_NF_MATCH_TTL is not set
309CONFIG_IP_NF_MATCH_TCPMSS=m
310CONFIG_IP_NF_MATCH_HELPER=m
311CONFIG_IP_NF_MATCH_STATE=m
312CONFIG_IP_NF_MATCH_CONNTRACK=m
313CONFIG_IP_NF_MATCH_OWNER=m
314CONFIG_IP_NF_FILTER=m
315CONFIG_IP_NF_TARGET_REJECT=m
316CONFIG_IP_NF_NAT=m
317CONFIG_IP_NF_NAT_NEEDED=y
318CONFIG_IP_NF_TARGET_MASQUERADE=m
319CONFIG_IP_NF_TARGET_REDIRECT=m
320# CONFIG_IP_NF_TARGET_NETMAP is not set
321# CONFIG_IP_NF_TARGET_SAME is not set
322# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
323CONFIG_IP_NF_NAT_FTP=m
324# CONFIG_IP_NF_MANGLE is not set
325# CONFIG_IP_NF_TARGET_LOG is not set
326CONFIG_IP_NF_TARGET_ULOG=m
327CONFIG_IP_NF_TARGET_TCPMSS=m
328CONFIG_IP_NF_ARPTABLES=m
329CONFIG_IP_NF_ARPFILTER=m
330# CONFIG_IP_NF_ARP_MANGLE is not set
331CONFIG_IP_NF_COMPAT_IPCHAINS=m
332# CONFIG_IP_NF_COMPAT_IPFWADM is not set
333# CONFIG_IP_NF_RAW is not set
334
335#
336# SCTP Configuration (EXPERIMENTAL)
337#
338# CONFIG_IP_SCTP is not set
339# CONFIG_ATM is not set
340# CONFIG_BRIDGE is not set
341# CONFIG_VLAN_8021Q is not set
342# CONFIG_DECNET is not set
343# CONFIG_LLC2 is not set
344# CONFIG_IPX is not set
345# CONFIG_ATALK is not set
346# CONFIG_X25 is not set
347# CONFIG_LAPB is not set
348# CONFIG_NET_DIVERT is not set
349# CONFIG_ECONET is not set
350# CONFIG_WAN_ROUTER is not set
351# CONFIG_NET_HW_FLOWCONTROL is not set
352
353#
354# QoS and/or fair queueing
355#
356# CONFIG_NET_SCHED is not set
357
358#
359# Network testing
360#
361# CONFIG_NET_PKTGEN is not set
362# CONFIG_NETPOLL is not set
363# CONFIG_NET_POLL_CONTROLLER is not set
364# CONFIG_HAMRADIO is not set
365# CONFIG_IRDA is not set
366# CONFIG_BT is not set
367CONFIG_NETDEVICES=y
368# CONFIG_DUMMY is not set
369# CONFIG_BONDING is not set
370# CONFIG_EQUALIZER is not set
371# CONFIG_TUN is not set
372
373#
374# ARCnet devices
375#
376# CONFIG_ARCNET is not set
377
378#
379# Ethernet (10 or 100Mbit)
380#
381CONFIG_NET_ETHERNET=y
382CONFIG_MII=y
383# CONFIG_OAKNET is not set
384# CONFIG_HAPPYMEAL is not set
385# CONFIG_SUNGEM is not set
386# CONFIG_NET_VENDOR_3COM is not set
387
388#
389# Tulip family network device support
390#
391# CONFIG_NET_TULIP is not set
392# CONFIG_HP100 is not set
393CONFIG_NET_PCI=y
394# CONFIG_PCNET32 is not set
395# CONFIG_AMD8111_ETH is not set
396# CONFIG_ADAPTEC_STARFIRE is not set
397# CONFIG_B44 is not set
398# CONFIG_FORCEDETH is not set
399# CONFIG_DGRS is not set
400CONFIG_EEPRO100=y
401# CONFIG_EEPRO100_PIO is not set
402# CONFIG_E100 is not set
403# CONFIG_FEALNX is not set
404# CONFIG_NATSEMI is not set
405# CONFIG_NE2K_PCI is not set
406# CONFIG_8139CP is not set
407# CONFIG_8139TOO is not set
408# CONFIG_SIS900 is not set
409# CONFIG_EPIC100 is not set
410# CONFIG_SUNDANCE is not set
411# CONFIG_TLAN is not set
412# CONFIG_VIA_RHINE is not set
413
414#
415# Ethernet (1000 Mbit)
416#
417# CONFIG_ACENIC is not set
418# CONFIG_DL2K is not set
419# CONFIG_E1000 is not set
420# CONFIG_NS83820 is not set
421# CONFIG_HAMACHI is not set
422# CONFIG_YELLOWFIN is not set
423# CONFIG_R8169 is not set
424# CONFIG_SK98LIN is not set
425# CONFIG_TIGON3 is not set
426
427#
428# Ethernet (10000 Mbit)
429#
430# CONFIG_IXGB is not set
431# CONFIG_S2IO is not set
432
433#
434# Token Ring devices
435#
436# CONFIG_TR is not set
437
438#
439# Wireless LAN (non-hamradio)
440#
441# CONFIG_NET_RADIO is not set
442
443#
444# Wan interfaces
445#
446# CONFIG_WAN is not set
447# CONFIG_FDDI is not set
448# CONFIG_HIPPI is not set
449# CONFIG_PPP is not set
450# CONFIG_SLIP is not set
451# CONFIG_RCPCI is not set
452# CONFIG_SHAPER is not set
453# CONFIG_NETCONSOLE is not set
454
455#
456# ISDN subsystem
457#
458# CONFIG_ISDN is not set
459
460#
461# Telephony Support
462#
463# CONFIG_PHONE is not set
464
465#
466# Input device support
467#
468# CONFIG_INPUT is not set
469
470#
471# Userland interfaces
472#
473
474#
475# Input I/O drivers
476#
477# CONFIG_GAMEPORT is not set
478CONFIG_SOUND_GAMEPORT=y
479# CONFIG_SERIO is not set
480# CONFIG_SERIO_I8042 is not set
481
482#
483# Input Device Drivers
484#
485
486#
487# Character devices
488#
489# CONFIG_VT is not set
490# CONFIG_SERIAL_NONSTANDARD is not set
491
492#
493# Serial drivers
494#
495CONFIG_SERIAL_8250=y
496CONFIG_SERIAL_8250_CONSOLE=y
497CONFIG_SERIAL_8250_NR_UARTS=2
498# CONFIG_SERIAL_8250_EXTENDED is not set
499
500#
501# Non-8250 serial port support
502#
503CONFIG_SERIAL_CORE=y
504CONFIG_SERIAL_CORE_CONSOLE=y
505CONFIG_UNIX98_PTYS=y
506CONFIG_LEGACY_PTYS=y
507CONFIG_LEGACY_PTY_COUNT=256
508# CONFIG_QIC02_TAPE is not set
509
510#
511# IPMI
512#
513# CONFIG_IPMI_HANDLER is not set
514
515#
516# Watchdog Cards
517#
518# CONFIG_WATCHDOG is not set
519# CONFIG_NVRAM is not set
520CONFIG_GEN_RTC=y
521# CONFIG_GEN_RTC_X is not set
522# CONFIG_DTLK is not set
523# CONFIG_R3964 is not set
524# CONFIG_APPLICOM is not set
525
526#
527# Ftape, the floppy tape device driver
528#
529# CONFIG_FTAPE is not set
530# CONFIG_AGP is not set
531# CONFIG_DRM is not set
532# CONFIG_RAW_DRIVER is not set
533
534#
535# I2C support
536#
537# CONFIG_I2C is not set
538
539#
540# Misc devices
541#
542
543#
544# Multimedia devices
545#
546# CONFIG_VIDEO_DEV is not set
547
548#
549# Digital Video Broadcasting Devices
550#
551# CONFIG_DVB is not set
552
553#
554# Graphics support
555#
556# CONFIG_FB is not set
557
558#
559# Sound
560#
561# CONFIG_SOUND is not set
562
563#
564# USB support
565#
566# CONFIG_USB is not set
567
568#
569# USB Gadget Support
570#
571# CONFIG_USB_GADGET is not set
572
573#
574# File systems
575#
576CONFIG_EXT2_FS=y
577# CONFIG_EXT2_FS_XATTR is not set
578# CONFIG_EXT3_FS is not set
579# CONFIG_JBD is not set
580# CONFIG_REISERFS_FS is not set
581# CONFIG_JFS_FS is not set
582# CONFIG_XFS_FS is not set
583# CONFIG_MINIX_FS is not set
584# CONFIG_ROMFS_FS is not set
585# CONFIG_QUOTA is not set
586# CONFIG_AUTOFS_FS is not set
587# CONFIG_AUTOFS4_FS is not set
588
589#
590# CD-ROM/DVD Filesystems
591#
592# CONFIG_ISO9660_FS is not set
593# CONFIG_UDF_FS is not set
594
595#
596# DOS/FAT/NT Filesystems
597#
598# CONFIG_FAT_FS is not set
599# CONFIG_NTFS_FS is not set
600
601#
602# Pseudo filesystems
603#
604CONFIG_PROC_FS=y
605CONFIG_PROC_KCORE=y
606CONFIG_SYSFS=y
607# CONFIG_DEVFS_FS is not set
608# CONFIG_DEVPTS_FS_XATTR is not set
609CONFIG_TMPFS=y
610# CONFIG_HUGETLB_PAGE is not set
611CONFIG_RAMFS=y
612
613#
614# Miscellaneous filesystems
615#
616# CONFIG_ADFS_FS is not set
617# CONFIG_AFFS_FS is not set
618# CONFIG_HFS_FS is not set
619# CONFIG_HFSPLUS_FS is not set
620# CONFIG_BEFS_FS is not set
621# CONFIG_BFS_FS is not set
622# CONFIG_EFS_FS is not set
623# CONFIG_CRAMFS is not set
624# CONFIG_VXFS_FS is not set
625# CONFIG_HPFS_FS is not set
626# CONFIG_QNX4FS_FS is not set
627# CONFIG_SYSV_FS is not set
628# CONFIG_UFS_FS is not set
629
630#
631# Network File Systems
632#
633CONFIG_NFS_FS=y
634# CONFIG_NFS_V3 is not set
635# CONFIG_NFS_V4 is not set
636# CONFIG_NFS_DIRECTIO is not set
637# CONFIG_NFSD is not set
638CONFIG_ROOT_NFS=y
639CONFIG_LOCKD=y
640# CONFIG_EXPORTFS is not set
641CONFIG_SUNRPC=y
642# CONFIG_RPCSEC_GSS_KRB5 is not set
643# CONFIG_SMB_FS is not set
644# CONFIG_CIFS is not set
645# CONFIG_NCP_FS is not set
646# CONFIG_CODA_FS is not set
647# CONFIG_INTERMEZZO_FS is not set
648# CONFIG_AFS_FS is not set
649
650#
651# Partition Types
652#
653# CONFIG_PARTITION_ADVANCED is not set
654CONFIG_MSDOS_PARTITION=y
655
656#
657# Native Language Support
658#
659# CONFIG_NLS is not set
660
661#
662# Library routines
663#
664# CONFIG_CRC32 is not set
665
666#
667# Kernel hacking
668#
669# CONFIG_DEBUG_KERNEL is not set
670# CONFIG_SERIAL_TEXT_DEBUG is not set
671
672#
673# Security options
674#
675# CONFIG_SECURITY is not set
676
677#
678# Cryptographic options
679#
680# CONFIG_CRYPTO is not set
diff --git a/arch/ppc/platforms/Makefile b/arch/ppc/platforms/Makefile
index fcd03e52f602..fb52acf5daad 100644
--- a/arch/ppc/platforms/Makefile
+++ b/arch/ppc/platforms/Makefile
@@ -27,7 +27,6 @@ obj-$(CONFIG_CPCI690) += cpci690.o
27obj-$(CONFIG_EV64260) += ev64260.o 27obj-$(CONFIG_EV64260) += ev64260.o
28obj-$(CONFIG_CHESTNUT) += chestnut.o 28obj-$(CONFIG_CHESTNUT) += chestnut.o
29obj-$(CONFIG_GEMINI) += gemini_pci.o gemini_setup.o gemini_prom.o 29obj-$(CONFIG_GEMINI) += gemini_pci.o gemini_setup.o gemini_prom.o
30obj-$(CONFIG_K2) += k2.o
31obj-$(CONFIG_LOPEC) += lopec.o 30obj-$(CONFIG_LOPEC) += lopec.o
32obj-$(CONFIG_KATANA) += katana.o 31obj-$(CONFIG_KATANA) += katana.o
33obj-$(CONFIG_HDPU) += hdpu.o 32obj-$(CONFIG_HDPU) += hdpu.o
diff --git a/arch/ppc/platforms/k2.c b/arch/ppc/platforms/k2.c
deleted file mode 100644
index aacb438708ff..000000000000
--- a/arch/ppc/platforms/k2.c
+++ /dev/null
@@ -1,613 +0,0 @@
1/*
2 * arch/ppc/platforms/k2.c
3 *
4 * Board setup routines for SBS K2
5 *
6 * Author: Matt Porter <mporter@mvista.com>
7 *
8 * Updated by: Randy Vinson <rvinson@mvista.com.
9 *
10 * 2001-2004 (c) MontaVista, Software, Inc. This file is licensed under
11 * the terms of the GNU General Public License version 2. This program
12 * is licensed "as is" without any warranty of any kind, whether express
13 * or implied.
14 */
15
16#include <linux/config.h>
17#include <linux/stddef.h>
18#include <linux/kernel.h>
19#include <linux/init.h>
20#include <linux/errno.h>
21#include <linux/reboot.h>
22#include <linux/pci.h>
23#include <linux/kdev_t.h>
24#include <linux/types.h>
25#include <linux/major.h>
26#include <linux/initrd.h>
27#include <linux/console.h>
28#include <linux/delay.h>
29#include <linux/ide.h>
30#include <linux/irq.h>
31#include <linux/seq_file.h>
32#include <linux/root_dev.h>
33
34#include <asm/system.h>
35#include <asm/pgtable.h>
36#include <asm/page.h>
37#include <asm/dma.h>
38#include <asm/io.h>
39#include <asm/machdep.h>
40#include <asm/time.h>
41#include <asm/i8259.h>
42#include <asm/todc.h>
43#include <asm/bootinfo.h>
44
45#include <syslib/cpc710.h>
46#include "k2.h"
47
48extern unsigned long loops_per_jiffy;
49extern void gen550_progress(char *, unsigned short);
50
51static unsigned int cpu_7xx[16] = {
52 0, 15, 14, 0, 0, 13, 5, 9, 6, 11, 8, 10, 16, 12, 7, 0
53};
54static unsigned int cpu_6xx[16] = {
55 0, 0, 14, 0, 0, 13, 5, 9, 6, 11, 8, 10, 0, 12, 7, 0
56};
57
58static inline int __init
59k2_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin)
60{
61 struct pci_controller *hose = pci_bus_to_hose(dev->bus->number);
62 /*
63 * Check our hose index. If we are zero then we are on the
64 * local PCI hose, otherwise we are on the cPCI hose.
65 */
66 if (!hose->index) {
67 static char pci_irq_table[][4] =
68 /*
69 * PCI IDSEL/INTPIN->INTLINE
70 * A B C D
71 */
72 {
73 {1, 0, 0, 0}, /* Ethernet */
74 {5, 5, 5, 5}, /* PMC Site 1 */
75 {6, 6, 6, 6}, /* PMC Site 2 */
76 {0, 0, 0, 0}, /* unused */
77 {0, 0, 0, 0}, /* unused */
78 {0, 0, 0, 0}, /* PCI-ISA Bridge */
79 {0, 0, 0, 0}, /* unused */
80 {0, 0, 0, 0}, /* unused */
81 {0, 0, 0, 0}, /* unused */
82 {0, 0, 0, 0}, /* unused */
83 {0, 0, 0, 0}, /* unused */
84 {0, 0, 0, 0}, /* unused */
85 {0, 0, 0, 0}, /* unused */
86 {0, 0, 0, 0}, /* unused */
87 {15, 0, 0, 0}, /* M5229 IDE */
88 };
89 const long min_idsel = 3, max_idsel = 17, irqs_per_slot = 4;
90 return PCI_IRQ_TABLE_LOOKUP;
91 } else {
92 static char pci_irq_table[][4] =
93 /*
94 * PCI IDSEL/INTPIN->INTLINE
95 * A B C D
96 */
97 {
98 {10, 11, 12, 9}, /* cPCI slot 8 */
99 {11, 12, 9, 10}, /* cPCI slot 7 */
100 {12, 9, 10, 11}, /* cPCI slot 6 */
101 {9, 10, 11, 12}, /* cPCI slot 5 */
102 {10, 11, 12, 9}, /* cPCI slot 4 */
103 {11, 12, 9, 10}, /* cPCI slot 3 */
104 {12, 9, 10, 11}, /* cPCI slot 2 */
105 };
106 const long min_idsel = 15, max_idsel = 21, irqs_per_slot = 4;
107 return PCI_IRQ_TABLE_LOOKUP;
108 }
109}
110
111void k2_pcibios_fixup(void)
112{
113#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
114 struct pci_dev *ide_dev;
115
116 /*
117 * Enable DMA support on hdc
118 */
119 ide_dev = pci_get_device(PCI_VENDOR_ID_AL,
120 PCI_DEVICE_ID_AL_M5229, NULL);
121
122 if (ide_dev) {
123
124 unsigned long ide_dma_base;
125
126 ide_dma_base = pci_resource_start(ide_dev, 4);
127 outb(0x00, ide_dma_base + 0x2);
128 outb(0x20, ide_dma_base + 0xa);
129 pci_dev_put(ide_dev);
130 }
131#endif
132}
133
134void k2_pcibios_fixup_resources(struct pci_dev *dev)
135{
136 int i;
137
138 if ((dev->vendor == PCI_VENDOR_ID_IBM) &&
139 (dev->device == PCI_DEVICE_ID_IBM_CPC710_PCI64)) {
140 pr_debug("Fixup CPC710 resources\n");
141 for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
142 dev->resource[i].start = 0;
143 dev->resource[i].end = 0;
144 }
145 }
146}
147
148void k2_setup_hoses(void)
149{
150 struct pci_controller *hose_a, *hose_b;
151
152 /*
153 * Reconfigure CPC710 memory map so
154 * we have some more PCI memory space.
155 */
156
157 /* Set FPHB mode */
158 __raw_writel(0x808000e0, PGCHP); /* Set FPHB mode */
159
160 /* PCI32 mappings */
161 __raw_writel(0x00000000, K2_PCI32_BAR + PIBAR); /* PCI I/O base */
162 __raw_writel(0x00000000, K2_PCI32_BAR + PMBAR); /* PCI Mem base */
163 __raw_writel(0xf0000000, K2_PCI32_BAR + MSIZE); /* 256MB */
164 __raw_writel(0xfff00000, K2_PCI32_BAR + IOSIZE); /* 1MB */
165 __raw_writel(0xc0000000, K2_PCI32_BAR + SMBAR); /* Base@0xc0000000 */
166 __raw_writel(0x80000000, K2_PCI32_BAR + SIBAR); /* Base@0x80000000 */
167 __raw_writel(0x000000c0, K2_PCI32_BAR + PSSIZE); /* 1GB space */
168 __raw_writel(0x000000c0, K2_PCI32_BAR + PPSIZE); /* 1GB space */
169 __raw_writel(0x00000000, K2_PCI32_BAR + BARPS); /* Base@0x00000000 */
170 __raw_writel(0x00000000, K2_PCI32_BAR + BARPP); /* Base@0x00000000 */
171 __raw_writel(0x00000080, K2_PCI32_BAR + PSBAR); /* Base@0x80 */
172 __raw_writel(0x00000000, K2_PCI32_BAR + PPBAR);
173
174 __raw_writel(0xc0000000, K2_PCI32_BAR + BPMDLK);
175 __raw_writel(0xd0000000, K2_PCI32_BAR + TPMDLK);
176 __raw_writel(0x80000000, K2_PCI32_BAR + BIODLK);
177 __raw_writel(0x80100000, K2_PCI32_BAR + TIODLK);
178 __raw_writel(0xe0008000, K2_PCI32_BAR + DLKCTRL);
179 __raw_writel(0xffffffff, K2_PCI32_BAR + DLKDEV);
180
181 /* PCI64 mappings */
182 __raw_writel(0x00100000, K2_PCI64_BAR + PIBAR); /* PCI I/O base */
183 __raw_writel(0x10000000, K2_PCI64_BAR + PMBAR); /* PCI Mem base */
184 __raw_writel(0xf0000000, K2_PCI64_BAR + MSIZE); /* 256MB */
185 __raw_writel(0xfff00000, K2_PCI64_BAR + IOSIZE); /* 1MB */
186 __raw_writel(0xd0000000, K2_PCI64_BAR + SMBAR); /* Base@0xd0000000 */
187 __raw_writel(0x80100000, K2_PCI64_BAR + SIBAR); /* Base@0x80100000 */
188 __raw_writel(0x000000c0, K2_PCI64_BAR + PSSIZE); /* 1GB space */
189 __raw_writel(0x000000c0, K2_PCI64_BAR + PPSIZE); /* 1GB space */
190 __raw_writel(0x00000000, K2_PCI64_BAR + BARPS); /* Base@0x00000000 */
191 __raw_writel(0x00000000, K2_PCI64_BAR + BARPP); /* Base@0x00000000 */
192
193 /* Setup PCI32 hose */
194 hose_a = pcibios_alloc_controller();
195 if (!hose_a)
196 return;
197
198 hose_a->first_busno = 0;
199 hose_a->last_busno = 0xff;
200 hose_a->pci_mem_offset = K2_PCI32_MEM_BASE;
201
202 pci_init_resource(&hose_a->io_resource,
203 K2_PCI32_LOWER_IO,
204 K2_PCI32_UPPER_IO,
205 IORESOURCE_IO, "PCI32 host bridge");
206
207 pci_init_resource(&hose_a->mem_resources[0],
208 K2_PCI32_LOWER_MEM + K2_PCI32_MEM_BASE,
209 K2_PCI32_UPPER_MEM + K2_PCI32_MEM_BASE,
210 IORESOURCE_MEM, "PCI32 host bridge");
211
212 hose_a->io_space.start = K2_PCI32_LOWER_IO;
213 hose_a->io_space.end = K2_PCI32_UPPER_IO;
214 hose_a->mem_space.start = K2_PCI32_LOWER_MEM;
215 hose_a->mem_space.end = K2_PCI32_UPPER_MEM;
216 hose_a->io_base_virt = (void *)K2_ISA_IO_BASE;
217
218 setup_indirect_pci(hose_a, K2_PCI32_CONFIG_ADDR, K2_PCI32_CONFIG_DATA);
219
220 /* Initialize PCI32 bus registers */
221 early_write_config_byte(hose_a,
222 hose_a->first_busno,
223 PCI_DEVFN(0, 0),
224 CPC710_BUS_NUMBER, hose_a->first_busno);
225
226 early_write_config_byte(hose_a,
227 hose_a->first_busno,
228 PCI_DEVFN(0, 0),
229 CPC710_SUB_BUS_NUMBER, hose_a->last_busno);
230
231 /* Enable PCI interrupt polling */
232 early_write_config_byte(hose_a,
233 hose_a->first_busno,
234 PCI_DEVFN(8, 0), 0x45, 0x80);
235
236 /* Route polled PCI interrupts */
237 early_write_config_byte(hose_a,
238 hose_a->first_busno,
239 PCI_DEVFN(8, 0), 0x48, 0x58);
240
241 early_write_config_byte(hose_a,
242 hose_a->first_busno,
243 PCI_DEVFN(8, 0), 0x49, 0x07);
244
245 early_write_config_byte(hose_a,
246 hose_a->first_busno,
247 PCI_DEVFN(8, 0), 0x4a, 0x31);
248
249 early_write_config_byte(hose_a,
250 hose_a->first_busno,
251 PCI_DEVFN(8, 0), 0x4b, 0xb9);
252
253 /* route secondary IDE channel interrupt to IRQ 15 */
254 early_write_config_byte(hose_a,
255 hose_a->first_busno,
256 PCI_DEVFN(8, 0), 0x75, 0x0f);
257
258 /* enable IDE controller IDSEL */
259 early_write_config_byte(hose_a,
260 hose_a->first_busno,
261 PCI_DEVFN(8, 0), 0x58, 0x48);
262
263 /* Enable IDE function */
264 early_write_config_byte(hose_a,
265 hose_a->first_busno,
266 PCI_DEVFN(17, 0), 0x50, 0x03);
267
268 /* Set M5229 IDE controller to native mode */
269 early_write_config_byte(hose_a,
270 hose_a->first_busno,
271 PCI_DEVFN(17, 0), PCI_CLASS_PROG, 0xdf);
272
273 hose_a->last_busno = pciauto_bus_scan(hose_a, hose_a->first_busno);
274
275 /* Write out correct max subordinate bus number for hose A */
276 early_write_config_byte(hose_a,
277 hose_a->first_busno,
278 PCI_DEVFN(0, 0),
279 CPC710_SUB_BUS_NUMBER, hose_a->last_busno);
280
281 /* Only setup PCI64 hose if we are in the system slot */
282 if (!(readb(K2_MISC_REG) & K2_SYS_SLOT_MASK)) {
283 /* Setup PCI64 hose */
284 hose_b = pcibios_alloc_controller();
285 if (!hose_b)
286 return;
287
288 hose_b->first_busno = hose_a->last_busno + 1;
289 hose_b->last_busno = 0xff;
290
291 /* Reminder: quit changing the following, it is correct. */
292 hose_b->pci_mem_offset = K2_PCI32_MEM_BASE;
293
294 pci_init_resource(&hose_b->io_resource,
295 K2_PCI64_LOWER_IO,
296 K2_PCI64_UPPER_IO,
297 IORESOURCE_IO, "PCI64 host bridge");
298
299 pci_init_resource(&hose_b->mem_resources[0],
300 K2_PCI64_LOWER_MEM + K2_PCI32_MEM_BASE,
301 K2_PCI64_UPPER_MEM + K2_PCI32_MEM_BASE,
302 IORESOURCE_MEM, "PCI64 host bridge");
303
304 hose_b->io_space.start = K2_PCI64_LOWER_IO;
305 hose_b->io_space.end = K2_PCI64_UPPER_IO;
306 hose_b->mem_space.start = K2_PCI64_LOWER_MEM;
307 hose_b->mem_space.end = K2_PCI64_UPPER_MEM;
308 hose_b->io_base_virt = (void *)K2_ISA_IO_BASE;
309
310 setup_indirect_pci(hose_b,
311 K2_PCI64_CONFIG_ADDR, K2_PCI64_CONFIG_DATA);
312
313 /* Initialize PCI64 bus registers */
314 early_write_config_byte(hose_b,
315 0,
316 PCI_DEVFN(0, 0),
317 CPC710_SUB_BUS_NUMBER, 0xff);
318
319 early_write_config_byte(hose_b,
320 0,
321 PCI_DEVFN(0, 0),
322 CPC710_BUS_NUMBER, hose_b->first_busno);
323
324 hose_b->last_busno = pciauto_bus_scan(hose_b,
325 hose_b->first_busno);
326
327 /* Write out correct max subordinate bus number for hose B */
328 early_write_config_byte(hose_b,
329 hose_b->first_busno,
330 PCI_DEVFN(0, 0),
331 CPC710_SUB_BUS_NUMBER,
332 hose_b->last_busno);
333
334 /* Configure PCI64 PSBAR */
335 early_write_config_dword(hose_b,
336 hose_b->first_busno,
337 PCI_DEVFN(0, 0),
338 PCI_BASE_ADDRESS_0,
339 K2_PCI64_SYS_MEM_BASE);
340 }
341
342 /* Configure i8259 level/edge settings */
343 outb(0x62, 0x4d0);
344 outb(0xde, 0x4d1);
345
346#ifdef CONFIG_CPC710_DATA_GATHERING
347 {
348 unsigned int tmp;
349 tmp = __raw_readl(ABCNTL);
350 /* Enable data gathering on both PCI interfaces */
351 __raw_writel(tmp | 0x05000000, ABCNTL);
352 }
353#endif
354
355 ppc_md.pcibios_fixup = k2_pcibios_fixup;
356 ppc_md.pcibios_fixup_resources = k2_pcibios_fixup_resources;
357 ppc_md.pci_swizzle = common_swizzle;
358 ppc_md.pci_map_irq = k2_map_irq;
359}
360
361static int k2_get_bus_speed(void)
362{
363 int bus_speed;
364 unsigned char board_id;
365
366 board_id = *(unsigned char *)K2_BOARD_ID_REG;
367
368 switch (K2_BUS_SPD(board_id)) {
369
370 case 0:
371 default:
372 bus_speed = 100000000;
373 break;
374
375 case 1:
376 bus_speed = 83333333;
377 break;
378
379 case 2:
380 bus_speed = 75000000;
381 break;
382
383 case 3:
384 bus_speed = 66666666;
385 break;
386 }
387 return bus_speed;
388}
389
390static int k2_get_cpu_speed(void)
391{
392 unsigned long hid1;
393 int cpu_speed;
394
395 hid1 = mfspr(SPRN_HID1) >> 28;
396
397 if ((mfspr(SPRN_PVR) >> 16) == 8)
398 hid1 = cpu_7xx[hid1];
399 else
400 hid1 = cpu_6xx[hid1];
401
402 cpu_speed = k2_get_bus_speed() * hid1 / 2;
403 return cpu_speed;
404}
405
406static void __init k2_calibrate_decr(void)
407{
408 int freq, divisor = 4;
409
410 /* determine processor bus speed */
411 freq = k2_get_bus_speed();
412 tb_ticks_per_jiffy = freq / HZ / divisor;
413 tb_to_us = mulhwu_scale_factor(freq / divisor, 1000000);
414}
415
416static int k2_show_cpuinfo(struct seq_file *m)
417{
418 unsigned char k2_geo_bits, k2_system_slot;
419
420 seq_printf(m, "vendor\t\t: SBS\n");
421 seq_printf(m, "machine\t\t: K2\n");
422 seq_printf(m, "cpu speed\t: %dMhz\n", k2_get_cpu_speed() / 1000000);
423 seq_printf(m, "bus speed\t: %dMhz\n", k2_get_bus_speed() / 1000000);
424 seq_printf(m, "memory type\t: SDRAM\n");
425
426 k2_geo_bits = readb(K2_MSIZ_GEO_REG) & K2_GEO_ADR_MASK;
427 k2_system_slot = !(readb(K2_MISC_REG) & K2_SYS_SLOT_MASK);
428 seq_printf(m, "backplane\t: %s slot board",
429 k2_system_slot ? "System" : "Non system");
430 seq_printf(m, "with geographical address %x\n", k2_geo_bits);
431
432 return 0;
433}
434
435TODC_ALLOC();
436
437static void __init k2_setup_arch(void)
438{
439 unsigned int cpu;
440
441 /* Setup TODC access */
442 TODC_INIT(TODC_TYPE_MK48T37, 0, 0,
443 ioremap(K2_RTC_BASE_ADDRESS, K2_RTC_SIZE), 8);
444
445 /* init to some ~sane value until calibrate_delay() runs */
446 loops_per_jiffy = 50000000 / HZ;
447
448 /* make FLASH transactions higher priority than PCI to avoid deadlock */
449 __raw_writel(__raw_readl(SIOC1) | 0x80000000, SIOC1);
450
451 /* Set hardware to access FLASH page 2 */
452 __raw_writel(1 << 29, GPOUT);
453
454 /* Setup PCI host bridges */
455 k2_setup_hoses();
456
457#ifdef CONFIG_BLK_DEV_INITRD
458 if (initrd_start)
459 ROOT_DEV = Root_RAM0;
460 else
461#endif
462#ifdef CONFIG_ROOT_NFS
463 ROOT_DEV = Root_NFS;
464#else
465 ROOT_DEV = Root_HDC1;
466#endif
467
468 /* Identify the system */
469 printk(KERN_INFO "System Identification: SBS K2 - PowerPC 750 @ "
470 "%d Mhz\n", k2_get_cpu_speed() / 1000000);
471 printk(KERN_INFO "Port by MontaVista Software, Inc. "
472 "(source@mvista.com)\n");
473
474 /* Identify the CPU manufacturer */
475 cpu = PVR_REV(mfspr(SPRN_PVR));
476 printk(KERN_INFO "CPU manufacturer: %s [rev=%04x]\n",
477 (cpu & (1 << 15)) ? "IBM" : "Motorola", cpu);
478}
479
480static void k2_restart(char *cmd)
481{
482 local_irq_disable();
483
484 /* Flip FLASH back to page 1 to access firmware image */
485 __raw_writel(0, GPOUT);
486
487 /* SRR0 has system reset vector, SRR1 has default MSR value */
488 /* rfi restores MSR from SRR1 and sets the PC to the SRR0 value */
489 mtspr(SPRN_SRR0, 0xfff00100);
490 mtspr(SPRN_SRR1, 0);
491 __asm__ __volatile__("rfi\n\t");
492
493 /* not reached */
494 for (;;) ;
495}
496
497static void k2_power_off(void)
498{
499 for (;;) ;
500}
501
502static void k2_halt(void)
503{
504 k2_restart(NULL);
505}
506
507/*
508 * Set BAT 3 to map PCI32 I/O space.
509 */
510static __inline__ void k2_set_bat(void)
511{
512 /* wait for all outstanding memory accesses to complete */
513 mb();
514
515 /* setup DBATs */
516 mtspr(SPRN_DBAT2U, 0x80001ffe);
517 mtspr(SPRN_DBAT2L, 0x8000002a);
518 mtspr(SPRN_DBAT3U, 0xf0001ffe);
519 mtspr(SPRN_DBAT3L, 0xf000002a);
520
521 /* wait for updates */
522 mb();
523}
524
525static unsigned long __init k2_find_end_of_memory(void)
526{
527 unsigned long total;
528 unsigned char msize = 7; /* Default to 128MB */
529
530 msize = K2_MEM_SIZE(readb(K2_MSIZ_GEO_REG));
531
532 switch (msize) {
533 case 2:
534 /*
535 * This will break without a lowered
536 * KERNELBASE or CONFIG_HIGHMEM on.
537 * It seems non 1GB builds exist yet,
538 * though.
539 */
540 total = K2_MEM_SIZE_1GB;
541 break;
542 case 3:
543 case 4:
544 total = K2_MEM_SIZE_512MB;
545 break;
546 case 5:
547 case 6:
548 total = K2_MEM_SIZE_256MB;
549 break;
550 case 7:
551 total = K2_MEM_SIZE_128MB;
552 break;
553 default:
554 printk
555 ("K2: Invalid memory size detected, defaulting to 128MB\n");
556 total = K2_MEM_SIZE_128MB;
557 break;
558 }
559 return total;
560}
561
562static void __init k2_map_io(void)
563{
564 io_block_mapping(K2_PCI32_IO_BASE,
565 K2_PCI32_IO_BASE, 0x00200000, _PAGE_IO);
566 io_block_mapping(0xff000000, 0xff000000, 0x01000000, _PAGE_IO);
567}
568
569static void __init k2_init_irq(void)
570{
571 int i;
572
573 for (i = 0; i < 16; i++)
574 irq_desc[i].handler = &i8259_pic;
575
576 i8259_init(0);
577}
578
579void __init platform_init(unsigned long r3, unsigned long r4,
580 unsigned long r5, unsigned long r6, unsigned long r7)
581{
582 parse_bootinfo((struct bi_record *)(r3 + KERNELBASE));
583
584 k2_set_bat();
585
586 isa_io_base = K2_ISA_IO_BASE;
587 isa_mem_base = K2_ISA_MEM_BASE;
588 pci_dram_offset = K2_PCI32_SYS_MEM_BASE;
589
590 ppc_md.setup_arch = k2_setup_arch;
591 ppc_md.show_cpuinfo = k2_show_cpuinfo;
592 ppc_md.init_IRQ = k2_init_irq;
593 ppc_md.get_irq = i8259_irq;
594
595 ppc_md.find_end_of_memory = k2_find_end_of_memory;
596 ppc_md.setup_io_mappings = k2_map_io;
597
598 ppc_md.restart = k2_restart;
599 ppc_md.power_off = k2_power_off;
600 ppc_md.halt = k2_halt;
601
602 ppc_md.time_init = todc_time_init;
603 ppc_md.set_rtc_time = todc_set_rtc_time;
604 ppc_md.get_rtc_time = todc_get_rtc_time;
605 ppc_md.calibrate_decr = k2_calibrate_decr;
606
607 ppc_md.nvram_read_val = todc_direct_read_val;
608 ppc_md.nvram_write_val = todc_direct_write_val;
609
610#ifdef CONFIG_SERIAL_TEXT_DEBUG
611 ppc_md.progress = gen550_progress;
612#endif
613}
diff --git a/arch/ppc/platforms/k2.h b/arch/ppc/platforms/k2.h
deleted file mode 100644
index 78326aba1988..000000000000
--- a/arch/ppc/platforms/k2.h
+++ /dev/null
@@ -1,82 +0,0 @@
1/*
2 * arch/ppc/platforms/k2.h
3 *
4 * Definitions for SBS K2 board support
5 *
6 * Author: Matt Porter <mporter@mvista.com>
7 *
8 * 2001 (c) MontaVista, Software, Inc. This file is licensed under
9 * the terms of the GNU General Public License version 2. This program
10 * is licensed "as is" without any warranty of any kind, whether express
11 * or implied.
12 */
13
14#ifndef __PPC_PLATFORMS_K2_H
15#define __PPC_PLATFORMS_K2_H
16
17/*
18 * SBS K2 definitions
19 */
20
21#define K2_PCI64_BAR 0xff400000
22#define K2_PCI32_BAR 0xff500000
23
24#define K2_PCI64_CONFIG_ADDR (K2_PCI64_BAR + 0x000f8000)
25#define K2_PCI64_CONFIG_DATA (K2_PCI64_BAR + 0x000f8010)
26
27#define K2_PCI32_CONFIG_ADDR (K2_PCI32_BAR + 0x000f8000)
28#define K2_PCI32_CONFIG_DATA (K2_PCI32_BAR + 0x000f8010)
29
30#define K2_PCI64_MEM_BASE 0xd0000000
31#define K2_PCI64_IO_BASE 0x80100000
32
33#define K2_PCI32_MEM_BASE 0xc0000000
34#define K2_PCI32_IO_BASE 0x80000000
35
36#define K2_PCI32_SYS_MEM_BASE 0x80000000
37#define K2_PCI64_SYS_MEM_BASE K2_PCI32_SYS_MEM_BASE
38
39#define K2_PCI32_LOWER_MEM 0x00000000
40#define K2_PCI32_UPPER_MEM 0x0fffffff
41#define K2_PCI32_LOWER_IO 0x00000000
42#define K2_PCI32_UPPER_IO 0x000fffff
43
44#define K2_PCI64_LOWER_MEM 0x10000000
45#define K2_PCI64_UPPER_MEM 0x1fffffff
46#define K2_PCI64_LOWER_IO 0x00100000
47#define K2_PCI64_UPPER_IO 0x001fffff
48
49#define K2_ISA_IO_BASE K2_PCI32_IO_BASE
50#define K2_ISA_MEM_BASE K2_PCI32_MEM_BASE
51
52#define K2_BOARD_ID_REG (K2_ISA_IO_BASE + 0x800)
53#define K2_MISC_REG (K2_ISA_IO_BASE + 0x804)
54#define K2_MSIZ_GEO_REG (K2_ISA_IO_BASE + 0x808)
55#define K2_HOT_SWAP_REG (K2_ISA_IO_BASE + 0x80c)
56#define K2_PLD2_REG (K2_ISA_IO_BASE + 0x80e)
57#define K2_PLD3_REG (K2_ISA_IO_BASE + 0x80f)
58
59#define K2_BUS_SPD(board_id) (board_id >> 2) & 3
60
61#define K2_RTC_BASE_OFFSET 0x90000
62#define K2_RTC_BASE_ADDRESS (K2_PCI32_MEM_BASE + K2_RTC_BASE_OFFSET)
63#define K2_RTC_SIZE 0x8000
64
65#define K2_MEM_SIZE_MASK 0xe0
66#define K2_MEM_SIZE(size_reg) (size_reg & K2_MEM_SIZE_MASK) >> 5
67#define K2_MEM_SIZE_1GB 0x40000000
68#define K2_MEM_SIZE_512MB 0x20000000
69#define K2_MEM_SIZE_256MB 0x10000000
70#define K2_MEM_SIZE_128MB 0x08000000
71
72#define K2_L2CACHE_MASK 0x03 /* Mask for 2 L2 Cache bits */
73#define K2_L2CACHE_512KB 0x00 /* 512KB */
74#define K2_L2CACHE_256KB 0x01 /* 256KB */
75#define K2_L2CACHE_1MB 0x02 /* 1MB */
76#define K2_L2CACHE_NONE 0x03 /* None */
77
78#define K2_GEO_ADR_MASK 0x1f
79
80#define K2_SYS_SLOT_MASK 0x08
81
82#endif /* __PPC_PLATFORMS_K2_H */
diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile
index 0d6f1948fb28..54e5666939b6 100644
--- a/arch/ppc/syslib/Makefile
+++ b/arch/ppc/syslib/Makefile
@@ -50,8 +50,6 @@ obj-$(CONFIG_EV64260) += todc_time.o pci_auto.o
50obj-$(CONFIG_CHESTNUT) += mv64360_pic.o pci_auto.o 50obj-$(CONFIG_CHESTNUT) += mv64360_pic.o pci_auto.o
51obj-$(CONFIG_GEMINI) += open_pic.o indirect_pci.o 51obj-$(CONFIG_GEMINI) += open_pic.o indirect_pci.o
52obj-$(CONFIG_GT64260) += gt64260_pic.o 52obj-$(CONFIG_GT64260) += gt64260_pic.o
53obj-$(CONFIG_K2) += i8259.o indirect_pci.o todc_time.o \
54 pci_auto.o
55obj-$(CONFIG_LOPEC) += i8259.o pci_auto.o todc_time.o 53obj-$(CONFIG_LOPEC) += i8259.o pci_auto.o todc_time.o
56obj-$(CONFIG_HDPU) += pci_auto.o 54obj-$(CONFIG_HDPU) += pci_auto.o
57obj-$(CONFIG_LUAN) += indirect_pci.o pci_auto.o todc_time.o 55obj-$(CONFIG_LUAN) += indirect_pci.o pci_auto.o todc_time.o