public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
@ 2008-01-17 14:25 Kumar Gala
  2008-01-17 15:34 ` Timur Tabi
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Kumar Gala @ 2008-01-17 14:25 UTC (permalink / raw)
  To: u-boot

Move the flat device tree setup for QE related devices into
a common file shared between 83xx & 85xx platforms that have QE's.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 common/fdt_support.c |   48 --------------------------
 cpu/mpc83xx/fdt.c    |   13 ++-----
 cpu/mpc85xx/fdt.c    |    8 ++---
 drivers/qe/Makefile  |    3 +-
 drivers/qe/fdt.c     |   90 ++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/qe/qe.h      |    1 +
 6 files changed, 99 insertions(+), 64 deletions(-)
 create mode 100644 drivers/qe/fdt.c

diff --git a/common/fdt_support.c b/common/fdt_support.c
index a13c140..92f1c7f 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -30,9 +30,6 @@
 #include <fdt_support.h>
 #include <exports.h>

-#ifdef CONFIG_QE
-#include "../drivers/qe/qe.h"
-#endif
 /*
  * Global data (for the gd->bd)
  */
@@ -617,49 +614,4 @@ void fdt_fixup_ethernet(void *fdt, bd_t *bd)
 #endif
 	}
 }
-
-#ifdef CONFIG_QE
-/*
- * If a QE firmware has been uploaded, then add the 'firmware' node under
- * the 'qe' node.
- */
-void fdt_fixup_qe_firmware(void *fdt)
-{
-	struct qe_firmware_info *qe_fw_info;
-	int node, ret;
-
-	qe_fw_info = qe_get_firmware_info();
-	if (!qe_fw_info)
-		return;
-
-	node = fdt_path_offset(fdt, "/qe");
-	if (node < 0)
-		return;
-
-	/* We assume the node doesn't exist yet */
-	node = fdt_add_subnode(fdt, node, "firmware");
-	if (node < 0)
-		return;
-
-	ret = fdt_setprop(fdt, node, "extended-modes",
-		&qe_fw_info->extended_modes, sizeof(u64));
-	if (ret < 0)
-		goto error;
-
-	ret = fdt_setprop_string(fdt, node, "id", qe_fw_info->id);
-	if (ret < 0)
-		goto error;
-
-	ret = fdt_setprop(fdt, node, "virtual-traps", qe_fw_info->vtraps,
-		sizeof(qe_fw_info->vtraps));
-	if (ret < 0)
-		goto error;
-
-	return;
-
-error:
-	fdt_del_node(fdt, node);
-}
-#endif
-
 #endif
diff --git a/cpu/mpc83xx/fdt.c b/cpu/mpc83xx/fdt.c
index 909171f..6f55932 100644
--- a/cpu/mpc83xx/fdt.c
+++ b/cpu/mpc83xx/fdt.c
@@ -30,6 +30,8 @@
 #include <libfdt.h>
 #include <fdt_support.h>

+extern void ft_qe_setup(void *blob);
+
 DECLARE_GLOBAL_DATA_PTR;

 void ft_cpu_setup(void *blob, bd_t *bd)
@@ -48,16 +50,7 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	do_fixup_by_prop_u32(blob, "device_type", "soc", 4,
 		"bus-frequency", bd->bi_busfreq, 1);
 #ifdef CONFIG_QE
-	do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
-		"bus-frequency", gd->qe_clk, 1);
-	do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
-		"brg-frequency", gd->brg_clk, 1);
-	do_fixup_by_compat_u32(blob, "fsl,qe",
-		"clock-frequency", gd->qe_clk, 1);
-	do_fixup_by_compat_u32(blob, "fsl,qe",
-		"bus-frequency", gd->qe_clk, 1);
-	do_fixup_by_compat_u32(blob, "fsl,qe",
-		"brg-frequency", gd->brg_clk, 1);
+	ft_qe_setup(blob);
 #endif

 #ifdef CFG_NS16550
diff --git a/cpu/mpc85xx/fdt.c b/cpu/mpc85xx/fdt.c
index 0ce17e7..a6b014c 100644
--- a/cpu/mpc85xx/fdt.c
+++ b/cpu/mpc85xx/fdt.c
@@ -27,6 +27,8 @@
 #include <libfdt.h>
 #include <fdt_support.h>

+extern void ft_qe_setup(void *blob);
+
 void ft_cpu_setup(void *blob, bd_t *bd)
 {
 #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
@@ -43,11 +45,7 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	do_fixup_by_prop_u32(blob, "device_type", "soc", 4,
 		"bus-frequency", bd->bi_busfreq, 1);
 #ifdef CONFIG_QE
-	do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
-		"bus-frequency", bd->bi_busfreq, 1);
-	do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
-			"brg-frequency", bd->bi_busfreq / 2, 1);
-	fdt_fixup_qe_firmware(blob);
+	ft_qe_setup(blob);
 #endif

 #ifdef CFG_NS16550
diff --git a/drivers/qe/Makefile b/drivers/qe/Makefile
index 4844181..ec5aa73 100644
--- a/drivers/qe/Makefile
+++ b/drivers/qe/Makefile
@@ -24,7 +24,8 @@ include $(TOPDIR)/config.mk

 LIB 	:= $(obj)qe.a

-COBJS 	:= qe.o uccf.o uec.o uec_phy.o
+COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
+COBJS 	:= qe.o uccf.o uec.o uec_phy.o $(COBJS-y)

 SRCS 	:= $(COBJS:.o=.c)
 OBJS 	:= $(addprefix $(obj),$(COBJS))
diff --git a/drivers/qe/fdt.c b/drivers/qe/fdt.c
new file mode 100644
index 0000000..5307488
--- /dev/null
+++ b/drivers/qe/fdt.c
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2008 Freescale Semiconductor, Inc.
+ *
+ * (C) Copyright 2000
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <libfdt.h>
+#include <fdt_support.h>
+#include "qe.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * If a QE firmware has been uploaded, then add the 'firmware' node under
+ * the 'qe' node.
+ */
+void fdt_fixup_qe_firmware(void *blob)
+{
+	struct qe_firmware_info *qe_fw_info;
+	int node, ret;
+
+	qe_fw_info = qe_get_firmware_info();
+	if (!qe_fw_info)
+		return;
+
+	node = fdt_path_offset(blob, "/qe");
+	if (node < 0)
+		return;
+
+	/* We assume the node doesn't exist yet */
+	node = fdt_add_subnode(blob, node, "firmware");
+	if (node < 0)
+		return;
+
+	ret = fdt_setprop(blob, node, "extended-modes",
+		&qe_fw_info->extended_modes, sizeof(u64));
+	if (ret < 0)
+		goto error;
+
+	ret = fdt_setprop_string(blob, node, "id", qe_fw_info->id);
+	if (ret < 0)
+		goto error;
+
+	ret = fdt_setprop(blob, node, "virtual-traps", qe_fw_info->vtraps,
+		sizeof(qe_fw_info->vtraps));
+	if (ret < 0)
+		goto error;
+
+	return;
+
+error:
+	fdt_del_node(blob, node);
+}
+
+void ft_qe_setup(void *blob)
+{
+#ifdef CONFIG_QE
+	do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
+		"bus-frequency", gd->qe_clk, 1);
+	do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
+		"brg-frequency", gd->brg_clk, 1);
+	do_fixup_by_compat_u32(blob, "fsl,qe",
+		"clock-frequency", gd->qe_clk, 1);
+	do_fixup_by_compat_u32(blob, "fsl,qe",
+		"bus-frequency", gd->qe_clk, 1);
+	do_fixup_by_compat_u32(blob, "fsl,qe",
+		"brg-frequency", gd->brg_clk, 1);
+	fdt_fixup_qe_firmware(blob);
+#endif
+}
diff --git a/drivers/qe/qe.h b/drivers/qe/qe.h
index 4c96c67..741ed7f 100644
--- a/drivers/qe/qe.h
+++ b/drivers/qe/qe.h
@@ -289,5 +289,6 @@ int qe_set_brg(uint brg, uint rate);
 int qe_set_mii_clk_src(int ucc_num);
 int qe_upload_firmware(const struct qe_firmware *firmware);
 struct qe_firmware_info *qe_get_firmware_info(void);
+void ft_qe_setup(void *blob);

 #endif /* __QE_H__ */
-- 
1.5.3.7

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-01-17 14:25 [U-Boot-Users] [PATCH] QE: Move FDT support into a common file Kumar Gala
@ 2008-01-17 15:34 ` Timur Tabi
  2008-01-18 19:41 ` Andy Fleming
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Timur Tabi @ 2008-01-17 15:34 UTC (permalink / raw)
  To: u-boot

Kumar Gala wrote:
> Move the flat device tree setup for QE related devices into
> a common file shared between 83xx & 85xx platforms that have QE's.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

Acked-by: Timur Tabi <timur@freescale.com>

FYI, this patch supersedes my previous patch, "83xx: add QE firmware node to 
device tree".

And Kumar, you should CC me on all QE patches.

-- 
Timur Tabi
Linux kernel developer at Freescale

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-01-17 14:25 [U-Boot-Users] [PATCH] QE: Move FDT support into a common file Kumar Gala
  2008-01-17 15:34 ` Timur Tabi
@ 2008-01-18 19:41 ` Andy Fleming
  2008-01-19 20:15   ` Kim Phillips
  2008-02-05 17:05 ` Andy Fleming
  2008-02-11 23:36 ` Wolfgang Denk
  3 siblings, 1 reply; 10+ messages in thread
From: Andy Fleming @ 2008-01-18 19:41 UTC (permalink / raw)
  To: u-boot

On Jan 17, 2008 8:25 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
> Move the flat device tree setup for QE related devices into
> a common file shared between 83xx & 85xx platforms that have QE's.
>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

Acked-by: Andy Fleming <afleming@freescale.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-01-18 19:41 ` Andy Fleming
@ 2008-01-19 20:15   ` Kim Phillips
  0 siblings, 0 replies; 10+ messages in thread
From: Kim Phillips @ 2008-01-19 20:15 UTC (permalink / raw)
  To: u-boot

On Fri, 18 Jan 2008 13:41:55 -0600
"Andy Fleming" <afleming@gmail.com> wrote:

> On Jan 17, 2008 8:25 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
> > Move the flat device tree setup for QE related devices into
> > a common file shared between 83xx & 85xx platforms that have QE's.
> >
> > Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> 
> Acked-by: Andy Fleming <afleming@freescale.com>

Acked-by: Kim Phillips <kim.phillips@freescale.com>

WD, please apply directly, thanks,

Kim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-01-17 14:25 [U-Boot-Users] [PATCH] QE: Move FDT support into a common file Kumar Gala
  2008-01-17 15:34 ` Timur Tabi
  2008-01-18 19:41 ` Andy Fleming
@ 2008-02-05 17:05 ` Andy Fleming
  2008-02-11 23:36 ` Wolfgang Denk
  3 siblings, 0 replies; 10+ messages in thread
From: Andy Fleming @ 2008-02-05 17:05 UTC (permalink / raw)
  To: u-boot

On Jan 17, 2008 8:25 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
> Move the flat device tree setup for QE related devices into
> a common file shared between 83xx & 85xx platforms that have QE's.
>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

Applied, thanks!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-01-17 14:25 [U-Boot-Users] [PATCH] QE: Move FDT support into a common file Kumar Gala
                   ` (2 preceding siblings ...)
  2008-02-05 17:05 ` Andy Fleming
@ 2008-02-11 23:36 ` Wolfgang Denk
  2008-02-12 15:53   ` Timur Tabi
  3 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2008-02-11 23:36 UTC (permalink / raw)
  To: u-boot

In message <Pine.LNX.4.64.0801170825310.10060@blarg.am.freescale.net> you wrote:
> Move the flat device tree setup for QE related devices into
> a common file shared between 83xx & 85xx platforms that have QE's.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Brontosaurus Principle: Organizations  can  grow  faster  than  their
brains  can manage them in relation to their environment and to their
own physiology: when this occurs, they are an endangered species.
                                                - Thomas K. Connellan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-02-11 23:36 ` Wolfgang Denk
@ 2008-02-12 15:53   ` Timur Tabi
  2008-02-12 22:57     ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Timur Tabi @ 2008-02-12 15:53 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:
> In message <Pine.LNX.4.64.0801170825310.10060@blarg.am.freescale.net> you wrote:
>> Move the flat device tree setup for QE related devices into
>> a common file shared between 83xx & 85xx platforms that have QE's.
>>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> 
> Applied, thanks.
> 
> Best regards,
> 
> Wolfgang Denk
> 

Thanks for applying this.  I have one more patch for 1.3.2 that you may have 
missed: "85xx, 86xx: Determine I2C clock frequencies and store in global_data". 
  It's in Andy Fleming's tree: 
http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-mpc85xx.git

-- 
Timur Tabi
Linux kernel developer at Freescale

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-02-12 15:53   ` Timur Tabi
@ 2008-02-12 22:57     ` Wolfgang Denk
  2008-02-12 23:04       ` Timur Tabi
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2008-02-12 22:57 UTC (permalink / raw)
  To: u-boot

In message <47B1C105.4040807@freescale.com> you wrote:
>
> Thanks for applying this.  I have one more patch for 1.3.2 that you may have 
> missed: "85xx, 86xx: Determine I2C clock frequencies and store in global_data". 
>   It's in Andy Fleming's tree: 
> http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-mpc85xx.git

I don't have this one on my list, and I haven't seen a pull request
from Andy ?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A day without sunshine is like night.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-02-12 22:57     ` Wolfgang Denk
@ 2008-02-12 23:04       ` Timur Tabi
  2008-02-14 22:33         ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Timur Tabi @ 2008-02-12 23:04 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:
> In message <47B1C105.4040807@freescale.com> you wrote:
>> Thanks for applying this.  I have one more patch for 1.3.2 that you may have 
>> missed: "85xx, 86xx: Determine I2C clock frequencies and store in global_data". 
>>   It's in Andy Fleming's tree: 
>> http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-mpc85xx.git
> 
> I don't have this one on my list, 

I emailed the patch to this mailing list on Jan 9, and both Jon and Andy ack'd 
it in replies:

http://article.gmane.org/gmane.comp.boot-loaders.u-boot/34876
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/35917
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/35919

> and I haven't seen a pull request
> from Andy ?

Andy posted a pull request on Feb 5:

http://article.gmane.org/gmane.comp.boot-loaders.u-boot/36412/

-- 
Timur Tabi
Linux kernel developer at Freescale

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot-Users] [PATCH] QE: Move FDT support into a common file
  2008-02-12 23:04       ` Timur Tabi
@ 2008-02-14 22:33         ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2008-02-14 22:33 UTC (permalink / raw)
  To: u-boot

In message <47B22603.4010703@freescale.com> you wrote:
> Wolfgang Denk wrote:
> > In message <47B1C105.4040807@freescale.com> you wrote:
> >> Thanks for applying this.  I have one more patch for 1.3.2 that you may have 
> >> missed: "85xx, 86xx: Determine I2C clock frequencies and store in global_data". 
> >>   It's in Andy Fleming's tree: 
> >> http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-mpc85xx.git
> > 
> > I don't have this one on my list, 
> 
> I emailed the patch to this mailing list on Jan 9, and both Jon and Andy ack'd 
> it in replies:
> 
> http://article.gmane.org/gmane.comp.boot-loaders.u-boot/34876
> http://article.gmane.org/gmane.comp.boot-loaders.u-boot/35917
> http://article.gmane.org/gmane.comp.boot-loaders.u-boot/35919

OK, applied.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"How to make a million dollars:  First, get a million dollars."
- Steve Martin

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-02-14 22:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-17 14:25 [U-Boot-Users] [PATCH] QE: Move FDT support into a common file Kumar Gala
2008-01-17 15:34 ` Timur Tabi
2008-01-18 19:41 ` Andy Fleming
2008-01-19 20:15   ` Kim Phillips
2008-02-05 17:05 ` Andy Fleming
2008-02-11 23:36 ` Wolfgang Denk
2008-02-12 15:53   ` Timur Tabi
2008-02-12 22:57     ` Wolfgang Denk
2008-02-12 23:04       ` Timur Tabi
2008-02-14 22:33         ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox