Hi Tom, This is for the -next branch
https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/6849 The following changes since commit f879f2621b42529cf5f88912a07d2866cfc8fd45: Merge branch 'next' of git://source.denx.de/u-boot-sh into next (2021-03-19 08:20:34 -0400) are available in the Git repository at: git://git.denx.de/u-boot-dm.git tags/dm-pull-21mar21-take2 for you to fetch changes up to 72f2592b113815039000e9b295a2ea6f2e9d4f2f: binman: Update various pieces of the documentation (2021-03-21 14:30:48 +1300) ---------------------------------------------------------------- dtoc support for of-platdata-inst driver model support for of-platdata-inst support of-platdata-inst on x86 / coral binman support for exapanded entries binman convert docs to reST ti-sysc fix for duplicate uclass driver patman minor improvements ---------------------------------------------------------------- Bin Meng (3): mmc: pci: Fix Kconfig dependency test: cmd: setexpr: Fix a typo test: print_ut: Fix potential build error Dario Binacchi (1): bus: ti-sysc: change in a normal driver Heinrich Schuchardt (4): sandbox: allow cross-compiling sandbox sandbox: enable cros-ec-keyb in test.dtb dm: error handling dev_get_dma_range() sandbox: add FAT to the list of usable env drivers Nicolas Boichat (1): patman: Use less for help file, if available Samuel Dionne-Riel (1): tools: fdtgrep: Use unsigned chars for arrays Simon Glass (103): patman: Update documentation to match new usage patman: Quieten down the alias checking dtoc: Scan drivers for available information dtoc: Save scan information across test runs dtoc: Ignore unwanted files when scanning for drivers dtoc: Collect priv/plat struct info from drivers dtoc: Support scanning of uclasses dtoc: Support scanning of structs in header files dtoc: Move test files into a test/ directory dtoc: Rename sandbox_i2c_test and sandbox_pmic_test dtoc: Add some extra properties to nodes dtoc: Make use of node properties dtoc: Process nodes to set up required properties dtoc: Track nodes which are actually used dtoc: Support tracking the phase of U-Boot Makefile: Pass the U-Boot phase to dtoc dtoc: Support headers needed for drivers dtoc: Process driver aliases along with drivers dtoc: Warn of duplicate drivers dtoc: Read aliases for uclasses dtoc: Detect drivers only at the start of start of line dtoc: Assign a sequence number to each node dtoc: Set up the uclasses that are used dtoc: Support processing the root node dtoc: Add an option for device instantiation dm: of-platadata: Add option for device instantiation dtoc: Add support for decl file dtoc: Don't generate platform data with instantiation sandbox: Make sandbox,emul more conventional sandbox: i2c: Rename driver names to work with of-platdata dtoc: Tidy up the list of supported phandle properties dtoc: Generate a summary in the dt-plat.c file dtoc: Generate uclass devices dtoc: Generate device instances dtoc: Drop use of DECL() macros sandbox: Drop debug message in os_spl_to_uboot() linker_lists: Allow use in data structures dm: core: Add macros to access the new linker lists dm: core: Allow dropping run-time binding of devices dm: core: Adjust uclass setup with of-platdata dm: core: Set up driver model for OF_PLATDATA_INST dm: core: Skip adding uclasses with OF_PLATDATA_INST dm: Add the new dtoc-generated files to the build dm: core: Include dt-decl.h automatically dm: test: Avoid destroying uclasses with of-platdata-inst clk: sandbox: Move priv/plat data to a header file clk: fixed-rate: Export driver parts for OF_PLATDATA_INST clk: sandbox: Create a special fixed-rate driver dm: core: Drop device_get_by_driver_info() dm: core: Drop uclass_find_device_by_phandle() with of-platdata sandbox: i2c: Move platdata structs to header files dm: Rename device_get_by_driver_info_idx() sandbox_spl: Increase SPL malloc() size sandbox: i2c: Support i2c emulation with of-platdata Revert "sandbox: Disable I2C emulators in SPL" sandbox: Create a new sandbox_noinst build test: Run sandbox_spl tests on sandbox_noinst azure/gitlab: Add tests for sandbox_noinst dm: core: Add an option to support SPL in read-only memory dm: core: Create a struct for device runtime info dm: core: Move flags to device-runtime info dm: core: Allow storing priv/plat data separately sandbox: Define a region for device priv/plat data dm: core: Use separate priv/plat data region dm: core: Add warnings to private / platform setters dm: doc: Tidy up of-platdata docs dm: doc: Add documentation for of-platdata-inst x86: Define a region for device priv/plat data x86: apl: Fix the header order in pmc x86: apl: Tell of-platdata about a required header file x86: itss: Tidy up bind() for of-platdata-inst x86: Support a fake PCI device with of-platdata-inst x86: Don't include reset driver in SPL x86: coral: Drop ACPI properties from of-platdata x86: coral: Drop TPM and ACPI interrupts from TPL x86: apl: Use read-only SPL and new of-platdata binman: Allow extracting to current directory binman: Document ExpandEntries() in the base class binman: Update entry help for files-align binman: Tidy up underscores in entry documentation binman: Correct the documentation for u-boot-spl-bss-pad binman: Support symbols in u-boot-spl-nodtb binman: Add support for u-boot-tpl-nodtb binman: Add support for u-boot-tpl-bss-bad binman: Drop unnecessary 'type' property in tests binman: Use the fake SPL/TPL only if requested binman: Drop unnecessary field in output_fdt_info binman: Move the comment for GetFdts() to the base class binman: Use standard filenames for SPL/TPL devicetree binman: Allow using an an 'expanded' entry type binman: Allow a way to select expanded entries binman: Plumb expanded entries through fully binman: Automatically expand phase binaries into sections Makefile: Pass new entry args to binman x86: Make use of binman expanded entries x86: dts: Drop unused CONFIG_SPL doc: Move UEFI under develop/ doc: Move driver model docs under develop/ binman: doc: Add documentation to htmldocs binman: Rearrange documentation into headings binman: Incorporate entry documentation binman: Drop repetitive heading for each entry binman: Update various pieces of the documentation .azure-pipelines.yml | 3 + .gitlab-ci.yml | 10 +- Makefile | 18 +- arch/sandbox/cpu/os.c | 1 - arch/sandbox/cpu/u-boot-spl.lds | 8 + arch/sandbox/dts/sandbox.dtsi | 18 +- arch/sandbox/dts/test.dts | 5 +- arch/sandbox/include/asm/clk.h | 24 + arch/sandbox/include/asm/i2c.h | 15 + arch/sandbox/include/asm/rtc.h | 24 + arch/x86/cpu/apollolake/Kconfig | 2 + arch/x86/cpu/apollolake/pmc.c | 2 +- arch/x86/cpu/apollolake/punit.c | 1 + arch/x86/cpu/intel_common/itss.c | 5 +- arch/x86/cpu/u-boot-spl.lds | 8 + arch/x86/dts/chromebook_coral.dts | 10 +- arch/x86/dts/reset.dtsi | 2 +- arch/x86/dts/u-boot.dtsi | 17 +- arch/x86/lib/tpl.c | 1 + board/sandbox/MAINTAINERS | 7 + board/sandbox/sandbox.c | 1 + common/spl/Kconfig | 24 + configs/chromebook_coral_defconfig | 1 + configs/sandbox_noinst_defconfig | 231 ++++++++++ configs/sandbox_spl_defconfig | 3 + doc/arch/x86.rst | 4 +- doc/{ => develop}/driver-model/bind.rst | 0 doc/{ => develop}/driver-model/debugging.rst | 0 doc/{ => develop}/driver-model/design.rst | 0 doc/{ => develop}/driver-model/ethernet.rst | 0 doc/{ => develop}/driver-model/fdt-fixup.rst | 0 doc/{ => develop}/driver-model/fs_firmware_loader.rst | 0 doc/{ => develop}/driver-model/i2c-howto.rst | 0 doc/{ => develop}/driver-model/index.rst | 4 + doc/{ => develop}/driver-model/livetree.rst | 0 doc/{ => develop}/driver-model/migration.rst | 0 doc/develop/driver-model/of-plat.rst | 913 ++++++++++++++++++++++++++++++++++++++ doc/{ => develop}/driver-model/pci-info.rst | 1 + doc/{ => develop}/driver-model/pmic-framework.rst | 0 doc/{ => develop}/driver-model/remoteproc-framework.rst | 0 doc/{ => develop}/driver-model/serial-howto.rst | 0 doc/{ => develop}/driver-model/soc-framework.rst | 0 doc/{ => develop}/driver-model/spi-howto.rst | 0 doc/{ => develop}/driver-model/usb-info.rst | 0 doc/develop/index.rst | 10 + doc/develop/package/binman.rst | 1 + doc/develop/package/entries.rst | 1 + doc/develop/package/index.rst | 19 + doc/{ => develop}/uefi/index.rst | 4 + doc/{ => develop}/uefi/iscsi.rst | 0 doc/{ => develop}/uefi/u-boot_on_efi.rst | 0 doc/{ => develop}/uefi/uefi.rst | 0 doc/driver-model/of-plat.rst | 359 --------------- doc/index.rst | 23 - doc/usage/fit.rst | 8 + doc/usage/index.rst | 1 + drivers/bus/ti-sysc.c | 6 - drivers/clk/clk-uclass.c | 2 +- drivers/clk/clk_fixed_rate.c | 14 +- drivers/clk/clk_sandbox.c | 40 +- drivers/clk/clk_sandbox_test.c | 6 - drivers/core/device.c | 111 +++-- drivers/core/of_addr.c | 4 +- drivers/core/root.c | 85 +++- drivers/core/uclass.c | 7 +- drivers/i2c/Makefile | 2 - drivers/i2c/i2c-emul-uclass.c | 34 +- drivers/misc/irq-uclass.c | 2 +- drivers/misc/test_drv.c | 11 +- drivers/mmc/Kconfig | 1 + drivers/mmc/fsl_esdhc_imx.c | 3 +- drivers/rtc/i2c_rtc_emul.c | 21 +- drivers/rtc/sandbox_rtc.c | 13 + dts/Kconfig | 83 +++- include/asm-generic/global_data.h | 26 +- include/asm-generic/sections.h | 3 + include/dm/device-internal.h | 93 ++++ include/dm/device.h | 108 ++++- include/dm/platdata.h | 15 - include/dm/root.h | 3 + include/dm/test.h | 5 + include/dm/uclass-internal.h | 52 +++ include/dm/uclass.h | 31 ++ include/dm/util.h | 9 + include/dt-structs.h | 2 + include/i2c.h | 15 + include/linker_lists.h | 12 + include/linux/clk-provider.h | 5 + scripts/Makefile.spl | 9 +- test/cmd/setexpr.c | 2 +- test/dm/of_platdata.c | 32 +- test/dm/test-fdt.c | 6 +- test/print_ut.c | 2 +- test/run | 4 + test/test-main.c | 30 +- tools/binman/README.rst | 1 + tools/binman/{README => binman.rst} | 959 ++++++++++++++++++++++------------------ tools/binman/cmdline.py | 5 +- tools/binman/control.py | 28 +- tools/binman/{README.entries => entries.rst} | 336 ++++++++++---- tools/binman/entry.py | 73 ++- tools/binman/entry_test.py | 12 + tools/binman/etype/atf_bl31.py | 2 +- tools/binman/etype/blob.py | 4 +- tools/binman/etype/blob_dtb.py | 9 - tools/binman/etype/blob_ext.py | 2 +- tools/binman/etype/blob_phase.py | 51 +++ tools/binman/etype/cbfs.py | 12 +- tools/binman/etype/fdtmap.py | 30 +- tools/binman/etype/files.py | 2 +- tools/binman/etype/fit.py | 21 +- tools/binman/etype/intel_cmc.py | 2 +- tools/binman/etype/intel_fsp.py | 2 +- tools/binman/etype/intel_fsp_m.py | 2 +- tools/binman/etype/intel_fsp_s.py | 2 +- tools/binman/etype/intel_fsp_t.py | 2 +- tools/binman/etype/intel_ifwi.py | 10 +- tools/binman/etype/intel_me.py | 2 +- tools/binman/etype/intel_mrc.py | 2 +- tools/binman/etype/intel_refcode.py | 2 +- tools/binman/etype/intel_vbt.py | 2 +- tools/binman/etype/intel_vga.py | 2 +- tools/binman/etype/mkimage.py | 4 +- tools/binman/etype/scp.py | 2 +- tools/binman/etype/section.py | 15 +- tools/binman/etype/text.py | 6 +- tools/binman/etype/u_boot.py | 8 +- tools/binman/etype/u_boot_dtb_with_ucode.py | 4 +- tools/binman/etype/u_boot_expanded.py | 24 + tools/binman/etype/u_boot_nodtb.py | 8 +- tools/binman/etype/u_boot_spl.py | 3 + tools/binman/etype/u_boot_spl_bss_pad.py | 17 +- tools/binman/etype/u_boot_spl_expanded.py | 45 ++ tools/binman/etype/u_boot_spl_nodtb.py | 24 +- tools/binman/etype/u_boot_tpl.py | 3 + tools/binman/etype/u_boot_tpl_bss_pad.py | 44 ++ tools/binman/etype/u_boot_tpl_expanded.py | 45 ++ tools/binman/etype/u_boot_tpl_nodtb.py | 42 ++ tools/binman/etype/u_boot_with_ucode_ptr.py | 2 +- tools/binman/ftest.py | 268 ++++++++++-- tools/binman/image.py | 17 +- tools/binman/index.rst | 9 + tools/binman/setup.py | 2 +- tools/binman/state.py | 71 +-- tools/binman/test/053_symbols.dts | 2 +- tools/binman/test/149_symbols_tpl.dts | 1 - tools/binman/test/155_symbols_tpl_x86.dts | 1 - tools/binman/test/192_symbols_nodtb.dts | 26 ++ tools/binman/test/192_u_boot_tpl_nodtb.dts | 13 + tools/binman/test/193_tpl_bss_pad.dts | 19 + tools/binman/test/194_fdt_incl.dts | 17 + tools/binman/test/195_fdt_incl_tpl.dts | 13 + tools/binman/test/u_boot_binman_syms.c | 2 +- tools/dtoc/dtb_platdata.py | 620 +++++++++++++++++++++++--- tools/dtoc/dtoc_test_scan_drivers.cxx | 1 - tools/dtoc/main.py | 9 +- tools/dtoc/src_scan.py | 597 ++++++++++++++++++++++++- tools/dtoc/{ => test}/dtoc_test.dts | 0 tools/dtoc/{ => test}/dtoc_test_add_prop.dts | 0 tools/dtoc/{ => test}/dtoc_test_addr32.dts | 0 tools/dtoc/{ => test}/dtoc_test_addr32_64.dts | 0 tools/dtoc/{ => test}/dtoc_test_addr64.dts | 0 tools/dtoc/{ => test}/dtoc_test_addr64_32.dts | 0 tools/dtoc/test/dtoc_test_alias_bad.dts | 58 +++ tools/dtoc/test/dtoc_test_alias_bad_path.dts | 58 +++ tools/dtoc/test/dtoc_test_alias_bad_uc.dts | 58 +++ tools/dtoc/{ => test}/dtoc_test_aliases.dts | 0 tools/dtoc/{ => test}/dtoc_test_bad_reg.dts | 0 tools/dtoc/{ => test}/dtoc_test_bad_reg2.dts | 0 tools/dtoc/{ => test}/dtoc_test_driver_alias.dts | 0 tools/dtoc/{ => test}/dtoc_test_empty.dts | 0 tools/dtoc/test/dtoc_test_inst.dts | 58 +++ tools/dtoc/{ => test}/dtoc_test_invalid_driver.dts | 0 tools/dtoc/{ => test}/dtoc_test_phandle.dts | 0 tools/dtoc/{ => test}/dtoc_test_phandle_bad.dts | 0 tools/dtoc/{ => test}/dtoc_test_phandle_bad2.dts | 0 tools/dtoc/{ => test}/dtoc_test_phandle_cd_gpios.dts | 0 tools/dtoc/{ => test}/dtoc_test_phandle_reorder.dts | 0 tools/dtoc/{ => test}/dtoc_test_phandle_single.dts | 0 tools/dtoc/test/dtoc_test_scan_drivers.cxx | 5 + tools/dtoc/{ => test}/dtoc_test_simple.dts | 4 +- tools/dtoc/test_dtoc.py | 1023 ++++++++++++++++++++++++++++++++++++++++--- tools/dtoc/test_fdt.py | 31 +- tools/dtoc/test_src_scan.py | 397 ++++++++++++++++- tools/fdtgrep.c | 2 +- tools/patman/README | 14 +- tools/patman/func_test.py | 2 +- tools/patman/gitutil.py | 45 +- tools/patman/main.py | 9 +- tools/patman/series.py | 10 +- tools/patman/tools.py | 8 +- 191 files changed, 6509 insertions(+), 1532 deletions(-) create mode 100644 configs/sandbox_noinst_defconfig rename doc/{ => develop}/driver-model/bind.rst (100%) rename doc/{ => develop}/driver-model/debugging.rst (100%) rename doc/{ => develop}/driver-model/design.rst (100%) rename doc/{ => develop}/driver-model/ethernet.rst (100%) rename doc/{ => develop}/driver-model/fdt-fixup.rst (100%) rename doc/{ => develop}/driver-model/fs_firmware_loader.rst (100%) rename doc/{ => develop}/driver-model/i2c-howto.rst (100%) rename doc/{ => develop}/driver-model/index.rst (68%) rename doc/{ => develop}/driver-model/livetree.rst (100%) rename doc/{ => develop}/driver-model/migration.rst (100%) create mode 100644 doc/develop/driver-model/of-plat.rst rename doc/{ => develop}/driver-model/pci-info.rst (99%) rename doc/{ => develop}/driver-model/pmic-framework.rst (100%) rename doc/{ => develop}/driver-model/remoteproc-framework.rst (100%) rename doc/{ => develop}/driver-model/serial-howto.rst (100%) rename doc/{ => develop}/driver-model/soc-framework.rst (100%) rename doc/{ => develop}/driver-model/spi-howto.rst (100%) rename doc/{ => develop}/driver-model/usb-info.rst (100%) create mode 120000 doc/develop/package/binman.rst create mode 120000 doc/develop/package/entries.rst create mode 100644 doc/develop/package/index.rst rename doc/{ => develop}/uefi/index.rst (51%) rename doc/{ => develop}/uefi/iscsi.rst (100%) rename doc/{ => develop}/uefi/u-boot_on_efi.rst (100%) rename doc/{ => develop}/uefi/uefi.rst (100%) delete mode 100644 doc/driver-model/of-plat.rst create mode 100644 doc/usage/fit.rst create mode 120000 tools/binman/README.rst rename tools/binman/{README => binman.rst} (64%) rename tools/binman/{README.entries => entries.rst} (82%) create mode 100644 tools/binman/etype/blob_phase.py create mode 100644 tools/binman/etype/u_boot_expanded.py create mode 100644 tools/binman/etype/u_boot_spl_expanded.py create mode 100644 tools/binman/etype/u_boot_tpl_bss_pad.py create mode 100644 tools/binman/etype/u_boot_tpl_expanded.py create mode 100644 tools/binman/etype/u_boot_tpl_nodtb.py create mode 100644 tools/binman/index.rst create mode 100644 tools/binman/test/192_symbols_nodtb.dts create mode 100644 tools/binman/test/192_u_boot_tpl_nodtb.dts create mode 100644 tools/binman/test/193_tpl_bss_pad.dts create mode 100644 tools/binman/test/194_fdt_incl.dts create mode 100644 tools/binman/test/195_fdt_incl_tpl.dts delete mode 100644 tools/dtoc/dtoc_test_scan_drivers.cxx rename tools/dtoc/{ => test}/dtoc_test.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_add_prop.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_addr32.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_addr32_64.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_addr64.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_addr64_32.dts (100%) create mode 100644 tools/dtoc/test/dtoc_test_alias_bad.dts create mode 100644 tools/dtoc/test/dtoc_test_alias_bad_path.dts create mode 100644 tools/dtoc/test/dtoc_test_alias_bad_uc.dts rename tools/dtoc/{ => test}/dtoc_test_aliases.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_bad_reg.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_bad_reg2.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_driver_alias.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_empty.dts (100%) create mode 100644 tools/dtoc/test/dtoc_test_inst.dts rename tools/dtoc/{ => test}/dtoc_test_invalid_driver.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_phandle.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_phandle_bad.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_phandle_bad2.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_phandle_cd_gpios.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_phandle_reorder.dts (100%) rename tools/dtoc/{ => test}/dtoc_test_phandle_single.dts (100%) create mode 100644 tools/dtoc/test/dtoc_test_scan_drivers.cxx rename tools/dtoc/{ => test}/dtoc_test_simple.dts (93%) Regards, Simon