From: Wolfram Sang <w.sang@pengutronix.de>
To: Anatolij Gustschin <agust@denx.de>
Cc: linuxppc-dev@ozlabs.org, wd@denx.de, dzu@denx.de,
Piotr Ziecik <kosmo@semihalf.com>
Subject: Re: [PATCH v3 02/11] powerpc/mpc5121: Add machine restart support
Date: Wed, 10 Feb 2010 00:24:06 +0100 [thread overview]
Message-ID: <20100209232406.GA21807@pengutronix.de> (raw)
In-Reply-To: <1265377377-29327-3-git-send-email-agust@denx.de>
[-- Attachment #1: Type: text/plain, Size: 5161 bytes --]
Hi,
On Fri, Feb 05, 2010 at 02:42:48PM +0100, Anatolij Gustschin wrote:
> Add reset module registers representation and
> machine restart callback for mpc5121 platform.
>
Two comments:
> Signed-off-by: Piotr Ziecik <kosmo@semihalf.com>
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: John Rigby <jcrigby@gmail.com>
> ---
> Changes since v2:
> - call mpc512x_restart_init() explicitely from platform
> init code
>
> Changes since v1:
> - use 'struct mpc512x_reset_module *' type for 'reset_module_base'
> - remove empty line
> - remove leftover colon and use pr_err() instead of printk.
>
> arch/powerpc/include/asm/mpc5xxx.h | 14 +++++++++-
> arch/powerpc/platforms/512x/mpc5121_ads.c | 1 +
> arch/powerpc/platforms/512x/mpc5121_generic.c | 1 +
> arch/powerpc/platforms/512x/mpc512x.h | 1 +
> arch/powerpc/platforms/512x/mpc512x_shared.c | 34 +++++++++++++++++++++++++
> 5 files changed, 50 insertions(+), 1 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/mpc5xxx.h b/arch/powerpc/include/asm/mpc5xxx.h
> index 5ce9c5f..0004986 100644
> --- a/arch/powerpc/include/asm/mpc5xxx.h
> +++ b/arch/powerpc/include/asm/mpc5xxx.h
> @@ -18,5 +18,17 @@
>
> extern unsigned long mpc5xxx_get_bus_frequency(struct device_node *node);
>
> -#endif /* __ASM_POWERPC_MPC5xxx_H__ */
> +/* MPC512x Reset module registers */
> +struct mpc512x_reset_module {
> + u32 rcwlr; /* Reset Configuration Word Low Register */
> + u32 rcwhr; /* Reset Configuration Word High Register */
> + u32 reserved1;
> + u32 reserved2;
> + u32 rsr; /* Reset Status Register */
> + u32 rmr; /* Reset Mode Register */
> + u32 rpr; /* Reset Protection Register */
> + u32 rcr; /* Reset Control Register */
> + u32 rcer; /* Reset Control Enable Register */
> +};
>
> +#endif /* __ASM_POWERPC_MPC5xxx_H__ */
> diff --git a/arch/powerpc/platforms/512x/mpc5121_ads.c b/arch/powerpc/platforms/512x/mpc5121_ads.c
> index 0f8f2e9..ee6ae12 100644
> --- a/arch/powerpc/platforms/512x/mpc5121_ads.c
> +++ b/arch/powerpc/platforms/512x/mpc5121_ads.c
> @@ -68,4 +68,5 @@ define_machine(mpc5121_ads) {
> .init_IRQ = mpc5121_ads_init_IRQ,
> .get_irq = ipic_get_irq,
> .calibrate_decr = generic_calibrate_decr,
> + .restart = mpc512x_restart,
> };
> diff --git a/arch/powerpc/platforms/512x/mpc5121_generic.c b/arch/powerpc/platforms/512x/mpc5121_generic.c
> index 9b8c9b0..a6c0e3a 100644
> --- a/arch/powerpc/platforms/512x/mpc5121_generic.c
> +++ b/arch/powerpc/platforms/512x/mpc5121_generic.c
> @@ -55,4 +55,5 @@ define_machine(mpc5121_generic) {
> .init_IRQ = mpc512x_init_IRQ,
> .get_irq = ipic_get_irq,
> .calibrate_decr = generic_calibrate_decr,
> + .restart = mpc512x_restart,
> };
> diff --git a/arch/powerpc/platforms/512x/mpc512x.h b/arch/powerpc/platforms/512x/mpc512x.h
> index ac3da1a..b2daca0 100644
> --- a/arch/powerpc/platforms/512x/mpc512x.h
> +++ b/arch/powerpc/platforms/512x/mpc512x.h
> @@ -15,4 +15,5 @@ extern void __init mpc512x_init_IRQ(void);
> extern void __init mpc512x_init(void);
> extern int __init mpc5121_clk_init(void);
> void __init mpc512x_declare_of_platform_devices(void);
> +extern void mpc512x_restart(char *cmd);
> #endif /* __MPC512X_H__ */
> diff --git a/arch/powerpc/platforms/512x/mpc512x_shared.c b/arch/powerpc/platforms/512x/mpc512x_shared.c
> index b683165..ac0400e 100644
> --- a/arch/powerpc/platforms/512x/mpc512x_shared.c
> +++ b/arch/powerpc/platforms/512x/mpc512x_shared.c
> @@ -21,9 +21,42 @@
> #include <asm/ipic.h>
> #include <asm/prom.h>
> #include <asm/time.h>
> +#include <asm/mpc5xxx.h>
>
> #include "mpc512x.h"
>
> +static struct mpc512x_reset_module __iomem *reset_module_base;
> +
> +static int __init mpc512x_restart_init(void)
> +{
> + struct device_node *np;
> +
> + np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-reset");
> + if (!np)
> + return -1;
> +
> + reset_module_base = of_iomap(np, 0);
> + of_node_put(np);
> +
> + return 0;
> +}
> +
> +void mpc512x_restart(char *cmd)
> +{
> + struct mpc512x_reset_module *rm = reset_module_base;
Why not using reset_module_base directly?
> +
> + if (rm) {
> + /* Enable software reset "RSTE" */
> + out_be32(&rm->rpr, 0x52535445);
> + /* Set software hard reset */
> + out_be32(&rm->rcr, 0x2);
> + } else {
> + pr_err("Restart module not mapped.\n");
> + }
> + for (;;)
> + ;
> +}
> +
> void __init mpc512x_init_IRQ(void)
> {
> struct device_node *np;
> @@ -62,4 +95,5 @@ void __init mpc512x_init(void)
> {
> mpc512x_declare_of_platform_devices();
> mpc5121_clk_init();
> + mpc512x_restart_init();
If the return value is not checked here, you could as well make the function
void. (Not much one could do in the error-case, too.)
> }
> --
Regards,
Wolfram
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2010-02-09 23:24 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-05 13:42 [PATCH v3 00/11] Update support for MPC512x Anatolij Gustschin
2010-02-05 13:42 ` Anatolij Gustschin
2010-02-05 13:42 ` [PATCH v3 01/11] powerpc/mpc5121: avoid using arch_initcall for clock init Anatolij Gustschin
2010-02-05 13:42 ` [PATCH v3 02/11] powerpc/mpc5121: Add machine restart support Anatolij Gustschin
2010-02-09 23:24 ` Wolfram Sang [this message]
2010-02-15 16:38 ` Anatolij Gustschin
2010-02-10 2:32 ` Grant Likely
2010-02-15 16:51 ` [PATCH v4 " Anatolij Gustschin
2010-02-15 20:58 ` Wolfram Sang
2010-02-05 13:42 ` [PATCH v3 03/11] rtc: Add MPC5121 Real time clock driver Anatolij Gustschin
2010-02-10 2:39 ` Grant Likely
2010-02-10 18:25 ` [rtc-linux] " Alessandro Zummo
2010-02-05 13:42 ` [PATCH v3 04/11] mtd: Add MPC5121 NAND Flash Controller driver Anatolij Gustschin
2010-02-05 13:42 ` Anatolij Gustschin
2010-02-10 2:42 ` Grant Likely
2010-02-10 2:42 ` Grant Likely
2010-03-30 13:15 ` Artem Bityutskiy
2010-03-30 13:15 ` Artem Bityutskiy
2010-02-15 17:35 ` [PATCH v4 " Anatolij Gustschin
2010-02-15 17:35 ` Anatolij Gustschin
2010-02-16 8:11 ` Artem Bityutskiy
2010-02-16 8:11 ` Artem Bityutskiy
2010-02-23 15:54 ` Kári Davíðsson
2010-02-05 13:42 ` [PATCH v3 05/11] powerpc/mpc5121: create and register NFC device Anatolij Gustschin
2010-02-05 13:42 ` [PATCH v3 06/11] dma: Add MPC512x DMA driver Anatolij Gustschin
2010-02-10 2:44 ` Grant Likely
2010-03-01 13:46 ` Anatolij Gustschin
2010-03-02 6:00 ` Dan Williams
2010-02-05 13:42 ` [PATCH v3 07/11] powerpc/fsl_soc.c: prepare for addition of mpc5121 USB code Anatolij Gustschin
2010-02-05 13:42 ` [PATCH v3 08/11] powerpc/mpc5121: add USB host support Anatolij Gustschin
2010-02-05 13:42 ` [PATCH v3 09/11] powerpc/mpc5121: shared DIU framebuffer support Anatolij Gustschin
2010-02-16 18:06 ` Grant Likely
2010-02-18 16:15 ` York Sun
2010-02-27 21:58 ` [PATCH 0/3] Rework MPC5121 DIU support (for 2.6.34) Anatolij Gustschin
2010-02-27 21:58 ` Anatolij Gustschin
2010-02-28 7:04 ` Grant Likely
2010-02-28 7:04 ` Grant Likely
2010-02-28 14:32 ` sun york-R58495
2010-02-28 14:32 ` sun york-R58495
2010-02-27 21:58 ` [PATCH 1/3] video: add support for getting video mode from device tree Anatolij Gustschin
2010-02-27 21:58 ` Anatolij Gustschin
2010-02-28 6:30 ` [PATCH 1/3] video: add support for getting video mode from device Grant Likely
2010-02-28 6:30 ` [PATCH 1/3] video: add support for getting video mode from device tree Grant Likely
2010-02-28 6:30 ` Grant Likely
[not found] ` <fa686aa41002272230s7f900c0fv1aabf0e26ccbf84c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-28 8:44 ` [PATCH 1/3] video: add support for getting video mode from device Mitch Bradley
2010-02-28 8:44 ` [PATCH 1/3] video: add support for getting video mode from device tree Mitch Bradley
2010-02-28 8:44 ` Mitch Bradley
[not found] ` <4B8A2CD7.7070305-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-02-28 14:47 ` [PATCH 1/3] video: add support for getting video mode from device Grant Likely
2010-02-28 14:47 ` [PATCH 1/3] video: add support for getting video mode from device tree Grant Likely
2010-02-28 14:47 ` Grant Likely
2010-03-01 3:45 ` [PATCH 1/3] video: add support for getting video mode from Benjamin Herrenschmidt
2010-03-01 3:45 ` [PATCH 1/3] video: add support for getting video mode from device tree Benjamin Herrenschmidt
2010-03-01 3:45 ` Benjamin Herrenschmidt
2010-04-28 13:43 ` [PATCH 1/3] video: add support for getting video mode from Anatolij Gustschin
2010-04-28 13:43 ` [PATCH 1/3] video: add support for getting video mode from device tree Anatolij Gustschin
2010-04-28 13:43 ` Anatolij Gustschin
2010-05-19 21:19 ` [PATCH 1/3] video: add support for getting video mode from device Grant Likely
2010-05-19 21:19 ` [PATCH 1/3] video: add support for getting video mode from device tree Grant Likely
2010-05-19 21:19 ` Grant Likely
2010-02-27 21:58 ` [PATCH 2/3] fbdev: fsl-diu-fb.c: allow setting panel video mode from DT Anatolij Gustschin
2010-02-27 21:58 ` Anatolij Gustschin
2010-02-28 6:52 ` [PATCH 2/3] fbdev: fsl-diu-fb.c: allow setting panel video mode Grant Likely
2010-02-28 6:52 ` [PATCH 2/3] fbdev: fsl-diu-fb.c: allow setting panel video mode from DT Grant Likely
2010-02-27 21:58 ` [PATCH 3/3] powerpc/mpc5121: shared DIU framebuffer support Anatolij Gustschin
2010-02-27 21:58 ` Anatolij Gustschin
2010-02-28 6:50 ` Grant Likely
2010-02-28 6:50 ` Grant Likely
2010-04-28 20:28 ` Anatolij Gustschin
2010-04-28 20:28 ` Anatolij Gustschin
2010-02-27 22:09 ` [PATCH v3 09/11] " Anatolij Gustschin
2010-02-05 13:42 ` [PATCH v3 10/11] powerpc/mpc5121: update mpc5121ads DTS Anatolij Gustschin
2010-02-16 18:11 ` Grant Likely
2010-02-16 19:32 ` [PATCH] powerpc: mpc5121: correct DIU compatible property Anatolij Gustschin
2010-02-16 19:51 ` Grant Likely
2010-02-05 13:42 ` [PATCH v3 11/11] powerpc/mpc5121: Add default config for MPC5121 Anatolij Gustschin
2010-02-09 8:48 ` [PATCH v3 00/11] Update support for MPC512x Anatolij Gustschin
2010-02-09 8:48 ` Anatolij Gustschin
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=20100209232406.GA21807@pengutronix.de \
--to=w.sang@pengutronix.de \
--cc=agust@denx.de \
--cc=dzu@denx.de \
--cc=kosmo@semihalf.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=wd@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.