Core ux500 changes for v3.12:

- Add support for restart using the PRCMU
 - Move secondary startup out of INIT section
 - set coherent_dma_mask for DMA40
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJSEoUjAAoJEEEQszewGV1zDvQP/2wdMMY4Y89SgJEbik3laGTY
 WYe2rDXaXomsmALRyyhjbfIa4qhEr70ij9pXw+aEisGVDxUmDPrUKcsUwIfASofQ
 NWjnVDhRdfUPeIfXhMfCMJebuUqqggV/rpY3zsy+4ktBbsYDjqUTcCwWxmGDW/TM
 HyJ6jx9Ifc24M8yW9r+4EheOb6rhKLOtx08QsPwf0S3mh2JoiHr5RM7XV8ng+LPS
 3IcFAxLeNbPu7kgW9mwWaZuQ0G0SPFAT5oxzLJlfKbV94caz85UctP62seHlPdia
 0iZnYj/s5cxj/hYGeRpLr8P55QPdZjgtNtx2+gm9raVxXeeB8PXdVZH8RLn65LQ6
 dy0Fwl9kwL04r3CneUgWcAC9W1GkoBTXlWCrhwYTAHB6ir9TDnbWGoaQTBUYWPJN
 rhPYKstCJqcqL1/OKTiPxSqypPJEeFSR9iyHqjCqVBgCVEZqa/rQ32BIIt/+HHoe
 SoYWS0S4C5oQXcTKvtde3Fs7Zc4MPmF7QjgNaQm71uPtjrSPiiw/He+hTZCHZ2v8
 Z/daPM2kwMIyc7ltTdn9wJNSUnFNc8V/e94L0NYcUDzkTTZz8U5VdOqfcfJJO6aX
 DoOfroUzC9PTO2+QuuzzA6a3z6l79Ykaw8ggm8Mw/jUQn0JDhJ79SNpJbqqTL1a6
 lhz/zV3FFJTGH7cLFyrI
 =Yjww
 -----END PGP SIGNATURE-----

Merge tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/soc

From Linus Walleij:
Core ux500 changes for v3.12:
- Add support for restart using the PRCMU
- Move secondary startup out of INIT section
- set coherent_dma_mask for DMA40

* tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: set coherent_dma_mask for dma40
  ARM: ux500: remove u8500_secondary_startup from INIT section.
  ARM: ux500: add restart support via prcmu
This commit is contained in:
Kevin Hilman 2013-08-22 09:21:52 -07:00
commit 1ee64e48fa
6 changed files with 17 additions and 4 deletions

View File

@ -42,7 +42,6 @@
#include <linux/platform_data/dma-ste-dma40.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include "setup.h"
#include "devices.h"
@ -686,6 +685,7 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
.init_time = ux500_timer_init,
.init_machine = mop500_init_machine,
.init_late = ux500_init_late,
.restart = ux500_restart,
MACHINE_END
MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
@ -695,6 +695,7 @@ MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
.init_time = ux500_timer_init,
.init_machine = mop500_init_machine,
.init_late = ux500_init_late,
.restart = ux500_restart,
MACHINE_END
MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
@ -705,6 +706,7 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
.init_time = ux500_timer_init,
.init_machine = hrefv60_init_machine,
.init_late = ux500_init_late,
.restart = ux500_restart,
MACHINE_END
MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
@ -716,4 +718,5 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
.init_time = ux500_timer_init,
.init_machine = snowball_init_machine,
.init_late = NULL,
.restart = ux500_restart,
MACHINE_END

View File

@ -26,7 +26,6 @@
#include <asm/pmu.h>
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include "setup.h"
#include "devices.h"
@ -325,6 +324,7 @@ DT_MACHINE_START(U8500_DT, "ST-Ericsson Ux5x0 platform (Device Tree Support)")
.init_machine = u8500_init_machine,
.init_late = NULL,
.dt_compat = stericsson_dt_platform_compat,
.restart = ux500_restart,
MACHINE_END
#endif

View File

@ -31,6 +31,14 @@
#include "db8500-regs.h"
#include "id.h"
void ux500_restart(enum reboot_mode mode, const char *cmd)
{
local_irq_disable();
local_fiq_disable();
prcmu_system_reset(0);
}
/*
* FIXME: Should we set up the GPIO domain here?
*

View File

@ -49,6 +49,7 @@ struct stedma40_platform_data dma40_plat_data = {
struct platform_device u8500_dma40_device = {
.dev = {
.platform_data = &dma40_plat_data,
.coherent_dma_mask = DMA_BIT_MASK(32),
},
.name = "dma40",
.id = 0,

View File

@ -11,8 +11,6 @@
#include <linux/linkage.h>
#include <linux/init.h>
__INIT
/*
* U8500 specific entry point for secondary CPUs.
*/

View File

@ -11,10 +11,13 @@
#ifndef __ASM_ARCH_SETUP_H
#define __ASM_ARCH_SETUP_H
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <linux/init.h>
#include <linux/mfd/abx500/ab8500.h>
void ux500_restart(enum reboot_mode mode, const char *cmd);
void __init ux500_map_io(void);
extern void __init u8500_map_io(void);