aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Bolle <pebolle@tiscali.nl>2013-03-26 20:47:03 -0400
committerMichael Ellerman <michael@ellerman.id.au>2013-04-17 23:03:53 -0400
commit933ee7119fb14156f46dc8bce8218f62db13c568 (patch)
treed42fe89c8f7a28351e8139743601c45c9c6a32df
parent9850baed30dd445b0a2bb58045b8edff74953952 (diff)
powerpc: remove PReP platform
PPC_PREP is marked as BROKEN since v2.6.15. Remove all PReP specific code now. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
-rw-r--r--Documentation/powerpc/00-INDEX4
-rw-r--r--Documentation/powerpc/sound.txt81
-rw-r--r--Documentation/powerpc/zImage_layout.txt47
-rw-r--r--arch/powerpc/Kconfig8
-rw-r--r--arch/powerpc/include/asm/dma.h5
-rw-r--r--arch/powerpc/include/asm/io.h4
-rw-r--r--arch/powerpc/include/asm/processor.h9
-rw-r--r--arch/powerpc/kernel/setup-common.c6
-rw-r--r--arch/powerpc/platforms/Kconfig3
-rw-r--r--arch/powerpc/platforms/prep/Kconfig23
-rw-r--r--drivers/pnp/pnpbios/core.c9
-rw-r--r--drivers/video/cirrusfb.c62
12 files changed, 19 insertions, 242 deletions
diff --git a/Documentation/powerpc/00-INDEX b/Documentation/powerpc/00-INDEX
index 5620fb5ac425..dd9e92802ec0 100644
--- a/Documentation/powerpc/00-INDEX
+++ b/Documentation/powerpc/00-INDEX
@@ -14,10 +14,6 @@ hvcs.txt
14 - IBM "Hypervisor Virtual Console Server" Installation Guide 14 - IBM "Hypervisor Virtual Console Server" Installation Guide
15mpc52xx.txt 15mpc52xx.txt
16 - Linux 2.6.x on MPC52xx family 16 - Linux 2.6.x on MPC52xx family
17sound.txt
18 - info on sound support under Linux/PPC
19zImage_layout.txt
20 - info on the kernel images for Linux/PPC
21qe_firmware.txt 17qe_firmware.txt
22 - describes the layout of firmware binaries for the Freescale QUICC 18 - describes the layout of firmware binaries for the Freescale QUICC
23 Engine and the code that parses and uploads the microcode therein. 19 Engine and the code that parses and uploads the microcode therein.
diff --git a/Documentation/powerpc/sound.txt b/Documentation/powerpc/sound.txt
deleted file mode 100644
index df23d95e03a0..000000000000
--- a/Documentation/powerpc/sound.txt
+++ /dev/null
@@ -1,81 +0,0 @@
1 Information about PowerPC Sound support
2=====================================================================
3
4Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions,
5comments or corrections.
6
7Last Change: 6.16.99
8
9This just covers sound on the PReP and CHRP systems for now and later
10will contain information on the PowerMac's.
11
12Sound on PReP has been tested and is working with the PowerStack and IBM
13Power Series onboard sound systems which are based on the cs4231(2) chip.
14The sound options when doing the make config are a bit different from
15the default, though.
16
17The I/O base, irq and dma lines that you enter during the make config
18are ignored and are set when booting according to the machine type.
19This is so that one binary can be used for Motorola and IBM machines
20which use different values and isn't allowed by the driver, so things
21are hacked together in such a way as to allow this information to be
22set automatically on boot.
23
241. Motorola PowerStack PReP machines
25
26 Enable support for "Crystal CS4232 based (PnP) cards" and for the
27 Microsoft Sound System. The MSS isn't used, but some of the routines
28 that the CS4232 driver uses are in it.
29
30 Although the options you set are ignored and determined automatically
31 on boot these are included for information only:
32
33 (830) CS4232 audio I/O base 530, 604, E80 or F40
34 (10) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15
35 (6) CS4232 audio DMA 0, 1 or 3
36 (7) CS4232 second (duplex) DMA 0, 1 or 3
37
38 This will allow simultaneous record and playback, as 2 different dma
39 channels are used.
40
41 The sound will be all left channel and very low volume since the
42 auxiliary input isn't muted by default. I had the changes necessary
43 for this in the kernel but the sound driver maintainer didn't want
44 to include them since it wasn't common in other machines. To fix this
45 you need to mute it using a mixer utility of some sort (if you find one
46 please let me know) or by patching the driver yourself and recompiling.
47
48 There is a problem on the PowerStack 2's (PowerStack Pro's) using a
49 different irq/drq than the kernel expects. Unfortunately, I don't know
50 which irq/drq it is so if anyone knows please email me.
51
52 Midi is not supported since the cs4232 driver doesn't support midi yet.
53
542. IBM PowerPersonal PReP machines
55
56 I've only tested sound on the Power Personal Series of IBM workstations
57 so if you try it on others please let me know the result. I'm especially
58 interested in the 43p's sound system, which I know nothing about.
59
60 Enable support for "Crystal CS4232 based (PnP) cards" and for the
61 Microsoft Sound System. The MSS isn't used, but some of the routines
62 that the CS4232 driver uses are in it.
63
64 Although the options you set are ignored and determined automatically
65 on boot these are included for information only:
66
67 (530) CS4232 audio I/O base 530, 604, E80 or F40
68 (5) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15
69 (1) CS4232 audio DMA 0, 1 or 3
70 (7) CS4232 second (duplex) DMA 0, 1 or 3
71 (330) CS4232 MIDI I/O base 330, 370, 3B0 or 3F0
72 (9) CS4232 MIDI IRQ 5, 7, 9, 11, 12 or 15
73
74 This setup does _NOT_ allow for recording yet.
75
76 Midi is not supported since the cs4232 driver doesn't support midi yet.
77
782. IBM CHRP
79
80 I have only tested this on the 43P-150. Build the kernel with the cs4232
81 set as a module and load the module with irq=9 dma=1 dma2=2 io=0x550
diff --git a/Documentation/powerpc/zImage_layout.txt b/Documentation/powerpc/zImage_layout.txt
deleted file mode 100644
index 048e0150f571..000000000000
--- a/Documentation/powerpc/zImage_layout.txt
+++ /dev/null
@@ -1,47 +0,0 @@
1 Information about the Linux/PPC kernel images
2=====================================================================
3
4Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions,
5comments or corrections.
6
7This document is meant to answer several questions I've had about how
8the PReP system boots and how Linux/PPC interacts with that mechanism.
9It would be nice if we could have information on how other architectures
10boot here as well. If you have anything to contribute, please
11let me know.
12
13
141. PReP boot file
15
16 This is the file necessary to boot PReP systems from floppy or
17 hard drive. The firmware reads the PReP partition table entry
18 and will load the image accordingly.
19
20 To boot the zImage, copy it onto a floppy with dd if=zImage of=/dev/fd0h1440
21 or onto a PReP hard drive partition with dd if=zImage of=/dev/sda4
22 assuming you've created a PReP partition (type 0x41) with fdisk on
23 /dev/sda4.
24
25 The layout of the image format is:
26
27 0x0 +------------+
28 | | PReP partition table entry
29 | |
30 0x400 +------------+
31 | | Bootstrap program code + data
32 | |
33 | |
34 +------------+
35 | | compressed kernel, elf header removed
36 +------------+
37 | | initrd (if loaded)
38 +------------+
39 | | Elf section table for bootstrap program
40 +------------+
41
42
432. MBX boot file
44
45 The MBX boards can load an elf image, and relocate it to the
46 proper location in memory - it copies the image to the location it was
47 linked at.
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 83b46fc32782..bdac46e3fc4e 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -647,14 +647,14 @@ menu "Bus options"
647 647
648config ISA 648config ISA
649 bool "Support for ISA-bus hardware" 649 bool "Support for ISA-bus hardware"
650 depends on PPC_PREP || PPC_CHRP 650 depends on PPC_CHRP
651 select PPC_I8259 651 select PPC_I8259
652 help 652 help
653 Find out whether you have ISA slots on your motherboard. ISA is the 653 Find out whether you have ISA slots on your motherboard. ISA is the
654 name of a bus system, i.e. the way the CPU talks to the other stuff 654 name of a bus system, i.e. the way the CPU talks to the other stuff
655 inside your box. If you have an Apple machine, say N here; if you 655 inside your box. If you have an Apple machine, say N here; if you
656 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If 656 have an IBM RS/6000 or pSeries machine, say Y. If you have an
657 you have an embedded board, consult your board documentation. 657 embedded board, consult your board documentation.
658 658
659config ZONE_DMA 659config ZONE_DMA
660 bool 660 bool
@@ -968,7 +968,7 @@ config TASK_SIZE_BOOL
968 968
969config TASK_SIZE 969config TASK_SIZE
970 hex "Size of user task space" if TASK_SIZE_BOOL 970 hex "Size of user task space" if TASK_SIZE_BOOL
971 default "0x80000000" if PPC_PREP || PPC_8xx 971 default "0x80000000" if PPC_8xx
972 default "0xc0000000" 972 default "0xc0000000"
973 973
974config CONSISTENT_SIZE_BOOL 974config CONSISTENT_SIZE_BOOL
diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h
index f6813e919bb2..a5c6d83b5f60 100644
--- a/arch/powerpc/include/asm/dma.h
+++ b/arch/powerpc/include/asm/dma.h
@@ -16,10 +16,6 @@
16 * 16 *
17 * None of this really applies for Power Macintoshes. There is 17 * None of this really applies for Power Macintoshes. There is
18 * basically just enough here to get kernel/dma.c to compile. 18 * basically just enough here to get kernel/dma.c to compile.
19 *
20 * There may be some comments or restrictions made here which are
21 * not valid for the PReP platform. Take what you read
22 * with a grain of salt.
23 */ 19 */
24 20
25#include <asm/io.h> 21#include <asm/io.h>
@@ -57,7 +53,6 @@
57 * - page registers for 5-7 don't use data bit 0, represent 128K pages 53 * - page registers for 5-7 don't use data bit 0, represent 128K pages
58 * - page registers for 0-3 use bit 0, represent 64K pages 54 * - page registers for 0-3 use bit 0, represent 64K pages
59 * 55 *
60 * On PReP, DMA transfers are limited to the lower 16MB of _physical_ memory.
61 * On CHRP, the W83C553F (and VLSI Tollgate?) support full 32 bit addressing. 56 * On CHRP, the W83C553F (and VLSI Tollgate?) support full 32 bit addressing.
62 * Note that addresses loaded into registers must be _physical_ addresses, 57 * Note that addresses loaded into registers must be _physical_ addresses,
63 * not logical addresses (which may differ if paging is active). 58 * not logical addresses (which may differ if paging is active).
diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
index f94ef4213e9d..dd15e5e37d6d 100644
--- a/arch/powerpc/include/asm/io.h
+++ b/arch/powerpc/include/asm/io.h
@@ -15,10 +15,6 @@
15extern int check_legacy_ioport(unsigned long base_port); 15extern int check_legacy_ioport(unsigned long base_port);
16#define I8042_DATA_REG 0x60 16#define I8042_DATA_REG 0x60
17#define FDC_BASE 0x3f0 17#define FDC_BASE 0x3f0
18/* only relevant for PReP */
19#define _PIDXR 0x279
20#define _PNPWRP 0xa79
21#define PNPBIOS_BASE 0xf000
22 18
23#if defined(CONFIG_PPC64) && defined(CONFIG_PCI) 19#if defined(CONFIG_PPC64) && defined(CONFIG_PCI)
24extern struct pci_dev *isa_bridge_pcidev; 20extern struct pci_dev *isa_bridge_pcidev;
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h
index 7ff9eaa3ea6c..0a4cc5d649e1 100644
--- a/arch/powerpc/include/asm/processor.h
+++ b/arch/powerpc/include/asm/processor.h
@@ -40,7 +40,7 @@
40 * -- BenH. 40 * -- BenH.
41 */ 41 */
42 42
43/* PREP sub-platform types see residual.h for these */ 43/* PREP sub-platform types. Unused */
44#define _PREP_Motorola 0x01 /* motorola prep */ 44#define _PREP_Motorola 0x01 /* motorola prep */
45#define _PREP_Firm 0x02 /* firmworks prep */ 45#define _PREP_Firm 0x02 /* firmworks prep */
46#define _PREP_IBM 0x00 /* ibm prep */ 46#define _PREP_IBM 0x00 /* ibm prep */
@@ -56,13 +56,6 @@
56 56
57extern int _chrp_type; 57extern int _chrp_type;
58 58
59#ifdef CONFIG_PPC_PREP
60
61/* what kind of prep workstation we are */
62extern int _prep_type;
63
64#endif /* CONFIG_PPC_PREP */
65
66#endif /* defined(__KERNEL__) && defined(CONFIG_PPC32) */ 59#endif /* defined(__KERNEL__) && defined(CONFIG_PPC32) */
67 60
68/* 61/*
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index bdc499c17872..63d051f5b7a5 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -621,12 +621,6 @@ int check_legacy_ioport(unsigned long base_port)
621 case FDC_BASE: /* FDC1 */ 621 case FDC_BASE: /* FDC1 */
622 np = of_find_node_by_type(NULL, "fdc"); 622 np = of_find_node_by_type(NULL, "fdc");
623 break; 623 break;
624#ifdef CONFIG_PPC_PREP
625 case _PIDXR:
626 case _PNPWRP:
627 case PNPBIOS_BASE:
628 /* implement me */
629#endif
630 default: 624 default:
631 /* ipmi is supposed to fail here */ 625 /* ipmi is supposed to fail here */
632 break; 626 break;
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index 52de8bccfb30..9089ae71334a 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -6,7 +6,6 @@ source "arch/powerpc/platforms/chrp/Kconfig"
6source "arch/powerpc/platforms/512x/Kconfig" 6source "arch/powerpc/platforms/512x/Kconfig"
7source "arch/powerpc/platforms/52xx/Kconfig" 7source "arch/powerpc/platforms/52xx/Kconfig"
8source "arch/powerpc/platforms/powermac/Kconfig" 8source "arch/powerpc/platforms/powermac/Kconfig"
9source "arch/powerpc/platforms/prep/Kconfig"
10source "arch/powerpc/platforms/maple/Kconfig" 9source "arch/powerpc/platforms/maple/Kconfig"
11source "arch/powerpc/platforms/pasemi/Kconfig" 10source "arch/powerpc/platforms/pasemi/Kconfig"
12source "arch/powerpc/platforms/ps3/Kconfig" 11source "arch/powerpc/platforms/ps3/Kconfig"
@@ -233,7 +232,7 @@ endmenu
233 232
234config PPC601_SYNC_FIX 233config PPC601_SYNC_FIX
235 bool "Workarounds for PPC601 bugs" 234 bool "Workarounds for PPC601 bugs"
236 depends on 6xx && (PPC_PREP || PPC_PMAC) 235 depends on 6xx && PPC_PMAC
237 help 236 help
238 Some versions of the PPC601 (the first PowerPC chip) have bugs which 237 Some versions of the PPC601 (the first PowerPC chip) have bugs which
239 mean that extra synchronization instructions are required near 238 mean that extra synchronization instructions are required near
diff --git a/arch/powerpc/platforms/prep/Kconfig b/arch/powerpc/platforms/prep/Kconfig
deleted file mode 100644
index 1547f66235d9..000000000000
--- a/arch/powerpc/platforms/prep/Kconfig
+++ /dev/null
@@ -1,23 +0,0 @@
1config PPC_PREP
2 bool "PowerPC Reference Platform (PReP) based machines"
3 depends on 6xx && BROKEN
4 select HAVE_PCSPKR_PLATFORM
5 select MPIC
6 select PPC_I8259
7 select PPC_INDIRECT_PCI
8 select PPC_UDBG_16550
9 select PPC_NATIVE
10 default n
11
12config PREP_RESIDUAL
13 bool "Support for PReP Residual Data"
14 depends on PPC_PREP
15 help
16 Some PReP systems have residual data passed to the kernel by the
17 firmware. This allows detection of memory size, devices present and
18 other useful pieces of information. Sometimes this information is
19 not present or incorrect, in which case it could lead to the machine
20 behaving incorrectly. If this happens, either disable PREP_RESIDUAL
21 or pass the 'noresidual' option to the kernel.
22
23 If you are running a PReP system, say Y here, otherwise say N.
diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c
index 5d66e5585f97..9b86a01af631 100644
--- a/drivers/pnp/pnpbios/core.c
+++ b/drivers/pnp/pnpbios/core.c
@@ -513,10 +513,6 @@ static int __init pnpbios_init(void)
513{ 513{
514 int ret; 514 int ret;
515 515
516#if defined(CONFIG_PPC)
517 if (check_legacy_ioport(PNPBIOS_BASE))
518 return -ENODEV;
519#endif
520 if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) || 516 if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) ||
521 paravirt_enabled()) { 517 paravirt_enabled()) {
522 printk(KERN_INFO "PnPBIOS: Disabled\n"); 518 printk(KERN_INFO "PnPBIOS: Disabled\n");
@@ -570,10 +566,7 @@ fs_initcall(pnpbios_init);
570static int __init pnpbios_thread_init(void) 566static int __init pnpbios_thread_init(void)
571{ 567{
572 struct task_struct *task; 568 struct task_struct *task;
573#if defined(CONFIG_PPC) 569
574 if (check_legacy_ioport(PNPBIOS_BASE))
575 return 0;
576#endif
577 if (pnpbios_disabled) 570 if (pnpbios_disabled)
578 return 0; 571 return 0;
579 572
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index c3dbbe6e3acf..97db3ba8f237 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -53,12 +53,6 @@
53#ifdef CONFIG_AMIGA 53#ifdef CONFIG_AMIGA
54#include <asm/amigahw.h> 54#include <asm/amigahw.h>
55#endif 55#endif
56#ifdef CONFIG_PPC_PREP
57#include <asm/machdep.h>
58#define isPReP machine_is(prep)
59#else
60#define isPReP 0
61#endif
62 56
63#include <video/vga.h> 57#include <video/vga.h>
64#include <video/cirrus.h> 58#include <video/cirrus.h>
@@ -557,30 +551,18 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var,
557 break; 551 break;
558 552
559 case 16: 553 case 16:
560 if (isPReP) { 554 var->red.offset = 11;
561 var->red.offset = 2; 555 var->green.offset = 5;
562 var->green.offset = -3; 556 var->blue.offset = 0;
563 var->blue.offset = 8;
564 } else {
565 var->red.offset = 11;
566 var->green.offset = 5;
567 var->blue.offset = 0;
568 }
569 var->red.length = 5; 557 var->red.length = 5;
570 var->green.length = 6; 558 var->green.length = 6;
571 var->blue.length = 5; 559 var->blue.length = 5;
572 break; 560 break;
573 561
574 case 24: 562 case 24:
575 if (isPReP) { 563 var->red.offset = 16;
576 var->red.offset = 0; 564 var->green.offset = 8;
577 var->green.offset = 8; 565 var->blue.offset = 0;
578 var->blue.offset = 16;
579 } else {
580 var->red.offset = 16;
581 var->green.offset = 8;
582 var->blue.offset = 0;
583 }
584 var->red.length = 8; 566 var->red.length = 8;
585 var->green.length = 8; 567 var->green.length = 8;
586 var->blue.length = 8; 568 var->blue.length = 8;
@@ -1874,17 +1856,6 @@ static void cirrusfb_imageblit(struct fb_info *info,
1874 } 1856 }
1875} 1857}
1876 1858
1877#ifdef CONFIG_PPC_PREP
1878#define PREP_VIDEO_BASE ((volatile unsigned long) 0xC0000000)
1879#define PREP_IO_BASE ((volatile unsigned char *) 0x80000000)
1880static void get_prep_addrs(unsigned long *display, unsigned long *registers)
1881{
1882 *display = PREP_VIDEO_BASE;
1883 *registers = (unsigned long) PREP_IO_BASE;
1884}
1885
1886#endif /* CONFIG_PPC_PREP */
1887
1888#ifdef CONFIG_PCI 1859#ifdef CONFIG_PCI
1889static int release_io_ports; 1860static int release_io_ports;
1890 1861
@@ -2139,21 +2110,12 @@ static int cirrusfb_pci_register(struct pci_dev *pdev,
2139 dev_dbg(info->device, " base address 1 is 0x%Lx\n", 2110 dev_dbg(info->device, " base address 1 is 0x%Lx\n",
2140 (unsigned long long)pdev->resource[1].start); 2111 (unsigned long long)pdev->resource[1].start);
2141 2112
2142 if (isPReP) { 2113 dev_dbg(info->device,
2143 pci_write_config_dword(pdev, PCI_BASE_ADDRESS_0, 0x00000000); 2114 "Attempt to get PCI info for Cirrus Graphics Card\n");
2144#ifdef CONFIG_PPC_PREP 2115 get_pci_addrs(pdev, &board_addr, &info->fix.mmio_start);
2145 get_prep_addrs(&board_addr, &info->fix.mmio_start); 2116 /* FIXME: this forces VGA. alternatives? */
2146#endif 2117 cinfo->regbase = NULL;
2147 /* PReP dies if we ioremap the IO registers, but it works w/out... */ 2118 cinfo->laguna_mmio = ioremap(info->fix.mmio_start, 0x1000);
2148 cinfo->regbase = (char __iomem *) info->fix.mmio_start;
2149 } else {
2150 dev_dbg(info->device,
2151 "Attempt to get PCI info for Cirrus Graphics Card\n");
2152 get_pci_addrs(pdev, &board_addr, &info->fix.mmio_start);
2153 /* FIXME: this forces VGA. alternatives? */
2154 cinfo->regbase = NULL;
2155 cinfo->laguna_mmio = ioremap(info->fix.mmio_start, 0x1000);
2156 }
2157 2119
2158 dev_dbg(info->device, "Board address: 0x%lx, register address: 0x%lx\n", 2120 dev_dbg(info->device, "Board address: 0x%lx, register address: 0x%lx\n",
2159 board_addr, info->fix.mmio_start); 2121 board_addr, info->fix.mmio_start);