X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=lib%2Ffdtdec_common.c;h=088e9e9063a92b378912fefdc46c74cc84ee892d;hb=cccc05ee3b9f575b567437d4146af0dee40c68ba;hp=757931a9cb25119b3283b12bc985310310dae4d0;hpb=84f24ac8278d287581e5a559a7299e1dc2b53481;p=oweals%2Fu-boot.git diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c index 757931a9cb..088e9e9063 100644 --- a/lib/fdtdec_common.c +++ b/lib/fdtdec_common.c @@ -1,16 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (c) 2014 * Heiko Schocher, DENX Software Engineering, hs@denx.de. * * Based on lib/fdtdec.c: * Copyright (c) 2011 The Chromium OS Authors. - * - * SPDX-License-Identifier: GPL-2.0+ */ #ifndef USE_HOSTCC #include -#include +#include #include #else #include "libfdt.h" @@ -36,3 +35,21 @@ int fdtdec_get_int(const void *blob, int node, const char *prop_name, debug("(not found)\n"); return default_val; } + +unsigned int fdtdec_get_uint(const void *blob, int node, const char *prop_name, + unsigned 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(unsigned int)) { + unsigned int val = fdt32_to_cpu(cell[0]); + + debug("%#x (%d)\n", val, val); + return val; + } + debug("(not found)\n"); + return default_val; +}