summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/83xx/misc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* powerpc/83xx: map IMMR with a BAT.Christophe Leroy2019-11-191-0/+11
| | | | | | | | | | | | | | | | | | | On mpc83xx with a QE, IMMR is 2Mbytes and aligned on 2Mbytes boundarie. On mpc83xx without a QE, IMMR is 1Mbyte and 1Mbyte aligned. Each driver will map a part of it to access the registers it needs. Some drivers will map the same part of IMMR as other drivers. In order to reduce TLB misses, map the full IMMR with a BAT. If it is 2Mbytes aligned, map 2Mbytes. If there is no QE, the upper part will remain unused, but it doesn't harm as it is mapped as guarded memory. When the IMMR is not aligned on a 2Mbytes boundarie, only map 1Mbyte. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Acked-by: Scott Wood <oss@buserror.net> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/269a00951328fb6fa1be2fa3cbc76c19745019b7.1568665466.git.christophe.leroy@c-s.fr
* treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152Thomas Gleixner2019-05-301-5/+1
| | | | | | | | | | | | | | | | | | | | | Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* powerpc/83xx: handle machine check caused by watchdog timerChristophe Leroy2018-12-221-0/+17
| | | | | | | | | | | | | | When the watchdog timer is set in interrupt mode, it causes a machine check when it times out. The purpose of this mode is to ease debugging, not to crash the kernel and reboot the machine. This patch implements a special handling for that, in order to not crash the kernel if the watchdog times out while in interrupt or within the idle task. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> [scottwood: added missing #include] Signed-off-by: Scott Wood <oss@buserror.net>
* powerpc/83xx: factor out the common codes of setup arch functionsKevin Hao2016-09-251-0/+8
| | | | | | | | | | | | | Factor out the common codes of setup arch functions to a separate function. It does make no sense to print a board specific info in setup arch functions, so use a more general one. For ASP8347E board, there is no pci device node. So it is safe to invoke mpc83xx_setup_pci() in its setup arch function even there is no such invocation in its original setup arch function. Signed-off-by: Kevin Hao <haokexin@gmail.com> Signed-off-by: Scott Wood <oss@buserror.net>
* powerpc: Make ppc_md.{halt, restart} __noreturnDaniel Axtens2016-07-141-1/+1
| | | | | | | | | | | | powernv marks it's halt and restart calls as __noreturn. However, ppc_md does not have this annotation. Add the annotation to ppc_md, and then to every halt/restart function that is missing it. Additionally, I have verified that all of these functions do not return. Occasionally I have added a spin loop to be sure. Signed-off-by: Daniel Axtens <dja@axtens.net> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
* QE: Move QE from arch/powerpc to drivers/socZhao Qiang2015-12-231-1/+1
| | | | | | | | | ls1 has qe and ls1 has arm cpu. move qe from arch/powerpc to drivers/soc/fsl to adapt to powerpc and arm Signed-off-by: Zhao Qiang <qiang.zhao@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
* powerpc: make of_device_ids constUwe Kleine-König2014-09-251-1/+1
| | | | | | | | | | | | | of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. This allows to mark all struct of_device_id const, too. While touching these line also put the __init annotation at the right position where necessary. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
* powerpc/83xx: merge PCI bridge additionsDmitry Eremin-Solenikov2011-11-241-0/+14
| | | | | | | | | Nearly all mpc83xx-based boards have a common piece of code - one that loops over all pci/pcie bridges and registers them. Merge that code into a special function common to all boards. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/83xx: consolidate of_platform_bus_probe callsDmitry Eremin-Solenikov2011-11-241-0/+17
| | | | | | | | | | | | | 83xx board files have a lot of duplication in *_declare_of_platform_devices() functions. Merge that into a single function common to most of the boards. The only leftover is mpc834x_itx.c board file which explicitly asks for fsl,pq2pro-localbus, as corresponding bindings don't provide "simple-bus" compatibility in localbus node. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/83xx: consolidate init_IRQ functionsDmitry Eremin-Solenikov2011-11-241-0/+46
| | | | | | | | | On mpc83xx platform nearly all _init_IRQ functions look alike. They either just setup ipic, or setup ipic and QE PIC. Separate this to special functions to be either referenced from ppc_md, or called from board file. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] 83xx: Don't call ioremap in the reset functionKumar Gala2007-01-261-8/+21
| | | | | | | | | | | | | | It's possibly that we get an reset requestion when interrupts are disabled. (For example an oops in an interrupt handler). Therefor, we can't call ioremap in the reset function. Moving the ioremap of the registers we need access to an arch_initcall helps the problem. However we still have a window between boot and the arch_initcall in which the register pointer will not be setup and thus we spin if the reset function is called. If one needs to ensure even this case is covered, look at use of the watchdog provided on 83xx to reset the processor. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Remove obsolete #include <linux/config.h>Jörn Engel2006-06-301-1/+0
| | | | | Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* powerpc: Fix mpc83xx restart bugKumar Gala2006-02-161-1/+1
| | | | | | We need to write the correct value to the RCR to get a HW reset. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [PATCH] powerpc: Cleanup MPC83xx platform supportKumar Gala2006-02-071-0/+55
Moved some code around so its usable by more systems than just the MPC834x SYS. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>