aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
Commit message (Collapse)AuthorAge
* [POWERPC] mpc512x: Basic platform supportJohn Rigby2008-02-06
| | | | | | | | | | | | | | | | | | 512x is very similar to 83xx and most of this is patterned after code from 83xx. New platform: changed: arch/powerpc/Kconfig arch/powerpc/platforms/Kconfig arch/powerpc/platforms/Kconfig.cputype arch/powerpc/platforms/Makefile new: arch/powerpc/platforms/512x/* include/asm-powerpc/mpc512x.h Signed-off-by: John Rigby <jrigby@freescale.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* [POWERPC] Cell IOMMU fixed mapping supportMichael Ellerman2008-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for setting up a fixed IOMMU mapping on certain cell machines. For 64-bit devices this avoids the performance overhead of mapping and unmapping pages at runtime. 32-bit devices are unable to use the fixed mapping. The fixed mapping is established at boot, and maps all of physical memory 1:1 into device space at some offset. On machines with < 30 GB of memory we setup the fixed mapping immediately above the normal IOMMU window. For example a machine with 4GB of memory would end up with the normal IOMMU window from 0-2GB and the fixed mapping window from 2GB to 6GB. In this case a 64-bit device wishing to DMA to 1GB would be told to DMA to 3GB, plus any offset required by firmware. The firmware offset is encoded in the "dma-ranges" property. On machines with 30GB or more of memory, we are unable to place the fixed mapping above the normal IOMMU window as we would run out of address space. Instead we move the normal IOMMU window to coincide with the hash page table, this region does not need to be part of the fixed mapping as no device should ever be DMA'ing to it. We then setup the fixed mapping from 0 to 32GB. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Split out the ioid fetching/checking logicMichael Ellerman2008-01-30
| | | | | | | | | Split out the ioid fetching and checking logic so we can use it elsewhere in a subsequent patch. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windowsMichael Ellerman2008-01-30
| | | | | | | | | | | | | Add support to cell_iommu_setup_page_tables() for handling two windows, the dynamic window and the fixed window. A fixed window size of 0 indicates that there is no fixed window at all. Currently there are no callers who pass a non-zero fixed window, but the upcoming fixed IOMMU mapping patch will change that. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()Michael Ellerman2008-01-30
| | | | | | | | | | Split the IOMMU logic out from cell_dma_dev_setup() into a separate function. If we're not using dma_direct_ops or dma_iommu_ops we don't know what the hell's going on, so BUG. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Split cell_iommu_setup_hardware() into two partsMichael Ellerman2008-01-30
| | | | | | | | | | Split cell_iommu_setup_hardware() into two parts. Split the page table setup into cell_iommu_setup_page_tables() and the bits that kick the hardware into cell_iommu_enable_hardware(). Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Split out the logic that allocates struct iommusMichael Ellerman2008-01-30
| | | | | | | | | | Split out the logic that allocates a struct iommu into a separate function. This can fail however the calling code has never cared - so just return if we can't allocate an iommu. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge branch 'linux-2.6'Paul Mackerras2008-01-30
|\
| * pasemi: export pasemi_dma_init()Olof Johansson2008-01-28
| | | | | | | | | | | | | | Forgot to export this one. Needed when pasemi_mac is compiled as a module. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * pasemi: DMA engine management libraryOlof Johansson2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | pasemi: DMA engine management library Introduce a DMA management library to manage the various DMA resources on the PA Semi SoCs. Since several drivers need to allocate these shared resources, provide some abstractions as well as allocation/free functions for channels, etc. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus()Gautham R Shenoy2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use get_online_cpus and put_online_cpus instead as it highlights the refcount semantics in these operations. The new API guarantees protection against the cpu-hotplug operation, but it doesn't guarantee serialized access to any of the local data structures. Hence the changes needs to be reviewed. In case of pseries_add_processor/pseries_remove_processor, use cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the cpu_present_map there. Signed-off-by: Gautham R Shenoy <ego@in.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * Driver core: change sysdev classes to use dynamic kobject namesKay Sievers2008-01-24
| | | | | | | | | | | | | | | | | | | | All kobjects require a dynamically allocated name now. We no longer need to keep track if the name is statically assigned, we can just unconditionally free() all kobject names on cleanup. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * driver core: make /sys/power a kobjectGreg Kroah-Hartman2008-01-24
| | | | | | | | | | | | | | | | | | /sys/power should not be a kset, that's overkill. This patch renames it to power_kset and fixes up all usages of it in the tree. Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * kobject: convert pseries/power.c to kobj_attr interfaceGreg Kroah-Hartman2008-01-24
| | | | | | | | | | | | | | | | | | | | This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Manish Ahuja <mahuja@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * kset: convert /sys/power to use kset_createGreg Kroah-Hartman2008-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamically create the kset instead of declaring it statically. We also rename power_subsys to power_kset to catch all users of the variable and we properly export it so that people don't have to guess that it really is present in the system. The pseries code is wierd, why is it createing /sys/power if CONFIG_PM is disabled? Oh well, stupid big boxes ignoring config options... Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * kobject: remove struct kobj_type from struct ksetGreg Kroah-Hartman2008-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need a "default" ktype for a kset. We should set this explicitly every time for each kset. This change is needed so that we can make ksets dynamic, and cleans up one of the odd, undocumented assumption that the kset/kobject/ktype model has. This patch is based on a lot of help from Kay Sievers. Nasty bug in the block code was found by Dave Young <hidave.darkstar@gmail.com> Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge branch 'for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-mpc52xxPaul Mackerras2008-01-30
|\ \
| * | [POWERPC] Add common clock setting routine mpc52xx_psc_set_clkdiv()Grant Likely2008-01-26
| | | | | | | | | | | | | | | | | | | | | | | | PSC drivers should not access the CDM registers directly. Instead provide a common routine for setting the PSC clock parameters with the required locking. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | [POWERPC] mpc5200: normalize compatible property bindingsGrant Likely2008-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update MPC5200 drivers to also look for compatible properties in the form "fsl,mpc5200-*" to better conform to open firmware generic names recommended practice as published here: http://www.openfirmware.org/1275/practice/gnames/gnamv14a.html This patch should *not* break compatibility with older device trees which do not use the 'fsl,' prefix. The drivers will still bind against the older names also. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | [POWERPC] mpc52xx: clean up KconfigGrant Likely2008-01-26
| | | | | | | | | | | | | | | | | | | | | Put all the mpc5200 board config option behind a menu item to get them out of the top level of the platform support list Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | | [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcallKumar Gala2008-01-28
| | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 83xx: rework platform KconfigKumar Gala2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow multiple boards to be selected in a single build * Removed Kconfig option '83xx' which existed only for compat with arch/ppc * Removed Kconfig option 'PPC_MPC836x' since its not used * Renamed Kconfig option 'MPC834x' to 'PPC_MPC834x' to match others * Added a multiplatform 83xx defconfig (mpc83xx_defconfig). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 85xx: rework platform KconfigKumar Gala2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow multiple boards to be selected in a single build * Removed Kconfig option '85xx' which existed only for compat with arch/ppc * Added a multiplatform 85xx defconfig (mpc85xx_defconfig). This builds all 85xx boards except sbc8560 and stx_gp3 since these to boards have board specific ifdef in driver code that may break all other boards Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 83xx: add MPC837x RDB platform supportKim Phillips2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | primarily based on mpc837x mds code. Signed-off-by: Joe D'Abbraccio <ljd015@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 83xx: add base platform support for the mpc8315 rdb boardKim Phillips2008-01-28
| | | | | | | | | | | | | | | | | | | | | mpc8315 identical to mpc8313 here, just check compatible. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 83xx: fold the mpc8313 platform into the mpc831x platformKim Phillips2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | prepare for adding support for the mpc8315 rdb, since they are identical wrt platform code. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] QE: get rid of most device_types and modelAnton Vorontsov2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we're searching for "fsl,qe", "fsl,qe-muram", "fsl,qe-muram-data" and "fsl,qe-ic". Unfortunately it's still impossible to remove device_type = "qe" from the existing device trees because older u-boots are looking for it. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 85xx: some minor cleanups for stx_gp3 and tqm85xxKumar Gala2008-01-28
| | | | | | | | | | | | | | | | | | | | | * "simple-bus" covers all our needs for of_platform_bus_probe() * make device tree name just 'soc' not 'soc85..' Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] CPM: Rename commproc to cpm1 and cpm2_common.c to cpm2.cJochen Friedrich2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rename commproc.[ch] to cpm1.[ch] to be more consistent with cpm2. Also rename cpm2_common.c to cpm2.c as suggested by Scott Wood. Adjust the includes accordingly. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 8xx: Get rid of conditional includes of board specific setupJochen Friedrich2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | Directly include mpc885ads.h from mpc885ads_setup.c. Now we can get rid of the arch dependent includes in mpc8xx.h. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 8xx: Remove sysdev/commproc.hJochen Friedrich2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move cpm1 specific prototypes to asm/commproc.h and mpc8xx specific prototypes to asm/mpc8xx.h. Adjust includes accordingly. Remove now unneeded sysdev/commproc.h. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 8xx: Remove unneeded and misspelled prototype m8xx_calibrate_decrJochen Friedrich2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | m8xx_calibrate_decr seems to be a misspelled prototype for mpc8xx_calibrate_decr. As it's not needed anyways, just remove it. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 8xx: Rename m8xx_pic_init to mpc8xx_pics_initJochen Friedrich2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | m8xx_pic_init calls both mpc8xx_pic_init and cpm_pic_init. Renaming the function to use the same name space as the rest of the mpc8xx specific funtions and to be more meaningful. m8xx_pic_init is declared in ppc8xx_pic.h but defined nowhere in the ppc tree. Remove it. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 83xx: Add support for Wind River SBC834x boardsPaul Gortmaker2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the basic support for the Wind River SBC834x boards. The SBC8349 is more common, although it should work on the SBC8347 board as well. Support is heavily based on the existing MPC834x_MDS code. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 85xx: Add basic support for Wind River SBC8548 boardPaul Gortmaker2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | This adds the basic support for the Wind River SBC8548 board, implemented as powerpc. It closely follows the implementation of the MPC8548CDS. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] CPM2: Make support for the CPM2 optional on 8560 based boardsPaul Gortmaker2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no way to disable the CPM2 support. Some boards, like the SBC8560 have their own external UART and don't have any direct dependencies on the CPM for a serial console or anything else. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 85xx: Add support for Wind River SBC8560 in arch/powerpcPaul Gortmaker2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Wind River SBC8560 board, implemented as powerpc. It closely follows the implementation of the MPC8560ADS. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 82xx and embedded6xx: Use machine_*_initcall() hooks in platform codeGrant Likely2008-01-28
| | | | | | | | | | | | | | | Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 85xx: Port TQM85xx boards over from arch/ppcKumar Gala2008-01-27
| | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | [POWERPC] 85xx: Port STX GP3 board over from arch/ppcKumar Gala2008-01-27
|/ / | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | Merge branch 'for-2.6.25' of ↵Paul Mackerras2008-01-25
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx
| * | [POWERPC] 4xx: PIKA Warp base platformSean MacLennan2008-01-25
| | | | | | | | | | | | | | | | | | | | | Add the base platform support for the PIKA Warp boards. Signed-off-by: Sean MacLennan <smaclennan@pikatech.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| * | [POWERPC] Enable RTC for Ebony and Walnut (v2)David Gibson2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch extends the Ebony and Walnut platform code to instantiate the existing ds1742 RTC class driver for the DS1743 RTC/NVRAM chip found on both those boards. The patch uses a helper function to scan the device tree and instantiate the appropriate platform_device based on it, so it should be easy to extend for other boards which have mmio mapped RTC chips. Along with this, the device tree binding for the ds1743 chips is tweaked, based on the existing DS1385 OF binding found at: http://playground.sun.com/1275/proposals/Closed/Remanded/Accepted/346-it.txt Although that document covers the NVRAM portion of the chip, whereas here we're interested in the RTC portion, so it's not entirely clear if that's a good model. This implements only RTC class driver support - that is /dev/rtc0, not /dev/rtc, and the low-level get/set time callbacks remain unimplemented. That means in order to get at the clock you will either need a modified version of hwclock which will look at /dev/rtc0, or you'll need to configure udev to symlink rtc0 to rtc. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
* | | [POWERPC] Autodetect serial console on pegasos2Olaf Hering2008-01-25
| | | | | | | | | | | | | | | Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [POWERPC] Revert chrp_pci_fixup_vt8231_ata devinit to fix libata on pegasosOlaf Hering2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 6d98bda79bea0e1be26c0767d0e9923ad3b72f2e changed the init order for chrp_pci_fixup_vt8231_ata(). It can not work anymore because either the irq is not yet set to 14 or pci_get_device() returns nothing. At least the printk() in chrp_pci_fixup_vt8231_ata() does not trigger anymore. pata_via works again on Pegasos with the change below. Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [POWERPC] Make IOMMU code safe for > 132 GB of memoryMichael Ellerman2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the IOMMU code allocates one page for the segment table, that isn't safe if we have more than 132 GB of RAM. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [POWERPC] Have celleb use its own dma_direct_offset variableMichael Ellerman2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than using the global variable, have celleb use its own variable to store the direct DMA offset. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [POWERPC] Have cell use its own dma_direct_offset variableMichael Ellerman2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than using the global variable, have cell use its own variable to store the direct DMA offset. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [POWERPC] Add celleb_dma_dev_setup()Michael Ellerman2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Celleb always uses dma_direct_ops, and sets dma_direct_offset, so it too should set dma_data to dma_direct_offset. Currently there's no pci_dma_dev_setup() routine for Celleb so add one. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [POWERPC] Set archdata.dma_data for direct DMA in cell_dma_dev_setup()Michael Ellerman2008-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the direct_dma_offset in each device's dma_data in the case where we're using the direct DMA ops. We need to make sure we setup the ppc_md.pci_dma_dev_setup() callback if we're using a non-zero offset. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>