All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 03/10] ARM: socfpga: arria10: add reset manager for Arria10
Date: Thu, 19 Nov 2015 23:35:02 +0100	[thread overview]
Message-ID: <201511192335.02514.marex@denx.de> (raw)
In-Reply-To: <1447968947-8395-4-git-send-email-dinguyen@opensource.altera.com>

On Thursday, November 19, 2015 at 10:35:40 PM, dinguyen at opensource.altera.com 
wrote:
> From: Dinh Nguyen <dinguyen@opensource.altera.com>
> 
> Add the defines for the reset manager and some basic reset functionality.
> 
> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
> ---
>  arch/arm/mach-socfpga/arria10/reset_manager_a10.c  |  83 +++++++++++
>  .../mach-socfpga/include/mach/reset_manager_a10.h  | 162
> +++++++++++++++++++++ 2 files changed, 245 insertions(+)
>  create mode 100644 arch/arm/mach-socfpga/arria10/reset_manager_a10.c
>  create mode 100644 arch/arm/mach-socfpga/include/mach/reset_manager_a10.h
> 
> diff --git a/arch/arm/mach-socfpga/arria10/reset_manager_a10.c
> b/arch/arm/mach-socfpga/arria10/reset_manager_a10.c new file mode 100644
> index 0000000..e2d315a
> --- /dev/null
> +++ b/arch/arm/mach-socfpga/arria10/reset_manager_a10.c
> @@ -0,0 +1,83 @@
> +/*
> + * Copyright (C) 2014 Altera Corporation <www.altera.com>
> + *
> + * SPDX-License-Identifier:	GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +#include <asm/arch/reset_manager_a10.h>
> +#include <asm/arch/system_manager_a10.h>
> +#include <fdtdec.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;

This whole file looks pretty similar to the CV/AV reset manager, can't we
just merge those two into a single file ?

btw. I dont think you need the DECLARE_GLOBAL_DATA_PTR here.

> +static const struct socfpga_reset_manager *reset_manager_base =
> +		(void *)SOCFPGA_RSTMGR_ADDRESS;
> +

[...]

> +#define ALT_RSTMGR_BRGMODRST_H2F_SET_MSK	0x00000001
> +#define ALT_RSTMGR_BRGMODRST_LWH2F_SET_MSK	0x00000002
> +#define ALT_RSTMGR_BRGMODRST_F2H_SET_MSK	0x00000004
> +#define ALT_RSTMGR_BRGMODRST_F2SSDRAM0_SET_MSK	0x00000008
> +#define ALT_RSTMGR_BRGMODRST_F2SSDRAM1_SET_MSK	0x00000010
> +#define ALT_RSTMGR_BRGMODRST_F2SSDRAM2_SET_MSK	0x00000020
> +#define ALT_RSTMGR_BRGMODRST_DDRSCH_SET_MSK	0x00000040

All these are probably just bits, so please use 1 << n here.

> +#define ALT_RSTMGR_HDSKEN_SDRSELFREFEN_SET_MSK	0x00000001
> +#define ALT_RSTMGR_HDSKEN_FPGAMGRHSEN_SET_MSK	0x00000002
> +#define ALT_RSTMGR_HDSKEN_FPGAHSEN_SET_MSK	0x00000004
> +#define ALT_RSTMGR_HDSKEN_ETRSTALLEN_SET_MSK	0x00000008
> +
> +/*
> + * Define a reset identifier, from which a permodrst bank ID
> + * and reset ID can be extracted using the subsequent macros
> + * RSTMGR_RESET() and RSTMGR_BANK().
> + */
> +#define RSTMGR_BANK_OFFSET	8
> +#define RSTMGR_BANK_MASK	0x7
> +#define RSTMGR_RESET_OFFSET	0
> +#define RSTMGR_RESET_MASK	0x1f
> +#define RSTMGR_DEFINE(_bank, _offset)		\
> +	((_bank) << RSTMGR_BANK_OFFSET) | ((_offset) << RSTMGR_RESET_OFFSET)
> +
> +/* Extract reset ID from the reset identifier. */
> +#define RSTMGR_RESET(_reset)			\
> +	(((_reset) >> RSTMGR_RESET_OFFSET) & RSTMGR_RESET_MASK)
> +
> +/* Extract bank ID from the reset identifier. */
> +#define RSTMGR_BANK(_reset)			\
> +(((_reset) >> RSTMGR_BANK_OFFSET) & RSTMGR_BANK_MASK)
> +
> +/*
> + * SocFPGA Cyclone V/Arria V reset IDs, bank mapping is as follows:

Oh yeah ? Looks arria10-ish to me :-)

> + * 0 ... mpumodrst
> + * 1 ... per0modrst
> + * 2 ... per1modrst
> + * 3 ... brgmodrst
> + * 4 ... sysmodrst
> + */
> +#define RSTMGR_EMAC0		RSTMGR_DEFINE(1, 0)
> +#define RSTMGR_EMAC1		RSTMGR_DEFINE(1, 1)
> +#define RSTMGR_EMAC2		RSTMGR_DEFINE(1, 2)
> +#define RSTMGR_WD0		RSTMGR_DEFINE(2, 0)
> +#define RSTMGR_WD1		RSTMGR_DEFINE(2, 1)
> +#define RSTMGR_L4SYSTIMER0	RSTMGR_DEFINE(2, 2)
> +#define RSTMGR_L4SYSTIMER1	RSTMGR_DEFINE(2, 3)
> +#define RSTMGR_SPTIMER0		RSTMGR_DEFINE(2, 4)
> +#define RSTMGR_SPTIMER1		RSTMGR_DEFINE(2, 5)
> +#define RSTMGR_UART0		RSTMGR_DEFINE(2, 16)
> +#define RSTMGR_UART1		RSTMGR_DEFINE(2, 17)
> +#define RSTMGR_SPIM0		RSTMGR_DEFINE(1, 17)
> +#define RSTMGR_SPIM1		RSTMGR_DEFINE(1, 18)
> +#define RSTMGR_QSPI		RSTMGR_DEFINE(1, 6)
> +#define RSTMGR_SDMMC		RSTMGR_DEFINE(1, 7)
> +#define RSTMGR_DMA		RSTMGR_DEFINE(1, 16)
> +#define RSTMGR_DDRSCH		RSTMGR_DEFINE(3, 6)
> +
> +/* Create a human-readable reference to SoCFPGA reset. */
> +#define SOCFPGA_RESET(_name)	RSTMGR_##_name
> +
> +#endif /* _SOCFPGA_RESET_MANAGER_A10_H_ */

  reply	other threads:[~2015-11-19 22:35 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-19 21:35 [U-Boot] [PATCH 00/10] ARM: socfpga: Add minimal support for Arria10 dinguyen at opensource.altera.com
2015-11-19 21:35 ` [U-Boot] [PATCH 01/10] ARM: socfpga: arria10: add base address map " dinguyen at opensource.altera.com
2015-11-19 22:26   ` Marek Vasut
2015-11-23 23:16     ` Dinh Nguyen
2015-11-19 21:35 ` [U-Boot] [PATCH 02/10] ARM: socfpga: arria10: add system manager defines dinguyen at opensource.altera.com
2015-11-19 22:27   ` Marek Vasut
2015-11-19 21:35 ` [U-Boot] [PATCH 03/10] ARM: socfpga: arria10: add reset manager for Arria10 dinguyen at opensource.altera.com
2015-11-19 22:35   ` Marek Vasut [this message]
2015-11-19 21:35 ` [U-Boot] [PATCH 04/10] ARM: socfpga: arria10: add stub sdram init " dinguyen at opensource.altera.com
2015-11-23 12:25   ` Pavel Machek
2015-11-23 12:57     ` Marek Vasut
2015-11-19 21:35 ` [U-Boot] [PATCH 05/10] ARM: socfpga: arria10: add misc functions " dinguyen at opensource.altera.com
2015-11-19 22:37   ` Marek Vasut
2015-11-19 21:35 ` [U-Boot] [PATCH 06/10] ARM: socfpga: arria10: add socfpga_arria10_socdk config dinguyen at opensource.altera.com
2015-11-19 22:43   ` Marek Vasut
2015-11-19 21:35 ` [U-Boot] [PATCH 07/10] ARM: socfpga: arria10: add board files for the Arria10 SoCDK dinguyen at opensource.altera.com
2015-11-23 12:43   ` Pavel Machek
2015-11-19 21:35 ` [U-Boot] [PATCH 08/10] ARM: socfpga: arria10: add socfpga_arria10_defconfig dinguyen at opensource.altera.com
2015-11-19 21:35 ` [U-Boot] [PATCH 09/10] ARM: socfpga: arria10: add config option build for arria10 dinguyen at opensource.altera.com
2015-11-19 21:35 ` [U-Boot] [PATCH 10/10] ARM: socfpga: arria10: add support for building Arria10 dinguyen at opensource.altera.com
2015-11-19 22:45   ` Marek Vasut
2015-11-19 23:28     ` Dinh Nguyen
2015-11-20 12:49       ` Marek Vasut
2015-11-23 14:36         ` Dinh Nguyen
2015-11-23 15:38           ` Marek Vasut
2015-11-23 22:32             ` Dinh Nguyen
2015-11-23 22:46               ` Marek Vasut
2015-11-23 22:50                 ` Dinh Nguyen
2015-11-23 23:03                   ` Marek Vasut
2015-11-23 23:04                     ` Dinh Nguyen
2015-11-23 23:20                       ` Marek Vasut
2015-11-23 23:25                         ` Dinh Nguyen
2015-11-24  3:17                           ` Chin Liang See
2015-11-24  9:31                             ` Marek Vasut
2015-11-24 12:29                               ` Heiko Schocher
2015-11-24  9:33                                 ` Chin Liang See
2015-11-24 13:22                                 ` Chin Liang See
2015-11-24 13:31                               ` Pavel Machek
2015-11-24 13:36                                 ` Chin Liang See
2015-11-24 13:52                                   ` Marek Vasut
2015-11-24 14:01                                     ` Pavel Machek
2015-11-24 15:09                                       ` Marek Vasut
2015-11-24 13:34                               ` Chin Liang See
2015-11-24 13:53                                 ` Marek Vasut
2015-11-23 12:51       ` Pavel Machek

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=201511192335.02514.marex@denx.de \
    --to=marex@denx.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.