Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02ea2133 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'omap-for-v3.9/soc-signed' of...

Merge tag 'omap-for-v3.9/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into late/omap

From Tony Lindgren:
am33xx specific updates for restart and revision detection.
Also get rid of OMAP_32K_TIMER_HZ as that no longer is needed.

* tag 'omap-for-v3.9/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2: AM33XX: id: Add support for AM335x PG2.0
  ARM: OMAP2+: Get rid of custom OMAP_32K_TIMER_HZ
  ARM: OMAP2+: AM33xx: Add SoC specific restart hook
parents 836dc9e3 5af044f4
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1650,7 +1650,6 @@ config HZ
	int
	default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
		ARCH_S5PV210 || ARCH_EXYNOS4
	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
	default AT91_TIMER_HZ if ARCH_AT91
	default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
	default 100
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ AFLAGS_sram34xx.o :=-Wa,-march=armv7-a
# Restart code (OMAP4/5 currently in omap4-common.c)
obj-$(CONFIG_SOC_OMAP2420)		+= omap2-restart.o
obj-$(CONFIG_SOC_OMAP2430)		+= omap2-restart.o
obj-$(CONFIG_SOC_AM33XX)		+= am33xx-restart.o
obj-$(CONFIG_ARCH_OMAP3)		+= omap3-restart.o

# Pin multiplexing
+34 −0
Original line number Diff line number Diff line
/*
 * am33xx-restart.c - Code common to all AM33xx machines.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#include <linux/kernel.h>

#include "common.h"
#include "prm-regbits-33xx.h"
#include "prm33xx.h"

/**
 * am3xx_restart - trigger a software restart of the SoC
 * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c
 * @cmd: passed from the userspace program rebooting the system (if provided)
 *
 * Resets the SoC.  For @cmd, see the 'reboot' syscall in
 * kernel/sys.c.  No return value.
 */
void am33xx_restart(char mode, const char *cmd)
{
	/* TODO: Handle mode and cmd if necessary */

	am33xx_prm_rmw_reg_bits(AM33XX_GLOBAL_WARM_SW_RST_MASK,
				AM33XX_GLOBAL_WARM_SW_RST_MASK,
				AM33XX_PRM_DEVICE_MOD,
				AM33XX_PRM_RSTCTRL_OFFSET);

	/* OCP barrier */
	(void)am33xx_prm_read_reg(AM33XX_PRM_DEVICE_MOD,
				  AM33XX_PRM_RSTCTRL_OFFSET);
}
+1 −0
Original line number Diff line number Diff line
@@ -141,6 +141,7 @@ DT_MACHINE_START(AM33XX_DT, "Generic AM33XX (Flattened Device Tree)")
	.init_machine	= omap_generic_init,
	.timer		= &omap3_am33xx_timer,
	.dt_compat	= am33xx_boards_compat,
	.restart	= am33xx_restart,
MACHINE_END
#endif

+8 −0
Original line number Diff line number Diff line
@@ -119,6 +119,14 @@ static inline void omap2xxx_restart(char mode, const char *cmd)
}
#endif

#ifdef CONFIG_SOC_AM33XX
void am33xx_restart(char mode, const char *cmd);
#else
static inline void am33xx_restart(char mode, const char *cmd)
{
}
#endif

#ifdef CONFIG_ARCH_OMAP3
void omap3xxx_restart(char mode, const char *cmd);
#else
Loading