linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/7] ARM: OMAP2+: Fix reboot for 81xx
Date: Tue, 13 Jan 2015 19:24:47 -0600	[thread overview]
Message-ID: <20150114012447.GF18523@saruman> (raw)
In-Reply-To: <1421190837-4692-7-git-send-email-tony@atomide.com>

On Tue, Jan 13, 2015 at 03:13:56PM -0800, Tony Lindgren wrote:
> We are missing proper hooks for 81xx for reboot to work.
> 
> Cc: Brian Hutchinson <b.hutchman@gmail.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  arch/arm/mach-omap2/Makefile         |  1 +
>  arch/arm/mach-omap2/common.h         |  8 ++++++++
>  arch/arm/mach-omap2/ti81xx-restart.c | 31 +++++++++++++++++++++++++++++++
>  3 files changed, 40 insertions(+)
>  create mode 100644 arch/arm/mach-omap2/ti81xx-restart.c
> 
> diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
> index 5d27dfd..3a6463f 100644
> --- a/arch/arm/mach-omap2/Makefile
> +++ b/arch/arm/mach-omap2/Makefile
> @@ -58,6 +58,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_TI81XX)		+= ti81xx-restart.o
>  obj-$(CONFIG_SOC_AM33XX)		+= am33xx-restart.o
>  obj-$(CONFIG_SOC_AM43XX)		+= omap4-restart.o
>  obj-$(CONFIG_ARCH_OMAP3)		+= omap3-restart.o
> diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
> index 900ebdd..65b4371 100644
> --- a/arch/arm/mach-omap2/common.h
> +++ b/arch/arm/mach-omap2/common.h
> @@ -164,6 +164,14 @@ static inline void omap3xxx_restart(enum reboot_mode mode, const char *cmd)
>  }
>  #endif
>  
> +#ifdef CONFIG_SOC_TI81XX
> +void ti81xx_restart(enum reboot_mode mode, const char *cmd);
> +#else
> +static inline void ti81xx_restart(enum reboot_mode mode, const char *cmd)
> +{
> +}
> +#endif
> +
>  #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
>  	defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
>  void omap44xx_restart(enum reboot_mode mode, const char *cmd);
> diff --git a/arch/arm/mach-omap2/ti81xx-restart.c b/arch/arm/mach-omap2/ti81xx-restart.c
> new file mode 100644
> index 0000000..68b29be
> --- /dev/null
> +++ b/arch/arm/mach-omap2/ti81xx-restart.c
> @@ -0,0 +1,31 @@
> +/*
> + * 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 <linux/init.h>
> +#include <linux/reboot.h>
> +
> +#include "iomap.h"
> +#include "common.h"
> +#include "control.h"
> +#include "prm3xxx.h"
> +
> +#define TI81XX_PRM_DEVICE_RSTCTRL	0x00a0
> +#define TI81XX_GLOBAL_RST_COLD		BIT(1)
> +
> +/**
> + * ti81xx_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 ti81xx_restart(enum reboot_mode mode, const char *cmd)
> +{
> +	omap2_prm_set_mod_reg_bits(TI81XX_GLOBAL_RST_COLD, 0,
> +				   TI81XX_PRM_DEVICE_RSTCTRL);

do you need to check that mode == REBOOT_COLD here ?

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150113/5a6e3206/attachment-0001.sig>

  reply	other threads:[~2015-01-14  1:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-13 23:13 [PATCH 0/7] Fixes and clean-up in preparation for booting ti81xx Tony Lindgren
2015-01-13 23:13 ` [PATCH 1/7] ARM: OMAP2+: Remove unused ti81xx platform init code Tony Lindgren
2015-01-14  1:19   ` Felipe Balbi
2015-01-14 17:19     ` Tony Lindgren
2015-01-13 23:13 ` [PATCH 2/7] ARM: OMAP2+: Fix error handling for omap2_clk_enable_init_clocks Tony Lindgren
2015-01-14  1:21   ` Felipe Balbi
2015-01-14 17:27     ` Tony Lindgren
2015-01-13 23:13 ` [PATCH 3/7] ARM: OMAP2+: Fix ti81xx devtype Tony Lindgren
2015-01-13 23:13 ` [PATCH 4/7] ARM: OMAP2+: Fix ti81xx class type Tony Lindgren
2015-01-13 23:13 ` [PATCH 5/7] ARM: OMAP2+: Fix dm814 and dm816 for clocks and timer init Tony Lindgren
2015-01-13 23:13 ` [PATCH 6/7] ARM: OMAP2+: Fix reboot for 81xx Tony Lindgren
2015-01-14  1:24   ` Felipe Balbi [this message]
2015-01-14 19:04     ` Tony Lindgren
2015-01-14 19:30       ` Felipe Balbi
2015-01-13 23:13 ` [PATCH 7/7] ARM: OMAP2+: Disable omap3 PM init for ti81xx Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150114012447.GF18523@saruman \
    --to=balbi@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).