public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: k2g: Configure reset mux to device reset
Date: Thu, 26 May 2016 10:45:48 -0500	[thread overview]
Message-ID: <57471A2C.3020906@ti.com> (raw)
In-Reply-To: <1464269744-15332-1-git-send-email-lokeshvutla@ti.com>

On 05/26/2016 08:35 AM, Lokesh Vutla wrote:
> BOOTCFG_RSTMUX8 register controls the reset mux associated with the ARM.
> Timer5(dedicated to ARM) when used as WatchDog timer, the events it
> generates are routed to the above mux.
> 
> Following are the 3 events that can controlled bt the reset mux:
> - Device Reset
> - An interrupt to the ARM_GIC
> - An interrupt to the ARM_GIC followed by a device reset.
> 
> Right now to give a default watchdog behaviour "Device reset" is
> being selected.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> ---


Thanks.
Acked-by: Nishanth Menon <nm@ti.com>

>  arch/arm/mach-keystone/include/mach/hardware-k2g.h | 12 ++++++++++++
>  board/ti/ks2_evm/board_k2g.c                       | 16 ++++++++++++++++
>  2 files changed, 28 insertions(+)
> 
> diff --git a/arch/arm/mach-keystone/include/mach/hardware-k2g.h b/arch/arm/mach-keystone/include/mach/hardware-k2g.h
> index ca2a119..0f6bf61 100644
> --- a/arch/arm/mach-keystone/include/mach/hardware-k2g.h
> +++ b/arch/arm/mach-keystone/include/mach/hardware-k2g.h
> @@ -74,4 +74,16 @@
>  #define K2G_GPIO_DIR_OFFSET		0x0
>  #define K2G_GPIO_SETDATA_OFFSET		0x8
>  
> +/* BOOTCFG RESETMUX8 */
> +#define KS2_RSTMUX8			(KS2_DEVICE_STATE_CTRL_BASE + 0x328)
> +
> +/* RESETMUX register definitions */
> +#define RSTMUX_LOCK8_SHIFT		0x0
> +#define RSTMUX_LOCK8_MASK		(0x1 << 0)
> +#define RSTMUX_OMODE8_SHIFT		0x1
> +#define RSTMUX_OMODE8_MASK		(0x7 << 1)
> +#define RSTMUX_OMODE8_DEV_RESET		0x2
> +#define RSTMUX_OMODE8_INT		0x3
> +#define RSTMUX_OMODE8_INT_AND_DEV_RESET	0x4
> +
>  #endif /* __ASM_ARCH_HARDWARE_K2G_H */
> diff --git a/board/ti/ks2_evm/board_k2g.c b/board/ti/ks2_evm/board_k2g.c
> index b62c412..8f16845 100644
> --- a/board/ti/ks2_evm/board_k2g.c
> +++ b/board/ti/ks2_evm/board_k2g.c
> @@ -117,12 +117,28 @@ int board_mmc_init(bd_t *bis)
>  #endif
>  
>  #ifdef CONFIG_BOARD_EARLY_INIT_F
> +
> +static void k2g_reset_mux_config(void)
> +{
> +	/* Unlock the reset mux register */
> +	clrbits_le32(KS2_RSTMUX8, RSTMUX_LOCK8_MASK);
> +
> +	/* Configure BOOTCFG_RSTMUX8 for WDT event to cause a device reset */
> +	clrsetbits_le32(KS2_RSTMUX8, RSTMUX_OMODE8_MASK,
> +			RSTMUX_OMODE8_DEV_RESET << RSTMUX_OMODE8_SHIFT);
> +
> +	/* lock the reset mux register to prevent any spurious writes. */
> +	setbits_le32(KS2_RSTMUX8, RSTMUX_LOCK8_MASK);
> +}
> +
>  int board_early_init_f(void)
>  {
>  	init_plls();
>  
>  	k2g_mux_config();
>  
> +	k2g_reset_mux_config();
> +
>  	/* deassert FLASH_HOLD */
>  	clrbits_le32(K2G_GPIO1_BANK2_BASE + K2G_GPIO_DIR_OFFSET,
>  		     BIT(9));
> 


-- 
Regards,
Nishanth Menon

  reply	other threads:[~2016-05-26 15:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-26 13:35 [U-Boot] [PATCH] ARM: k2g: Configure reset mux to device reset Lokesh Vutla
2016-05-26 15:45 ` Nishanth Menon [this message]
2016-06-03 13:59 ` [U-Boot] " Tom Rini

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=57471A2C.3020906@ti.com \
    --to=nm@ti.com \
    --cc=u-boot@lists.denx.de \
    /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