This patchset adds support for the new Keystone 2 Industrial Communication Engine board.
This patchset includes the introduction of embedded FIT images in U-boot. This creates a FIT image of dtb files that enables board specific code to select which DTB to use at runtime. Initially during boot a generic DTB is required that enables board detection to occur and once it has can later be swapped out for the correct dtb. Version 3 changes: Fixed minor comments that were missed in rev 2. Version 2 changes: Some patches were dropped since equivalent changes have already be incorporated in upstream already. The addition davinci i2c device model in upstream resulted in some patches having to be added or tweaked. The DT for K2G ICE is based on the version that has been accepted into Linux mainline https://lkml.org/lkml/2017/5/22/28 Franklin S Cooper Jr (29): spl: fit: Break out some functions into a common file boot_fit: Create helper functions that can be used to select DTB out of FIT fdt: Enable selecting correct DTB from appended FIT Image ti: common: board_detect: Add function to determine if EEPROM was read dts: Allow OF_LIST to depend on FIT_EMBED ARM: dts: k2g: Introduce U-boot specific dtsi file arm: dts: Add new "generic" 66AK2Gx device tree file. board_f: Add new function to allow runtime DTB selection Makefile: Build additional binaries for dtb FIT blobs appended to U-boot ARM: keystone2: Allow to build with all image formats ARM: k2g: Define embedded_dtb_select for runtime DTB selection in U-boot ARM: keystone2: Define board_fit_config_name_match for Keystone 2 boards ks2_evm: Add EEPROM based board detection defconfig: keystone2: Enable U-boot runtime DTB detection ARM: keystone2: Add additional fields used for DDR3 configuration ARM: k2g: Program DDR PHY MR2 register with the default value ARM: k2g: Program DDRPHY_DATX8 registers via mask and value variables ks2_evm: Add EEPROM based board detection helper functions ARM: k2g: Add pinmux support for K2G ICE evm ARM: k2g: Add DDR3 configuration for K2G ICE evm board: ks2: Use board detection to wrap code not specific to K2G ICE evm ARM: k2g: Use board detection to wrap K2G GP specific calls ARM: k2g: Update board_name u-boot env variable at runtime ARM: dts: keystone-k2g: Remove skeleton.dtsi ARM: dts: keystone-k2g-evm: Add unit address to memory node ARM: dts: k2g: Disable netcp by default ARM: dts: k2g: Add DT support for K2G Industrial Communication Engine evm ARM: k2g: Add K2G ICE DTB to the list of possible DTBs defconfig: k2g_evm_defconfig: Add K2G ICE to OF_LIST Nishanth Menon (1): ti: common: board_detect: Allow settings board detection variables manually .gitignore | 1 + Makefile | 18 +++++- arch/arm/dts/Makefile | 4 +- arch/arm/dts/keystone-k2g-evm-u-boot.dtsi | 19 ++++++ arch/arm/dts/keystone-k2g-evm.dts | 9 +++ arch/arm/dts/keystone-k2g-generic-u-boot.dtsi | 19 ++++++ arch/arm/dts/keystone-k2g-generic.dts | 28 +++++++++ arch/arm/dts/keystone-k2g-ice-u-boot.dtsi | 19 ++++++ arch/arm/dts/keystone-k2g-ice.dts | 36 +++++++++++ arch/arm/dts/keystone-k2g-netcp.dtsi | 1 + arch/arm/dts/keystone-k2g.dtsi | 8 +-- arch/arm/mach-keystone/config.mk | 4 +- arch/arm/mach-keystone/ddr3.c | 35 ++++++++--- arch/arm/mach-keystone/include/mach/ddr3.h | 14 +++++ arch/arm/mach-keystone/include/mach/hardware.h | 3 + board/ti/common/board_detect.c | 34 ++++++++++ board/ti/common/board_detect.h | 26 ++++++++ board/ti/ks2_evm/board.c | 21 +++++-- board/ti/ks2_evm/board.h | 21 +++++++ board/ti/ks2_evm/board_k2e.c | 10 +++ board/ti/ks2_evm/board_k2g.c | 86 +++++++++++++++++++++++--- board/ti/ks2_evm/board_k2hk.c | 10 +++ board/ti/ks2_evm/board_k2l.c | 10 +++ board/ti/ks2_evm/ddr3_k2g.c | 78 ++++++++++++++++++++++- board/ti/ks2_evm/mux-k2g.h | 45 +++++++++++++- common/Kconfig | 16 +++++ common/Makefile | 2 + common/board_f.c | 3 + common/boot_fit.c | 58 +++++++++++++++++ common/common_fit.c | 86 ++++++++++++++++++++++++++ common/spl/spl_fit.c | 76 +---------------------- configs/k2e_evm_defconfig | 3 + configs/k2g_evm_defconfig | 3 + configs/k2hk_evm_defconfig | 3 + configs/k2l_evm_defconfig | 3 + dts/Kconfig | 11 ++-- include/boot_fit.h | 9 +++ include/common.h | 4 ++ include/configs/k2g_evm.h | 13 +++- include/image.h | 8 +++ lib/fdtdec.c | 10 +++ 41 files changed, 749 insertions(+), 118 deletions(-) create mode 100644 arch/arm/dts/keystone-k2g-evm-u-boot.dtsi create mode 100644 arch/arm/dts/keystone-k2g-generic-u-boot.dtsi create mode 100644 arch/arm/dts/keystone-k2g-generic.dts create mode 100644 arch/arm/dts/keystone-k2g-ice-u-boot.dtsi create mode 100644 arch/arm/dts/keystone-k2g-ice.dts create mode 100644 common/boot_fit.c create mode 100644 common/common_fit.c create mode 100644 include/boot_fit.h -- 2.10.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot