mpc8313: ids8313 board updates
v7 cover mpc8313: ids8313 board updates
- 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
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 | 2 ++ lib/fdtdec.c | 36 ------------------------------------ lib/fdtdec_common.c | 38 ++++++++++++++++++++++++++++++++++++++ tools/Makefile | 1 + 5 files changed, 43 insertions(+), 37 deletions(-) create mode 100644 lib/fdtdec_common.c
Signature · 1 line
1.8.3.1
PATCH v7 1/2 lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
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.
---
- 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
- changes for v7:
- do not use "#ifdef" in lib/Makefile, as duplicates get filtered out.
- rebased against 39b6d07fd7e692736cdb05a000b1c84ab43de4fb
lib/Makefile | 2 ++ lib/fdtdec.c | 36 ------------------------------------ lib/fdtdec_common.c | 38 ++++++++++++++++++++++++++++++++++++++ tools/Makefile | 1 + 4 files changed, 41 insertions(+), 36 deletions(-) create mode 100644 lib/fdtdec_common.c
lib/Makefile +2 -0
@@ -23,6 +23,8 @@ obj-$(CONFIG_USB_TTY) += circbuf.o obj-y += crc7.o obj-y += crc8.o obj-y += crc16.o +obj-$(CONFIG_FIT) += fdtdec_common.o +obj-$(CONFIG_OF_CONTROL) += fdtdec_common.o obj-$(CONFIG_OF_CONTROL) += fdtdec.o obj-$(CONFIG_TEST_FDTDEC) += fdtdec_test.o obj-$(CONFIG_GZIP) += gunzip.o
lib/fdtdec.c +0 -36
@@ -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
lib/fdtdec_common.c new file +38 -0
@@ -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; +}
tools/Makefile +1 -0
@@ -69,6 +69,7 @@ dumpimage-mkimage-objs := aisimage.o \ common/bootm.o \ lib/crc32.o \ default_image.o \ + lib/fdtdec_common.o \ lib/fdtdec.o \ fit_common.o \ fit_image.o \
Signature · 1 line
1.8.3.1
PATCH v7 1/2 lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c
Quoted 6 lines · Heiko Schocher
move
fdtdec_get_int()out oflib/fdtdec.cintolib/fdtdec_common.cas this function is also used, ifCONFIG_OF_CONTROLis not used. Poped up on the ids8313 board using signed FIT images, and activatingCONFIG_SYS_GENERIC_BOARD. Without this patch it shows on boot:
Quoted 8 lines
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_BOARDenabled.Signed-off-by Heiko Schocher <[email protected]>Acked-by Simon Glass <[email protected]>Cc Tom Rini <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
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/20140623/669df26d/attachment.pgp>
PATCH v7 2/2 mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board
In reply to Heiko Schocher- add CONFIG_SYS_GENERIC_BOARD
- remove CONFIG_OF_CONTROL to boot again
---
- changes for v2:
- added acked-by from Kim
- changes for v3:
none
- changes for v4:
none
- changes for v5:
none
- changes for v6:
none
- changes for v7:
none
include/configs/ids8313.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
include/configs/ids8313.h +2 -1
@@ -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 */
Signature · 1 line
1.8.3.1
PATCH v7 2/2 mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board
Quoted 7 lines · Heiko Schocher
- add
CONFIG_SYS_GENERIC_BOARD
- removeCONFIG_OF_CONTROLto boot againSigned-off-by Heiko Schocher <[email protected]>Acked-by Kim Phillips <[email protected]>Cc Simon Glass <[email protected]>
PATCH v7 2/2 mpc8313: add CONFIG_SYS_GENERIC_BOARD to ids8313 board
In reply to Heiko SchocherQuoted 6 lines · Heiko Schocher
- add
CONFIG_SYS_GENERIC_BOARD
- removeCONFIG_OF_CONTROLto boot againSigned-off-by Heiko Schocher <[email protected]>Acked-by Kim Phillips <[email protected]>Acked-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
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/20140623/4b9f34cd/attachment.pgp>