* [PATCH v2 0/4] [POWERPC] MPC5200: update gpt binding, add restart support
@ 2007-10-18 18:44 Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 1/4] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Marian Balakowicz @ 2007-10-18 18:44 UTC (permalink / raw)
To: linuxppc-dev
Here's the second version of MPC5200 patches, please review. Thanks!
[POWERPC] Enable restart support for lite5200 board
[POWERPC] Add restart support for mpc52xx based platforms
[POWERPC] Update device tree binding for mpc5200 gpt
[POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions
Cheers,
m.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/4] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions
2007-10-18 18:44 [PATCH v2 0/4] [POWERPC] MPC5200: update gpt binding, add restart support Marian Balakowicz
@ 2007-10-18 18:44 ` Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt Marian Balakowicz
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Marian Balakowicz @ 2007-10-18 18:44 UTC (permalink / raw)
To: linuxppc-dev
Add helper routine mpc52xx_find_and_map_path(). Extract common code to
mpc52xx_map_node() and refactor mpc52xx_find_and_map().
Signed-off-by: Jan Wrobel <wrr@semihalf.com>
Reviewed-by: Grant Likely <grant.likely@secretlab.ca>
---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 21 +++++++++++++++++----
include/asm-powerpc/mpc52xx.h | 1 +
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
index 3bc201e..74b4b41 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
@@ -19,14 +19,12 @@
#include <asm/mpc52xx.h>
-void __iomem *
-mpc52xx_find_and_map(const char *compatible)
+static void __iomem *
+mpc52xx_map_node(struct device_node *ofn)
{
- struct device_node *ofn;
const u32 *regaddr_p;
u64 regaddr64, size64;
- ofn = of_find_compatible_node(NULL, NULL, compatible);
if (!ofn)
return NULL;
@@ -42,8 +40,23 @@ mpc52xx_find_and_map(const char *compatible)
return ioremap((u32)regaddr64, (u32)size64);
}
+
+void __iomem *
+mpc52xx_find_and_map(const char *compatible)
+{
+ return mpc52xx_map_node(
+ of_find_compatible_node(NULL, NULL, compatible));
+}
+
EXPORT_SYMBOL(mpc52xx_find_and_map);
+void __iomem *
+mpc52xx_find_and_map_path(const char *path)
+{
+ return mpc52xx_map_node(of_find_node_by_path(path));
+}
+
+EXPORT_SYMBOL(mpc52xx_find_and_map_path);
/**
* mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
index 24751df..9cf05f9 100644
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
@@ -242,6 +242,7 @@ struct mpc52xx_cdm {
#ifndef __ASSEMBLY__
extern void __iomem * mpc52xx_find_and_map(const char *);
+extern void __iomem * mpc52xx_find_and_map_path(const char *path);
extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node);
extern void mpc5200_setup_xlb_arbiter(void);
extern void mpc52xx_declare_of_platform_devices(void);
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt
2007-10-18 18:44 [PATCH v2 0/4] [POWERPC] MPC5200: update gpt binding, add restart support Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 1/4] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
@ 2007-10-18 18:44 ` Marian Balakowicz
2007-10-21 16:54 ` Grant Likely
2007-10-18 18:44 ` [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 4/4] [POWERPC] Enable restart support for lite5200 board Marian Balakowicz
3 siblings, 1 reply; 9+ messages in thread
From: Marian Balakowicz @ 2007-10-18 18:44 UTC (permalink / raw)
To: linuxppc-dev
Add 'fsl,' prefix to 'compatible' property for gpt nodes.
Add 'fsl,' prefix to empty, GPT0 specific 'has-wdt' property.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
.../powerpc/mpc52xx-device-tree-bindings.txt | 4 ++-
arch/powerpc/boot/dts/lite5200.dts | 26 +++++++-------------
arch/powerpc/boot/dts/lite5200b.dts | 26 +++++++-------------
drivers/char/watchdog/mpc5200_wdt.c | 3 ++
4 files changed, 23 insertions(+), 36 deletions(-)
diff --git a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
index e59fcbb..fedf7ef 100644
--- a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
+++ b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
@@ -185,7 +185,7 @@ bestcomm@<addr> dma-controller mpc5200-bestcomm 5200 pic also requires
Recommended soc5200 child nodes; populate as needed for your board
name device_type compatible Description
---- ----------- ---------- -----------
-gpt@<addr> gpt mpc5200-gpt General purpose timers
+gpt@<addr> gpt fsl,mpc5200-gpt General purpose timers
rtc@<addr> rtc mpc5200-rtc Real time clock
mscan@<addr> mscan mpc5200-mscan CAN bus controller
pci@<addr> pci mpc5200-pci PCI bridge
@@ -213,7 +213,7 @@ cell-index int When multiple devices are present, is the
5) General Purpose Timer nodes (child of soc5200 node)
On the mpc5200 and 5200b, GPT0 has a watchdog timer function. If the board
design supports the internal wdt, then the device node for GPT0 should
-include the empty property 'has-wdt'.
+include the empty property 'fsl,has-wdt'.
6) PSC nodes (child of soc5200 node)
PSC nodes can define the optional 'port-number' property to force assignment
diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
index bc45f5f..6731763 100644
--- a/arch/powerpc/boot/dts/lite5200.dts
+++ b/arch/powerpc/boot/dts/lite5200.dts
@@ -70,18 +70,16 @@
};
gpt@600 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <0>;
reg = <600 10>;
interrupts = <1 9 0>;
interrupt-parent = <&mpc5200_pic>;
- has-wdt;
+ fsl,has-wdt;
};
gpt@610 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <1>;
reg = <610 10>;
interrupts = <1 a 0>;
@@ -89,8 +87,7 @@
};
gpt@620 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <2>;
reg = <620 10>;
interrupts = <1 b 0>;
@@ -98,8 +95,7 @@
};
gpt@630 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <3>;
reg = <630 10>;
interrupts = <1 c 0>;
@@ -107,8 +103,7 @@
};
gpt@640 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <4>;
reg = <640 10>;
interrupts = <1 d 0>;
@@ -116,8 +111,7 @@
};
gpt@650 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <5>;
reg = <650 10>;
interrupts = <1 e 0>;
@@ -125,8 +119,7 @@
};
gpt@660 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <6>;
reg = <660 10>;
interrupts = <1 f 0>;
@@ -134,8 +127,7 @@
};
gpt@670 { // General Purpose Timer
- compatible = "mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200-gpt";
cell-index = <7>;
reg = <670 10>;
interrupts = <1 10 0>;
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts
index 6582c9a..b540388 100644
--- a/arch/powerpc/boot/dts/lite5200b.dts
+++ b/arch/powerpc/boot/dts/lite5200b.dts
@@ -70,18 +70,16 @@
};
gpt@600 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <0>;
reg = <600 10>;
interrupts = <1 9 0>;
interrupt-parent = <&mpc5200_pic>;
- has-wdt;
+ fsl,has-wdt;
};
gpt@610 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <1>;
reg = <610 10>;
interrupts = <1 a 0>;
@@ -89,8 +87,7 @@
};
gpt@620 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <2>;
reg = <620 10>;
interrupts = <1 b 0>;
@@ -98,8 +95,7 @@
};
gpt@630 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <3>;
reg = <630 10>;
interrupts = <1 c 0>;
@@ -107,8 +103,7 @@
};
gpt@640 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <4>;
reg = <640 10>;
interrupts = <1 d 0>;
@@ -116,8 +111,7 @@
};
gpt@650 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <5>;
reg = <650 10>;
interrupts = <1 e 0>;
@@ -125,8 +119,7 @@
};
gpt@660 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <6>;
reg = <660 10>;
interrupts = <1 f 0>;
@@ -134,8 +127,7 @@
};
gpt@670 { // General Purpose Timer
- compatible = "mpc5200b-gpt","mpc5200-gpt";
- device_type = "gpt";
+ compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
cell-index = <7>;
reg = <670 10>;
interrupts = <1 10 0>;
diff --git a/drivers/char/watchdog/mpc5200_wdt.c b/drivers/char/watchdog/mpc5200_wdt.c
index 9cfb975..11f6a11 100644
--- a/drivers/char/watchdog/mpc5200_wdt.c
+++ b/drivers/char/watchdog/mpc5200_wdt.c
@@ -176,6 +176,8 @@ static int mpc5200_wdt_probe(struct of_device *op, const struct of_device_id *ma
has_wdt = of_get_property(op->node, "has-wdt", NULL);
if (!has_wdt)
+ has_wdt = of_get_property(op->node, "fsl,has-wdt", NULL);
+ if (!has_wdt)
return -ENODEV;
wdt = kzalloc(sizeof(*wdt), GFP_KERNEL);
@@ -254,6 +256,7 @@ static int mpc5200_wdt_shutdown(struct of_device *op)
static struct of_device_id mpc5200_wdt_match[] = {
{ .compatible = "mpc5200-gpt", },
+ { .compatible = "fsl,mpc5200-gpt", },
{},
};
static struct of_platform_driver mpc5200_wdt_driver = {
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms
2007-10-18 18:44 [PATCH v2 0/4] [POWERPC] MPC5200: update gpt binding, add restart support Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 1/4] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt Marian Balakowicz
@ 2007-10-18 18:44 ` Marian Balakowicz
2007-10-18 18:53 ` Grant Likely
2007-10-18 18:44 ` [PATCH v2 4/4] [POWERPC] Enable restart support for lite5200 board Marian Balakowicz
3 siblings, 1 reply; 9+ messages in thread
From: Marian Balakowicz @ 2007-10-18 18:44 UTC (permalink / raw)
To: linuxppc-dev
Add common helper routines: mpc52xx_map_wdt() and mpc52xx_restart().
This patch relies on Sascha Hauer's patch published in:
http://patchwork.ozlabs.org/linuxppc/patch?id=8910.
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/powerpc/platforms/52xx/mpc52xx_common.c | 50 ++++++++++++++++++++++++++
include/asm-powerpc/mpc52xx.h | 3 ++
2 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
index 74b4b41..9850685 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
@@ -18,6 +18,13 @@
#include <asm/prom.h>
#include <asm/mpc52xx.h>
+/*
+ * This variable is mapped in mpc52xx_map_wdt() and used in mpc52xx_restart().
+ * Permanent mapping is required because mpc52xx_restart() can be called
+ * from interrupt context while node mapping (which calls ioremap())
+ * cannot be used at such point.
+ */
+static volatile struct mpc52xx_gpt *mpc52xx_wdt = NULL;
static void __iomem *
mpc52xx_map_node(struct device_node *ofn)
@@ -126,3 +133,46 @@ mpc52xx_declare_of_platform_devices(void)
"Error while probing of_platform bus\n");
}
+void __init
+mpc52xx_map_wdt(void)
+{
+ const void *has_wdt;
+ struct device_node *np;
+
+ /* mpc52xx_wdt is mapped here and used in mpc52xx_restart,
+ * possibly from a interrupt context. wdt is only implement
+ * on a gpt0, so check has-wdt property before mapping.
+ */
+ for_each_compatible_node(np, NULL, "fsl,mpc5200-gpt") {
+ has_wdt = of_get_property(np, "fsl,has-wdt", NULL);
+ if (has_wdt) {
+ mpc52xx_wdt = mpc52xx_map_node(np);
+ return;
+ }
+ }
+ for_each_compatible_node(np, NULL, "mpc5200-gpt") {
+ has_wdt = of_get_property(np, "has-wdt", NULL);
+ if (has_wdt) {
+ mpc52xx_wdt = mpc52xx_map_node(np);
+ return;
+ }
+ }
+}
+
+void
+mpc52xx_restart(char *cmd)
+{
+ local_irq_disable();
+
+ /* Turn on the watchdog and wait for it to expire.
+ * It effectively does a reset. */
+ if (mpc52xx_wdt) {
+ out_be32(&mpc52xx_wdt->mode, 0x00000000);
+ out_be32(&mpc52xx_wdt->count, 0x000000ff);
+ out_be32(&mpc52xx_wdt->mode, 0x00009004);
+ } else
+ printk("mpc52xx_restart: Can't access wdt. "
+ "Restart impossible, system halted.\n");
+
+ while (1);
+}
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h
index 9cf05f9..39f619f 100644
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
@@ -252,6 +252,9 @@ extern unsigned int mpc52xx_get_irq(void);
extern int __init mpc52xx_add_bridge(struct device_node *node);
+extern void __init mpc52xx_map_wdt(void);
+extern void mpc52xx_restart(char *cmd);
+
#endif /* __ASSEMBLY__ */
#ifdef CONFIG_PM
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] [POWERPC] Enable restart support for lite5200 board
2007-10-18 18:44 [PATCH v2 0/4] [POWERPC] MPC5200: update gpt binding, add restart support Marian Balakowicz
` (2 preceding siblings ...)
2007-10-18 18:44 ` [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms Marian Balakowicz
@ 2007-10-18 18:44 ` Marian Balakowicz
3 siblings, 0 replies; 9+ messages in thread
From: Marian Balakowicz @ 2007-10-18 18:44 UTC (permalink / raw)
To: linuxppc-dev
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
---
arch/powerpc/platforms/52xx/lite5200.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/platforms/52xx/lite5200.c b/arch/powerpc/platforms/52xx/lite5200.c
index 65b7ae4..25d2bfa 100644
--- a/arch/powerpc/platforms/52xx/lite5200.c
+++ b/arch/powerpc/platforms/52xx/lite5200.c
@@ -145,6 +145,9 @@ static void __init lite5200_setup_arch(void)
/* Some mpc5200 & mpc5200b related configuration */
mpc5200_setup_xlb_arbiter();
+ /* Map wdt for mpc52xx_restart() */
+ mpc52xx_map_wdt();
+
#ifdef CONFIG_PM
mpc52xx_suspend.board_suspend_prepare = lite5200_suspend_prepare;
mpc52xx_suspend.board_resume_finish = lite5200_resume_finish;
@@ -183,5 +186,6 @@ define_machine(lite5200) {
.init = mpc52xx_declare_of_platform_devices,
.init_IRQ = mpc52xx_init_irq,
.get_irq = mpc52xx_get_irq,
+ .restart = mpc52xx_restart,
.calibrate_decr = generic_calibrate_decr,
};
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms
2007-10-18 18:44 ` [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms Marian Balakowicz
@ 2007-10-18 18:53 ` Grant Likely
2007-10-18 19:03 ` Marian Balakowicz
0 siblings, 1 reply; 9+ messages in thread
From: Grant Likely @ 2007-10-18 18:53 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/18/07, Marian Balakowicz <m8@semihalf.com> wrote:
> Add common helper routines: mpc52xx_map_wdt() and mpc52xx_restart().
>
> This patch relies on Sascha Hauer's patch published in:
> http://patchwork.ozlabs.org/linuxppc/patch?id=8910.
By 'relies', do you mean "depends on" or "was derived from"?
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms
2007-10-18 18:53 ` Grant Likely
@ 2007-10-18 19:03 ` Marian Balakowicz
0 siblings, 0 replies; 9+ messages in thread
From: Marian Balakowicz @ 2007-10-18 19:03 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev
Grant Likely wrote:
> On 10/18/07, Marian Balakowicz <m8@semihalf.com> wrote:
>> Add common helper routines: mpc52xx_map_wdt() and mpc52xx_restart().
>>
>> This patch relies on Sascha Hauer's patch published in:
>> http://patchwork.ozlabs.org/linuxppc/patch?id=8910.
>
> By 'relies', do you mean "depends on" or "was derived from"?
Initial version was derived from, and since then it slightly evolved.
m.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt
2007-10-18 18:44 ` [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt Marian Balakowicz
@ 2007-10-21 16:54 ` Grant Likely
2007-10-21 17:25 ` Grant Likely
0 siblings, 1 reply; 9+ messages in thread
From: Grant Likely @ 2007-10-21 16:54 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/18/07, Marian Balakowicz <m8@semihalf.com> wrote:
> Add 'fsl,' prefix to 'compatible' property for gpt nodes.
> Add 'fsl,' prefix to empty, GPT0 specific 'has-wdt' property.
Patch doesn't apply; mpc5200_wdt.c watchdog driver is not in the
kernel. I'll pick up the dts change, but you'll need to coordinate w/
Domen to get the needed changes into his driver before it's picked for
mainline.
Cheers,
g.
>
> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
> ---
>
> .../powerpc/mpc52xx-device-tree-bindings.txt | 4 ++-
> arch/powerpc/boot/dts/lite5200.dts | 26 +++++++-------------
> arch/powerpc/boot/dts/lite5200b.dts | 26 +++++++-------------
> drivers/char/watchdog/mpc5200_wdt.c | 3 ++
> 4 files changed, 23 insertions(+), 36 deletions(-)
>
>
> diff --git a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
> index e59fcbb..fedf7ef 100644
> --- a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
> +++ b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt
> @@ -185,7 +185,7 @@ bestcomm@<addr> dma-controller mpc5200-bestcomm 5200 pic also requires
> Recommended soc5200 child nodes; populate as needed for your board
> name device_type compatible Description
> ---- ----------- ---------- -----------
> -gpt@<addr> gpt mpc5200-gpt General purpose timers
> +gpt@<addr> gpt fsl,mpc5200-gpt General purpose timers
> rtc@<addr> rtc mpc5200-rtc Real time clock
> mscan@<addr> mscan mpc5200-mscan CAN bus controller
> pci@<addr> pci mpc5200-pci PCI bridge
> @@ -213,7 +213,7 @@ cell-index int When multiple devices are present, is the
> 5) General Purpose Timer nodes (child of soc5200 node)
> On the mpc5200 and 5200b, GPT0 has a watchdog timer function. If the board
> design supports the internal wdt, then the device node for GPT0 should
> -include the empty property 'has-wdt'.
> +include the empty property 'fsl,has-wdt'.
>
> 6) PSC nodes (child of soc5200 node)
> PSC nodes can define the optional 'port-number' property to force assignment
> diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
> index bc45f5f..6731763 100644
> --- a/arch/powerpc/boot/dts/lite5200.dts
> +++ b/arch/powerpc/boot/dts/lite5200.dts
> @@ -70,18 +70,16 @@
> };
>
> gpt@600 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <0>;
> reg = <600 10>;
> interrupts = <1 9 0>;
> interrupt-parent = <&mpc5200_pic>;
> - has-wdt;
> + fsl,has-wdt;
> };
>
> gpt@610 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <1>;
> reg = <610 10>;
> interrupts = <1 a 0>;
> @@ -89,8 +87,7 @@
> };
>
> gpt@620 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <2>;
> reg = <620 10>;
> interrupts = <1 b 0>;
> @@ -98,8 +95,7 @@
> };
>
> gpt@630 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <3>;
> reg = <630 10>;
> interrupts = <1 c 0>;
> @@ -107,8 +103,7 @@
> };
>
> gpt@640 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <4>;
> reg = <640 10>;
> interrupts = <1 d 0>;
> @@ -116,8 +111,7 @@
> };
>
> gpt@650 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <5>;
> reg = <650 10>;
> interrupts = <1 e 0>;
> @@ -125,8 +119,7 @@
> };
>
> gpt@660 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <6>;
> reg = <660 10>;
> interrupts = <1 f 0>;
> @@ -134,8 +127,7 @@
> };
>
> gpt@670 { // General Purpose Timer
> - compatible = "mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200-gpt";
> cell-index = <7>;
> reg = <670 10>;
> interrupts = <1 10 0>;
> diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts
> index 6582c9a..b540388 100644
> --- a/arch/powerpc/boot/dts/lite5200b.dts
> +++ b/arch/powerpc/boot/dts/lite5200b.dts
> @@ -70,18 +70,16 @@
> };
>
> gpt@600 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <0>;
> reg = <600 10>;
> interrupts = <1 9 0>;
> interrupt-parent = <&mpc5200_pic>;
> - has-wdt;
> + fsl,has-wdt;
> };
>
> gpt@610 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <1>;
> reg = <610 10>;
> interrupts = <1 a 0>;
> @@ -89,8 +87,7 @@
> };
>
> gpt@620 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <2>;
> reg = <620 10>;
> interrupts = <1 b 0>;
> @@ -98,8 +95,7 @@
> };
>
> gpt@630 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <3>;
> reg = <630 10>;
> interrupts = <1 c 0>;
> @@ -107,8 +103,7 @@
> };
>
> gpt@640 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <4>;
> reg = <640 10>;
> interrupts = <1 d 0>;
> @@ -116,8 +111,7 @@
> };
>
> gpt@650 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <5>;
> reg = <650 10>;
> interrupts = <1 e 0>;
> @@ -125,8 +119,7 @@
> };
>
> gpt@660 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <6>;
> reg = <660 10>;
> interrupts = <1 f 0>;
> @@ -134,8 +127,7 @@
> };
>
> gpt@670 { // General Purpose Timer
> - compatible = "mpc5200b-gpt","mpc5200-gpt";
> - device_type = "gpt";
> + compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> cell-index = <7>;
> reg = <670 10>;
> interrupts = <1 10 0>;
> diff --git a/drivers/char/watchdog/mpc5200_wdt.c b/drivers/char/watchdog/mpc5200_wdt.c
> index 9cfb975..11f6a11 100644
> --- a/drivers/char/watchdog/mpc5200_wdt.c
> +++ b/drivers/char/watchdog/mpc5200_wdt.c
> @@ -176,6 +176,8 @@ static int mpc5200_wdt_probe(struct of_device *op, const struct of_device_id *ma
>
> has_wdt = of_get_property(op->node, "has-wdt", NULL);
> if (!has_wdt)
> + has_wdt = of_get_property(op->node, "fsl,has-wdt", NULL);
> + if (!has_wdt)
> return -ENODEV;
>
> wdt = kzalloc(sizeof(*wdt), GFP_KERNEL);
> @@ -254,6 +256,7 @@ static int mpc5200_wdt_shutdown(struct of_device *op)
>
> static struct of_device_id mpc5200_wdt_match[] = {
> { .compatible = "mpc5200-gpt", },
> + { .compatible = "fsl,mpc5200-gpt", },
> {},
> };
> static struct of_platform_driver mpc5200_wdt_driver = {
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt
2007-10-21 16:54 ` Grant Likely
@ 2007-10-21 17:25 ` Grant Likely
0 siblings, 0 replies; 9+ messages in thread
From: Grant Likely @ 2007-10-21 17:25 UTC (permalink / raw)
To: Marian Balakowicz; +Cc: linuxppc-dev
On 10/21/07, Grant Likely <grant.likely@secretlab.ca> wrote:
> On 10/18/07, Marian Balakowicz <m8@semihalf.com> wrote:
> > Add 'fsl,' prefix to 'compatible' property for gpt nodes.
> > Add 'fsl,' prefix to empty, GPT0 specific 'has-wdt' property.
>
> Patch doesn't apply; mpc5200_wdt.c watchdog driver is not in the
> kernel. I'll pick up the dts change, but you'll need to coordinate w/
> Domen to get the needed changes into his driver before it's picked for
> mainline.
Oops, it is there; drivers/char/watchdog has been moved to
drivers/watchdog, so the patch didn't apply. I'll fix this up.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-10-21 17:25 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-18 18:44 [PATCH v2 0/4] [POWERPC] MPC5200: update gpt binding, add restart support Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 1/4] [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 2/4] [POWERPC] Update device tree binding for mpc5200 gpt Marian Balakowicz
2007-10-21 16:54 ` Grant Likely
2007-10-21 17:25 ` Grant Likely
2007-10-18 18:44 ` [PATCH v2 3/4] [POWERPC] Add restart support for mpc52xx based platforms Marian Balakowicz
2007-10-18 18:53 ` Grant Likely
2007-10-18 19:03 ` Marian Balakowicz
2007-10-18 18:44 ` [PATCH v2 4/4] [POWERPC] Enable restart support for lite5200 board Marian Balakowicz
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.