mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.1 KiB
55 lines
1.1 KiB
// SPDX-License-Identifier: GPL-2.0+ |
|
/* |
|
* Copyright (c) 2014 |
|
* Heiko Schocher, DENX Software Engineering, [email protected]. |
|
* |
|
* Based on lib/fdtdec.c: |
|
* Copyright (c) 2011 The Chromium OS Authors. |
|
*/ |
|
|
|
#ifndef USE_HOSTCC |
|
#include <common.h> |
|
#include <linux/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; |
|
} |
|
|
|
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; |
|
}
|
|
|