[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