Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Paul Bolle and committed by
Michael Ellerman
933ee711 9850baed

+19 -242
-4
Documentation/powerpc/00-INDEX
··· 14 14 - IBM "Hypervisor Virtual Console Server" Installation Guide 15 15 mpc52xx.txt 16 16 - Linux 2.6.x on MPC52xx family 17 - sound.txt 18 - - info on sound support under Linux/PPC 19 - zImage_layout.txt 20 - - info on the kernel images for Linux/PPC 21 17 qe_firmware.txt 22 18 - describes the layout of firmware binaries for the Freescale QUICC 23 19 Engine and the code that parses and uploads the microcode therein.
-81
Documentation/powerpc/sound.txt
··· 1 - Information about PowerPC Sound support 2 - ===================================================================== 3 - 4 - Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions, 5 - comments or corrections. 6 - 7 - Last Change: 6.16.99 8 - 9 - This just covers sound on the PReP and CHRP systems for now and later 10 - will contain information on the PowerMac's. 11 - 12 - Sound on PReP has been tested and is working with the PowerStack and IBM 13 - Power Series onboard sound systems which are based on the cs4231(2) chip. 14 - The sound options when doing the make config are a bit different from 15 - the default, though. 16 - 17 - The I/O base, irq and dma lines that you enter during the make config 18 - are ignored and are set when booting according to the machine type. 19 - This is so that one binary can be used for Motorola and IBM machines 20 - which use different values and isn't allowed by the driver, so things 21 - are hacked together in such a way as to allow this information to be 22 - set automatically on boot. 23 - 24 - 1. 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 - 54 - 2. 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 - 78 - 2. 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
-47
Documentation/powerpc/zImage_layout.txt
··· 1 - Information about the Linux/PPC kernel images 2 - ===================================================================== 3 - 4 - Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions, 5 - comments or corrections. 6 - 7 - This document is meant to answer several questions I've had about how 8 - the PReP system boots and how Linux/PPC interacts with that mechanism. 9 - It would be nice if we could have information on how other architectures 10 - boot here as well. If you have anything to contribute, please 11 - let me know. 12 - 13 - 14 - 1. 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 - 43 - 2. 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.
+4 -4
arch/powerpc/Kconfig
··· 647 647 648 648 config ISA 649 649 bool "Support for ISA-bus hardware" 650 - depends on PPC_PREP || PPC_CHRP 650 + depends on PPC_CHRP 651 651 select PPC_I8259 652 652 help 653 653 Find out whether you have ISA slots on your motherboard. ISA is the 654 654 name of a bus system, i.e. the way the CPU talks to the other stuff 655 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 657 - you have an embedded board, consult your board documentation. 656 + have an IBM RS/6000 or pSeries machine, say Y. If you have an 657 + embedded board, consult your board documentation. 658 658 659 659 config ZONE_DMA 660 660 bool ··· 968 968 969 969 config TASK_SIZE 970 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 972 default "0xc0000000" 973 973 974 974 config CONSISTENT_SIZE_BOOL
-5
arch/powerpc/include/asm/dma.h
··· 16 16 * 17 17 * None of this really applies for Power Macintoshes. There is 18 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 21 #include <asm/io.h> ··· 53 57 * - page registers for 5-7 don't use data bit 0, represent 128K pages 54 58 * - page registers for 0-3 use bit 0, represent 64K pages 55 59 * 56 - * On PReP, DMA transfers are limited to the lower 16MB of _physical_ memory. 57 60 * On CHRP, the W83C553F (and VLSI Tollgate?) support full 32 bit addressing. 58 61 * Note that addresses loaded into registers must be _physical_ addresses, 59 62 * not logical addresses (which may differ if paging is active).
-4
arch/powerpc/include/asm/io.h
··· 15 15 extern int check_legacy_ioport(unsigned long base_port); 16 16 #define I8042_DATA_REG 0x60 17 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 19 #if defined(CONFIG_PPC64) && defined(CONFIG_PCI) 24 20 extern struct pci_dev *isa_bridge_pcidev;
+1 -8
arch/powerpc/include/asm/processor.h
··· 40 40 * -- BenH. 41 41 */ 42 42 43 - /* PREP sub-platform types see residual.h for these */ 43 + /* PREP sub-platform types. Unused */ 44 44 #define _PREP_Motorola 0x01 /* motorola prep */ 45 45 #define _PREP_Firm 0x02 /* firmworks prep */ 46 46 #define _PREP_IBM 0x00 /* ibm prep */ ··· 55 55 #if defined(__KERNEL__) && defined(CONFIG_PPC32) 56 56 57 57 extern int _chrp_type; 58 - 59 - #ifdef CONFIG_PPC_PREP 60 - 61 - /* what kind of prep workstation we are */ 62 - extern int _prep_type; 63 - 64 - #endif /* CONFIG_PPC_PREP */ 65 58 66 59 #endif /* defined(__KERNEL__) && defined(CONFIG_PPC32) */ 67 60
-6
arch/powerpc/kernel/setup-common.c
··· 621 621 case FDC_BASE: /* FDC1 */ 622 622 np = of_find_node_by_type(NULL, "fdc"); 623 623 break; 624 - #ifdef CONFIG_PPC_PREP 625 - case _PIDXR: 626 - case _PNPWRP: 627 - case PNPBIOS_BASE: 628 - /* implement me */ 629 - #endif 630 624 default: 631 625 /* ipmi is supposed to fail here */ 632 626 break;
+1 -2
arch/powerpc/platforms/Kconfig
··· 6 6 source "arch/powerpc/platforms/512x/Kconfig" 7 7 source "arch/powerpc/platforms/52xx/Kconfig" 8 8 source "arch/powerpc/platforms/powermac/Kconfig" 9 - source "arch/powerpc/platforms/prep/Kconfig" 10 9 source "arch/powerpc/platforms/maple/Kconfig" 11 10 source "arch/powerpc/platforms/pasemi/Kconfig" 12 11 source "arch/powerpc/platforms/ps3/Kconfig" ··· 232 233 233 234 config PPC601_SYNC_FIX 234 235 bool "Workarounds for PPC601 bugs" 235 - depends on 6xx && (PPC_PREP || PPC_PMAC) 236 + depends on 6xx && PPC_PMAC 236 237 help 237 238 Some versions of the PPC601 (the first PowerPC chip) have bugs which 238 239 mean that extra synchronization instructions are required near
-23
arch/powerpc/platforms/prep/Kconfig
··· 1 - config 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 - 12 - config 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.
+1 -8
drivers/pnp/pnpbios/core.c
··· 513 513 { 514 514 int ret; 515 515 516 - #if defined(CONFIG_PPC) 517 - if (check_legacy_ioport(PNPBIOS_BASE)) 518 - return -ENODEV; 519 - #endif 520 516 if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) || 521 517 paravirt_enabled()) { 522 518 printk(KERN_INFO "PnPBIOS: Disabled\n"); ··· 566 570 static int __init pnpbios_thread_init(void) 567 571 { 568 572 struct task_struct *task; 569 - #if defined(CONFIG_PPC) 570 - if (check_legacy_ioport(PNPBIOS_BASE)) 571 - return 0; 572 - #endif 573 + 573 574 if (pnpbios_disabled) 574 575 return 0; 575 576
+12 -50
drivers/video/cirrusfb.c
··· 53 53 #ifdef CONFIG_AMIGA 54 54 #include <asm/amigahw.h> 55 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 57 #include <video/vga.h> 64 58 #include <video/cirrus.h> ··· 551 557 break; 552 558 553 559 case 16: 554 - if (isPReP) { 555 - var->red.offset = 2; 556 - var->green.offset = -3; 557 - var->blue.offset = 8; 558 - } else { 559 - var->red.offset = 11; 560 - var->green.offset = 5; 561 - var->blue.offset = 0; 562 - } 560 + var->red.offset = 11; 561 + var->green.offset = 5; 562 + var->blue.offset = 0; 563 563 var->red.length = 5; 564 564 var->green.length = 6; 565 565 var->blue.length = 5; 566 566 break; 567 567 568 568 case 24: 569 - if (isPReP) { 570 - var->red.offset = 0; 571 - var->green.offset = 8; 572 - var->blue.offset = 16; 573 - } else { 574 - var->red.offset = 16; 575 - var->green.offset = 8; 576 - var->blue.offset = 0; 577 - } 569 + var->red.offset = 16; 570 + var->green.offset = 8; 571 + var->blue.offset = 0; 578 572 var->red.length = 8; 579 573 var->green.length = 8; 580 574 var->blue.length = 8; ··· 1856 1874 } 1857 1875 } 1858 1876 1859 - #ifdef CONFIG_PPC_PREP 1860 - #define PREP_VIDEO_BASE ((volatile unsigned long) 0xC0000000) 1861 - #define PREP_IO_BASE ((volatile unsigned char *) 0x80000000) 1862 - static void get_prep_addrs(unsigned long *display, unsigned long *registers) 1863 - { 1864 - *display = PREP_VIDEO_BASE; 1865 - *registers = (unsigned long) PREP_IO_BASE; 1866 - } 1867 - 1868 - #endif /* CONFIG_PPC_PREP */ 1869 - 1870 1877 #ifdef CONFIG_PCI 1871 1878 static int release_io_ports; 1872 1879 ··· 2110 2139 dev_dbg(info->device, " base address 1 is 0x%Lx\n", 2111 2140 (unsigned long long)pdev->resource[1].start); 2112 2141 2113 - if (isPReP) { 2114 - pci_write_config_dword(pdev, PCI_BASE_ADDRESS_0, 0x00000000); 2115 - #ifdef CONFIG_PPC_PREP 2116 - get_prep_addrs(&board_addr, &info->fix.mmio_start); 2117 - #endif 2118 - /* PReP dies if we ioremap the IO registers, but it works w/out... */ 2119 - cinfo->regbase = (char __iomem *) info->fix.mmio_start; 2120 - } else { 2121 - dev_dbg(info->device, 2122 - "Attempt to get PCI info for Cirrus Graphics Card\n"); 2123 - get_pci_addrs(pdev, &board_addr, &info->fix.mmio_start); 2124 - /* FIXME: this forces VGA. alternatives? */ 2125 - cinfo->regbase = NULL; 2126 - cinfo->laguna_mmio = ioremap(info->fix.mmio_start, 0x1000); 2127 - } 2142 + dev_dbg(info->device, 2143 + "Attempt to get PCI info for Cirrus Graphics Card\n"); 2144 + get_pci_addrs(pdev, &board_addr, &info->fix.mmio_start); 2145 + /* FIXME: this forces VGA. alternatives? */ 2146 + cinfo->regbase = NULL; 2147 + cinfo->laguna_mmio = ioremap(info->fix.mmio_start, 0x1000); 2128 2148 2129 2149 dev_dbg(info->device, "Board address: 0x%lx, register address: 0x%lx\n", 2130 2150 board_addr, info->fix.mmio_start);