All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v6 0/2] mpc8313: ids8313 board updates
@ 2014-06-16  7:58 Heiko Schocher
  2014-06-16  7:58 ` [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c Heiko Schocher
  2014-06-16  7:58 ` [U-Boot] [PATCH v6 2/2] mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board Heiko Schocher
  0 siblings, 2 replies; 6+ messages in thread
From: Heiko Schocher @ 2014-06-16  7:58 UTC (permalink / raw)
  To: u-boot

- add CONFIG_SYS_GENERIC_BOARD to the ids8313 board,
  therefore fdtdec_get_int() is moved out of lib/fdtdec.c
  as lib/fdtdec.c is only compiled if CONFIG_OF_CONTROL
  is defined, but defining this for the ids8313 board
  leads in conjunction with CONFIG_SYS_GENERIC_BOARD
  in booting error:

No valid FDT found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb>

  So move the common used function fdtdec_get_int()
  out of lib/fdtdec.c into lib/fdtdec_common.c

Cc: Simon Glass <sjg@chromium.org>
Cc: Kim Phillips <kim.phillips@freescale.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Michael Conrad <Michael.Conrad@ids.de>

Heiko Schocher (2):
  lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
  mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board

 include/configs/ids8313.h |  3 ++-
 lib/Makefile              |  7 +++++++
 lib/fdtdec.c              | 36 ------------------------------------
 lib/fdtdec_common.c       | 38 ++++++++++++++++++++++++++++++++++++++
 tools/Makefile            |  1 +
 5 files changed, 48 insertions(+), 37 deletions(-)
 create mode 100644 lib/fdtdec_common.c

-- 
1.8.3.1

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

* [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
  2014-06-16  7:58 [U-Boot] [PATCH v6 0/2] mpc8313: ids8313 board updates Heiko Schocher
@ 2014-06-16  7:58 ` Heiko Schocher
  2014-06-18 21:09   ` Tom Rini
  2014-06-16  7:58 ` [U-Boot] [PATCH v6 2/2] mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board Heiko Schocher
  1 sibling, 1 reply; 6+ messages in thread
From: Heiko Schocher @ 2014-06-16  7:58 UTC (permalink / raw)
  To: u-boot

move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c
as this function is also used, if CONFIG_OF_CONTROL is not
used. Poped up on the ids8313 board using signed FIT images,
and activating CONFIG_SYS_GENERIC_BOARD. Without this patch
it shows on boot:

No valid FDT found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb>

With this patch, it boots again with CONFIG_SYS_GENERIC_BOARD
enabled.

Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>

---
- changes for v2:
  - remove fdtdec_get_int() in lib/fdtdec.c
  - only one fdtdec_get_int() implementation
     Tested on the ids8313 board (on host and target side)
- changes for v3:
  use fdt_getprop() instead fdt_getprop_w() so we avoid a cast
  as Simon suggested.
- changes for v4:
  none
- changes for v5:
  - keep debug for non host side as Simon Glass suggested.
  - add Acked-by from Simon Glass
- changes for v6
  - rebased against commit d8a97f934c64a7ba6f11da5e4cc7f3be57fcb82d
  - compile fdtdec_common.c only if CONFIG_OF_CONTROL or CONFIG_FIT
    is enabled, to prevent link errors when using old compilers
    on sparc, blackfin and nds32 architectures, as Tom Rini suggested
---
 lib/Makefile        |  7 +++++++
 lib/fdtdec.c        | 36 ------------------------------------
 lib/fdtdec_common.c | 38 ++++++++++++++++++++++++++++++++++++++
 tools/Makefile      |  1 +
 4 files changed, 46 insertions(+), 36 deletions(-)
 create mode 100644 lib/fdtdec_common.c

diff --git a/lib/Makefile b/lib/Makefile
index 377ab13..dd87ee2 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -23,6 +23,13 @@ obj-$(CONFIG_USB_TTY) += circbuf.o
 obj-y += crc7.o
 obj-y += crc8.o
 obj-y += crc16.o
+ifdef CONFIG_FIT
+obj-y += fdtdec_common.o
+else
+ifdef CONFIG_OF_CONTROL
+obj-y += fdtdec_common.o
+endif
+endif
 obj-$(CONFIG_OF_CONTROL) += fdtdec.o
 obj-$(CONFIG_TEST_FDTDEC) += fdtdec_test.o
 obj-$(CONFIG_GZIP) += gunzip.o
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 13d3d2f..aaa6620 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -111,24 +111,6 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node,
 	return fdtdec_get_addr_size(blob, node, prop_name, NULL);
 }
 
-s32 fdtdec_get_int(const void *blob, int node, const char *prop_name,
-		s32 default_val)
-{
-	const s32 *cell;
-	int len;
-
-	debug("%s: %s: ", __func__, prop_name);
-	cell = fdt_getprop(blob, node, prop_name, &len);
-	if (cell && len >= sizeof(s32)) {
-		s32 val = fdt32_to_cpu(cell[0]);
-
-		debug("%#x (%d)\n", val, val);
-		return val;
-	}
-	debug("(not found)\n");
-	return default_val;
-}
-
 uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name,
 		uint64_t default_val)
 {
@@ -648,22 +630,4 @@ int fdtdec_read_fmap_entry(const void *blob, int node, const char *name,
 
 	return 0;
 }
-#else
-#include "libfdt.h"
-#include "fdt_support.h"
-
-int fdtdec_get_int(const void *blob, int node, const char *prop_name,
-		int default_val)
-{
-	const int *cell;
-	int len;
-
-	cell = fdt_getprop_w((void *)blob, node, prop_name, &len);
-	if (cell && len >= sizeof(int)) {
-		int val = fdt32_to_cpu(cell[0]);
-
-		return val;
-	}
-	return default_val;
-}
 #endif
diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c
new file mode 100644
index 0000000..757931a
--- /dev/null
+++ b/lib/fdtdec_common.c
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2014
+ * Heiko Schocher, DENX Software Engineering, hs at denx.de.
+ *
+ * Based on lib/fdtdec.c:
+ * Copyright (c) 2011 The Chromium OS Authors.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef USE_HOSTCC
+#include <common.h>
+#include <libfdt.h>
+#include <fdtdec.h>
+#else
+#include "libfdt.h"
+#include "fdt_support.h"
+
+#define debug(...)
+#endif
+
+int fdtdec_get_int(const void *blob, int node, const char *prop_name,
+		int default_val)
+{
+	const int *cell;
+	int len;
+
+	debug("%s: %s: ", __func__, prop_name);
+	cell = fdt_getprop(blob, node, prop_name, &len);
+	if (cell && len >= sizeof(int)) {
+		int val = fdt32_to_cpu(cell[0]);
+
+		debug("%#x (%d)\n", val, val);
+		return val;
+	}
+	debug("(not found)\n");
+	return default_val;
+}
diff --git a/tools/Makefile b/tools/Makefile
index 0088c1a..e86a9e9 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -68,6 +68,7 @@ dumpimage-mkimage-objs := aisimage.o \
 			$(FIT_SIG_OBJS-y) \
 			lib/crc32.o \
 			default_image.o \
+			lib/fdtdec_common.o \
 			lib/fdtdec.o \
 			fit_common.o \
 			fit_image.o \
-- 
1.8.3.1

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

* [U-Boot] [PATCH v6 2/2] mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board
  2014-06-16  7:58 [U-Boot] [PATCH v6 0/2] mpc8313: ids8313 board updates Heiko Schocher
  2014-06-16  7:58 ` [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c Heiko Schocher
@ 2014-06-16  7:58 ` Heiko Schocher
  1 sibling, 0 replies; 6+ messages in thread
From: Heiko Schocher @ 2014-06-16  7:58 UTC (permalink / raw)
  To: u-boot

- add CONFIG_SYS_GENERIC_BOARD
- remove CONFIG_OF_CONTROL to boot again

Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Simon Glass <sjg@chromium.org>

---
- changes for v2:
  - added acked-by from Kim
- changes for v3:
  none
- changes for v4:
  none
- changes for v5:
  none
- changes for v6:
  none
---
 include/configs/ids8313.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/configs/ids8313.h b/include/configs/ids8313.h
index 1de5750..3e55247 100644
--- a/include/configs/ids8313.h
+++ b/include/configs/ids8313.h
@@ -19,6 +19,8 @@
 #define CONFIG_MPC8313
 #define CONFIG_IDS8313
 
+#define CONFIG_SYS_GENERIC_BOARD
+
 #define CONFIG_FSL_ELBC
 
 #define CONFIG_MISC_INIT_R
@@ -582,6 +584,5 @@
 #define CONFIG_RSA
 #define CONFIG_SHA1
 #define CONFIG_SHA256
-#define CONFIG_OF_CONTROL
 
 #endif	/* __CONFIG_H */
-- 
1.8.3.1

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

* [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
  2014-06-16  7:58 ` [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c Heiko Schocher
@ 2014-06-18 21:09   ` Tom Rini
  2014-06-19  4:35     ` Heiko Schocher
  0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2014-06-18 21:09 UTC (permalink / raw)
  To: u-boot

On Mon, Jun 16, 2014 at 09:58:39AM +0200, Heiko Schocher wrote:

> move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c
> as this function is also used, if CONFIG_OF_CONTROL is not
> used. Poped up on the ids8313 board using signed FIT images,
> and activating CONFIG_SYS_GENERIC_BOARD. Without this patch
> it shows on boot:
[snip]
> diff --git a/lib/Makefile b/lib/Makefile
> index 377ab13..dd87ee2 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -23,6 +23,13 @@ obj-$(CONFIG_USB_TTY) += circbuf.o
>  obj-y += crc7.o
>  obj-y += crc8.o
>  obj-y += crc16.o
> +ifdef CONFIG_FIT
> +obj-y += fdtdec_common.o
> +else
> +ifdef CONFIG_OF_CONTROL
> +obj-y += fdtdec_common.o
> +endif
> +endif

OK, but why not:
obj-$(CONFIG_FIT) += fdtdec_common.o
obj-$(CONFIG_OF_CONTROL) += fdtdec_common.o

Since we filter out duplicates I would swear.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140618/6349754b/attachment.pgp>

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

* [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
  2014-06-18 21:09   ` Tom Rini
@ 2014-06-19  4:35     ` Heiko Schocher
  2014-06-20 15:53       ` Tom Rini
  0 siblings, 1 reply; 6+ messages in thread
From: Heiko Schocher @ 2014-06-19  4:35 UTC (permalink / raw)
  To: u-boot

Hello Tom,

Am 18.06.2014 23:09, schrieb Tom Rini:
> On Mon, Jun 16, 2014 at 09:58:39AM +0200, Heiko Schocher wrote:
>
>> move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c
>> as this function is also used, if CONFIG_OF_CONTROL is not
>> used. Poped up on the ids8313 board using signed FIT images,
>> and activating CONFIG_SYS_GENERIC_BOARD. Without this patch
>> it shows on boot:
> [snip]
>> diff --git a/lib/Makefile b/lib/Makefile
>> index 377ab13..dd87ee2 100644
>> --- a/lib/Makefile
>> +++ b/lib/Makefile
>> @@ -23,6 +23,13 @@ obj-$(CONFIG_USB_TTY) += circbuf.o
>>   obj-y += crc7.o
>>   obj-y += crc8.o
>>   obj-y += crc16.o
>> +ifdef CONFIG_FIT
>> +obj-y += fdtdec_common.o
>> +else
>> +ifdef CONFIG_OF_CONTROL
>> +obj-y += fdtdec_common.o
>> +endif
>> +endif
>
> OK, but why not:
> obj-$(CONFIG_FIT) += fdtdec_common.o
> obj-$(CONFIG_OF_CONTROL) += fdtdec_common.o
>
> Since we filter out duplicates I would swear.

If so, I change this.

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

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

* [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
  2014-06-19  4:35     ` Heiko Schocher
@ 2014-06-20 15:53       ` Tom Rini
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2014-06-20 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Jun 19, 2014 at 06:35:43AM +0200, Heiko Schocher wrote:
> Hello Tom,
> 
> Am 18.06.2014 23:09, schrieb Tom Rini:
> >On Mon, Jun 16, 2014 at 09:58:39AM +0200, Heiko Schocher wrote:
> >
> >>move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c
> >>as this function is also used, if CONFIG_OF_CONTROL is not
> >>used. Poped up on the ids8313 board using signed FIT images,
> >>and activating CONFIG_SYS_GENERIC_BOARD. Without this patch
> >>it shows on boot:
> >[snip]
> >>diff --git a/lib/Makefile b/lib/Makefile
> >>index 377ab13..dd87ee2 100644
> >>--- a/lib/Makefile
> >>+++ b/lib/Makefile
> >>@@ -23,6 +23,13 @@ obj-$(CONFIG_USB_TTY) += circbuf.o
> >>  obj-y += crc7.o
> >>  obj-y += crc8.o
> >>  obj-y += crc16.o
> >>+ifdef CONFIG_FIT
> >>+obj-y += fdtdec_common.o
> >>+else
> >>+ifdef CONFIG_OF_CONTROL
> >>+obj-y += fdtdec_common.o
> >>+endif
> >>+endif
> >
> >OK, but why not:
> >obj-$(CONFIG_FIT) += fdtdec_common.o
> >obj-$(CONFIG_OF_CONTROL) += fdtdec_common.o
> >
> >Since we filter out duplicates I would swear.
> 
> If so, I change this.

Yes, please change :)

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140620/a0e29770/attachment.pgp>

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

end of thread, other threads:[~2014-06-20 15:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-16  7:58 [U-Boot] [PATCH v6 0/2] mpc8313: ids8313 board updates Heiko Schocher
2014-06-16  7:58 ` [U-Boot] [PATCH v6 1/2] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c Heiko Schocher
2014-06-18 21:09   ` Tom Rini
2014-06-19  4:35     ` Heiko Schocher
2014-06-20 15:53       ` Tom Rini
2014-06-16  7:58 ` [U-Boot] [PATCH v6 2/2] mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board Heiko Schocher

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.