[U-Boot] [PATCH v2 00/16] dtoc: Add support for 64-bit addresses
Simon Glass
sjg at chromium.org
Tue Aug 29 20:15:45 UTC 2017
This series updates dtoc to support 64-bit addresses automatically. These
appear in C code as fdt64_t arrays:
struct dtd_test1 {
fdt64_t reg[2];
};
static struct dtd_test1 dtv_test1 = {
.reg = {0x123400000000, 0x5678},
};
C code can then process these address and size parents easily. This
feature is controlled by the #address-cells and #size-cells values of the
parent.
The v2 series also enhances phandle support so that it is now possible to
support phandles with different number of arguments. Several clean-up
patches are included also.
Changes in v2:
- Support 'reg' properties with a single cell (e.g. #size-cells = 0)
- Introduce an fdt_val_t type which is either 32- or 64-bits long
- Update rk3368 and rk3399 uses
- Drop review tags since there are significant changes in this patch
Simon Glass (16):
fdt: Sync libfdt up to upstream
dtoc: Adjust Node to record its parent
dtoc: Add a 64-bit type and a way to convert cells into 64 bits
dtoc: Avoid very long lines in output
dtoc: Add support for 32 or 64-bit addresses
dtoc: Handle 'reg' properties with unusual sizes
dtoc: Update the Fdt class to record phandles
dtoc: Use the Fdt's class's phandle map
dtoc: Make is_phandle() a member function
dtoc: Rename is_phandle() and adjust it to return more detail
dtoc: Rename the phandle struct
dtoc: Put each phandle on a separate line
dtoc: Put phandle args in an array
dtoc: Support properties containing multiple phandle values
dtoc: Rename the auto-generated dt-structs.h file
dtoc: Add a header to the generated files
doc/driver-model/of-plat.txt | 2 +-
drivers/clk/clk-uclass.c | 4 +-
drivers/clk/rockchip/clk_rk3368.c | 2 +-
drivers/clk/rockchip/clk_rk3399.c | 4 +-
drivers/core/regmap.c | 2 +-
include/clk.h | 4 +-
include/dt-structs.h | 16 ++-
include/fdtdec.h | 2 +
include/regmap.h | 2 +-
include/syscon.h | 6 +-
lib/libfdt/fdt_rw.c | 20 ++-
lib/libfdt/libfdt.h | 31 +++++
lib/libfdt/pylibfdt/libfdt.i | 58 ++++++++
scripts/Makefile.spl | 5 +-
tools/dtoc/dtb_platdata.py | 204 ++++++++++++++++++++++------
tools/dtoc/dtoc_test_addr32.dts | 27 ++++
tools/dtoc/dtoc_test_addr32_64.dts | 33 +++++
tools/dtoc/dtoc_test_addr64.dts | 33 +++++
tools/dtoc/dtoc_test_addr64_32.dts | 33 +++++
tools/dtoc/dtoc_test_phandle.dts | 16 ++-
tools/dtoc/dtoc_test_simple.dts | 14 ++
tools/dtoc/fdt.py | 19 ++-
tools/dtoc/fdt_util.py | 16 +++
tools/dtoc/test_dtoc.py | 270 ++++++++++++++++++++++++++++++++++++-
24 files changed, 748 insertions(+), 75 deletions(-)
create mode 100644 tools/dtoc/dtoc_test_addr32.dts
create mode 100644 tools/dtoc/dtoc_test_addr32_64.dts
create mode 100644 tools/dtoc/dtoc_test_addr64.dts
create mode 100644 tools/dtoc/dtoc_test_addr64_32.dts
--
2.14.1.342.g6490525c54-goog
More information about the U-Boot
mailing list