Skip to contentSkip to conversation

spl: Support loading a FIT image containing U-Boot

PATCH Superseded Simon Glass 10 participants 43 messages Jan 28, 2016 – Feb 22, 2016 7 messages not in the archive Page 2 of 2

Subsystems (14)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#20 lore raw

PATCH 10/26 Kconfig: Move CONFIG_FIT and CONFIG_OF_*_SETUP to Kconfig

In reply to Simon Glass

Move these options to Kconfig and tidy up board configuration:

CONFIG_FIT
CONFIG_OF_BOARD_SETUP
CONFIG_OF_SYSTEM_SETUP

Unfortunately the first one is a little complicated. We need to make sure this option is not enabled in SPL by this change. Also this option is enabled automatically in the host builds by defining CONFIG_GIT in the image.h file. To solve this, add a new IMAGE_USE_FIT #define which can be used in files that are built on the host but must also build for U-Boot and SPL.

Note: Masahiro's moveconfig.py script is amazing.

---

 cmd/disk.c                                         |  6 ++---
 common/Kconfig                                     | 28 ++++++++++++++++++++++
 common/Makefile                                    |  2 +-
 common/bootm.c                                     | 10 ++++----
 common/image-fdt.c                                 |  8 +++----
 common/image-fit.c                                 |  3 ++-
 common/image.c                                     | 24 +++++++++----------
 configs/10m50_defconfig                            |  1 +
 configs/3c120_defconfig                            |  1 +
 configs/A10-OLinuXino-Lime_defconfig               |  1 +
 configs/A10s-OLinuXino-M_defconfig                 |  1 +
 configs/A13-OLinuXinoM_defconfig                   |  1 +
 configs/A13-OLinuXino_defconfig                    |  1 +
 configs/A20-OLinuXino-Lime2_defconfig              |  1 +
 configs/A20-OLinuXino-Lime_defconfig               |  1 +
 configs/A20-OLinuXino_MICRO_defconfig              |  1 +
 configs/A20-Olimex-SOM-EVB_defconfig               |  1 +
 configs/Ainol_AW1_defconfig                        |  1 +
 configs/Ampe_A76_defconfig                         |  1 +
 configs/Auxtek-T003_defconfig                      |  1 +
 configs/Auxtek-T004_defconfig                      |  1 +
 configs/B4420QDS_NAND_defconfig                    |  2 ++
 configs/B4420QDS_SPIFLASH_defconfig                |  2 ++
 configs/B4420QDS_defconfig                         |  2 ++
 configs/B4860QDS_NAND_defconfig                    |  2 ++
 configs/B4860QDS_SECURE_BOOT_defconfig             |  2 ++
 configs/B4860QDS_SPIFLASH_defconfig                |  2 ++
 configs/B4860QDS_SRIO_PCIE_BOOT_defconfig          |  2 ++
 configs/B4860QDS_defconfig                         |  2 ++
 configs/BSC9131RDB_NAND_SYSCLK100_defconfig        |  2 ++
 configs/BSC9131RDB_NAND_defconfig                  |  2 ++
 configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig    |  2 ++
 configs/BSC9131RDB_SPIFLASH_defconfig              |  2 ++
 configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig |  2 ++
 configs/BSC9132QDS_NAND_DDRCLK100_defconfig        |  2 ++
 configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig |  2 ++
 configs/BSC9132QDS_NAND_DDRCLK133_defconfig        |  2 ++
 configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig  |  2 ++
 configs/BSC9132QDS_NOR_DDRCLK100_defconfig         |  2 ++
 configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig  |  2 ++
 configs/BSC9132QDS_NOR_DDRCLK133_defconfig         |  2 ++
 .../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |  2 ++
 configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig      |  2 ++
 .../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |  2 ++
 configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig      |  2 ++
 .../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |  2 ++
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig    |  2 ++
 .../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |  2 ++
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig    |  2 ++
 configs/Bananapi_defconfig                         |  1 +
 configs/Bananapro_defconfig                        |  1 +
 configs/C29XPCIE_NAND_defconfig                    |  2 ++
 configs/C29XPCIE_NOR_SECBOOT_defconfig             |  2 ++
 configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig        |  2 ++
 configs/C29XPCIE_SPIFLASH_defconfig                |  2 ++
 configs/C29XPCIE_defconfig                         |  2 ++
 configs/CHIP_defconfig                             |  1 +
 configs/CPCI4052_defconfig                         |  1 +
 configs/CSQ_CS908_defconfig                        |  1 +
 configs/Chuwi_V7_CW0825_defconfig                  |  1 +
 configs/Colombus_defconfig                         |  1 +
 configs/Cubieboard2_defconfig                      |  1 +
 configs/Cubieboard_defconfig                       |  1 +
 configs/Cubietruck_defconfig                       |  1 +
 configs/Cyrus_P5020_defconfig                      |  2 ++
 configs/Cyrus_P5040_defconfig                      |  2 ++
 configs/Empire_electronix_d709_defconfig           |  1 +
 configs/Hummingbird_A31_defconfig                  |  1 +
 configs/Hyundai_A7HD_defconfig                     |  1 +
 configs/Lamobo_R1_defconfig                        |  1 +
 configs/Linksprite_pcDuino3_Nano_defconfig         |  1 +
 configs/Linksprite_pcDuino3_defconfig              |  1 +
 configs/Linksprite_pcDuino_defconfig               |  1 +
 configs/MK808C_defconfig                           |  1 +
 configs/MPC8308RDB_defconfig                       |  2 ++
 configs/MPC8313ERDB_33_defconfig                   |  1 +
 configs/MPC8313ERDB_66_defconfig                   |  1 +
 configs/MPC8313ERDB_NAND_33_defconfig              |  1 +
 configs/MPC8313ERDB_NAND_66_defconfig              |  1 +
 configs/MPC8315ERDB_defconfig                      |  1 +
 configs/MPC8323ERDB_defconfig                      |  1 +
 configs/MPC832XEMDS_ATM_defconfig                  |  1 +
 configs/MPC832XEMDS_HOST_33_defconfig              |  1 +
 configs/MPC832XEMDS_HOST_66_defconfig              |  1 +
 configs/MPC832XEMDS_SLAVE_defconfig                |  1 +
 configs/MPC832XEMDS_defconfig                      |  1 +
 configs/MPC8349EMDS_defconfig                      |  1 +
 configs/MPC8349ITXGP_defconfig                     |  1 +
 configs/MPC8349ITX_LOWBOOT_defconfig               |  1 +
 configs/MPC8349ITX_defconfig                       |  1 +
 configs/MPC837XEMDS_HOST_defconfig                 |  1 +
 configs/MPC837XEMDS_defconfig                      |  1 +
 configs/MPC837XERDB_defconfig                      |  1 +
 configs/MPC8536DS_36BIT_defconfig                  |  1 +
 configs/MPC8536DS_SDCARD_defconfig                 |  1 +
 configs/MPC8536DS_SPIFLASH_defconfig               |  1 +
 configs/MPC8536DS_defconfig                        |  1 +
 configs/MPC8540ADS_defconfig                       |  1 +
 configs/MPC8541CDS_defconfig                       |  1 +
 configs/MPC8541CDS_legacy_defconfig                |  1 +
 configs/MPC8544DS_defconfig                        |  1 +
 configs/MPC8548CDS_36BIT_defconfig                 |  1 +
 configs/MPC8548CDS_defconfig                       |  1 +
 configs/MPC8548CDS_legacy_defconfig                |  1 +
 configs/MPC8555CDS_defconfig                       |  1 +
 configs/MPC8555CDS_legacy_defconfig                |  1 +
 configs/MPC8560ADS_defconfig                       |  1 +
 configs/MPC8568MDS_defconfig                       |  1 +
 configs/MPC8569MDS_ATM_defconfig                   |  1 +
 configs/MPC8569MDS_defconfig                       |  1 +
 configs/MPC8572DS_36BIT_defconfig                  |  2 ++
 configs/MPC8572DS_defconfig                        |  2 ++
 configs/MPC8610HPCD_defconfig                      |  1 +
 configs/MPC8641HPCN_36BIT_defconfig                |  1 +
 configs/MPC8641HPCN_defconfig                      |  1 +
 configs/MSI_Primo73_defconfig                      |  1 +
 configs/MSI_Primo81_defconfig                      |  1 +
 configs/Marsboard_A10_defconfig                    |  1 +
 configs/Mele_A1000G_quad_defconfig                 |  1 +
 configs/Mele_A1000_defconfig                       |  1 +
 configs/Mele_I7_defconfig                          |  1 +
 configs/Mele_M3_defconfig                          |  1 +
 configs/Mele_M5_defconfig                          |  1 +
 configs/Mele_M9_defconfig                          |  1 +
 configs/Mini-X_defconfig                           |  1 +
 configs/MiniFAP_defconfig                          |  1 +
 configs/O2D300_defconfig                           |  1 +
 configs/O2DNT2_RAMBOOT_defconfig                   |  1 +
 configs/O2DNT2_defconfig                           |  1 +
 configs/O2D_defconfig                              |  1 +
 configs/O2I_defconfig                              |  1 +
 configs/O2MNT_O2M110_defconfig                     |  1 +
 configs/O2MNT_O2M112_defconfig                     |  1 +
 configs/O2MNT_O2M113_defconfig                     |  1 +
 configs/O2MNT_defconfig                            |  1 +
 configs/O3DNT_defconfig                            |  1 +
 configs/Orangepi_defconfig                         |  1 +
 configs/Orangepi_mini_defconfig                    |  1 +
 configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig   |  2 ++
 configs/P1010RDB-PA_36BIT_NAND_defconfig           |  2 ++
 configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig    |  2 ++
 configs/P1010RDB-PA_36BIT_NOR_defconfig            |  2 ++
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig         |  2 ++
 .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |  2 ++
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig       |  2 ++
 configs/P1010RDB-PA_NAND_SECBOOT_defconfig         |  2 ++
 configs/P1010RDB-PA_NAND_defconfig                 |  2 ++
 configs/P1010RDB-PA_NOR_SECBOOT_defconfig          |  2 ++
 configs/P1010RDB-PA_NOR_defconfig                  |  2 ++
 configs/P1010RDB-PA_SDCARD_defconfig               |  2 ++
 configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig     |  2 ++
 configs/P1010RDB-PA_SPIFLASH_defconfig             |  2 ++
 configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig   |  2 ++
 configs/P1010RDB-PB_36BIT_NAND_defconfig           |  2 ++
 configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig    |  2 ++
 configs/P1010RDB-PB_36BIT_NOR_defconfig            |  2 ++
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig         |  2 ++
 .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |  2 ++
 configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig       |  2 ++
 configs/P1010RDB-PB_NAND_SECBOOT_defconfig         |  2 ++
 configs/P1010RDB-PB_NAND_defconfig                 |  2 ++
 configs/P1010RDB-PB_NOR_SECBOOT_defconfig          |  2 ++
 configs/P1010RDB-PB_NOR_defconfig                  |  2 ++
 configs/P1010RDB-PB_SDCARD_defconfig               |  2 ++
 configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig     |  2 ++
 configs/P1010RDB-PB_SPIFLASH_defconfig             |  2 ++
 configs/P1020MBG-PC_36BIT_SDCARD_defconfig         |  2 ++
 configs/P1020MBG-PC_36BIT_defconfig                |  2 ++
 configs/P1020MBG-PC_SDCARD_defconfig               |  2 ++
 configs/P1020MBG-PC_defconfig                      |  2 ++
 configs/P1020RDB-PC_36BIT_NAND_defconfig           |  2 ++
 configs/P1020RDB-PC_36BIT_SDCARD_defconfig         |  2 ++
 configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig       |  2 ++
 configs/P1020RDB-PC_36BIT_defconfig                |  2 ++
 configs/P1020RDB-PC_NAND_defconfig                 |  2 ++
 configs/P1020RDB-PC_SDCARD_defconfig               |  2 ++
 configs/P1020RDB-PC_SPIFLASH_defconfig             |  2 ++
 configs/P1020RDB-PC_defconfig                      |  2 ++
 configs/P1020RDB-PD_NAND_defconfig                 |  2 ++
 configs/P1020RDB-PD_SDCARD_defconfig               |  2 ++
 configs/P1020RDB-PD_SPIFLASH_defconfig             |  2 ++
 configs/P1020RDB-PD_defconfig                      |  2 ++
 configs/P1020UTM-PC_36BIT_SDCARD_defconfig         |  2 ++
 configs/P1020UTM-PC_36BIT_defconfig                |  2 ++
 configs/P1020UTM-PC_SDCARD_defconfig               |  2 ++
 configs/P1020UTM-PC_defconfig                      |  2 ++
 configs/P1021RDB-PC_36BIT_NAND_defconfig           |  2 ++
 configs/P1021RDB-PC_36BIT_SDCARD_defconfig         |  2 ++
 configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig       |  2 ++
 configs/P1021RDB-PC_36BIT_defconfig                |  2 ++
 configs/P1021RDB-PC_NAND_defconfig                 |  2 ++
 configs/P1021RDB-PC_SDCARD_defconfig               |  2 ++
 configs/P1021RDB-PC_SPIFLASH_defconfig             |  2 ++
 configs/P1021RDB-PC_defconfig                      |  2 ++
 configs/P1022DS_36BIT_NAND_defconfig               |  2 ++
 configs/P1022DS_36BIT_SDCARD_defconfig             |  2 ++
 configs/P1022DS_36BIT_SPIFLASH_defconfig           |  2 ++
 configs/P1022DS_36BIT_defconfig                    |  2 ++
 configs/P1022DS_NAND_defconfig                     |  2 ++
 configs/P1022DS_SDCARD_defconfig                   |  2 ++
 configs/P1022DS_SPIFLASH_defconfig                 |  2 ++
 configs/P1022DS_defconfig                          |  2 ++
 configs/P1023RDB_defconfig                         |  2 ++
 configs/P1024RDB_36BIT_defconfig                   |  2 ++
 configs/P1024RDB_NAND_defconfig                    |  2 ++
 configs/P1024RDB_SDCARD_defconfig                  |  2 ++
 configs/P1024RDB_SPIFLASH_defconfig                |  2 ++
 configs/P1024RDB_defconfig                         |  2 ++
 configs/P1025RDB_36BIT_defconfig                   |  2 ++
 configs/P1025RDB_NAND_defconfig                    |  2 ++
 configs/P1025RDB_SDCARD_defconfig                  |  2 ++
 configs/P1025RDB_SPIFLASH_defconfig                |  2 ++
 configs/P1025RDB_defconfig                         |  2 ++
 configs/P2020RDB-PC_36BIT_NAND_defconfig           |  2 ++
 configs/P2020RDB-PC_36BIT_SDCARD_defconfig         |  2 ++
 configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig       |  2 ++
 configs/P2020RDB-PC_36BIT_defconfig                |  2 ++
 configs/P2020RDB-PC_NAND_defconfig                 |  2 ++
 configs/P2020RDB-PC_SDCARD_defconfig               |  2 ++
 configs/P2020RDB-PC_SPIFLASH_defconfig             |  2 ++
 configs/P2020RDB-PC_defconfig                      |  2 ++
 configs/P2041RDB_NAND_defconfig                    |  2 ++
 configs/P2041RDB_SDCARD_defconfig                  |  2 ++
 configs/P2041RDB_SECURE_BOOT_defconfig             |  2 ++
 configs/P2041RDB_SPIFLASH_defconfig                |  2 ++
 configs/P2041RDB_SRIO_PCIE_BOOT_defconfig          |  2 ++
 configs/P2041RDB_defconfig                         |  2 ++
 configs/P3041DS_NAND_SECURE_BOOT_defconfig         |  2 ++
 configs/P3041DS_NAND_defconfig                     |  2 ++
 configs/P3041DS_SDCARD_defconfig                   |  2 ++
 configs/P3041DS_SECURE_BOOT_defconfig              |  2 ++
 configs/P3041DS_SPIFLASH_defconfig                 |  2 ++
 configs/P3041DS_SRIO_PCIE_BOOT_defconfig           |  2 ++
 configs/P3041DS_defconfig                          |  2 ++
 configs/P4080DS_SDCARD_defconfig                   |  2 ++
 configs/P4080DS_SECURE_BOOT_defconfig              |  2 ++
 configs/P4080DS_SPIFLASH_defconfig                 |  2 ++
 configs/P4080DS_SRIO_PCIE_BOOT_defconfig           |  2 ++
 configs/P4080DS_defconfig                          |  2 ++
 configs/P5020DS_NAND_SECURE_BOOT_defconfig         |  2 ++
 configs/P5020DS_NAND_defconfig                     |  2 ++
 configs/P5020DS_SDCARD_defconfig                   |  2 ++
 configs/P5020DS_SECURE_BOOT_defconfig              |  2 ++
 configs/P5020DS_SPIFLASH_defconfig                 |  2 ++
 configs/P5020DS_SRIO_PCIE_BOOT_defconfig           |  2 ++
 configs/P5020DS_defconfig                          |  2 ++
 configs/P5040DS_NAND_SECURE_BOOT_defconfig         |  2 ++
 configs/P5040DS_NAND_defconfig                     |  2 ++
 configs/P5040DS_SDCARD_defconfig                   |  2 ++
 configs/P5040DS_SECURE_BOOT_defconfig              |  2 ++
 configs/P5040DS_SPIFLASH_defconfig                 |  2 ++
 configs/P5040DS_defconfig                          |  2 ++
 configs/PLU405_defconfig                           |  1 +
 configs/PMC405DE_defconfig                         |  1 +
 configs/PMC440_defconfig                           |  1 +
 configs/Sinlinx_SinA33_defconfig                   |  1 +
 configs/Sinovoip_BPI_M2_defconfig                  |  1 +
 configs/T1023RDB_NAND_defconfig                    |  2 ++
 configs/T1023RDB_SDCARD_defconfig                  |  2 ++
 configs/T1023RDB_SECURE_BOOT_defconfig             |  2 ++
 configs/T1023RDB_SPIFLASH_defconfig                |  2 ++
 configs/T1023RDB_defconfig                         |  2 ++
 configs/T1024QDS_DDR4_SECURE_BOOT_defconfig        |  2 ++
 configs/T1024QDS_DDR4_defconfig                    |  2 ++
 configs/T1024QDS_NAND_defconfig                    |  2 ++
 configs/T1024QDS_SDCARD_defconfig                  |  2 ++
 configs/T1024QDS_SECURE_BOOT_defconfig             |  2 ++
 configs/T1024QDS_SPIFLASH_defconfig                |  2 ++
 configs/T1024QDS_defconfig                         |  2 ++
 configs/T1024RDB_NAND_defconfig                    |  2 ++
 configs/T1024RDB_SDCARD_defconfig                  |  2 ++
 configs/T1024RDB_SECURE_BOOT_defconfig             |  2 ++
 configs/T1024RDB_SPIFLASH_defconfig                |  2 ++
 configs/T1024RDB_defconfig                         |  2 ++
 configs/T1040D4RDB_NAND_defconfig                  |  2 ++
 configs/T1040D4RDB_SDCARD_defconfig                |  2 ++
 configs/T1040D4RDB_SECURE_BOOT_defconfig           |  2 ++
 configs/T1040D4RDB_SPIFLASH_defconfig              |  2 ++
 configs/T1040D4RDB_defconfig                       |  2 ++
 configs/T1040QDS_DDR4_defconfig                    |  2 ++
 configs/T1040QDS_SECURE_BOOT_defconfig             |  2 ++
 configs/T1040QDS_defconfig                         |  2 ++
 configs/T1040RDB_NAND_defconfig                    |  2 ++
 configs/T1040RDB_SDCARD_defconfig                  |  2 ++
 configs/T1040RDB_SECURE_BOOT_defconfig             |  2 ++
 configs/T1040RDB_SPIFLASH_defconfig                |  2 ++
 configs/T1040RDB_defconfig                         |  2 ++
 configs/T1042D4RDB_NAND_defconfig                  |  2 ++
 configs/T1042D4RDB_SDCARD_defconfig                |  2 ++
 configs/T1042D4RDB_SECURE_BOOT_defconfig           |  2 ++
 configs/T1042D4RDB_SPIFLASH_defconfig              |  2 ++
 configs/T1042D4RDB_defconfig                       |  2 ++
 configs/T1042RDB_PI_NAND_defconfig                 |  2 ++
 configs/T1042RDB_PI_SDCARD_defconfig               |  2 ++
 configs/T1042RDB_PI_SPIFLASH_defconfig             |  2 ++
 configs/T1042RDB_PI_defconfig                      |  2 ++
 configs/T1042RDB_SECURE_BOOT_defconfig             |  2 ++
 configs/T1042RDB_defconfig                         |  2 ++
 configs/T2080QDS_NAND_defconfig                    |  2 ++
 configs/T2080QDS_SDCARD_defconfig                  |  2 ++
 configs/T2080QDS_SECURE_BOOT_defconfig             |  2 ++
 configs/T2080QDS_SPIFLASH_defconfig                |  2 ++
 configs/T2080QDS_SRIO_PCIE_BOOT_defconfig          |  2 ++
 configs/T2080QDS_defconfig                         |  2 ++
 configs/T2080RDB_NAND_defconfig                    |  2 ++
 configs/T2080RDB_SDCARD_defconfig                  |  2 ++
 configs/T2080RDB_SECURE_BOOT_defconfig             |  2 ++
 configs/T2080RDB_SPIFLASH_defconfig                |  2 ++
 configs/T2080RDB_SRIO_PCIE_BOOT_defconfig          |  2 ++
 configs/T2080RDB_defconfig                         |  2 ++
 configs/T2081QDS_NAND_defconfig                    |  2 ++
 configs/T2081QDS_SDCARD_defconfig                  |  2 ++
 configs/T2081QDS_SPIFLASH_defconfig                |  2 ++
 configs/T2081QDS_SRIO_PCIE_BOOT_defconfig          |  2 ++
 configs/T2081QDS_defconfig                         |  2 ++
 configs/T4160QDS_NAND_defconfig                    |  2 ++
 configs/T4160QDS_SDCARD_defconfig                  |  2 ++
 configs/T4160QDS_SECURE_BOOT_defconfig             |  2 ++
 configs/T4160QDS_defconfig                         |  2 ++
 configs/T4160RDB_defconfig                         |  2 ++
 configs/T4240QDS_NAND_defconfig                    |  2 ++
 configs/T4240QDS_SDCARD_defconfig                  |  2 ++
 configs/T4240QDS_SECURE_BOOT_defconfig             |  2 ++
 configs/T4240QDS_SRIO_PCIE_BOOT_defconfig          |  2 ++
 configs/T4240QDS_defconfig                         |  2 ++
 configs/T4240RDB_SDCARD_defconfig                  |  2 ++
 configs/T4240RDB_defconfig                         |  2 ++
 configs/TQM5200S_HIGHBOOT_defconfig                |  1 +
 configs/TQM5200S_defconfig                         |  1 +
 configs/TQM5200_B_HIGHBOOT_defconfig               |  1 +
 configs/TQM5200_B_defconfig                        |  1 +
 configs/TQM5200_STK100_defconfig                   |  1 +
 configs/TQM5200_defconfig                          |  1 +
 configs/TQM823L_LCD_defconfig                      |  1 +
 configs/TQM823L_defconfig                          |  1 +
 configs/TQM823M_defconfig                          |  1 +
 configs/TQM834x_defconfig                          |  1 +
 configs/TQM850L_defconfig                          |  1 +
 configs/TQM850M_defconfig                          |  1 +
 configs/TQM855L_defconfig                          |  1 +
 configs/TQM855M_defconfig                          |  1 +
 configs/TQM860L_defconfig                          |  1 +
 configs/TQM860M_defconfig                          |  1 +
 configs/TQM862L_defconfig                          |  1 +
 configs/TQM862M_defconfig                          |  1 +
 configs/TQM866M_defconfig                          |  1 +
 configs/TQM885D_defconfig                          |  1 +
 configs/TTTech_defconfig                           |  1 +
 configs/TWR-P1025_defconfig                        |  2 ++
 configs/UCP1020_SPIFLASH_defconfig                 |  2 ++
 configs/UCP1020_defconfig                          |  2 ++
 configs/UTOO_P66_defconfig                         |  1 +
 configs/VOM405_defconfig                           |  1 +
 configs/Wexler_TAB7200_defconfig                   |  1 +
 configs/Wits_Pro_A20_DKT_defconfig                 |  1 +
 configs/Wobo_i5_defconfig                          |  1 +
 configs/Yones_Toptech_BD1078_defconfig             |  1 +
 configs/a3m071_defconfig                           |  2 ++
 configs/a4m072_defconfig                           |  1 +
 configs/a4m2k_defconfig                            |  2 ++
 configs/ac14xx_defconfig                           |  2 ++
 configs/acadia_defconfig                           |  1 +
 configs/am335x_baltos_defconfig                    |  1 +
 configs/am335x_boneblack_defconfig                 |  1 +
 configs/am335x_evm_defconfig                       |  1 +
 configs/am335x_evm_nor_defconfig                   |  1 +
 configs/am335x_evm_norboot_defconfig               |  1 +
 configs/am335x_evm_spiboot_defconfig               |  1 +
 configs/am335x_evm_usbspl_defconfig                |  1 +
 configs/am335x_gp_evm_defconfig                    |  1 +
 configs/am335x_sl50_defconfig                      |  1 +
 configs/apalis_t30_defconfig                       |  1 +
 configs/arches_defconfig                           |  1 +
 configs/aria_defconfig                             |  1 +
 configs/aristainetos2_defconfig                    |  1 +
 configs/aristainetos2b_defconfig                   |  1 +
 configs/aristainetos_defconfig                     |  1 +
 configs/arndale_defconfig                          |  1 +
 configs/ba10_tv_box_defconfig                      |  1 +
 configs/bamboo_defconfig                           |  1 +
 configs/bayleybay_defconfig                        |  1 +
 configs/beaver_defconfig                           |  1 +
 configs/birdland_bav335a_defconfig                 |  1 +
 configs/birdland_bav335b_defconfig                 |  1 +
 configs/bubinga_defconfig                          |  1 +
 configs/caddy2_defconfig                           |  1 +
 configs/cam5200_defconfig                          |  1 +
 configs/cam5200_niosflash_defconfig                |  1 +
 configs/canyonlands_defconfig                      |  1 +
 configs/cardhu_defconfig                           |  1 +
 configs/charon_defconfig                           |  1 +
 configs/chromebook_link_defconfig                  |  1 +
 configs/chromebox_panther_defconfig                |  1 +
 configs/cm5200_defconfig                           |  1 +
 configs/cm_fx6_defconfig                           |  1 +
 configs/cm_t54_defconfig                           |  1 +
 configs/colibri_t20_defconfig                      |  1 +
 configs/colibri_t30_defconfig                      |  1 +
 .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |  2 ++
 configs/controlcenterd_36BIT_SDCARD_defconfig      |  2 ++
 configs/coreboot-x86_defconfig                     |  1 +
 configs/crownbay_defconfig                         |  1 +
 configs/dalmore_defconfig                          |  1 +
 configs/devconcenter_defconfig                     |  2 ++
 configs/digsy_mtc_RAMBOOT_defconfig                |  1 +
 configs/digsy_mtc_defconfig                        |  1 +
 configs/digsy_mtc_rev5_RAMBOOT_defconfig           |  1 +
 configs/digsy_mtc_rev5_defconfig                   |  1 +
 configs/dlvision-10g_defconfig                     |  2 ++
 configs/dlvision_defconfig                         |  2 ++
 configs/e2220-1170_defconfig                       |  1 +
 configs/eco5pk_defconfig                           |  1 +
 configs/efi-x86_defconfig                          |  1 +
 configs/flea3_defconfig                            |  1 +
 configs/fo300_defconfig                            |  1 +
 configs/ga10h_v1_1_defconfig                       |  1 +
 configs/galileo_defconfig                          |  1 +
 configs/gdppc440etx_defconfig                      |  1 +
 configs/glacier_defconfig                          |  1 +
 configs/glacier_ramboot_defconfig                  |  1 +
 configs/gt90h_v4_defconfig                         |  1 +
 configs/gwventana_defconfig                        |  2 ++
 configs/h2200_defconfig                            |  1 +
 configs/haleakala_defconfig                        |  1 +
 configs/harmony_defconfig                          |  1 +
 configs/highbank_defconfig                         |  2 ++
 configs/hrcon_defconfig                            |  2 ++
 configs/hrcon_dh_defconfig                         |  2 ++
 configs/i12-tvbox_defconfig                        |  1 +
 configs/iNet_3F_defconfig                          |  1 +
 configs/iNet_3W_defconfig                          |  1 +
 configs/iNet_86VS_defconfig                        |  1 +
 configs/icon_defconfig                             |  1 +
 configs/ids8313_defconfig                          |  1 +
 configs/inet1_defconfig                            |  1 +
 configs/inet97fv2_defconfig                        |  1 +
 configs/inet98v_rev2_defconfig                     |  1 +
 configs/inet9f_rev03_defconfig                     |  1 +
 configs/intip_defconfig                            |  2 ++
 configs/io64_defconfig                             |  2 ++
 configs/io_defconfig                               |  2 ++
 configs/iocon_defconfig                            |  1 +
 configs/ipek01_defconfig                           |  1 +
 configs/jesurun_q5_defconfig                       |  1 +
 configs/jetson-tk1_defconfig                       |  1 +
 configs/k2e_evm_defconfig                          |  1 +
 configs/k2g_evm_defconfig                          |  1 +
 configs/k2hk_evm_defconfig                         |  1 +
 configs/k2l_evm_defconfig                          |  1 +
 configs/katmai_defconfig                           |  1 +
 configs/kilauea_defconfig                          |  1 +
 configs/kmcoge4_defconfig                          |  2 ++
 configs/kmcoge5ne_defconfig                        |  1 +
 configs/kmeter1_defconfig                          |  1 +
 configs/kmlion1_defconfig                          |  2 ++
 configs/kmopti2_defconfig                          |  1 +
 configs/kmsupx5_defconfig                          |  1 +
 configs/kmtegr1_defconfig                          |  1 +
 configs/kmtepr2_defconfig                          |  1 +
 configs/kmvect1_defconfig                          |  1 +
 configs/ls1021aqds_ddr4_nor_defconfig              |  1 +
 configs/ls1021aqds_ddr4_nor_lpuart_defconfig       |  1 +
 configs/ls1021aqds_nand_defconfig                  |  1 +
 configs/ls1021aqds_nor_SECURE_BOOT_defconfig       |  1 +
 configs/ls1021aqds_nor_defconfig                   |  1 +
 configs/ls1021aqds_nor_lpuart_defconfig            |  1 +
 configs/ls1021aqds_qspi_defconfig                  |  1 +
 configs/ls1021aqds_sdcard_defconfig                |  1 +
 configs/ls1021atwr_nor_SECURE_BOOT_defconfig       |  1 +
 configs/ls1021atwr_nor_defconfig                   |  1 +
 configs/ls1021atwr_nor_lpuart_defconfig            |  1 +
 configs/ls1021atwr_qspi_defconfig                  |  1 +
 configs/ls1021atwr_sdcard_ifc_defconfig            |  1 +
 configs/ls1021atwr_sdcard_qspi_defconfig           |  1 +
 configs/ls1043aqds_defconfig                       |  2 ++
 configs/ls1043aqds_nand_defconfig                  |  2 ++
 configs/ls1043aqds_nor_ddr3_defconfig              |  2 ++
 configs/ls1043aqds_sdcard_ifc_defconfig            |  2 ++
 configs/ls1043ardb_SECURE_BOOT_defconfig           |  2 ++
 configs/ls1043ardb_defconfig                       |  2 ++
 configs/ls1043ardb_nand_defconfig                  |  2 ++
 configs/ls1043ardb_sdcard_defconfig                |  2 ++
 configs/ls2080a_emu_defconfig                      |  2 ++
 configs/ls2080a_simu_defconfig                     |  2 ++
 configs/ls2080aqds_defconfig                       |  2 ++
 configs/ls2080aqds_nand_defconfig                  |  2 ++
 configs/ls2080ardb_defconfig                       |  2 ++
 configs/ls2080ardb_nand_defconfig                  |  2 ++
 configs/ls2085a_emu_defconfig                      |  2 ++
 configs/ls2085a_simu_defconfig                     |  2 ++
 configs/ls2085aqds_defconfig                       |  2 ++
 configs/ls2085aqds_nand_defconfig                  |  2 ++
 configs/ls2085ardb_defconfig                       |  2 ++
 configs/ls2085ardb_nand_defconfig                  |  2 ++
 configs/luan_defconfig                             |  1 +
 configs/lwmon5_defconfig                           |  2 ++
 configs/m28evk_defconfig                           |  1 +
 configs/m53evk_defconfig                           |  1 +
 configs/makalu_defconfig                           |  1 +
 configs/mcx_defconfig                              |  1 +
 configs/mecp5123_defconfig                         |  1 +
 configs/medcom-wide_defconfig                      |  2 ++
 configs/meesc_dataflash_defconfig                  |  1 +
 configs/meesc_defconfig                            |  1 +
 configs/mgcoge3ne_defconfig                        |  2 ++
 configs/mgcoge_defconfig                           |  2 ++
 configs/microblaze-generic_defconfig               |  1 +
 configs/minnowmax_defconfig                        |  1 +
 configs/mixtile_loftq_defconfig                    |  1 +
 configs/mk802_a10s_defconfig                       |  1 +
 configs/mk802_defconfig                            |  1 +
 configs/mk802ii_defconfig                          |  1 +
 configs/motionpro_defconfig                        |  1 +
 configs/mpc5121ads_defconfig                       |  1 +
 configs/mpc5121ads_rev2_defconfig                  |  1 +
 configs/mpc8308_p1m_defconfig                      |  1 +
 configs/mt_ventoux_defconfig                       |  1 +
 configs/munices_defconfig                          |  1 +
 configs/neo_defconfig                              |  2 ++
 configs/novena_defconfig                           |  1 +
 configs/nyan-big_defconfig                         |  2 ++
 configs/odroid-xu3_defconfig                       |  1 +
 configs/odroid_defconfig                           |  1 +
 configs/p2371-0000_defconfig                       |  1 +
 configs/p2371-2180_defconfig                       |  1 +
 configs/p2571_defconfig                            |  1 +
 configs/paz00_defconfig                            |  1 +
 configs/pcm030_LOWBOOT_defconfig                   |  1 +
 configs/pcm030_defconfig                           |  1 +
 configs/pdm360ng_defconfig                         |  2 ++
 configs/peach-pi_defconfig                         |  1 +
 configs/peach-pit_defconfig                        |  1 +
 configs/plutux_defconfig                           |  2 ++
 configs/pov_protab2_ips9_defconfig                 |  1 +
 configs/pxm2_defconfig                             |  1 +
 configs/q8_a13_tablet_defconfig                    |  1 +
 configs/q8_a23_tablet_800x480_defconfig            |  1 +
 configs/q8_a33_tablet_1024x600_defconfig           |  1 +
 configs/q8_a33_tablet_800x480_defconfig            |  1 +
 configs/qemu-ppce500_defconfig                     |  2 ++
 configs/qemu-x86_defconfig                         |  1 +
 configs/r7-tv-dongle_defconfig                     |  1 +
 configs/rainier_defconfig                          |  1 +
 configs/rainier_ramboot_defconfig                  |  1 +
 configs/redwood_defconfig                          |  1 +
 configs/rpi_2_defconfig                            |  1 +
 configs/rpi_defconfig                              |  1 +
 configs/rut_defconfig                              |  1 +
 configs/sbc8349_PCI_33_defconfig                   |  1 +
 configs/sbc8349_PCI_66_defconfig                   |  1 +
 configs/sbc8349_defconfig                          |  1 +
 configs/sbc8548_PCI_33_PCIE_defconfig              |  1 +
 configs/sbc8548_PCI_33_defconfig                   |  1 +
 configs/sbc8548_PCI_66_PCIE_defconfig              |  1 +
 configs/sbc8548_PCI_66_defconfig                   |  1 +
 configs/sbc8548_defconfig                          |  1 +
 configs/sbc8641d_defconfig                         |  1 +
 configs/seaboard_defconfig                         |  1 +
 configs/sequoia_defconfig                          |  1 +
 configs/sequoia_ramboot_defconfig                  |  1 +
 configs/smartweb_defconfig                         |  1 +
 configs/smdk5250_defconfig                         |  1 +
 configs/smdk5420_defconfig                         |  1 +
 configs/snapper9260_defconfig                      |  1 +
 configs/snapper9g20_defconfig                      |  1 +
 configs/snow_defconfig                             |  1 +
 configs/socfpga_arria5_defconfig                   |  1 +
 configs/socfpga_cyclone5_defconfig                 |  1 +
 configs/socfpga_de0_nano_soc_defconfig             |  1 +
 configs/socfpga_mcvevk_defconfig                   |  1 +
 configs/socfpga_sockit_defconfig                   |  1 +
 configs/socfpga_socrates_defconfig                 |  1 +
 configs/socfpga_sr1500_defconfig                   |  1 +
 configs/socrates_defconfig                         |  2 ++
 configs/spring_defconfig                           |  1 +
 configs/strider_con_defconfig                      |  2 ++
 configs/strider_cpu_defconfig                      |  2 ++
 configs/sunxi_Gemei_G9_defconfig                   |  1 +
 configs/suvd3_defconfig                            |  1 +
 configs/sycamore_defconfig                         |  1 +
 configs/t3corp_defconfig                           |  2 ++
 configs/tbs2910_defconfig                          |  1 +
 configs/tec-ng_defconfig                           |  2 ++
 configs/tec_defconfig                              |  2 ++
 configs/tqma6q_mba6_mmc_defconfig                  |  2 ++
 configs/tqma6q_mba6_spi_defconfig                  |  2 ++
 configs/tqma6s_mba6_mmc_defconfig                  |  2 ++
 configs/tqma6s_mba6_spi_defconfig                  |  2 ++
 configs/tqma6s_wru4_mmc_defconfig                  |  2 ++
 configs/trats2_defconfig                           |  1 +
 configs/trats_defconfig                            |  1 +
 configs/trimslice_defconfig                        |  1 +
 configs/tseries_mmc_defconfig                      |  1 +
 configs/tseries_nand_defconfig                     |  1 +
 configs/tseries_spi_defconfig                      |  1 +
 configs/tuge1_defconfig                            |  1 +
 configs/tuxx1_defconfig                            |  1 +
 configs/twister_defconfig                          |  1 +
 configs/ve8313_defconfig                           |  1 +
 configs/venice2_defconfig                          |  1 +
 configs/ventana_defconfig                          |  1 +
 configs/vme8349_defconfig                          |  1 +
 configs/walnut_defconfig                           |  1 +
 configs/whistler_defconfig                         |  1 +
 configs/wtk_defconfig                              |  1 +
 configs/xpedite1000_defconfig                      |  1 +
 configs/xpedite517x_defconfig                      |  2 ++
 configs/xpedite520x_defconfig                      |  2 ++
 configs/xpedite537x_defconfig                      |  2 ++
 configs/xpedite550x_defconfig                      |  2 ++
 configs/yellowstone_defconfig                      |  1 +
 configs/yosemite_defconfig                         |  1 +
 configs/yucca_defconfig                            |  1 +
 include/configs/10m50_devboard.h                   |  1 -
 include/configs/3c120_devboard.h                   |  1 -
 include/configs/B4860QDS.h                         |  2 --
 include/configs/BSC9131RDB.h                       |  2 --
 include/configs/BSC9132QDS.h                       |  2 --
 include/configs/C29XPCIE.h                         |  2 --
 include/configs/CPCI4052.h                         |  1 -
 include/configs/MPC8308RDB.h                       |  2 --
 include/configs/MPC8313ERDB.h                      |  1 -
 include/configs/MPC8315ERDB.h                      |  1 -
 include/configs/MPC8323ERDB.h                      |  1 -
 include/configs/MPC832XEMDS.h                      |  1 -
 include/configs/MPC8349EMDS.h                      |  1 -
 include/configs/MPC8349ITX.h                       |  1 -
 include/configs/MPC837XEMDS.h                      |  1 -
 include/configs/MPC837XERDB.h                      |  1 -
 include/configs/MPC8536DS.h                        |  1 -
 include/configs/MPC8540ADS.h                       |  1 -
 include/configs/MPC8541CDS.h                       |  1 -
 include/configs/MPC8544DS.h                        |  1 -
 include/configs/MPC8548CDS.h                       |  1 -
 include/configs/MPC8555CDS.h                       |  1 -
 include/configs/MPC8560ADS.h                       |  1 -
 include/configs/MPC8568MDS.h                       |  1 -
 include/configs/MPC8569MDS.h                       |  1 -
 include/configs/MPC8572DS.h                        |  2 --
 include/configs/MPC8610HPCD.h                      |  1 -
 include/configs/MPC8641HPCN.h                      |  1 -
 include/configs/P1010RDB.h                         |  2 --
 include/configs/P1022DS.h                          |  2 --
 include/configs/P1023RDB.h                         |  2 --
 include/configs/P2041RDB.h                         |  2 --
 include/configs/PLU405.h                           |  1 -
 include/configs/PMC405DE.h                         |  1 -
 include/configs/PMC440.h                           |  1 -
 include/configs/T102xQDS.h                         |  2 --
 include/configs/T102xRDB.h                         |  2 --
 include/configs/T1040QDS.h                         |  2 --
 include/configs/T104xRDB.h                         |  2 --
 include/configs/T208xQDS.h                         |  2 --
 include/configs/T208xRDB.h                         |  2 --
 include/configs/T4240RDB.h                         |  2 --
 include/configs/TQM5200.h                          |  1 -
 include/configs/TQM823L.h                          |  1 -
 include/configs/TQM823M.h                          |  1 -
 include/configs/TQM834x.h                          |  1 -
 include/configs/TQM850L.h                          |  1 -
 include/configs/TQM850M.h                          |  1 -
 include/configs/TQM855L.h                          |  1 -
 include/configs/TQM855M.h                          |  1 -
 include/configs/TQM860L.h                          |  1 -
 include/configs/TQM860M.h                          |  1 -
 include/configs/TQM862L.h                          |  1 -
 include/configs/TQM862M.h                          |  1 -
 include/configs/TQM866M.h                          |  1 -
 include/configs/TQM885D.h                          |  1 -
 include/configs/UCP1020.h                          |  2 --
 include/configs/VOM405.h                           |  1 -
 include/configs/a3m071.h                           |  2 --
 include/configs/a4m072.h                           |  1 -
 include/configs/ac14xx.h                           |  2 --
 include/configs/am335x_evm.h                       |  1 -
 include/configs/am335x_sl50.h                      |  1 -
 include/configs/amcc-common.h                      |  1 -
 include/configs/aria.h                             |  1 -
 include/configs/aristainetos-common.h              |  1 -
 include/configs/baltos.h                           |  1 -
 include/configs/bav335x.h                          |  1 -
 include/configs/cm5200.h                           |  1 -
 include/configs/cm_fx6.h                           |  1 -
 include/configs/cm_t54.h                           |  1 -
 include/configs/controlcenterd.h                   |  2 --
 include/configs/corenet_ds.h                       |  2 --
 include/configs/cyrus.h                            |  2 --
 include/configs/digsy_mtc.h                        |  1 -
 include/configs/dlvision-10g.h                     |  1 -
 include/configs/dlvision.h                         |  1 -
 include/configs/exynos5-common.h                   |  1 -
 include/configs/flea3.h                            |  1 -
 include/configs/gw_ventana.h                       |  2 --
 include/configs/h2200.h                            |  1 -
 include/configs/highbank.h                         |  2 --
 include/configs/hrcon.h                            |  2 --
 include/configs/ids8313.h                          |  1 -
 include/configs/intip.h                            |  1 -
 include/configs/io.h                               |  1 -
 include/configs/io64.h                             |  1 -
 include/configs/ipek01.h                           |  1 -
 include/configs/jupiter.h                          |  1 -
 include/configs/km/km-powerpc.h                    |  1 -
 include/configs/km/kmp204x-common.h                |  2 --
 include/configs/km82xx.h                           |  1 -
 include/configs/ls1021aqds.h                       |  1 -
 include/configs/ls1021atwr.h                       |  1 -
 include/configs/ls1043a_common.h                   |  2 --
 include/configs/ls1043aqds.h                       |  1 -
 include/configs/ls2080a_common.h                   |  2 --
 include/configs/lwmon5.h                           |  2 --
 include/configs/m28evk.h                           |  1 -
 include/configs/m53evk.h                           |  1 -
 include/configs/manroland/common.h                 |  1 -
 include/configs/mcx.h                              |  1 -
 include/configs/mecp5123.h                         |  1 -
 include/configs/medcom-wide.h                      |  1 -
 include/configs/meesc.h                            |  1 -
 include/configs/microblaze-generic.h               |  1 -
 include/configs/motionpro.h                        |  1 -
 include/configs/mpc5121ads.h                       |  1 -
 include/configs/mpc8308_p1m.h                      |  1 -
 include/configs/munices.h                          |  1 -
 include/configs/mx31ads.h                          |  1 -
 include/configs/neo.h                              |  1 -
 include/configs/novena.h                           |  1 -
 include/configs/nyan-big.h                         |  1 -
 include/configs/o2dnt-common.h                     |  1 -
 include/configs/odroid.h                           |  1 -
 include/configs/p1_p2_rdb_pc.h                     |  2 --
 include/configs/p1_twr.h                           |  2 --
 include/configs/pcm030.h                           |  1 -
 include/configs/pdm360ng.h                         |  2 --
 include/configs/plutux.h                           |  1 -
 include/configs/pxm2.h                             |  1 -
 include/configs/qemu-ppce500.h                     |  2 --
 include/configs/rpi-common.h                       |  1 -
 include/configs/rut.h                              |  1 -
 include/configs/sbc8349.h                          |  1 -
 include/configs/sbc8548.h                          |  1 -
 include/configs/sbc8641d.h                         |  1 -
 include/configs/smartweb.h                         |  1 -
 include/configs/snapper9260.h                      |  1 -
 include/configs/socfpga_common.h                   |  1 -
 include/configs/socrates.h                         |  2 --
 include/configs/strider.h                          |  2 --
 include/configs/sunxi-common.h                     |  1 -
 include/configs/t3corp.h                           |  1 -
 include/configs/t4qds.h                            |  2 --
 include/configs/tam3517-common.h                   |  1 -
 include/configs/tbs2910.h                          |  1 -
 include/configs/tec-ng.h                           |  1 -
 include/configs/tec.h                              |  1 -
 include/configs/tegra-common.h                     |  1 -
 include/configs/ti_armv7_keystone2.h               |  1 -
 include/configs/tqma6.h                            |  2 --
 include/configs/trats.h                            |  1 -
 include/configs/trats2.h                           |  1 -
 include/configs/tseries.h                          |  1 -
 include/configs/ve8313.h                           |  1 -
 include/configs/vme8349.h                          |  1 -
 include/configs/x86-common.h                       |  1 -
 include/configs/xpedite1000.h                      |  1 -
 include/configs/xpedite517x.h                      |  2 --
 include/configs/xpedite520x.h                      |  2 --
 include/configs/xpedite537x.h                      |  2 --
 include/configs/xpedite550x.h                      |  2 --
 include/image.h                                    |  9 ++++---
 768 files changed, 953 insertions(+), 225 deletions(-)
cmd/disk.c +3 -3
index 3025225..106f2d1 100644
@@ -22,7 +22,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,
 #endif
 	block_dev_desc_t *dev_desc;
 
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 	const void *fit_hdr = NULL;
 #endif
 
@@ -82,7 +82,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,
 		cnt = image_get_image_size(hdr);
 		break;
 #endif
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 	case IMAGE_FORMAT_FIT:
 		fit_hdr = (const void *) addr;
 		puts("Fit image detected...\n");
@@ -108,7 +108,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,
 	}
 	bootstage_mark(BOOTSTAGE_ID_IDE_READ);
 
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 	/* This cannot be done earlier,
 	 * we need complete FIT image in RAM first */
 	if (genimg_get_format((void *) addr) == IMAGE_FORMAT_FIT) {
common/Kconfig +28 -0
index 067545d..fe488d5 100644
@@ -124,3 +124,31 @@ config CONSOLE_RECORD_IN_SIZE
 	  tstc() and getc() will use this in preference to real device input.
 	  The buffer is allocated immediately after the malloc() region is
 	  ready.
+
+config FIT
+	bool "Enable support for Flat Image Trees"
+	depends on OF_LIBFDT
+	help
+	  U-Boot uses a type of image called FIT (Flat Image Tree) to store
+	  the Operating System, ramdisk and device tree files. This image is
+	  very flexible, supporting compression, multiple images, multiple
+	  configurations, verification through hashing and also verified
+	  boot (secure boot using RSA). This option enables that feature.
+
+config OF_BOARD_SETUP
+	bool "Set up board-specific details in device tree before boot"
+	depends on OF_LIBFDT
+	help
+	  This causes U-Boot to call ft_board_setup() before booting into
+	  the Operating System. This function can set up various
+	  board-specific information in the device tree for use by the OS.
+	  The device tree is then passed to the OS.
+
+config OF_SYSTEM_SETUP
+	bool "Set up system-specific details in device tree before boot"
+	depends on OF_LIBFDT
+	help
+	  This causes U-Boot to call ft_system_setup() before booting into
+	  the Operating System. This function can set up various
+	  system-specific information in the device tree for use by the OS.
+	  The device tree is then passed to the OS.
common/Makefile +1 -1
index 5998411..25083a4 100644
@@ -131,7 +131,7 @@ endif
 obj-y += image.o
 obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o
 obj-$(CONFIG_OF_LIBFDT) += image-fdt.o
-obj-$(CONFIG_FIT) += image-fit.o
+obj-$(CONFIG_$(SPL_)FIT) += image-fit.o
 obj-$(CONFIG_FIT_SIGNATURE) += image-sig.o
 obj-$(CONFIG_IO_TRACE) += iotrace.o
 obj-y += memsize.o
common/bootm.c +5 -5
index 99d574d..686d28b 100644
@@ -108,7 +108,7 @@ static int bootm_find_os(cmd_tbl_t *cmdtp, int flag, int argc,
 		images.os.arch = image_get_arch(os_hdr);
 		break;
 #endif
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	case IMAGE_FORMAT_FIT:
 		if (fit_image_get_type(images.fit_hdr_os,
 				       images.fit_noffset_os,
@@ -180,7 +180,7 @@ static int bootm_find_os(cmd_tbl_t *cmdtp, int flag, int argc,
 		/* Kernel entry point is the setup.bin */
 	} else if (images.legacy_hdr_valid) {
 		images.ep = image_get_ep(&images.legacy_hdr_os_copy);
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	} else if (images.fit_uname_os) {
 		int ret;
 
@@ -245,7 +245,7 @@ int bootm_find_images(int flag, int argc, char * const argv[])
 	set_working_fdt_addr((ulong)images.ft_addr);
 #endif
 
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	/* find all of the loadables */
 	ret = boot_get_loadable(argc, argv, &images, IH_ARCH_DEFAULT,
 			       NULL, NULL);
@@ -788,7 +788,7 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
 	const void *buf;
 	const char	*fit_uname_config = NULL;
 	const char	*fit_uname_kernel = NULL;
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	int		os_noffset;
 #endif
 
@@ -849,7 +849,7 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
 		bootstage_mark(BOOTSTAGE_ID_DECOMP_IMAGE);
 		break;
 #endif
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	case IMAGE_FORMAT_FIT:
 		os_noffset = fit_image_load(images, img_addr,
 				&fit_uname_kernel, &fit_uname_config,
common/image-fdt.c +4 -4
index 5e4e5bd..80d9362 100644
@@ -231,7 +231,7 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 	ulong		fdt_addr;
 	char		*fdt_blob = NULL;
 	void		*buf;
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 	const char	*fit_uname_config = images->fit_uname_cfg;
 	const char	*fit_uname_fdt = NULL;
 	ulong		default_addr;
@@ -246,7 +246,7 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 	if (argc > 2)
 		select = argv[2];
 	if (select || genimg_has_config(images)) {
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 		if (select) {
 			/*
 			 * If the FDT blob comes from the FIT image and the
@@ -276,7 +276,7 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 				debug("*  fdt: cmdline image address = 0x%08lx\n",
 				      fdt_addr);
 			}
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 		} else {
 			/* use FIT configuration provided in first bootm
 			 * command argument
@@ -351,7 +351,7 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 			 * (libfdt based) and raw FDT blob (also libfdt
 			 * based).
 			 */
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 			/* check FDT blob vs FIT blob */
 			if (fit_check_format(buf)) {
 				ulong load, len;
common/image-fit.c +2 -1
index c531ee7..954a89b 100644
@@ -1091,8 +1091,9 @@ int fit_all_image_verify(const void *fit)
 			 * Direct child node of the images parent node,
 			 * i.e. component image node.
 			 */
-			printf("   Hash(es) for Image %u (%s): ", count++,
+			printf("   Hash(es) for Image %u (%s): ", count,
 			       fit_get_name(fit, noffset, NULL));
+			count++;
 
 			if (!fit_image_verify(fit, noffset))
 				return 0;
common/image.c +12 -12
index f4a1dc8..ca43763 100644
@@ -29,7 +29,7 @@
 #include <image.h>
 #include <mapmem.h>
 
-#if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT)
+#if IMAGE_USE_FIT || defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
 #include <fdt_support.h>
 #endif
@@ -702,7 +702,7 @@ ulong genimg_get_kernel_addr_fit(char * const img_addr,
 		kernel_addr = load_addr;
 		debug("*  kernel: default image load address = 0x%08lx\n",
 		      load_addr);
-#if defined(CONFIG_FIT)
+#if CONFIG_IS_ENABLED(FIT)
 	} else if (fit_parse_conf(img_addr, load_addr, &kernel_addr,
 				  fit_uname_config)) {
 		debug("*  kernel: config '%s' from image at 0x%08lx\n",
@@ -757,7 +757,7 @@ int genimg_get_format(const void *img_addr)
 	if (image_check_magic(hdr))
 		return IMAGE_FORMAT_LEGACY;
 #endif
-#if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT)
+#if IMAGE_USE_FIT || defined(CONFIG_OF_LIBFDT)
 	if (fdt_check_header(img_addr) == 0)
 		return IMAGE_FORMAT_FIT;
 #endif
@@ -794,7 +794,7 @@ ulong genimg_get_image(ulong img_addr)
 
 		/* get header size */
 		h_size = image_get_header_size();
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 		if (sizeof(struct fdt_header) > h_size)
 			h_size = sizeof(struct fdt_header);
 #endif
@@ -816,7 +816,7 @@ ulong genimg_get_image(ulong img_addr)
 					ram_addr, d_size);
 			break;
 #endif
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 		case IMAGE_FORMAT_FIT:
 			d_size = fit_get_size(buf) - h_size;
 			debug("   FIT/FDT format image found at 0x%08lx, "
@@ -857,7 +857,7 @@ ulong genimg_get_image(ulong img_addr)
  */
 int genimg_has_config(bootm_headers_t *images)
 {
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	if (images->fit_uname_cfg)
 		return 1;
 #endif
@@ -898,7 +898,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 #ifdef CONFIG_SUPPORT_RAW_INITRD
 	char *end;
 #endif
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	const char	*fit_uname_config = images->fit_uname_cfg;
 	const char	*fit_uname_ramdisk = NULL;
 	ulong		default_addr;
@@ -929,7 +929,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 		debug("## Skipping init Ramdisk\n");
 		rd_len = rd_data = 0;
 	} else if (select || genimg_has_config(images)) {
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 		if (select) {
 			/*
 			 * If the init ramdisk comes from the FIT image and
@@ -960,7 +960,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 						"0x%08lx\n",
 						rd_addr);
 			}
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 		} else {
 			/* use FIT configuration provided in first bootm
 			 * command argument. If the property is not defined,
@@ -1003,7 +1003,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 			rd_load = image_get_load(rd_hdr);
 			break;
 #endif
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 		case IMAGE_FORMAT_FIT:
 			rd_noffset = fit_image_load(images,
 					rd_addr, &fit_uname_ramdisk,
@@ -1179,14 +1179,14 @@ error:
 int boot_get_setup(bootm_headers_t *images, uint8_t arch,
 		   ulong *setup_start, ulong *setup_len)
 {
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 	return boot_get_setup_fit(images, arch, setup_start, setup_len);
 #else
 	return -ENOENT;
 #endif
 }
 
-#if defined(CONFIG_FIT)
+#if IMAGE_USE_FIT
 int boot_get_loadable(int argc, char * const argv[], bootm_headers_t *images,
 		uint8_t arch, const ulong *ld_start, ulong * const ld_len)
 {
configs/10m50_defconfig +1 -0
index a0d29a0..d4b768d 100644
@@ -4,6 +4,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="10m50_devboard"
 CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_BOOTD is not set
configs/3c120_defconfig +1 -0
index 9d249c7..5fdaee0 100644
@@ -4,6 +4,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="3c120_devboard"
 CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_BOOTD is not set
configs/A10-OLinuXino-Lime_defconfig +1 -0
index af96f5b..2b4a012 100644
@@ -9,6 +9,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A10s-OLinuXino-M_defconfig +1 -0
index cba2cfd..77299a0 100644
@@ -10,6 +10,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A13-OLinuXinoM_defconfig +1 -0
index 45cc5ab..eb9f1da 100644
@@ -14,6 +14,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A13-OLinuXino_defconfig +1 -0
index 11691a2..b9e1c1a 100644
@@ -16,6 +16,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A20-OLinuXino-Lime2_defconfig +1 -0
index b5181c6..94ec1cf 100644
@@ -9,6 +9,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A20-OLinuXino-Lime_defconfig +1 -0
index e27698d..7fbc17a 100644
@@ -7,6 +7,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A20-OLinuXino_MICRO_defconfig +1 -0
index 03481f6..7cce801 100644
@@ -10,6 +10,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/A20-Olimex-SOM-EVB_defconfig +1 -0
index 001d31b..af4f8c0 100644
@@ -12,6 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olimex-som-evb"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Ainol_AW1_defconfig +1 -0
index 67bea5a..cf9f161 100644
@@ -14,6 +14,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-ainol-aw1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Ampe_A76_defconfig +1 -0
index 82e01ba..78848bf 100644
@@ -16,6 +16,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-ampe-a76"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Auxtek-T003_defconfig +1 -0
index 8f1be3e..f149b67 100644
@@ -8,6 +8,7 @@ CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t003"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Auxtek-T004_defconfig +1 -0
index 434b007..c176059 100644
@@ -6,6 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/B4420QDS_NAND_defconfig +2 -0
index 3e08b2e..c9decc9 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/B4420QDS_SPIFLASH_defconfig +2 -0
index aa463e1..5220ce9 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/B4420QDS_defconfig +2 -0
index bb01b27..20666f0 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/B4860QDS_NAND_defconfig +2 -0
index cfa664c..ed0ab90 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/B4860QDS_SECURE_BOOT_defconfig +2 -0
index 6273157..2d72ef8 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/B4860QDS_SPIFLASH_defconfig +2 -0
index 2bf7ee4..fb58ef2 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/B4860QDS_SRIO_PCIE_BOOT_defconfig +2 -0
index f2e79f5..0421801 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/B4860QDS_defconfig +2 -0
index e03447c..879903a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_B4860QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/BSC9131RDB_NAND_SYSCLK100_defconfig +2 -0
index 1d9b859..3c38ae9 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9131RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND,SYS_CLK_100"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/BSC9131RDB_NAND_defconfig +2 -0
index ed6f861..3d7cfe7 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9131RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig +2 -0
index 52c1363..2175c1b 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9131RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH,SYS_CLK_100"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/BSC9131RDB_SPIFLASH_defconfig +2 -0
index 13c4fe6..be2246c 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9131RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig +2 -0
index 32f2010..0c27478 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NAND_DDRCLK100_defconfig +2 -0
index b19b3ee..a7c85c5 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_100"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig +2 -0
index 646850d..639bac9 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NAND_DDRCLK133_defconfig +2 -0
index 5bf5e1d..0436e3f 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_133"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig +2 -0
index a593f75..65982a4 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NOR_DDRCLK100_defconfig +2 -0
index 27db61d..c05fe1f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig +2 -0
index a31435e..1454d58 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_NOR_DDRCLK133_defconfig +2 -0
index ede7b04..e585f0e 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig +2 -0
index 45497ae..873d3de 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig +2 -0
index c4ce52f..f9b2ba1 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig +2 -0
index da07cb7..ae4f399 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig +2 -0
index 434b7cb..a01ac80 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig +2 -0
index d3bc4a0..b5eb715 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig +2 -0
index b63db17..780bb45 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig +2 -0
index 1ba0f24..2fe59e1 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig +2 -0
index 7318d69..24c9e30 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_BSC9132QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/Bananapi_defconfig +1 -0
index 6cbb76c..0d3a8db 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Bananapro_defconfig +1 -0
index 4f4a07b..81e02b0 100644
@@ -10,6 +10,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/C29XPCIE_NAND_defconfig +2 -0
index 8fa3f23..5a494ad 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_C29XPCIE=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_SPANSION=y
configs/C29XPCIE_NOR_SECBOOT_defconfig +2 -0
index 1e471be..3a998bb 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_C29XPCIE=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_SPANSION=y
configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig +2 -0
index 7506185..20296d7 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_C29XPCIE=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_SPANSION=y
configs/C29XPCIE_SPIFLASH_defconfig +2 -0
index 52a5ee3..404dddc 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_C29XPCIE=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_SPANSION=y
configs/C29XPCIE_defconfig +2 -0
index be242e6..143d654 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_C29XPCIE=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_SPANSION=y
configs/CHIP_defconfig +1 -0
index 78b2c51..439e495 100644
@@ -7,6 +7,7 @@ CONFIG_USB0_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-r8-chip"
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DCDC2_VOLT=1300
configs/CPCI4052_defconfig +1 -0
index 9e52f12..49810ff 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_CPCI4052=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
configs/CSQ_CS908_defconfig +1 -0
index e027a47..d836244 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Chuwi_V7_CW0825_defconfig +1 -0
index dedf772..db1b8b1 100644
@@ -14,6 +14,7 @@ CONFIG_VIDEO_LCD_PANEL_HITACHI_TX18D42VM=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-chuwi-v7-cw0825"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Colombus_defconfig +1 -0
index feaeb98..f5d299c 100644
@@ -18,6 +18,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Cubieboard2_defconfig +1 -0
index 2f5e75d..18748fc 100644
@@ -7,6 +7,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Cubieboard_defconfig +1 -0
index a45fbb0..2c7c712 100644
@@ -7,6 +7,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Cubietruck_defconfig +1 -0
index 8cbaea6..4f376c0 100644
@@ -12,6 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Cyrus_P5020_defconfig +2 -0
index d0ba224..6f4a473 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_CYRUS=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SYS_TEXT_BASE=0xFFF40000,PPC_P5020"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_NETDEVICES=y
configs/Cyrus_P5040_defconfig +2 -0
index 910436e..d6ac7f3 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_CYRUS=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SYS_TEXT_BASE=0xFFF40000,PPC_P5040"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_NETDEVICES=y
configs/Empire_electronix_d709_defconfig +1 -0
index 5973fbf..044649a 100644
@@ -17,6 +17,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-empire-electronix-d709"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Hummingbird_A31_defconfig +1 -0
index 83f2004..7f1ccc5 100644
@@ -10,6 +10,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Hyundai_A7HD_defconfig +1 -0
index 45739cd..8ffdd92 100644
@@ -15,6 +15,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-hyundai-a7hd"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Lamobo_R1_defconfig +1 -0
index d460c32..c3a3003 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-lamobo-r1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,SATAPWR=SUNXI_GPB(3)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Linksprite_pcDuino3_Nano_defconfig +1 -0
index ca3b1dd..8e8a464 100644
@@ -9,6 +9,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Linksprite_pcDuino3_defconfig +1 -0
index 1f245e7..0b7ee98 100644
@@ -7,6 +7,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Linksprite_pcDuino_defconfig +1 -0
index 7e2f942..c8a56cf 100644
@@ -7,6 +7,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/MK808C_defconfig +1 -0
index 32c65fb..aba8d01 100644
@@ -5,6 +5,7 @@ CONFIG_DRAM_CLK=384
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/MPC8308RDB_defconfig +2 -0
index d9303eb..d0f05bb 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8308RDB=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8313ERDB_33_defconfig +1 -0
index e32ccbe..d893d93 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC8313ERDB_66_defconfig +1 -0
index 9e9308b..a43f70c 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC8313ERDB_NAND_33_defconfig +1 -0
index 3856f75..a2e7d29 100644
@@ -3,6 +3,7 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC8313ERDB_NAND_66_defconfig +1 -0
index 8e0a704..6298bb3 100644
@@ -3,6 +3,7 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC8315ERDB_defconfig +1 -0
index 8d4881b..636a929 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8315ERDB=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8323ERDB_defconfig +1 -0
index 003c592..c079dac 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8323ERDB=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC832XEMDS_ATM_defconfig +1 -0
index 9408528..7622ba6 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC832XEMDS_HOST_33_defconfig +1 -0
index 680b6bc..7baa98d 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M,PQ_MDS_PIB=1"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC832XEMDS_HOST_66_defconfig +1 -0
index acbe1d1..34e7e19 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M,PQ_MDS_PIB=1"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC832XEMDS_SLAVE_defconfig +1 -0
index a5c01b6..8a939ca 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCISLAVE"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC832XEMDS_defconfig +1 -0
index ea2cc02..d590fea 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8349EMDS_defconfig +1 -0
index db62b52..71e2a63 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349EMDS=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8349ITXGP_defconfig +1 -0
index c1bc8ca..7f95a52 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_PROMPT="MPC8349E-mITX-GP> "
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC8349ITX_LOWBOOT_defconfig +1 -0
index 9b85433..14ee262 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX,SYS_TEXT_BASE=0xFE000000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC8349ITX_defconfig +1 -0
index 1ea68f8..207c444 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
configs/MPC837XEMDS_HOST_defconfig +1 -0
index 9ce9914..50d9f06 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC837XEMDS_defconfig +1 -0
index bf5e1b3..fed1045 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XEMDS=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC837XERDB_defconfig +1 -0
index ec76ba9..20608d6 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XERDB=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8536DS_36BIT_defconfig +1 -0
index cec9709..cc8ff82 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8536DS=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/MPC8536DS_SDCARD_defconfig +1 -0
index 1a3ea88..dca0cab 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8536DS=y
 CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/MPC8536DS_SPIFLASH_defconfig +1 -0
index 17df692..ef02898 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8536DS=y
 CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/MPC8536DS_defconfig +1 -0
index 78fef28..3862629 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8536DS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/MPC8540ADS_defconfig +1 -0
index f6906f7..4ecd1d1 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8540ADS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8541CDS_defconfig +1 -0
index a487f19..a403a50 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8541CDS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8541CDS_legacy_defconfig +1 -0
index 73b7a72..43f9338 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8541CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8544DS_defconfig +1 -0
index 48cac28..801d266 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8544DS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8548CDS_36BIT_defconfig +1 -0
index a880825..964ed02 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8548CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8548CDS_defconfig +1 -0
index fd7d87b..fb4de9e 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8548CDS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8548CDS_legacy_defconfig +1 -0
index 73231f4..c7f5e65 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8548CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8555CDS_defconfig +1 -0
index fc88ec9..760845f 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8555CDS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8555CDS_legacy_defconfig +1 -0
index bc069e1..f684089 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8555CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8560ADS_defconfig +1 -0
index 671f805..4ade1fa 100644
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8560ADS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_LIBFDT=y
configs/MPC8568MDS_defconfig +1 -0
index be7de94..967dfcf 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8568MDS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8569MDS_ATM_defconfig +1 -0
index d7dda0c..d64a9ec 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8569MDS=y
 CONFIG_SYS_EXTRA_OPTIONS="ATM"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8569MDS_defconfig +1 -0
index 7f728d8..36c38e7 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8569MDS=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8572DS_36BIT_defconfig +2 -0
index 3682156..a453526 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8572DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8572DS_defconfig +2 -0
index c498e76..16dd084 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8572DS=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/MPC8610HPCD_defconfig +1 -0
index 41e9553..852ba85 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8610HPCD=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8641HPCN_36BIT_defconfig +1 -0
index 14e8312..7993ab4 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8641HPCN=y
 CONFIG_SYS_EXTRA_OPTIONS="PHYS_64BIT"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MPC8641HPCN_defconfig +1 -0
index 902a76b..9b5a6f7 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8641HPCN=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/MSI_Primo73_defconfig +1 -0
index 73fd4e8..7903510 100644
@@ -10,6 +10,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-primo73"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/MSI_Primo81_defconfig +1 -0
index 11f3203..b77f9e0 100644
@@ -13,6 +13,7 @@ CONFIG_VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828=y
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-primo81"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Marsboard_A10_defconfig +1 -0
index 806fb64..7386384 100644
@@ -5,6 +5,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mele_A1000G_quad_defconfig +1 -0
index 6127098..e500d20 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mele_A1000_defconfig +1 -0
index 93707e4..e6b4596 100644
@@ -7,6 +7,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mele_I7_defconfig +1 -0
index bfe2a29..cd0edc9 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mele_M3_defconfig +1 -0
index 0ed5da1..4d7cd4f 100644
@@ -10,6 +10,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mele_M5_defconfig +1 -0
index fdb5ba4..0607874 100644
@@ -9,6 +9,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mele_M9_defconfig +1 -0
index da76226..3c4f8cc 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Mini-X_defconfig +1 -0
index 8013359..8425d1f 100644
@@ -6,6 +6,7 @@ CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/MiniFAP_defconfig +1 -0
index 87ab5bc..adbf450 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
 CONFIG_SYS_EXTRA_OPTIONS="MINIFAP"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2D300_defconfig +1 -0
index 8a54b82..5bb5a44 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2D300=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2DNT2_RAMBOOT_defconfig +1 -0
index cfd224c..9b97f2e 100644
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2DNT2=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press password to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="++++++++++"
configs/O2DNT2_defconfig +1 -0
index 90c79ec..9364366 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2DNT2=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press password to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="++++++++++"
configs/O2D_defconfig +1 -0
index 96dbd0b..d57021f 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2D=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2I_defconfig +1 -0
index 61fb0c3..7c3ff8c 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2I=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2MNT_O2M110_defconfig +1 -0
index ebb9d3c..d145417 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2MNT=y
 CONFIG_SYS_EXTRA_OPTIONS="IFM_SENSOR_TYPE=\"O2M110\""
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2MNT_O2M112_defconfig +1 -0
index 3bf3cff..70ea0b5 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2MNT=y
 CONFIG_SYS_EXTRA_OPTIONS="IFM_SENSOR_TYPE=\"O2M112\""
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2MNT_O2M113_defconfig +1 -0
index 05f6f08..f59995f 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2MNT=y
 CONFIG_SYS_EXTRA_OPTIONS="IFM_SENSOR_TYPE=\"O2M113\""
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O2MNT_defconfig +1 -0
index 45236f7..60666bd 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O2MNT=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/O3DNT_defconfig +1 -0
index 5f2f0c1..053e048 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_O3DNT=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/Orangepi_defconfig +1 -0
index 330ee47..053a646 100644
@@ -11,6 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Orangepi_mini_defconfig +1 -0
index 4156c35..7ad2e07 100644
@@ -13,6 +13,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig +2 -0
index 34f1388..baa8c5a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_36BIT_NAND_defconfig +2 -0
index 2a747d9..c521695 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig +2 -0
index 15c0144..5de3c9a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_36BIT_NOR_defconfig +2 -0
index 499c8a5..4523ec3 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_36BIT_SDCARD_defconfig +2 -0
index f50a963..45f1684 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig +2 -0
index aeac38e..beeb263 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig +2 -0
index 24ec072..9e5e3ad 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_NAND_SECBOOT_defconfig +2 -0
index 914912f..3571251 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_NAND_defconfig +2 -0
index 5ecd715..e9a040d 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_NOR_SECBOOT_defconfig +2 -0
index fdfb8e2..a6d1e1a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_NOR_defconfig +2 -0
index 06a6f36..b1af0f7 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_SDCARD_defconfig +2 -0
index 5971937..5facd1a 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig +2 -0
index 567e9b0..223589f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PA_SPIFLASH_defconfig +2 -0
index 7aa5428..729fd42 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig +2 -0
index 253b19a9..4eafb1e 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_NAND_defconfig +2 -0
index f46739e..a046cd0 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig +2 -0
index e05f7c0..8ec152f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_NOR_defconfig +2 -0
index a58b239..12cf141 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_SDCARD_defconfig +2 -0
index 02ce36a..9f979e2 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig +2 -0
index 20bfb91..c60d589 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig +2 -0
index aed80c6..99e3b59 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_NAND_SECBOOT_defconfig +2 -0
index 05b3a81..4f68468 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_NAND_defconfig +2 -0
index 78d6086..56f2c15 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_NOR_SECBOOT_defconfig +2 -0
index 0a84505..56eeb61 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_NOR_defconfig +2 -0
index c9292c5..3c24037 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_SDCARD_defconfig +2 -0
index 6445a4c..80fb35d 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig +2 -0
index 975e718..aaebf9c 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1010RDB-PB_SPIFLASH_defconfig +2 -0
index 5a0e5cc..8247010 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1010RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020MBG-PC_36BIT_SDCARD_defconfig +2 -0
index 43029c6..d34cbc7 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020MBG-PC_36BIT_defconfig +2 -0
index 01ac4f5..2565d0f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020MBG-PC_SDCARD_defconfig +2 -0
index 7f5158c..b49d669 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020MBG-PC_defconfig +2 -0
index d7e8053..e50b60d 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020RDB-PC_36BIT_NAND_defconfig +2 -0
index 878fd8d..3a77c0a 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_36BIT_SDCARD_defconfig +2 -0
index 8ae0c35..8eaffab 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig +2 -0
index 9874432..d07e5c2 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_36BIT_defconfig +2 -0
index e5f8fd0..c888300 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_NAND_defconfig +2 -0
index ce393ba..a02ac99 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_SDCARD_defconfig +2 -0
index cd90ceb..33b803c 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_SPIFLASH_defconfig +2 -0
index 7a3f056..9ab7ab6 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PC_defconfig +2 -0
index aa5c83d..4bce962 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PD_NAND_defconfig +2 -0
index 1bde069..e7d3fc2 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PD_SDCARD_defconfig +2 -0
index ca8657e..9c6da69 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PD_SPIFLASH_defconfig +2 -0
index 694ad81..ee382f6 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020RDB-PD_defconfig +2 -0
index 77c4c1d..6ebe541 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1020UTM-PC_36BIT_SDCARD_defconfig +2 -0
index e2021b6..249984e 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020UTM-PC_36BIT_defconfig +2 -0
index 1bd8f7b..383d79e 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020UTM-PC_SDCARD_defconfig +2 -0
index 424b846..43c6e18 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1020UTM-PC_defconfig +2 -0
index 047b654..5b85f90 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1021RDB-PC_36BIT_NAND_defconfig +2 -0
index 7040753..c64bbb1 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_36BIT_SDCARD_defconfig +2 -0
index eed6774..598680e 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig +2 -0
index 28a94bc..eeedfae 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_36BIT_defconfig +2 -0
index 6e42ede..e691fc1 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_NAND_defconfig +2 -0
index 040fa1e..7b83de4 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_SDCARD_defconfig +2 -0
index d1cc73e..1036565 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_SPIFLASH_defconfig +2 -0
index 43aca3e..6260072 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1021RDB-PC_defconfig +2 -0
index 3114e01..9e08fca 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1021RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_36BIT_NAND_defconfig +2 -0
index d8272d4..78dbb5c 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_36BIT_SDCARD_defconfig +2 -0
index 635c8e0..0094b9e 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_36BIT_SPIFLASH_defconfig +2 -0
index 76fc6d6..98236bb 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_36BIT_defconfig +2 -0
index 4c93f39..253310c 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_NAND_defconfig +2 -0
index 1a8cb73..8a64251 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_SDCARD_defconfig +2 -0
index 5822f3e..b4955b2 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_SPIFLASH_defconfig +2 -0
index 0d9d6dd..0cb4946 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1022DS_defconfig +2 -0
index ecade54..cd4a194 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1022DS=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1023RDB_defconfig +2 -0
index 301f955..6afa4d3 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1023RDB=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
 CONFIG_SYS_NS16550=y
configs/P1024RDB_36BIT_defconfig +2 -0
index e55304d..f948a7f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1024RDB_NAND_defconfig +2 -0
index 717a9d4..8eb88a9 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1024RDB_SDCARD_defconfig +2 -0
index dd868c0..1f6355f 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1024RDB_SPIFLASH_defconfig +2 -0
index 2d5d313..046d736 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1024RDB_defconfig +2 -0
index 527af8a..48df0ac 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1024RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1025RDB_36BIT_defconfig +2 -0
index 943b79f..64be9f1 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1025RDB_NAND_defconfig +2 -0
index dcbb704..8e02ef9 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1025RDB_SDCARD_defconfig +2 -0
index a110842..983f7c4 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1025RDB_SPIFLASH_defconfig +2 -0
index 27f1a56..608c615 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P1025RDB_defconfig +2 -0
index 466f080..a435358 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P1025RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_36BIT_NAND_defconfig +2 -0
index 26224dd..12e65ea 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_36BIT_SDCARD_defconfig +2 -0
index f9824b6..a2924a9 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig +2 -0
index ff9cc65..f9cebac 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_36BIT_defconfig +2 -0
index 9263d70..3a97561 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_NAND_defconfig +2 -0
index b0c2a9e..5dc12a0 100644
@@ -3,7 +3,9 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
 CONFIG_TPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_SDCARD_defconfig +2 -0
index e9c27db..959d645 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_SPIFLASH_defconfig +2 -0
index 65ccac3..d1c77a3 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2020RDB-PC_defconfig +2 -0
index a551d61..b4ac20a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P1_P2_RDB_PC=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="P2020RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2041RDB_NAND_defconfig +2 -0
index 65a6fd9..3057e87 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P2041RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2041RDB_SDCARD_defconfig +2 -0
index 5d4af31..2bcea4c 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P2041RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2041RDB_SECURE_BOOT_defconfig +2 -0
index 459941c..f8b663e 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P2041RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2041RDB_SPIFLASH_defconfig +2 -0
index 844cee0..38e074d 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P2041RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P2041RDB_SRIO_PCIE_BOOT_defconfig +2 -0
index b2e35af..58635ff 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P2041RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/P2041RDB_defconfig +2 -0
index bfc440f..55d515c 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P2041RDB=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P3041DS_NAND_SECURE_BOOT_defconfig +2 -0
index ee29d2f..cb6f27a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P3041DS_NAND_defconfig +2 -0
index 66194c1..2d487d2 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P3041DS_SDCARD_defconfig +2 -0
index 669a956..d6e2cad 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P3041DS_SECURE_BOOT_defconfig +2 -0
index b4736e2..9b10d21 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P3041DS_SPIFLASH_defconfig +2 -0
index 1bffa87..3f2f398 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P3041DS_SRIO_PCIE_BOOT_defconfig +2 -0
index 0d98ef9..7e2f9ce 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/P3041DS_defconfig +2 -0
index fd155f8..19b422a 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P3041DS=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P4080DS_SDCARD_defconfig +2 -0
index 285df12..65f05b0 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P4080DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P4080DS_SECURE_BOOT_defconfig +2 -0
index 094dcfd..364e6a0 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P4080DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P4080DS_SPIFLASH_defconfig +2 -0
index b37a6d8..86d7a24 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P4080DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P4080DS_SRIO_PCIE_BOOT_defconfig +2 -0
index e4680db..2f490b6 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P4080DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/P4080DS_defconfig +2 -0
index 1604199..f7c0f60 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P4080DS=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5020DS_NAND_SECURE_BOOT_defconfig +2 -0
index fe1838b..7068b5f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5020DS_NAND_defconfig +2 -0
index eff8b8d..d57d398 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5020DS_SDCARD_defconfig +2 -0
index 9f2d323..b0fc953 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5020DS_SECURE_BOOT_defconfig +2 -0
index bec3c9a..6b83727 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5020DS_SPIFLASH_defconfig +2 -0
index 0d4ccbe..f806667 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5020DS_SRIO_PCIE_BOOT_defconfig +2 -0
index 70e7a87..f417010 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/P5020DS_defconfig +2 -0
index a81d1b1..d6df5c6 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5020DS=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5040DS_NAND_SECURE_BOOT_defconfig +2 -0
index 2976fb8..17a8a5e 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5040DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5040DS_NAND_defconfig +2 -0
index cc8eae9..1b10271 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5040DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5040DS_SDCARD_defconfig +2 -0
index e4b2824..72635d0 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5040DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5040DS_SECURE_BOOT_defconfig +2 -0
index a2c4a60..6d1f32e 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5040DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5040DS_SPIFLASH_defconfig +2 -0
index 3db7980..f8de9f4 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5040DS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/P5040DS_defconfig +2 -0
index 12b61b9..424f22a 100644
@@ -1,6 +1,8 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_P5040DS=y
+CONFIG_FIT=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/PLU405_defconfig +1 -0
index f7a204c..52850dd 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_PLU405=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
configs/PMC405DE_defconfig +1 -0
index fc78a64..1155bd1 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_PMC405DE=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
configs/PMC440_defconfig +1 -0
index 3b8b4fd..156d813 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_PMC440=y
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
configs/Sinlinx_SinA33_defconfig +1 -0
index 20d3f93..2dd8d7e 100644
@@ -6,6 +6,7 @@ CONFIG_DRAM_ZQ=15291
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-sinlinx-sina33"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/Sinovoip_BPI_M2_defconfig +1 -0
index a5f8e6a..2ae24d5 100644
@@ -8,6 +8,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-sinovoip-bpi-m2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
configs/T1023RDB_NAND_defconfig +2 -0
index 356f872..21488ad 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T1023RDB_SDCARD_defconfig +2 -0
index 730482e..8a67c63 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T1023RDB_SECURE_BOOT_defconfig +2 -0
index 4144cf8..6689461 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/T1023RDB_SPIFLASH_defconfig +2 -0
index 6725127..2c53907 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T1023RDB_defconfig +2 -0
index 52c4974..5aab0c6 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_NETDEVICES=y
configs/T1024QDS_DDR4_SECURE_BOOT_defconfig +2 -0
index db12e4e..94a8792 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024QDS_DDR4_defconfig +2 -0
index 31b9d36..6b93752 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024QDS_NAND_defconfig +2 -0
index 351f219..a49e23f 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024QDS_SDCARD_defconfig +2 -0
index 84cefd2..8b31568 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024QDS_SECURE_BOOT_defconfig +2 -0
index 12a0f4e..44df54b 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024QDS_SPIFLASH_defconfig +2 -0
index 5539c23..e75718b 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024QDS_defconfig +2 -0
index a55078a..6a41f6c 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1024RDB_NAND_defconfig +2 -0
index c3e1255..56a5cdc 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1024RDB_SDCARD_defconfig +2 -0
index 1f3006c..56d405f 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1024RDB_SECURE_BOOT_defconfig +2 -0
index 04d0195..7033914 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1024RDB_SPIFLASH_defconfig +2 -0
index 05e5cbb..2939db3 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1024RDB_defconfig +2 -0
index f617fab..840b01f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040D4RDB_NAND_defconfig +2 -0
index cce44bc..5119a3c 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040D4RDB_SDCARD_defconfig +2 -0
index 1d3a437..f497f71 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040D4RDB_SECURE_BOOT_defconfig +2 -0
index acff602..d651aaf 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040D4RDB_SPIFLASH_defconfig +2 -0
index 7d6d40b..421d555 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040D4RDB_defconfig +2 -0
index 7521073..172193a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040QDS_DDR4_defconfig +2 -0
index 73faa99..4546c91 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T1040QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1040QDS_SECURE_BOOT_defconfig +2 -0
index b763f59..f314fe2 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T1040QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1040QDS_defconfig +2 -0
index 7594b2e..a9ad605 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T1040QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T1040RDB_NAND_defconfig +2 -0
index 37d6e84..a1092d1 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040RDB_SDCARD_defconfig +2 -0
index 3bc7f82..fe6ccde 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040RDB_SECURE_BOOT_defconfig +2 -0
index 4a54064..b382cbb 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT,T1040RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040RDB_SPIFLASH_defconfig +2 -0
index 7013e2e..2ff1428 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1040RDB_defconfig +2 -0
index 06f5262..016f85c 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042D4RDB_NAND_defconfig +2 -0
index c95319b..a9b03a8 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042D4RDB_SDCARD_defconfig +2 -0
index 20c30aa..fdd5e3c 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042D4RDB_SECURE_BOOT_defconfig +2 -0
index 173ed25..8f36281 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042D4RDB_SPIFLASH_defconfig +2 -0
index 6aa43c5..9641fb8 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042D4RDB_defconfig +2 -0
index 054e09c..9428c74 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042RDB_PI_NAND_defconfig +2 -0
index 0dcc625..e806d31 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042RDB_PI_SDCARD_defconfig +2 -0
index d9a1e58..83a2f78 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042RDB_PI_SPIFLASH_defconfig +2 -0
index 5d621d8..b056696 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042RDB_PI_defconfig +2 -0
index 08d7d4c..2256edc 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042RDB_SECURE_BOOT_defconfig +2 -0
index 3a18869..392e190 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,SECURE_BOOT,T1042RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T1042RDB_defconfig +2 -0
index 45b053e..51d4925 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T104XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T2080QDS_NAND_defconfig +2 -0
index 35da154..d064ff5 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2080QDS_SDCARD_defconfig +2 -0
index c53888b..119e84f 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2080QDS_SECURE_BOOT_defconfig +2 -0
index 7e3c1fa..2233f4b 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2080QDS_SPIFLASH_defconfig +2 -0
index b9ee047..1da13f1 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2080QDS_SRIO_PCIE_BOOT_defconfig +2 -0
index 40a304d..04abc4d 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T2080QDS_defconfig +2 -0
index a5aa23b..3980d75 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2080RDB_NAND_defconfig +2 -0
index c51e55a..ebb25c9 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T2080RDB_SDCARD_defconfig +2 -0
index 027da86..6ca4095 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T2080RDB_SECURE_BOOT_defconfig +2 -0
index ed6b3e4..d2dd2f4 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T2080RDB_SPIFLASH_defconfig +2 -0
index b916425..f7bacb3 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XRDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T2080RDB_SRIO_PCIE_BOOT_defconfig +2 -0
index fe7a259..5428d76 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T2080RDB_defconfig +2 -0
index 155999f..225e166 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XRDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_NETDEVICES=y
configs/T2081QDS_NAND_defconfig +2 -0
index 0621a19..1c3c3e4 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2081QDS_SDCARD_defconfig +2 -0
index f864b49..3cd2535 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2081QDS_SPIFLASH_defconfig +2 -0
index b44fd5f..73d650e 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T2081QDS_SRIO_PCIE_BOOT_defconfig +2 -0
index 83ab6f0..44adef7 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T2081QDS_defconfig +2 -0
index d795639..1c889f1 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T208XQDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_STMICRO=y
configs/T4160QDS_NAND_defconfig +2 -0
index 43236e7..3823527 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4160QDS_SDCARD_defconfig +2 -0
index 6144b3b..b3b00bb 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4160QDS_SECURE_BOOT_defconfig +2 -0
index 68a89cb..89184da 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4160QDS_defconfig +2 -0
index 1180aad..0d2a137 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4160RDB_defconfig +2 -0
index d69c4be..b976b49 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4240QDS_NAND_defconfig +2 -0
index 63a3c6c..bfc8a85 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4240QDS_SDCARD_defconfig +2 -0
index e085802..8f679cc 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4240QDS_SECURE_BOOT_defconfig +2 -0
index a0eb595..6d8793f 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SECURE_BOOT"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4240QDS_SRIO_PCIE_BOOT_defconfig +2 -0
index f5e246d..e24ac6a 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
configs/T4240QDS_defconfig +2 -0
index c00e5a3..c10b2e4 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240QDS=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4240RDB_SDCARD_defconfig +2 -0
index 0249f8a..452f02a 100644
@@ -2,7 +2,9 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240RDB=y
 CONFIG_SPL=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/T4240RDB_defconfig +2 -0
index fb8f08a..6559eed 100644
@@ -1,7 +1,9 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T4240RDB=y
+CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
+CONFIG_OF_BOARD_SETUP=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_SST=y
 CONFIG_NETDEVICES=y
configs/TQM5200S_HIGHBOOT_defconfig +1 -0
index 544c2ff..fa15922 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
 CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM5200S_defconfig +1 -0
index 617b94e..207253e 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
 CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B,TQM5200S"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM5200_B_HIGHBOOT_defconfig +1 -0
index 2f31085..b7ecbb1 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
 CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B,SYS_TEXT_BASE=0xFFF00000"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM5200_B_defconfig +1 -0
index 15eeaaf..a306274 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
 CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM5200_STK100_defconfig +1 -0
index 91e87d5..6c75458 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
 CONFIG_SYS_EXTRA_OPTIONS="STK52XX_REV100"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM5200_defconfig +1 -0
index 922f725..7803ea1 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_TQM5200=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM823L_LCD_defconfig +1 -0
index 9a697c0..287e641 100644
@@ -2,5 +2,6 @@ CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM823L=y
 CONFIG_SYS_EXTRA_OPTIONS="LCD,NEC_NL6448BC20"
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM823L_defconfig +1 -0
index 1219118..08d1af6 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM823L=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM823M_defconfig +1 -0
index 10ef9f0..666a339 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM823M=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM834x_defconfig +1 -0
index d77baed..a5ae527 100644
@@ -1,6 +1,7 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TQM834X=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
configs/TQM850L_defconfig +1 -0
index 0134391..2d78e79 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM850L=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM850M_defconfig +1 -0
index f0a62c3..4c66cc1 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM850M=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM855L_defconfig +1 -0
index a7aacaf..6bebf60 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM855L=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM855M_defconfig +1 -0
index 59feaba..e600cd0 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM855M=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM860L_defconfig +1 -0
index afb0b134..2295e42 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM860L=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM860M_defconfig +1 -0
index e20e3c0..81e5fbf 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM860M=y
+CONFIG_OF_BOARD_SETUP=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_LIBFDT=y
configs/TQM862L_defconfig +1 -0
index 9274ebb..41dd2fd 100644
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_8xx=y
 CONFIG_TARGET_TQM862L=y
+CONFIG_OF_BOARD_SETUP=y
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

configs/TQM862M_defconfig +1 -0
index 37af0d9..9915cc9 100644

Lines of this file are not shown. View the raw message.

configs/TQM866M_defconfig +1 -0
index 58b5737..ef1f78c 100644

Lines of this file are not shown. View the raw message.

configs/TQM885D_defconfig +1 -0
index 046e2fe..7fbdd86 100644

Lines of this file are not shown. View the raw message.

configs/TTTech_defconfig +1 -0
index b41a919..c0ac758 100644

Lines of this file are not shown. View the raw message.

configs/TWR-P1025_defconfig +2 -0
index ededa1b..a2ffbd0 100644

Lines of this file are not shown. View the raw message.

configs/UCP1020_SPIFLASH_defconfig +2 -0
index 02976be..1013779 100644

Lines of this file are not shown. View the raw message.

configs/UCP1020_defconfig +2 -0
index 4baea4f..3a7d8c0 100644

Lines of this file are not shown. View the raw message.

configs/UTOO_P66_defconfig +1 -0
index dc71dde..46e697a 100644

Lines of this file are not shown. View the raw message.

configs/VOM405_defconfig +1 -0
index b368e76..045fb78 100644

Lines of this file are not shown. View the raw message.

configs/Wexler_TAB7200_defconfig +1 -0
index a01b4c1..ce1e1fd 100644

Lines of this file are not shown. View the raw message.

configs/Wits_Pro_A20_DKT_defconfig +1 -0
index c3ceedb..eb1ba57 100644

Lines of this file are not shown. View the raw message.

configs/Wobo_i5_defconfig +1 -0
index eb1b531..7cc9051 100644

Lines of this file are not shown. View the raw message.

configs/Yones_Toptech_BD1078_defconfig +1 -0
index cdde2bc..2e11f7c 100644

Lines of this file are not shown. View the raw message.

configs/a3m071_defconfig +2 -0
index 6707e61..0662d40 100644

Lines of this file are not shown. View the raw message.

configs/a4m072_defconfig +1 -0
index 379b0db..bbc140d 100644

Lines of this file are not shown. View the raw message.

configs/a4m2k_defconfig +2 -0
index 5d52092..62ef24c 100644

Lines of this file are not shown. View the raw message.

configs/ac14xx_defconfig +2 -0
index 21cb0b8..3d74576 100644

Lines of this file are not shown. View the raw message.

configs/acadia_defconfig +1 -0
index 07c8668..6434f4b 100644

Lines of this file are not shown. View the raw message.

configs/am335x_baltos_defconfig +1 -0
index 200e375..21ac1dd 100644

Lines of this file are not shown. View the raw message.

configs/am335x_boneblack_defconfig +1 -0
index 40da085..4ba2579 100644

Lines of this file are not shown. View the raw message.

configs/am335x_evm_defconfig +1 -0
index bc1e8d9..836950c 100644

Lines of this file are not shown. View the raw message.

configs/am335x_evm_nor_defconfig +1 -0
index cdf13ed..f336dfd 100644

Lines of this file are not shown. View the raw message.

configs/am335x_evm_norboot_defconfig +1 -0
index b1ab2f3..707014b 100644

Lines of this file are not shown. View the raw message.

configs/am335x_evm_spiboot_defconfig +1 -0
index e360643..665dad3 100644

Lines of this file are not shown. View the raw message.

configs/am335x_evm_usbspl_defconfig +1 -0
index 806e3dc..17370bb 100644

Lines of this file are not shown. View the raw message.

configs/am335x_gp_evm_defconfig +1 -0
index 2ebc3cb..7f12972 100644

Lines of this file are not shown. View the raw message.

configs/am335x_sl50_defconfig +1 -0
index 220dd23..0b6c11f 100644

Lines of this file are not shown. View the raw message.

configs/apalis_t30_defconfig +1 -0
index 4c363c7..b370d6c 100644

Lines of this file are not shown. View the raw message.

configs/arches_defconfig +1 -0
index 245e6fa..9a2cf6d 100644

Lines of this file are not shown. View the raw message.

configs/aria_defconfig +1 -0
index 24541f4..5848709 100644

Lines of this file are not shown. View the raw message.

configs/aristainetos2_defconfig +1 -0
index de55ea8..7e2c026 100644

Lines of this file are not shown. View the raw message.

configs/aristainetos2b_defconfig +1 -0
index f790403..88670df 100644

Lines of this file are not shown. View the raw message.

configs/aristainetos_defconfig +1 -0
index 0bd93d4..e808c21 100644

Lines of this file are not shown. View the raw message.

configs/arndale_defconfig +1 -0
index ee47a3d..88cb81d 100644

Lines of this file are not shown. View the raw message.

configs/ba10_tv_box_defconfig +1 -0
index ce4a584..dca9e46 100644

Lines of this file are not shown. View the raw message.

configs/bamboo_defconfig +1 -0
index 6b510e1..a5491cf 100644

Lines of this file are not shown. View the raw message.

configs/bayleybay_defconfig +1 -0
index 4f0c41f..16c8670 100644

Lines of this file are not shown. View the raw message.

configs/beaver_defconfig +1 -0
index 8add08d..fcfbf65 100644

Lines of this file are not shown. View the raw message.

configs/birdland_bav335a_defconfig +1 -0
index 7ffa870..6d7c20d 100644

Lines of this file are not shown. View the raw message.

configs/birdland_bav335b_defconfig +1 -0
index 03b91a3..910ddc7 100644

Lines of this file are not shown. View the raw message.

configs/bubinga_defconfig +1 -0
index ac94dca..5316aa2 100644

Lines of this file are not shown. View the raw message.

configs/caddy2_defconfig +1 -0
index 2d2b70b..ef43138 100644

Lines of this file are not shown. View the raw message.

configs/cam5200_defconfig +1 -0
index 77fbeb2..7fbed47 100644

Lines of this file are not shown. View the raw message.

configs/cam5200_niosflash_defconfig +1 -0
index f962195..8642849 100644

Lines of this file are not shown. View the raw message.

configs/canyonlands_defconfig +1 -0
index ad7e927..360ee6e 100644

Lines of this file are not shown. View the raw message.

configs/cardhu_defconfig +1 -0
index c9f565a..808e0e2 100644

Lines of this file are not shown. View the raw message.

configs/charon_defconfig +1 -0
index f2d521f..7732c29 100644

Lines of this file are not shown. View the raw message.

configs/chromebook_link_defconfig +1 -0
index 2539c48..8a39740 100644

Lines of this file are not shown. View the raw message.

configs/chromebox_panther_defconfig +1 -0
index fb8224c..d58d37b 100644

Lines of this file are not shown. View the raw message.

configs/cm5200_defconfig +1 -0
index 91d9267..171ed47 100644

Lines of this file are not shown. View the raw message.

configs/cm_fx6_defconfig +1 -0
index 1a5b263..8de185a 100644

Lines of this file are not shown. View the raw message.

configs/cm_t54_defconfig +1 -0
index 9d4932f..439302c 100644

Lines of this file are not shown. View the raw message.

configs/colibri_t20_defconfig +1 -0
index 982cee4..83edb34 100644

Lines of this file are not shown. View the raw message.

configs/colibri_t30_defconfig +1 -0
index 6dda271..35b29f9 100644

Lines of this file are not shown. View the raw message.

configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig +2 -0
index 0462c50..34e81df 100644

Lines of this file are not shown. View the raw message.

configs/controlcenterd_36BIT_SDCARD_defconfig +2 -0
index 7f52711..57f7d3a 100644

Lines of this file are not shown. View the raw message.

configs/coreboot-x86_defconfig +1 -0
index b070a05..a1c7df7 100644

Lines of this file are not shown. View the raw message.

configs/crownbay_defconfig +1 -0
index 6de86a5..0b8e3dd 100644

Lines of this file are not shown. View the raw message.

configs/dalmore_defconfig +1 -0
index dc5077d..15bd9f1 100644

Lines of this file are not shown. View the raw message.

configs/devconcenter_defconfig +2 -0
index 0322e31..817f730 100644

Lines of this file are not shown. View the raw message.

configs/digsy_mtc_RAMBOOT_defconfig +1 -0
index 9055029..035272d 100644

Lines of this file are not shown. View the raw message.

configs/digsy_mtc_defconfig +1 -0
index 8a134fd..ce9cbf0 100644

Lines of this file are not shown. View the raw message.

configs/digsy_mtc_rev5_RAMBOOT_defconfig +1 -0
index 6623b3d..297fe06 100644

Lines of this file are not shown. View the raw message.

configs/digsy_mtc_rev5_defconfig +1 -0
index c91a5b3..c505727 100644

Lines of this file are not shown. View the raw message.

configs/dlvision-10g_defconfig +2 -0
index 9dbcbb4..a339da8 100644

Lines of this file are not shown. View the raw message.

configs/dlvision_defconfig +2 -0
index 7a30948..c4ba3d7 100644

Lines of this file are not shown. View the raw message.

configs/e2220-1170_defconfig +1 -0
index db2d159..1a7b07d 100644

Lines of this file are not shown. View the raw message.

configs/eco5pk_defconfig +1 -0
index 579f80e..27535df 100644

Lines of this file are not shown. View the raw message.

configs/efi-x86_defconfig +1 -0
index d7952da..f5b2e8f 100644

Lines of this file are not shown. View the raw message.

configs/flea3_defconfig +1 -0
index 05bb8b4..5e35601 100644

Lines of this file are not shown. View the raw message.

configs/fo300_defconfig +1 -0
index 9a857b6..300439c 100644

Lines of this file are not shown. View the raw message.

configs/ga10h_v1_1_defconfig +1 -0
index 09ad330..4694432 100644

Lines of this file are not shown. View the raw message.

configs/galileo_defconfig +1 -0
index 217d500..1a9edb5 100644

Lines of this file are not shown. View the raw message.

configs/gdppc440etx_defconfig +1 -0
index 0c04678..695d860 100644

Lines of this file are not shown. View the raw message.

configs/glacier_defconfig +1 -0
index 61444ff..1943882 100644

Lines of this file are not shown. View the raw message.

configs/glacier_ramboot_defconfig +1 -0
index 11d7da2..15ce33f 100644

Lines of this file are not shown. View the raw message.

configs/gt90h_v4_defconfig +1 -0
index a8d339c..51c536a 100644

Lines of this file are not shown. View the raw message.

configs/gwventana_defconfig +2 -0
index 5347876..22d2bda 100644

Lines of this file are not shown. View the raw message.

configs/h2200_defconfig +1 -0
index d112cf1..0fadc90 100644

Lines of this file are not shown. View the raw message.

configs/haleakala_defconfig +1 -0
index 7b98566..7275da5 100644

Lines of this file are not shown. View the raw message.

configs/harmony_defconfig +1 -0
index a3f73cc..f9857df 100644

Lines of this file are not shown. View the raw message.

configs/highbank_defconfig +2 -0
index 5af707d..b44763e 100644

Lines of this file are not shown. View the raw message.

configs/hrcon_defconfig +2 -0
index a4b733b..8a665dd 100644

Lines of this file are not shown. View the raw message.

configs/hrcon_dh_defconfig +2 -0
index f8fa4ef..ded32c8 100644

Lines of this file are not shown. View the raw message.

configs/i12-tvbox_defconfig +1 -0
index a15a15a..1fa7cd4 100644

Lines of this file are not shown. View the raw message.

configs/iNet_3F_defconfig +1 -0
index 3f1624c..1fbf66a 100644

Lines of this file are not shown. View the raw message.

configs/iNet_3W_defconfig +1 -0
index 6c4cd56..7d91aec 100644

Lines of this file are not shown. View the raw message.

configs/iNet_86VS_defconfig +1 -0
index 00e1458..ba04b60 100644

Lines of this file are not shown. View the raw message.

configs/icon_defconfig +1 -0
index ede63a7..39b5185 100644

Lines of this file are not shown. View the raw message.

configs/ids8313_defconfig +1 -0
index 7ae2f73..f3192d1 100644

Lines of this file are not shown. View the raw message.

configs/inet1_defconfig +1 -0
index 1c68293..0b9c604 100644

Lines of this file are not shown. View the raw message.

configs/inet97fv2_defconfig +1 -0
index a7b3a9f..744051a 100644

Lines of this file are not shown. View the raw message.

configs/inet98v_rev2_defconfig +1 -0
index c0c6cb2..a41764f 100644

Lines of this file are not shown. View the raw message.

configs/inet9f_rev03_defconfig +1 -0
index 0a17cf7..662f2e2 100644

Lines of this file are not shown. View the raw message.

configs/intip_defconfig +2 -0
index 51a21fe..4d16ff1 100644

Lines of this file are not shown. View the raw message.

configs/io64_defconfig +2 -0
index 30f7fee..04fd9a3 100644

Lines of this file are not shown. View the raw message.

configs/io_defconfig +2 -0
index e83112c..8e9a246 100644

Lines of this file are not shown. View the raw message.

configs/iocon_defconfig +1 -0
index dac950e..069db16 100644

Lines of this file are not shown. View the raw message.

configs/ipek01_defconfig +1 -0
index 3f856e9..a8e5174 100644

Lines of this file are not shown. View the raw message.

configs/jesurun_q5_defconfig +1 -0
index 443a1c7..3ec8792 100644

Lines of this file are not shown. View the raw message.

configs/jetson-tk1_defconfig +1 -0
index efc4aee..c07b278 100644

Lines of this file are not shown. View the raw message.

configs/k2e_evm_defconfig +1 -0
index 9fb9dac..ca18dbd 100644

Lines of this file are not shown. View the raw message.

configs/k2g_evm_defconfig +1 -0
index 7bdf7a4..d78ec4b 100644

Lines of this file are not shown. View the raw message.

configs/k2hk_evm_defconfig +1 -0
index 940d483..5a14305 100644

Lines of this file are not shown. View the raw message.

configs/k2l_evm_defconfig +1 -0
index 1b21ed0..0b0f058 100644

Lines of this file are not shown. View the raw message.

configs/katmai_defconfig +1 -0
index 2438c29..b242d81 100644

Lines of this file are not shown. View the raw message.

configs/kilauea_defconfig +1 -0
index 7452105..945da5b 100644

Lines of this file are not shown. View the raw message.

configs/kmcoge4_defconfig +2 -0
index 0165877..e82456c 100644

Lines of this file are not shown. View the raw message.

configs/kmcoge5ne_defconfig +1 -0
index ca13a26..f2841b7 100644

Lines of this file are not shown. View the raw message.

configs/kmeter1_defconfig +1 -0
index 7466f07..a9c8245 100644

Lines of this file are not shown. View the raw message.

configs/kmlion1_defconfig +2 -0
index 812eab7..8b7f542 100644

Lines of this file are not shown. View the raw message.

configs/kmopti2_defconfig +1 -0
index 798f748..e6ad3db 100644

Lines of this file are not shown. View the raw message.

configs/kmsupx5_defconfig +1 -0
index 6050b3b..f2d5c62 100644

Lines of this file are not shown. View the raw message.

configs/kmtegr1_defconfig +1 -0
index f407ce1..a87bb5a 100644

Lines of this file are not shown. View the raw message.

configs/kmtepr2_defconfig +1 -0
index e55f4db..4fa42b4 100644

Lines of this file are not shown. View the raw message.

configs/kmvect1_defconfig +1 -0
index 1e75011..3f474a3 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_ddr4_nor_defconfig +1 -0
index 4e790c7..55a668c 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_ddr4_nor_lpuart_defconfig +1 -0
index c76efdb..b2ccc02 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_nand_defconfig +1 -0
index 0c0856c..3eea208 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_nor_SECURE_BOOT_defconfig +1 -0
index 5ff3d75..a44aed9 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_nor_defconfig +1 -0
index 7aadf81..67a9399 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_nor_lpuart_defconfig +1 -0
index f9a59a4..371ef59 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_qspi_defconfig +1 -0
index 0f740fd..94da3f4 100644

Lines of this file are not shown. View the raw message.

configs/ls1021aqds_sdcard_defconfig +1 -0
index 6f3dbfb..4ada3c3 100644

Lines of this file are not shown. View the raw message.

configs/ls1021atwr_nor_SECURE_BOOT_defconfig +1 -0
index db2bf19..5bbd36c 100644

Lines of this file are not shown. View the raw message.

configs/ls1021atwr_nor_defconfig +1 -0
index b7b3a8d..1139ce3 100644

Lines of this file are not shown. View the raw message.

configs/ls1021atwr_nor_lpuart_defconfig +1 -0
index 599342f..689c558 100644

Lines of this file are not shown. View the raw message.

configs/ls1021atwr_qspi_defconfig +1 -0
index d7c7e4c..8207705 100644

Lines of this file are not shown. View the raw message.

configs/ls1021atwr_sdcard_ifc_defconfig +1 -0
index c658360..1f9c97a 100644

Lines of this file are not shown. View the raw message.

configs/ls1021atwr_sdcard_qspi_defconfig +1 -0
index 453a3bb..abf12a6 100644

Lines of this file are not shown. View the raw message.

configs/ls1043aqds_defconfig +2 -0
index d7df7d8..2718279 100644

Lines of this file are not shown. View the raw message.

configs/ls1043aqds_nand_defconfig +2 -0
index e7f8860..653e629 100644

Lines of this file are not shown. View the raw message.

configs/ls1043aqds_nor_ddr3_defconfig +2 -0
index b8945ad..95b1c1a 100644

Lines of this file are not shown. View the raw message.

configs/ls1043aqds_sdcard_ifc_defconfig +2 -0
index de77bde..a3986d5 100644

Lines of this file are not shown. View the raw message.

configs/ls1043ardb_SECURE_BOOT_defconfig +2 -0
index 720e56b..aeec8a8 100644

Lines of this file are not shown. View the raw message.

configs/ls1043ardb_defconfig +2 -0
index 23e2b87..ccfb587 100644

Lines of this file are not shown. View the raw message.

configs/ls1043ardb_nand_defconfig +2 -0
index c079dbd..26f9e44 100644

Lines of this file are not shown. View the raw message.

configs/ls1043ardb_sdcard_defconfig +2 -0
index a621442..f9b4e3f 100644

Lines of this file are not shown. View the raw message.

configs/ls2080a_emu_defconfig +2 -0
index 64787c1..9e8515d 100644

Lines of this file are not shown. View the raw message.

configs/ls2080a_simu_defconfig +2 -0
index fe8281b..e0cd399 100644

Lines of this file are not shown. View the raw message.

configs/ls2080aqds_defconfig +2 -0
index 6ac09ce..5b98b48 100644

Lines of this file are not shown. View the raw message.

configs/ls2080aqds_nand_defconfig +2 -0
index 799efdf..95faed5 100644

Lines of this file are not shown. View the raw message.

configs/ls2080ardb_defconfig +2 -0
index 1b30114..3ca1a0e 100644

Lines of this file are not shown. View the raw message.

configs/ls2080ardb_nand_defconfig +2 -0
index be53cf8..6c3e419 100644

Lines of this file are not shown. View the raw message.

configs/ls2085a_emu_defconfig +2 -0
index a7ab1a4..9af6765 100644

Lines of this file are not shown. View the raw message.

configs/ls2085a_simu_defconfig +2 -0
index 577fca0..721c61a 100644

Lines of this file are not shown. View the raw message.

configs/ls2085aqds_defconfig +2 -0
index b4a1d8c..359b7ff 100644

Lines of this file are not shown. View the raw message.

configs/ls2085aqds_nand_defconfig +2 -0
index 9cdf118..c653e6f 100644

Lines of this file are not shown. View the raw message.

configs/ls2085ardb_defconfig +2 -0
index 0f514ca..6273647 100644

Lines of this file are not shown. View the raw message.

configs/ls2085ardb_nand_defconfig +2 -0
index 93b810b..e2e4e02 100644

Lines of this file are not shown. View the raw message.

configs/luan_defconfig +1 -0
index d03bbb9..6995819 100644

Lines of this file are not shown. View the raw message.

configs/lwmon5_defconfig +2 -0
index 7a2795e..b317937 100644

Lines of this file are not shown. View the raw message.

configs/m28evk_defconfig +1 -0
index e555970..b587617 100644

Lines of this file are not shown. View the raw message.

configs/m53evk_defconfig +1 -0
index a830691..4e0368b 100644

Lines of this file are not shown. View the raw message.

configs/makalu_defconfig +1 -0
index 607c730..79c13cf 100644

Lines of this file are not shown. View the raw message.

configs/mcx_defconfig +1 -0
index 602c7d0..a25ffcf 100644

Lines of this file are not shown. View the raw message.

configs/mecp5123_defconfig +1 -0
index 30d6e26..86d7c3f 100644

Lines of this file are not shown. View the raw message.

configs/medcom-wide_defconfig +2 -0
index 6c9e41a..36fb033 100644

Lines of this file are not shown. View the raw message.

configs/meesc_dataflash_defconfig +1 -0
index 812cc04..f207428 100644

Lines of this file are not shown. View the raw message.

configs/meesc_defconfig +1 -0
index b63712d..8931357 100644

Lines of this file are not shown. View the raw message.

configs/mgcoge3ne_defconfig +2 -0
index 4ec6910..5cc142a 100644

Lines of this file are not shown. View the raw message.

configs/mgcoge_defconfig +2 -0
index 8c57b6c..1c44995 100644

Lines of this file are not shown. View the raw message.

configs/microblaze-generic_defconfig +1 -0
index ed336e6..8a08791 100644

Lines of this file are not shown. View the raw message.

configs/minnowmax_defconfig +1 -0
index 5d5579a..cb2f3c2 100644

Lines of this file are not shown. View the raw message.

configs/mixtile_loftq_defconfig +1 -0
index 07865d8..ac0530b 100644

Lines of this file are not shown. View the raw message.

configs/mk802_a10s_defconfig +1 -0
index 03e58cd..316b7e8 100644

Lines of this file are not shown. View the raw message.

configs/mk802_defconfig +1 -0
index 922f8c3..fbb2c73 100644

Lines of this file are not shown. View the raw message.

configs/mk802ii_defconfig +1 -0
index 2a359be..6636e7f 100644

Lines of this file are not shown. View the raw message.

configs/motionpro_defconfig +1 -0
index 7df993c..ea2b28a 100644

Lines of this file are not shown. View the raw message.

configs/mpc5121ads_defconfig +1 -0
index 8f4c1e8..865b97b 100644

Lines of this file are not shown. View the raw message.

configs/mpc5121ads_rev2_defconfig +1 -0
index b26f6dd..803f304 100644

Lines of this file are not shown. View the raw message.

configs/mpc8308_p1m_defconfig +1 -0
index ee06044..02b1920 100644

Lines of this file are not shown. View the raw message.

configs/mt_ventoux_defconfig +1 -0
index 338df22..c537440 100644

Lines of this file are not shown. View the raw message.

configs/munices_defconfig +1 -0
index 0496b81..f490eab 100644

Lines of this file are not shown. View the raw message.

configs/neo_defconfig +2 -0
index 434fe8f..069db3a 100644

Lines of this file are not shown. View the raw message.

configs/novena_defconfig +1 -0
index 148d693..9217823 100644

Lines of this file are not shown. View the raw message.

configs/nyan-big_defconfig +2 -0
index ca0f9e0..168c716 100644

Lines of this file are not shown. View the raw message.

configs/odroid-xu3_defconfig +1 -0
index e563843..7827f91 100644

Lines of this file are not shown. View the raw message.

configs/odroid_defconfig +1 -0
index 2c4959b..7738fe8 100644

Lines of this file are not shown. View the raw message.

configs/p2371-0000_defconfig +1 -0
index a7315ce..6282acf 100644

Lines of this file are not shown. View the raw message.

configs/p2371-2180_defconfig +1 -0
index 5e5139b..392c539 100644

Lines of this file are not shown. View the raw message.

configs/p2571_defconfig +1 -0
index e6de2da..04df7e9 100644

Lines of this file are not shown. View the raw message.

configs/paz00_defconfig +1 -0
index 9d7350a..7e0683e 100644

Lines of this file are not shown. View the raw message.

configs/pcm030_LOWBOOT_defconfig +1 -0
index 4397d42..ef19516 100644

Lines of this file are not shown. View the raw message.

configs/pcm030_defconfig +1 -0
index e72a9c6..7ee7658 100644

Lines of this file are not shown. View the raw message.

configs/pdm360ng_defconfig +2 -0
index 560e9e4..46342b8 100644

Lines of this file are not shown. View the raw message.

configs/peach-pi_defconfig +1 -0
index 65c6044..bb9e1fc 100644

Lines of this file are not shown. View the raw message.

configs/peach-pit_defconfig +1 -0
index 272988f..95b7c21 100644

Lines of this file are not shown. View the raw message.

configs/plutux_defconfig +2 -0
index c2c4638..85fe61d 100644

Lines of this file are not shown. View the raw message.

configs/pov_protab2_ips9_defconfig +1 -0
index d9b3b45..99884ed 100644

Lines of this file are not shown. View the raw message.

configs/pxm2_defconfig +1 -0
index 8e86e1d..5b32bb1 100644

Lines of this file are not shown. View the raw message.

configs/q8_a13_tablet_defconfig +1 -0
index 205359e..b8aa994 100644

Lines of this file are not shown. View the raw message.

configs/q8_a23_tablet_800x480_defconfig +1 -0
index 927ab2a..b69ee57 100644

Lines of this file are not shown. View the raw message.

configs/q8_a33_tablet_1024x600_defconfig +1 -0
index 755f4ee..a43157a 100644

Lines of this file are not shown. View the raw message.

configs/q8_a33_tablet_800x480_defconfig +1 -0
index a8dfa0d..ec8deb6 100644

Lines of this file are not shown. View the raw message.

configs/qemu-ppce500_defconfig +2 -0
index 6b5619c..7bbe34b 100644

Lines of this file are not shown. View the raw message.

configs/qemu-x86_defconfig +1 -0
index e653e64..29150ef 100644

Lines of this file are not shown. View the raw message.

configs/r7-tv-dongle_defconfig +1 -0
index d6387fc..edbf2ea 100644

Lines of this file are not shown. View the raw message.

configs/rainier_defconfig +1 -0
index 6817023..afa7404 100644

Lines of this file are not shown. View the raw message.

configs/rainier_ramboot_defconfig +1 -0
index dcd68fd..3e07ec2 100644

Lines of this file are not shown. View the raw message.

configs/redwood_defconfig +1 -0
index dbd652b..ef83153 100644

Lines of this file are not shown. View the raw message.

configs/rpi_2_defconfig +1 -0
index b80ac16..ff515fd 100644

Lines of this file are not shown. View the raw message.

configs/rpi_defconfig +1 -0
index 7fc8bbc..e343c66 100644

Lines of this file are not shown. View the raw message.

configs/rut_defconfig +1 -0
index 647088e..7a4011e 100644

Lines of this file are not shown. View the raw message.

configs/sbc8349_PCI_33_defconfig +1 -0
index f78d205..55abbfe 100644

Lines of this file are not shown. View the raw message.

configs/sbc8349_PCI_66_defconfig +1 -0
index 4d3cd50..2be66c6 100644

Lines of this file are not shown. View the raw message.

configs/sbc8349_defconfig +1 -0
index 9bb1f6a..5441215 100644

Lines of this file are not shown. View the raw message.

configs/sbc8548_PCI_33_PCIE_defconfig +1 -0
index da8e71b..71092d0 100644

Lines of this file are not shown. View the raw message.

configs/sbc8548_PCI_33_defconfig +1 -0
index 4790f72..5af4d23 100644

Lines of this file are not shown. View the raw message.

configs/sbc8548_PCI_66_PCIE_defconfig +1 -0
index 09d3112..6f89975 100644

Lines of this file are not shown. View the raw message.

configs/sbc8548_PCI_66_defconfig +1 -0
index 7b5a110..3a3411f 100644

Lines of this file are not shown. View the raw message.

configs/sbc8548_defconfig +1 -0
index 7220a0c..b55d1cf 100644

Lines of this file are not shown. View the raw message.

configs/sbc8641d_defconfig +1 -0
index 6b19fc7..f0138ea 100644

Lines of this file are not shown. View the raw message.

configs/seaboard_defconfig +1 -0
index ad16a10..3fb1085 100644

Lines of this file are not shown. View the raw message.

configs/sequoia_defconfig +1 -0
index 9085405..1d5498b 100644

Lines of this file are not shown. View the raw message.

configs/sequoia_ramboot_defconfig +1 -0
index c9fc855..d0d3e94 100644

Lines of this file are not shown. View the raw message.

configs/smartweb_defconfig +1 -0
index d1127b0..7dd2192 100644

Lines of this file are not shown. View the raw message.

configs/smdk5250_defconfig +1 -0
index b0dec29..e711a72 100644

Lines of this file are not shown. View the raw message.

configs/smdk5420_defconfig +1 -0
index 50148fc..1e849ad 100644

Lines of this file are not shown. View the raw message.

configs/snapper9260_defconfig +1 -0
index 83b52cf..9315b03 100644

Lines of this file are not shown. View the raw message.

configs/snapper9g20_defconfig +1 -0
index 37a3e64..9c24d79 100644

Lines of this file are not shown. View the raw message.

configs/snow_defconfig +1 -0
index 3d8081b..12ae8c9 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_arria5_defconfig +1 -0
index c969af4..7b60d95 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_cyclone5_defconfig +1 -0
index e77dc8f..6a487f4 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_de0_nano_soc_defconfig +1 -0
index 9e85388..cfcae5d 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_mcvevk_defconfig +1 -0
index 3ee2bab..b6f6a65 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_sockit_defconfig +1 -0
index 8cad409..f45c3ed 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_socrates_defconfig +1 -0
index 5b84cee..e25d09b 100644

Lines of this file are not shown. View the raw message.

configs/socfpga_sr1500_defconfig +1 -0
index 5181604..59a6be4 100644

Lines of this file are not shown. View the raw message.

configs/socrates_defconfig +2 -0
index 39e7ffb..9f2a83c 100644

Lines of this file are not shown. View the raw message.

configs/spring_defconfig +1 -0
index 11cb6e3..4c485a7 100644

Lines of this file are not shown. View the raw message.

configs/strider_con_defconfig +2 -0
index 6369d97..402457f 100644

Lines of this file are not shown. View the raw message.

configs/strider_cpu_defconfig +2 -0
index 3ca0f30..570b5b8 100644

Lines of this file are not shown. View the raw message.

configs/sunxi_Gemei_G9_defconfig +1 -0
index d3de194..7f737f2 100644

Lines of this file are not shown. View the raw message.

configs/suvd3_defconfig +1 -0
index 737d0ee..9b0d2b1 100644

Lines of this file are not shown. View the raw message.

configs/sycamore_defconfig +1 -0
index 2fb075d..fa495ba 100644

Lines of this file are not shown. View the raw message.

configs/t3corp_defconfig +2 -0
index fe3e400..e9fe84d 100644

Lines of this file are not shown. View the raw message.

configs/tbs2910_defconfig +1 -0
index 9693556..3cfa09a 100644

Lines of this file are not shown. View the raw message.

configs/tec-ng_defconfig +2 -0
index 3d10fd0..389603c 100644

Lines of this file are not shown. View the raw message.

configs/tec_defconfig +2 -0
index ea3c369..13994ad 100644

Lines of this file are not shown. View the raw message.

configs/tqma6q_mba6_mmc_defconfig +2 -0
index 500c96e..f202810 100644

Lines of this file are not shown. View the raw message.

configs/tqma6q_mba6_spi_defconfig +2 -0
index e9e01f5..c5a4f2b 100644

Lines of this file are not shown. View the raw message.

configs/tqma6s_mba6_mmc_defconfig +2 -0
index 148c5e9..f10a901 100644

Lines of this file are not shown. View the raw message.

configs/tqma6s_mba6_spi_defconfig +2 -0
index 4850c19..f8ac454 100644

Lines of this file are not shown. View the raw message.

configs/tqma6s_wru4_mmc_defconfig +2 -0
index 1402c8d..93e5631 100644

Lines of this file are not shown. View the raw message.

configs/trats2_defconfig +1 -0
index e6b9381..0e69289 100644

Lines of this file are not shown. View the raw message.

configs/trats_defconfig +1 -0
index 8234046..52f0fc7 100644

Lines of this file are not shown. View the raw message.

configs/trimslice_defconfig +1 -0
index e34faa3..a0b3a3e 100644

Lines of this file are not shown. View the raw message.

configs/tseries_mmc_defconfig +1 -0
index 54f4c44..29a812e 100644

Lines of this file are not shown. View the raw message.

configs/tseries_nand_defconfig +1 -0
index 573c362..88ad5b3 100644

Lines of this file are not shown. View the raw message.

configs/tseries_spi_defconfig +1 -0
index 1504049..47e1b12 100644

Lines of this file are not shown. View the raw message.

configs/tuge1_defconfig +1 -0
index f24a9d8..ad0c011 100644

Lines of this file are not shown. View the raw message.

configs/tuxx1_defconfig +1 -0
index da69df4..66e7a81 100644

Lines of this file are not shown. View the raw message.

configs/twister_defconfig +1 -0
index adb51be..06c98eb 100644

Lines of this file are not shown. View the raw message.

configs/ve8313_defconfig +1 -0
index 076a6de..0ed7f87 100644

Lines of this file are not shown. View the raw message.

configs/venice2_defconfig +1 -0
index 05f6bc4..954c1de 100644

Lines of this file are not shown. View the raw message.

configs/ventana_defconfig +1 -0
index 3423f24..d89d701 100644

Lines of this file are not shown. View the raw message.

configs/vme8349_defconfig +1 -0
index a3f9e9c..2100200 100644

Lines of this file are not shown. View the raw message.

configs/walnut_defconfig +1 -0
index 2fb075d..fa495ba 100644

Lines of this file are not shown. View the raw message.

configs/whistler_defconfig +1 -0
index 9fa9664..a818a0f 100644

Lines of this file are not shown. View the raw message.

configs/wtk_defconfig +1 -0
index 5069487..465c22a 100644

Lines of this file are not shown. View the raw message.

configs/xpedite1000_defconfig +1 -0
index 3bccacb..02dd3b1 100644

Lines of this file are not shown. View the raw message.

configs/xpedite517x_defconfig +2 -0
index ab3a5fd..7442be1 100644

Lines of this file are not shown. View the raw message.

configs/xpedite520x_defconfig +2 -0
index 5b93e43..b210b0c 100644

Lines of this file are not shown. View the raw message.

configs/xpedite537x_defconfig +2 -0
index 5f8a6e2..d59100f 100644

Lines of this file are not shown. View the raw message.

configs/xpedite550x_defconfig +2 -0
index 0c4fc6c..69ebfeb 100644

Lines of this file are not shown. View the raw message.

configs/yellowstone_defconfig +1 -0
index ef62cc6..5992c2b 100644

Lines of this file are not shown. View the raw message.

configs/yosemite_defconfig +1 -0
index 9237996..7652b07 100644

Lines of this file are not shown. View the raw message.

configs/yucca_defconfig +1 -0
index fe77adc..5dbbaba 100644

Lines of this file are not shown. View the raw message.

include/configs/10m50_devboard.h +0 -1
index 765151c..2076ef0 100644

Lines of this file are not shown. View the raw message.

include/configs/3c120_devboard.h +0 -1
index 7bb2d61..802ac75 100644

Lines of this file are not shown. View the raw message.

include/configs/B4860QDS.h +0 -2
index b3f32c8..66b08a6 100644

Lines of this file are not shown. View the raw message.

include/configs/BSC9131RDB.h +0 -2
index 9ef1208..1e90473 100644

Lines of this file are not shown. View the raw message.

include/configs/BSC9132QDS.h +0 -2
index dd02b27..f2eb0d6 100644

Lines of this file are not shown. View the raw message.

include/configs/C29XPCIE.h +0 -2
index 6310e63..a771fb3 100644

Lines of this file are not shown. View the raw message.

include/configs/CPCI4052.h +0 -1
index e5a50df..89cc778 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8308RDB.h +0 -2
index c1f914a..8981352 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8313ERDB.h +0 -1
index 936a914..2ab0087 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8315ERDB.h +0 -1
index d204564..a04bbe5 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8323ERDB.h +0 -1
index fb15d3b..f55dda9 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC832XEMDS.h +0 -1
index eac2bcf..068a0c7 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8349EMDS.h +0 -1
index cad8478..89ede19 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8349ITX.h +0 -1
index f058918..e23263e 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC837XEMDS.h +0 -1
index 88867ea..21269ff 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC837XERDB.h +0 -1
index abd818e..2286c8a 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8536DS.h +0 -1
index 746883a..38ad09c 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8540ADS.h +0 -1
index d616c0f..bc1e113 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8541CDS.h +0 -1
index 830bd84..1d079d5 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8544DS.h +0 -1
index c1cd986..ebbec76 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8548CDS.h +0 -1
index 1115af9..24f3acb 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8555CDS.h +0 -1
index 7b82b9e..6e9f127 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8560ADS.h +0 -1
index 8d6e442..33c0bfb 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8568MDS.h +0 -1
index c807303..b1f462a 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8569MDS.h +0 -1
index 00c1e22..c396549 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8572DS.h +0 -2
index 43ac8f3..47ef7ab 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8610HPCD.h +0 -1
index 13aa282..e6439e1 100644

Lines of this file are not shown. View the raw message.

include/configs/MPC8641HPCN.h +0 -1
index 78471d7..5d8f086 100644

Lines of this file are not shown. View the raw message.

include/configs/P1010RDB.h +0 -2
index 0f32968..b0cac09 100644

Lines of this file are not shown. View the raw message.

include/configs/P1022DS.h +0 -2
index 3aa10d1..33c80ae 100644

Lines of this file are not shown. View the raw message.

include/configs/P1023RDB.h +0 -2
index 3943707..3b16bb3 100644

Lines of this file are not shown. View the raw message.

include/configs/P2041RDB.h +0 -2
index 12f78a4..5f01cae 100644

Lines of this file are not shown. View the raw message.

include/configs/PLU405.h +0 -1
index 71f0699..296a595 100644

Lines of this file are not shown. View the raw message.

include/configs/PMC405DE.h +0 -1
index 927162f..0d88adb 100644

Lines of this file are not shown. View the raw message.

include/configs/PMC440.h +0 -1
index ad20117..a7d8778 100644

Lines of this file are not shown. View the raw message.

include/configs/T102xQDS.h +0 -2
index d373194..2e65974 100644

Lines of this file are not shown. View the raw message.

include/configs/T102xRDB.h +0 -2
index 394ff14..6cfe7c6 100644

Lines of this file are not shown. View the raw message.

include/configs/T1040QDS.h +0 -2
index 3d43459..c5b2823 100644

Lines of this file are not shown. View the raw message.

include/configs/T104xRDB.h +0 -2
index a1578cd..4907a5f 100644

Lines of this file are not shown. View the raw message.

include/configs/T208xQDS.h +0 -2
index 954ce81..021e1dc 100644

Lines of this file are not shown. View the raw message.

include/configs/T208xRDB.h +0 -2
index 2c5ade2..efcc827 100644

Lines of this file are not shown. View the raw message.

include/configs/T4240RDB.h +0 -2
index 0c49aad..6e50d98 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM5200.h +0 -1
index 88aca17..2caa631 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM823L.h +0 -1
index 03e1951..a91010e 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM823M.h +0 -1
index 3982761..88eb716 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM834x.h +0 -1
index 148590a..2880c45 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM850L.h +0 -1
index 57c5fbb..9bb69b6 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM850M.h +0 -1
index ec786a4..9186600 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM855L.h +0 -1
index 879b4bf..af78c6b 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM855M.h +0 -1
index d65347f..9b2e564 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM860L.h +0 -1
index e433ff0..44188f7 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM860M.h +0 -1
index bd68913..d813fe5 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM862L.h +0 -1
index 31c9059..3ac466c 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM862M.h +0 -1
index a68edd1..e17159b 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM866M.h +0 -1
index b8bdde1..5600202 100644

Lines of this file are not shown. View the raw message.

include/configs/TQM885D.h +0 -1
index 2725e39..3dba2a0 100644

Lines of this file are not shown. View the raw message.

include/configs/UCP1020.h +0 -2
index 3be2893..3fc33b4 100644

Lines of this file are not shown. View the raw message.

include/configs/VOM405.h +0 -1
index 3421cca..cdf3d1c 100644

Lines of this file are not shown. View the raw message.

include/configs/a3m071.h +0 -2
index aeb2eff..d62fb63 100644

Lines of this file are not shown. View the raw message.

include/configs/a4m072.h +0 -1
index cea8a72..1167bde 100644

Lines of this file are not shown. View the raw message.

include/configs/ac14xx.h +0 -2
index 6f34379..750d8ff 100644

Lines of this file are not shown. View the raw message.

include/configs/am335x_evm.h +0 -1
index 6ebe0b3..d09e1a2 100644

Lines of this file are not shown. View the raw message.

include/configs/am335x_sl50.h +0 -1
index 1bdb96e..13558fd 100644

Lines of this file are not shown. View the raw message.

include/configs/amcc-common.h +0 -1
index 594e314..6c98599 100644

Lines of this file are not shown. View the raw message.

include/configs/aria.h +0 -1
index 94f5717..c56a2e3 100644

Lines of this file are not shown. View the raw message.

include/configs/aristainetos-common.h +0 -1
index 0b97ccc..937144d 100644

Lines of this file are not shown. View the raw message.

include/configs/baltos.h +0 -1
index e9b4fe1..b8c915c 100644

Lines of this file are not shown. View the raw message.

include/configs/bav335x.h +0 -1
index e61a098..5979f4f 100644

Lines of this file are not shown. View the raw message.

include/configs/cm5200.h +0 -1
index dd9a424..3744af2 100644

Lines of this file are not shown. View the raw message.

include/configs/cm_fx6.h +0 -1
index 180ea28..b36ba14 100644

Lines of this file are not shown. View the raw message.

include/configs/cm_t54.h +0 -1
index 42d54a4..35a0263 100644

Lines of this file are not shown. View the raw message.

include/configs/controlcenterd.h +0 -2
index 2e9b910..933eab2 100644

Lines of this file are not shown. View the raw message.

include/configs/corenet_ds.h +0 -2
index f393f80..cb5ac45 100644

Lines of this file are not shown. View the raw message.

include/configs/cyrus.h +0 -2
index 3e0f100..4a48ffd 100644

Lines of this file are not shown. View the raw message.

include/configs/digsy_mtc.h +0 -1
index 09b1646..2506894 100644

Lines of this file are not shown. View the raw message.

include/configs/dlvision-10g.h +0 -1
index b614f19..c01f364 100644

Lines of this file are not shown. View the raw message.

include/configs/dlvision.h +0 -1
index 90e839a..5cdf326 100644

Lines of this file are not shown. View the raw message.

include/configs/exynos5-common.h +0 -1
index 9c3ea88..63da31b 100644

Lines of this file are not shown. View the raw message.

include/configs/flea3.h +0 -1
index 99bf7d6..3e4aaf6 100644

Lines of this file are not shown. View the raw message.

include/configs/gw_ventana.h +0 -2
index b7b9c78..56c49c9 100644

Lines of this file are not shown. View the raw message.

include/configs/h2200.h +0 -1
index 6fbbe6e..fe0211a 100644

Lines of this file are not shown. View the raw message.

include/configs/highbank.h +0 -2
index f02575a..510741b 100644

Lines of this file are not shown. View the raw message.

include/configs/hrcon.h +0 -2
index d1e3ff7..4f74483 100644

Lines of this file are not shown. View the raw message.

include/configs/ids8313.h +0 -1
index 59d1f2f..42851bb 100644

Lines of this file are not shown. View the raw message.

include/configs/intip.h +0 -1
index 60c9e2c..913fdab 100644

Lines of this file are not shown. View the raw message.

include/configs/io.h +0 -1
index 2c457d4..d762d7ce 100644

Lines of this file are not shown. View the raw message.

include/configs/io64.h +0 -1
index 25bd014..a68d964 100644

Lines of this file are not shown. View the raw message.

include/configs/ipek01.h +0 -1
index 3c32d12..e5523da 100644

Lines of this file are not shown. View the raw message.

include/configs/jupiter.h +0 -1
index 86470a0..4c78544 100644

Lines of this file are not shown. View the raw message.

include/configs/km/km-powerpc.h +0 -1
index d2cc078..564214c 100644

Lines of this file are not shown. View the raw message.

include/configs/km/kmp204x-common.h +0 -2
index ebfb54e..dc4f397 100644

Lines of this file are not shown. View the raw message.

include/configs/km82xx.h +0 -1
index 4cfc1dc..ffd93cd 100644

Lines of this file are not shown. View the raw message.

include/configs/ls1021aqds.h +0 -1
index 2b8a91e..28e0217 100644

Lines of this file are not shown. View the raw message.

include/configs/ls1021atwr.h +0 -1
index 5c16ed5..3a6852f 100644

Lines of this file are not shown. View the raw message.

include/configs/ls1043a_common.h +0 -2
index 4253102..f6ba1ff 100644

Lines of this file are not shown. View the raw message.

include/configs/ls1043aqds.h +0 -1
index 3b633fe..b7cd149 100644

Lines of this file are not shown. View the raw message.

include/configs/ls2080a_common.h +0 -2
index de40209..fe608f4 100644

Lines of this file are not shown. View the raw message.

include/configs/lwmon5.h +0 -2
index 9252454..865323f 100644

Lines of this file are not shown. View the raw message.

include/configs/m28evk.h +0 -1
index 8063a1e..55f4495 100644

Lines of this file are not shown. View the raw message.

include/configs/m53evk.h +0 -1
index 4bd1f4c..02e2e6a 100644

Lines of this file are not shown. View the raw message.

include/configs/manroland/common.h +0 -1
index d05d45c..a3ae1c7 100644

Lines of this file are not shown. View the raw message.

include/configs/mcx.h +0 -1
index 83202fc..ce2c790 100644

Lines of this file are not shown. View the raw message.

include/configs/mecp5123.h +0 -1
index 5f099d2..a408219 100644

Lines of this file are not shown. View the raw message.

include/configs/medcom-wide.h +0 -1
index 6dfd5e2..3decb8a 100644

Lines of this file are not shown. View the raw message.

include/configs/meesc.h +0 -1
index 6cade14..88fb3e8 100644

Lines of this file are not shown. View the raw message.

include/configs/microblaze-generic.h +0 -1
index 3e86402..f4665be 100644

Lines of this file are not shown. View the raw message.

include/configs/motionpro.h +0 -1
index 5414208..044e397 100644

Lines of this file are not shown. View the raw message.

include/configs/mpc5121ads.h +0 -1
index a53b4b2..4ac291c 100644

Lines of this file are not shown. View the raw message.

include/configs/mpc8308_p1m.h +0 -1
index d8db25b..a3c8948 100644

Lines of this file are not shown. View the raw message.

include/configs/munices.h +0 -1
index a1305b1..ea65787 100644

Lines of this file are not shown. View the raw message.

include/configs/mx31ads.h +0 -1
index 8e18cfa..dd241d8 100644

Lines of this file are not shown. View the raw message.

include/configs/neo.h +0 -1
index bc01416..7e50352 100644

Lines of this file are not shown. View the raw message.

include/configs/novena.h +0 -1
index 5f0a230..d54d422 100644

Lines of this file are not shown. View the raw message.

include/configs/nyan-big.h +0 -1
index 6f73158..d7c5b03 100644

Lines of this file are not shown. View the raw message.

include/configs/o2dnt-common.h +0 -1
index 7900880..b8b93a5 100644

Lines of this file are not shown. View the raw message.

include/configs/odroid.h +0 -1
index 8e67159..5396f4d 100644

Lines of this file are not shown. View the raw message.

include/configs/p1_p2_rdb_pc.h +0 -2
index 2f58bf6..2640d19 100644

Lines of this file are not shown. View the raw message.

include/configs/p1_twr.h +0 -2
index a08b779..573c848 100644

Lines of this file are not shown. View the raw message.

include/configs/pcm030.h +0 -1
index f7722ec..f8e1bf8 100644

Lines of this file are not shown. View the raw message.

include/configs/pdm360ng.h +0 -2
index ef4206b..a743824 100644

Lines of this file are not shown. View the raw message.

include/configs/plutux.h +0 -1
index 1d6df32..2893540 100644

Lines of this file are not shown. View the raw message.

include/configs/pxm2.h +0 -1
index d896bca..00a4f2c 100644

Lines of this file are not shown. View the raw message.

include/configs/qemu-ppce500.h +0 -2
index 3de4004..02aa99a 100644

Lines of this file are not shown. View the raw message.

include/configs/rpi-common.h +0 -1
index 927bae7..12f08e1 100644

Lines of this file are not shown. View the raw message.

include/configs/rut.h +0 -1
index 78264ba..ddce78c 100644

Lines of this file are not shown. View the raw message.

include/configs/sbc8349.h +0 -1
index f20f964..5d307d7 100644

Lines of this file are not shown. View the raw message.

include/configs/sbc8548.h +0 -1
index f9aefca..9276fa2 100644

Lines of this file are not shown. View the raw message.

include/configs/sbc8641d.h +0 -1
index 926824f..3cf1311 100644

Lines of this file are not shown. View the raw message.

include/configs/smartweb.h +0 -1
index 537fc84..21e9a55 100644

Lines of this file are not shown. View the raw message.

include/configs/snapper9260.h +0 -1
index e5cf7d2..a708c68 100644

Lines of this file are not shown. View the raw message.

include/configs/socfpga_common.h +0 -1
index 541504a..538b474 100644

Lines of this file are not shown. View the raw message.

include/configs/socrates.h +0 -2
index 5956e11..f876b6e 100644

Lines of this file are not shown. View the raw message.

include/configs/strider.h +0 -2
index 13926e0..276582c 100644

Lines of this file are not shown. View the raw message.

include/configs/sunxi-common.h +0 -1
index b4dfb3c..95035d8 100644

Lines of this file are not shown. View the raw message.

include/configs/t3corp.h +0 -1
index 7942865..1ac54e2 100644

Lines of this file are not shown. View the raw message.

include/configs/t4qds.h +0 -2
index f65c4cf..2122abf 100644

Lines of this file are not shown. View the raw message.

include/configs/tam3517-common.h +0 -1
index 38ed626..a532417 100644

Lines of this file are not shown. View the raw message.

include/configs/tbs2910.h +0 -1
index 17b0213..93cd3ac 100644

Lines of this file are not shown. View the raw message.

include/configs/tec-ng.h +0 -1
index a9e3e66..78ab459 100644

Lines of this file are not shown. View the raw message.

include/configs/tec.h +0 -1
index 4b8ca5e..3543837 100644

Lines of this file are not shown. View the raw message.

include/configs/tegra-common.h +0 -1
index ba819c4..dac26e6 100644

Lines of this file are not shown. View the raw message.

include/configs/ti_armv7_keystone2.h +0 -1
index a7206f4..1b7624b 100644

Lines of this file are not shown. View the raw message.

include/configs/tqma6.h +0 -2
index e7aa42d..a90c153 100644

Lines of this file are not shown. View the raw message.

include/configs/trats.h +0 -1
index 5fb991b..023c720 100644

Lines of this file are not shown. View the raw message.

include/configs/trats2.h +0 -1
index f12a952..18ba3d4 100644

Lines of this file are not shown. View the raw message.

include/configs/tseries.h +0 -1
index 914d193..b18e6ec 100644

Lines of this file are not shown. View the raw message.

include/configs/ve8313.h +0 -1
index 8fbf33f..6c6c9a3 100644

Lines of this file are not shown. View the raw message.

include/configs/vme8349.h +0 -1
index 6343d87..78a1d83 100644

Lines of this file are not shown. View the raw message.

include/configs/x86-common.h +0 -1
index 6e681f9..3623c57 100644

Lines of this file are not shown. View the raw message.

include/configs/xpedite1000.h +0 -1
index 5bc926f..2b4fe95 100644

Lines of this file are not shown. View the raw message.

include/configs/xpedite517x.h +0 -2
index 47ef9ac..4dd852c 100644

Lines of this file are not shown. View the raw message.

include/configs/xpedite520x.h +0 -2
index 712475e..4f38b29 100644

Lines of this file are not shown. View the raw message.

include/configs/xpedite537x.h +0 -2
index 1c3b14c..ffa08b6 100644

Lines of this file are not shown. View the raw message.

include/configs/xpedite550x.h +0 -2
index 10c6695..2c92966 100644

Lines of this file are not shown. View the raw message.

include/image.h +6 -3
index 9967bde..061d6ed 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Signature · 1 line
2.7.0.rc3.207.g0ac5344

Part of the diff is not shown here. View the raw message.

#21 lore raw

PATCH 10/26 Kconfig: Move CONFIG_FIT and CONFIG_OF_*_SETUP to Kconfig

Hello Simon,

Am 28.01.2016 um 17:39 schrieb Simon Glass:

Quoted 9 lines

Move these options to Kconfig and tidy up board configuration:

CONFIG_FIT
CONFIG_OF_BOARD_SETUP
CONFIG_OF_SYSTEM_SETUP

Unfortunately the first one is a little complicated. We need to make sure this option is not enabled in SPL by this change. Also this option is enabled automatically in the host builds by defining CONFIG_GIT in the

CONFIG_FIT ?

Quoted 8 lines

image.h file. To solve this, add a new IMAGE_USE_FIT #define which can be used in files that are built on the host but must also build for U-Boot and SPL.

Note: Masahiro's moveconfig.py script is amazing.

---

bye,
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#22 lore raw

PATCH 11/26 fdt: Adjust DEFAULT_DEVICE_TREE to device on OF_CONTROL

In reply to Simon Glass

This option has no meaning without OF_CONTROL, so add a dependency.

---

 dts/Kconfig | 1 +
 1 file changed, 1 insertion(+)
dts/Kconfig +1 -0
index fb2d79e..ba83d5f 100644
@@ -53,6 +53,7 @@ endchoice
 
 config DEFAULT_DEVICE_TREE
 	string "Default Device Tree for DT control"
+	depends on OF_CONTROL
 	help
 	  This option specifies the default Device Tree used for DT control.
 	  It can be overridden from the command line:
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#23 lore raw

PATCH 12/26 fdt: Allow libfdt to be used in SPL

In reply to Simon Glass

Add an option to enable libfdt in SPL. This can be useful when decoding FIT files in SPL.

We need to make sure this option is not enabled in SPL by this change. Also this option needs to be enabled in host builds. Si add a new IMAGE_USE_LIBFDT #define which can be used in files that are built on the host but must also build for U-Boot and SPL.

---

 common/Makefile  |  4 ++--
 common/bootm.c   |  4 ++--
 common/image.c   |  4 ++--
 include/common.h |  4 ++--
 include/image.h  |  8 ++------
 lib/Kconfig      | 10 ++++++++++
 lib/Makefile     |  4 +---
 7 files changed, 21 insertions(+), 17 deletions(-)
common/Makefile +2 -2
index 25083a4..2639e57 100644
@@ -55,7 +55,7 @@ obj-$(CONFIG_ENV_IS_IN_UBI) += env_ubi.o
 obj-$(CONFIG_ENV_IS_NOWHERE) += env_nowhere.o
 
 obj-$(CONFIG_CMD_BEDBUG) += bedbug.o
-obj-$(CONFIG_OF_LIBFDT) += fdt_support.o
+obj-$(CONFIG_$(SPL_)OF_LIBFDT) += fdt_support.o
 
 obj-$(CONFIG_MII) += miiphyutil.o
 obj-$(CONFIG_CMD_MII) += miiphyutil.o
@@ -130,7 +130,7 @@ obj-y += malloc_simple.o
 endif
 obj-y += image.o
 obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o
-obj-$(CONFIG_OF_LIBFDT) += image-fdt.o
+obj-$(CONFIG_$(SPL_)OF_LIBFDT) += image-fdt.o
 obj-$(CONFIG_$(SPL_)FIT) += image-fit.o
 obj-$(CONFIG_FIT_SIGNATURE) += image-sig.o
 obj-$(CONFIG_IO_TRACE) += iotrace.o
common/bootm.c +2 -2
index 686d28b..947d19e 100644
@@ -234,7 +234,7 @@ int bootm_find_images(int flag, int argc, char * const argv[])
 		return 1;
 	}
 
-#if defined(CONFIG_OF_LIBFDT)
+#if IMAGE_ENABLE_OF_LIBFDT
 	/* find flattened device tree */
 	ret = boot_get_fdt(flag, argc, argv, IH_ARCH_DEFAULT, &images,
 			   &images.ft_addr, &images.ft_len);
@@ -644,7 +644,7 @@ int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
 		}
 	}
 #endif
-#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_LMB)
+#if IMAGE_ENABLE_OF_LIBFDT && defined(CONFIG_LMB)
 	if (!ret && (states & BOOTM_STATE_FDT)) {
 		boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
 		ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,
common/image.c +2 -2
index ca43763..fad31b2 100644
@@ -29,7 +29,7 @@
 #include <image.h>
 #include <mapmem.h>
 
-#if IMAGE_USE_FIT || defined(CONFIG_OF_LIBFDT)
+#if IMAGE_USE_FIT || IMAGE_ENABLE_OF_LIBFDT
 #include <libfdt.h>
 #include <fdt_support.h>
 #endif
@@ -757,7 +757,7 @@ int genimg_get_format(const void *img_addr)
 	if (image_check_magic(hdr))
 		return IMAGE_FORMAT_LEGACY;
 #endif
-#if IMAGE_USE_FIT || defined(CONFIG_OF_LIBFDT)
+#if IMAGE_USE_FIT || IMAGE_ENABLE_OF_LIBFDT
 	if (fdt_check_header(img_addr) == 0)
 		return IMAGE_FORMAT_FIT;
 #endif
include/common.h +2 -2
index 1563d64..5153680 100644
@@ -596,7 +596,7 @@ void	upmconfig     (unsigned int, unsigned int *, unsigned int);
 ulong	get_tbclk     (void);
 void	reset_misc    (void);
 void	reset_cpu     (ulong addr);
-#if defined (CONFIG_OF_LIBFDT) && defined (CONFIG_OF_BOARD_SETUP)
+#if IMAGE_ENABLE_OF_LIBFDT && defined(CONFIG_OF_BOARD_SETUP)
 void ft_cpu_setup(void *blob, bd_t *bd);
 #ifdef CONFIG_PCI
 void ft_pci_setup(void *blob, bd_t *bd);
@@ -660,7 +660,7 @@ int get_serial_clock(void);
 #if defined(CONFIG_MPC85xx)
 typedef MPC85xx_SYS_INFO sys_info_t;
 void	get_sys_info  ( sys_info_t * );
-#  if defined(CONFIG_OF_LIBFDT)
+#  if IMAGE_ENABLE_OF_LIBFDT
 	void ft_fixup_cpu(void *, u64);
 	void ft_fixup_num_cores(void *);
 #  endif
include/image.h +2 -6
index 061d6ed..9eb3616 100644
@@ -28,6 +28,7 @@ struct lmb;
 /* new uImage format support enabled on host */
 #define CONFIG_FIT		1
 #define IMAGE_USE_FIT		1
+#define IMAGE_ENABLE_OF_LIBFDT	1
 #define CONFIG_FIT_VERBOSE	1 /* enable fit_format_{error,warning}() */
 
 #define IMAGE_ENABLE_IGNORE	0
@@ -44,6 +45,7 @@ struct lmb;
 #define IMAGE_INDENT_STRING	"   "
 
 #define IMAGE_USE_FIT		CONFIG_IS_ENABLED(FIT)
+#define IMAGE_ENABLE_OF_LIBFDT	CONFIG_IS_ENABLED(OF_LIBFDT)
 
 #endif /* USE_HOSTCC */
 
@@ -104,12 +106,6 @@ struct lmb;
 # define IMAGE_ENABLE_RAMDISK_HIGH	0
 #endif
 
-#ifdef CONFIG_OF_LIBFDT
-# define IMAGE_ENABLE_OF_LIBFDT	1
-#else
-# define IMAGE_ENABLE_OF_LIBFDT	0
-#endif
-
 #ifdef CONFIG_SYS_BOOT_GET_CMDLINE
 # define IMAGE_BOOT_GET_CMDLINE		1
 #else
lib/Kconfig +10 -0
index 90ed497..e382f97 100644
@@ -138,6 +138,16 @@ config OF_LIBFDT
 	  particular compatible nodes. The library operates on a flattened
 	  version of the device tree.
 
+config SPL_OF_LIBFDT
+	bool "Enable the FDT library for SPL"
+	default y if SPL_OF_CONTROL
+	help
+	  This enables the FDT library (libfdt). It provides functions for
+	  accessing binary device tree images in memory, such as adding and
+	  removing notes and properties, scanning through the tree and finding
+	  particular compatible nodes. The library operates on a flattened
+	  version of the device tree.
+
 source lib/efi/Kconfig
 
 endmenu
lib/Makefile +1 -3
index dd36f25..9a02754 100644
@@ -50,9 +50,7 @@ obj-$(CONFIG_BITREVERSE) += bitrev.o
 obj-y += list_sort.o
 endif
 
-ifndef CONFIG_SPL_BUILD
-obj-$(CONFIG_OF_LIBFDT) += libfdt/
-endif
+obj-$(CONFIG_$(SPL)OF_LIBFDT) += libfdt/
 ifdef CONFIG_SPL_OF_CONTROL
 obj-$(CONFIG_OF_LIBFDT) += libfdt/
 endif
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#24 lore raw

PATCH 13/26 sunxi: Display the board model on start-up

In reply to Simon Glass

It is useful to know which sunxi board you are booting. Display this on start-up to avoid confusion.

---

 include/configs/sunxi-common.h | 1 +
 1 file changed, 1 insertion(+)
include/configs/sunxi-common.h +1 -0
index 95035d8..7707067 100644
@@ -174,6 +174,7 @@
 
 #define CONFIG_SYS_MONITOR_LEN		(768 << 10)	/* 768 KiB */
 #define CONFIG_IDENT_STRING		" Allwinner Technology"
+#define CONFIG_DISPLAY_BOARDINFO
 
 #define CONFIG_ENV_OFFSET		(544 << 10) /* (8 + 24 + 512) KiB */
 #define CONFIG_ENV_SIZE			(128 << 10)	/* 128 KiB */
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#25 lore raw

PATCH 14/26 tools: Include fdt_sw.o in libfdt for mkimage

In reply to Simon Glass

At present this file is omitted. It is used to build up a binary device tree. We plan to do this in mkimage, so include this file in the build.

---

 tools/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/Makefile +1 -1
index 1382b05..e34df26 100644
@@ -59,7 +59,7 @@ FIT_SIG_OBJS-$(CONFIG_FIT_SIGNATURE) := common/image-sig.o
 # Flattened device tree objects
 LIBFDT_OBJS := $(addprefix lib/libfdt/, \
 			fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_wip.o \
-			fdt_region.o)
+			fdt_region.o fdt_sw.o)
 RSA_OBJS-$(CONFIG_FIT_SIGNATURE) := $(addprefix lib/rsa/, \
 					rsa-sign.o rsa-verify.o rsa-checksum.o \
 					rsa-mod-exp.o)
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#26 lore raw

PATCH 15/26 mkimage: Allow a FIT to include an image of any type

In reply to Simon Glass

At present FIT images are set up by providing a device tree source file which is a file with a .its extension. We want to support automatically creating this file based on the image supplied to mkimage. This means that even though the final file type is always IH_TYPE_FLATDT, the image inside may be something else.

---

 tools/imagetool.h |  1 +
 tools/mkimage.c   | 33 ++++++++++++++++++++++++++++-----
 2 files changed, 29 insertions(+), 5 deletions(-)
tools/imagetool.h +1 -0
index ad2deb5..e0397f7 100644
@@ -61,6 +61,7 @@ struct image_tool_params {
 	int require_keys;	/* 1 to mark signing keys as 'required' */
 	int file_size;		/* Total size of output file */
 	int orig_file_size;	/* Original size for file before padding */
+	int fit_image_type;	/* Image type to put into the FIT */
 };
 
 /*
tools/mkimage.c +28 -5
index b8293f6..73367d1 100644
@@ -112,10 +112,14 @@ static void usage(const char *msg)
 static void process_args(int argc, char **argv)
 {
 	char *ptr;
+	int type = IH_TYPE_INVALID;
+	char *datafile = NULL;
+	int expecting;
 	int opt;
 
+	expecting = IH_TYPE_COUNT;	/* Unknown */
 	while ((opt = getopt(argc, argv,
-			     "a:A:cC:d:D:e:f:Fk:K:ln:O:rR:sT:vVx")) != -1) {
+			     "-a:A:cC:d:D:e:f:Fk:K:ln:O:rR:sT:vVx")) != -1) {
 		switch (opt) {
 		case 'a':
 			params.addr = strtoul(optarg, &ptr, 16);
@@ -162,6 +166,7 @@ static void process_args(int argc, char **argv)
 			 * The flattened image tree (FIT) format
 			 * requires a flattened device tree image type
 			 */
+			params.fit_image_type = params.type;
 			params.type = IH_TYPE_FLATDT;
 			params.fflag = 1;
 			break;
@@ -196,11 +201,12 @@ static void process_args(int argc, char **argv)
 			params.skipcpy = 1;
 			break;
 		case 'T':
-			params.type = genimg_get_type_id(optarg);
-			if (params.type < 0) {
+			type = genimg_get_type_id(optarg);
+			if (type < 0) {
 				show_image_types();
 				usage("Invalid image type");
 			}
+			expecting = type;
 			break;
 		case 'v':
 			params.vflag++;
@@ -211,14 +217,31 @@ static void process_args(int argc, char **argv)
 		case 'x':
 			params.xflag++;
 			break;
+		case 1:
+			if (expecting == type || expecting == IH_TYPE_COUNT) {
+				params.imagefile = optarg;
+				expecting = IH_TYPE_INVALID;
+			}
+			break;
 		default:
 			usage("Invalid option");
 		}
 	}
 
-	if (optind >= argc)
+	/*
+	 * For auto-generated FIT images we need to know the image type to put
+	 * in the FIT, which is separate from the file's image type (which
+	 * will always be IH_TYPE_FLATDT in this case).
+	 */
+	if (params.type == IH_TYPE_FLATDT) {
+		params.fit_image_type = type;
+		params.datafile = datafile;
+	} else if (type != IH_TYPE_INVALID) {
+		params.type = type;
+	}
+
+	if (!params.imagefile)
 		usage("Missing output filename");
-	params.imagefile = argv[optind];
 }
 
 
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#27 lore raw

PATCH 16/26 tools: Add a function to obtain the size of a file

In reply to Simon Glass

This will be used in mkimage when working out the required size of the FIT based on the files to be placed into it.

---

 doc/mkimage.1     |  4 ++--
 tools/imagetool.c | 22 ++++++++++++++++++++++
 tools/imagetool.h | 12 ++++++++++++
 3 files changed, 36 insertions(+), 2 deletions(-)
doc/mkimage.1 +2 -2
index b48f70b..1b9d18c 100644
@@ -164,7 +164,7 @@ skipping those for which keys cannot be found. Also add a comment.
 .nf
 .B mkimage -f kernel.its -k /public/signing-keys -K u-boot.dtb \\\\
 .br
-.B -c "Kernel 3.8 image for production devices" kernel.itb
+.B -c """Kernel 3.8 image for production devices""" kernel.itb
 .fi
 
 .P
@@ -175,7 +175,7 @@ with unavailable keys are skipped.
 .nf
 .B mkimage -F -k /secret/signing-keys -K u-boot.dtb \\\\
 .br
-.B -c "Kernel 3.8 image for production devices" kernel.itb
+.B -c """Kernel 3.8 image for production devices""" kernel.itb
 .fi
 
 .SH HOMEPAGE
tools/imagetool.c +22 -0
index 4b0b73d..351211c 100644
@@ -91,3 +91,25 @@ int imagetool_save_subimage(
 
 	return 0;
 }
+
+int imagetool_get_filesize(struct image_tool_params *params, const char *fname)
+{
+	struct stat sbuf;
+	int fd;
+
+	fd = open(fname, O_RDONLY | O_BINARY);
+	if (fd < 0) {
+		fprintf(stderr, "%s: Can't open %s: %s\n",
+			params->cmdname, fname, strerror(errno));
+		return -1;
+	}
+
+	if (fstat(fd, &sbuf) < 0) {
+		fprintf(stderr, "%s: Can't stat %s: %s\n",
+			params->cmdname, fname, strerror(errno));
+		return -1;
+	}
+	close(fd);
+
+	return sbuf.st_size;
+}
tools/imagetool.h +12 -0
index e0397f7..3cf42ac 100644
@@ -181,6 +181,18 @@ int imagetool_save_subimage(
 	ulong file_data,
 	ulong file_len);
 
+/**
+ * imagetool_get_filesize() - Utility function to obtain the size of a file
+ *
+ * This function prints a message if an error occurs, showing the error that
+ * was obtained.
+ *
+ * @params:	mkimage parameters
+ * @fname:	filename to check
+ * @return size of file, or -ve value on error
+ */
+int imagetool_get_filesize(struct image_tool_params *params, const char *fname);
+
 /*
  * There is a c file associated with supported image type low level code
  * for ex. default_image.c, fit_image.c
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#28 lore raw

PATCH 17/26 image: Add functions to obtain short names

In reply to Simon Glass

Sometimes it is useful to obtain the short name for an Operating System, architecture or compression mechanism. Provide functions for this.

---

 common/image.c  | 26 ++++++++++++++++++++++----
 include/image.h | 27 +++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 4 deletions(-)
common/image.c +22 -4
index fad31b2..e72a979 100644
@@ -603,11 +603,9 @@ const char *genimg_get_type_name(uint8_t type)
 	return (get_table_entry_name(uimage_type, "Unknown Image", type));
 }
 
-const char *genimg_get_type_short_name(uint8_t type)
+static const char *genimg_get_short_name(const table_entry_t *table, int val)
 {
-	const table_entry_t *table;
-
-	table = get_table_entry(uimage_type, type);
+	table = get_table_entry(table, val);
 	if (!table)
 		return "unknown";
 #if defined(USE_HOSTCC) || !defined(CONFIG_NEEDS_MANUAL_RELOC)
@@ -617,12 +615,32 @@ const char *genimg_get_type_short_name(uint8_t type)
 #endif
 }
 
+const char *genimg_get_type_short_name(uint8_t type)
+{
+	return genimg_get_short_name(uimage_type, type);
+}
+
 const char *genimg_get_comp_name(uint8_t comp)
 {
 	return (get_table_entry_name(uimage_comp, "Unknown Compression",
 					comp));
 }
 
+const char *genimg_get_comp_short_name(uint8_t comp)
+{
+	return genimg_get_short_name(uimage_comp, comp);
+}
+
+const char *genimg_get_os_short_name(uint8_t os)
+{
+	return genimg_get_short_name(uimage_os, os);
+}
+
+const char *genimg_get_arch_short_name(uint8_t arch)
+{
+	return genimg_get_short_name(uimage_arch, arch);
+}
+
 /**
  * get_table_entry_id - translate short entry name to id
  * @table: pointer to a translation table for entries of a specific type
include/image.h +27 -0
index 9eb3616..fa201d7 100644
@@ -414,7 +414,25 @@ int get_table_entry_id(const table_entry_t *table,
 char *get_table_entry_name(const table_entry_t *table, char *msg, int id);
 
 const char *genimg_get_os_name(uint8_t os);
+
+/**
+ * genimg_get_os_short_name() - get the short name for an OS
+ *
+ * @param os	OS (IH_OS_...)
+ * @return OS short name, or "unknown" if unknown
+ */
+const char *genimg_get_os_short_name(uint8_t comp);
+
 const char *genimg_get_arch_name(uint8_t arch);
+
+/**
+ * genimg_get_arch_short_name() - get the short name for an architecture
+ *
+ * @param arch	Architecture type (IH_ARCH_...)
+ * @return architecture short name, or "unknown" if unknown
+ */
+const char *genimg_get_arch_short_name(uint8_t arch);
+
 const char *genimg_get_type_name(uint8_t type);
 
 /**
@@ -426,6 +444,15 @@ const char *genimg_get_type_name(uint8_t type);
 const char *genimg_get_type_short_name(uint8_t type);
 
 const char *genimg_get_comp_name(uint8_t comp);
+
+/**
+ * genimg_get_comp_short_name() - get the short name for a compression method
+ *
+ * @param comp	compression method (IH_COMP_...)
+ * @return compression method short name, or "unknown" if unknown
+ */
+const char *genimg_get_comp_short_name(uint8_t comp);
+
 int genimg_get_os_id(const char *name);
 int genimg_get_arch_id(const char *name);
 int genimg_get_type_id(const char *name);
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#29 lore raw

PATCH 18/26 mkimage: Support automatic creating of a FIT without a .its

In reply to Simon Glass

At present, when generating a FIT, mkimage requires a .its file containing the structure of the FIT and referring to the images to be included.

Creating the .its file is a separate step that makes it harder to use FIT. This is not required for creating legacy images.

Often the FIT is pretty standard, consisting of an OS image, some device tree files and a single configuration. We can handle this case automatically and avoid needing a .its file at all.

To start with, support automatically generate the FIT using a new '-f auto' option. Initially this only supports adding a single image (e.g. a linux kernel) and a single configuration.

---

 doc/mkimage.1     |  16 +++-
 tools/fit_image.c | 216 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 tools/imagetool.h |   1 +
 tools/mkimage.c   |   8 +-
 4 files changed, 235 insertions(+), 6 deletions(-)
doc/mkimage.1 +15 -1
index 1b9d18c..146c114 100644
@@ -108,10 +108,15 @@ Provide special options to the device tree compiler that is used to
 create the image.
 
 .TP
-.BI "\-f [" "image tree source file" "]"
+.BI "\-f [" "image tree source file" " | " "auto" "]"
 Image tree source file that describes the structure and contents of the
 FIT image.
 
+This can be automatically generated for some simple cases.
+Use "-f auto" for this. In that case the arguments -d, -A, -O, -T, -C, -a
+and -e are used to specify the image to include in the FIT and its attributes.
+No .its file is required.
+
 .TP
 .BI "\-F"
 Indicates that an existing FIT image should be modified. No dtc
@@ -178,6 +183,15 @@ with unavailable keys are skipped.
 .B -c """Kernel 3.8 image for production devices""" kernel.itb
 .fi
 
+.P
+Create a FIT image containing a kernel, using automatic mode. No .its file
+is required.
+.nf
+.B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
+.br
+.B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb
+.fi
+
 .SH HOMEPAGE
 http://www.denx.de/wiki/U-Boot/WebHome
 .PP
tools/fit_image.c +214 -2

246 lines not on this page · raw message

tools/imagetool.h +1 -0
index 3cf42ac..4f426e4 100644
@@ -61,6 +61,7 @@ struct image_tool_params {
 	int require_keys;	/* 1 to mark signing keys as 'required' */
 	int file_size;		/* Total size of output file */
 	int orig_file_size;	/* Original size for file before padding */
+	bool auto_its;		/* Automatically create the .its file */
 	int fit_image_type;	/* Image type to put into the FIT */
 };
 
tools/mkimage.c +5 -3
index 73367d1..5d4ed61 100644
@@ -85,7 +85,7 @@ static void usage(const char *msg)
 		"          -x ==> set XIP (execute in place)\n",
 		params.cmdname);
 	fprintf(stderr,
-		"       %s [-D dtc_options] [-f fit-image.its|-F] fit-image\n",
+		"       %s [-D dtc_options] [-f fit-image.its|-f auto|-F] fit-image\n",
 		params.cmdname);
 	fprintf(stderr,
 		"          -D => set all options for device tree compiler\n"
@@ -159,7 +159,8 @@ static void process_args(int argc, char **argv)
 			params.eflag = 1;
 			break;
 		case 'f':
-			params.datafile = optarg;
+			datafile = optarg;
+			params.auto_its = !strcmp(datafile, "auto");
 			/* no break */
 		case 'F':
 			/*
@@ -235,7 +236,8 @@ static void process_args(int argc, char **argv)
 	 */
 	if (params.type == IH_TYPE_FLATDT) {
 		params.fit_image_type = type;
-		params.datafile = datafile;
+		if (!params.auto_its)
+			params.datafile = datafile;
 	} else if (type != IH_TYPE_INVALID) {
 		params.type = type;
 	}
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#30 lore raw

PATCH 19/26 mkimage: Support adding device tree files to a FIT

In reply to Simon Glass

To make the auto-FIT feature useful we need to be able to provide a list of device tree files on the command line for mkimage to add into the FIT. Add support for this feature.

So far there is no support for hashing or verified boot using this method. For those cases, a .its file must still be provided.

---

 doc/mkimage.1     | 17 ++++++++++
 tools/fit_image.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 tools/imagetool.h |  9 ++++++
 tools/mkimage.c   | 38 +++++++++++++++++++++-
 4 files changed, 151 insertions(+), 9 deletions(-)
doc/mkimage.1 +17 -0
index 146c114..b1b45d7 100644
@@ -97,6 +97,10 @@ Set XIP (execute in place) flag.
 .B Create FIT image:
 
 .TP
+.BI "\-b
+Specifies that the following arguments are device tree binary files (.dtb).
+
+.TP
 .BI "\-c [" "comment" "]"
 Specifies a comment to be added when signing. This is typically a useful
 message which describes how the image was signed or some other useful
@@ -125,6 +129,10 @@ This can be used to sign images with additional keys after initial image
 creation.
 
 .TP
+.BI "\-i
+Specifies that the following arguments are image files.
+
+.TP
 .BI "\-k [" "key_directory" "]"
 Specifies the directory containing keys to use for signing. This directory
 should contain a private key file <name>.key for use with signing and a
@@ -191,6 +199,15 @@ is required.
 .br
 .B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb
 .fi
+.P
+Create a FIT image containing a kernel and some device tree files, using
+automatic mode. No .its file is required.
+.nf
+.B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
+.br
+.B -c """Kernel 4.4 image for production devices""" -d vmlinuz \\\\
+.B -b rk3288-firefly.dts rk3288-jerry.dts -i kernel.itb
+.fi
 
 .SH HOMEPAGE
 http://www.denx.de/wiki/U-Boot/WebHome
tools/fit_image.c +88 -8

144 lines not on this page · raw message

tools/imagetool.h +9 -0
index 4f426e4..3d30fbe 100644
@@ -27,6 +27,13 @@
 
 #define IH_ARCH_DEFAULT		IH_ARCH_INVALID
 
+/* Information about a file that needs to be placed into the FIT */
+struct content_info {
+	struct content_info *next;
+	int type;		/* File type (IH_TYPE_...) */
+	const char *fname;
+};
+
 /*
  * This structure defines all such variables those are initialized by
  * mkimage and dumpimage main core and need to be referred by image
@@ -63,6 +70,8 @@ struct image_tool_params {
 	int orig_file_size;	/* Original size for file before padding */
 	bool auto_its;		/* Automatically create the .its file */
 	int fit_image_type;	/* Image type to put into the FIT */
+	struct content_info *content_head;	/* List of files to include */
+	struct content_info *content_tail;
 };
 
 /*
tools/mkimage.c +37 -1
index 5d4ed61..5e2e7e1 100644
@@ -109,6 +109,24 @@ static void usage(const char *msg)
 	exit(EXIT_FAILURE);
 }
 
+static int add_content(int type, const char *fname)
+{
+	struct content_info *cont;
+
+	cont = calloc(1, sizeof(*cont));
+	if (!cont)
+		return -1;
+	cont->type = type;
+	cont->fname = fname;
+	if (params.content_tail)
+		params.content_tail->next = cont;
+	else
+		params.content_head = cont;
+	params.content_tail = cont;
+
+	return 0;
+}
+
 static void process_args(int argc, char **argv)
 {
 	char *ptr;
@@ -119,7 +137,7 @@ static void process_args(int argc, char **argv)
 
 	expecting = IH_TYPE_COUNT;	/* Unknown */
 	while ((opt = getopt(argc, argv,
-			     "-a:A:cC:d:D:e:f:Fk:K:ln:O:rR:sT:vVx")) != -1) {
+			     "-a:A:bcC:d:D:e:f:Fik:K:ln:O:rR:sT:vVx")) != -1) {
 		switch (opt) {
 		case 'a':
 			params.addr = strtoul(optarg, &ptr, 16);
@@ -134,6 +152,9 @@ static void process_args(int argc, char **argv)
 			if (params.arch < 0)
 				usage("Invalid architecture");
 			break;
+		case 'b':
+			expecting = IH_TYPE_FLATDT;
+			break;
 		case 'c':
 			params.comment = optarg;
 			break;
@@ -171,6 +192,9 @@ static void process_args(int argc, char **argv)
 			params.type = IH_TYPE_FLATDT;
 			params.fflag = 1;
 			break;
+		case 'i':
+			expecting = type;
+			break;
 		case 'k':
 			params.keydir = optarg;
 			break;
@@ -222,6 +246,18 @@ static void process_args(int argc, char **argv)
 			if (expecting == type || expecting == IH_TYPE_COUNT) {
 				params.imagefile = optarg;
 				expecting = IH_TYPE_INVALID;
+			} else if (expecting == IH_TYPE_INVALID) {
+				fprintf(stderr,
+					"%s: Unknown content type: use -b before device tree files",
+					params.cmdname);
+				exit(EXIT_FAILURE);
+			} else {
+				if (add_content(expecting, optarg)) {
+					fprintf(stderr,
+						"%s: Out of memory adding content '%s'",
+						params.cmdname, optarg);
+					exit(EXIT_FAILURE);
+				}
 			}
 			break;
 		default:
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#31 lore raw

PATCH 19/26 mkimage: Support adding device tree files to a FIT

Quoted 3 lines · Simon Glass

To make the auto-FIT feature useful we need to be able to provide a list of device tree files on the command line for mkimage to add into the FIT. Add support for this feature.

[snip]

Quoted 21 lines

+.BI "\-b

doc/mkimage.1 +7 -0
+Specifies that the following arguments are device tree binary files (.dtb).
+
+.TP
 .BI "\-c [" "comment" "]"
 Specifies a comment to be added when signing. This is typically a useful
 message which describes how the image was signed or some other useful
@@ -125,6 +129,10 @@ This can be used to sign images with additional keys after initial image
 creation.
 
 .TP
+.BI "\-i
+Specifies that the following arguments are image files.
+
+.TP
 .BI "\-k [" "key_directory" "]"
 Specifies the directory containing keys to use for signing. This directory
 should contain a private key file <name>.key for use with signing and a
@@ -191,6 +199,15 @@ is required.
 .br
 .B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb

doc/mkimage.1 is required. · line 210

Quoted 10 lines
doc/mkimage.1 +9 -0
 .fi
+.P
+Create a FIT image containing a kernel and some device tree files, using
+automatic mode. No .its file is required.
+.nf
+.B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
+.br
+.B -c """Kernel 4.4 image for production devices""" -d vmlinuz \\\\
+.B -b rk3288-firefly.dts rk3288-jerry.dts -i kernel.itb
+.fi

OK, I'm confused in a few ways here. First, we don't need quotes around the space separated list of dts files? Second, we need dts not dtb? Third, I think this would be a better example if (as I suspect we need really) it was a full path to the output rather than assuming that we've copied the files to $PWD. Fourth, -i is inputs or outputs? The help reads like inputs and is where I assume we would say vmlinuz here and not use -d and then end with our output of kernel.itb. Thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160211/11bb4742/attachment.sig>
#32 lore raw

PATCH 19/26 mkimage: Support adding device tree files to a FIT

Hi Tom,

Quoted 32 lines · Tom Rini
Quoted 3 lines · Simon Glass

To make the auto-FIT feature useful we need to be able to provide a list of device tree files on the command line for mkimage to add into the FIT. Add support for this feature.

[snip]

Quoted 26 lines

+.BI "\-b

doc/mkimage.1 +11 -0
+Specifies that the following arguments are device tree binary files (.dtb).
+
+.TP
 .BI "\-c [" "comment" "]"
 Specifies a comment to be added when signing. This is typically a useful
 message which describes how the image was signed or some other useful
@@ -125,6 +129,10 @@ This can be used to sign images with additional keys after initial image
 creation.
 
 .TP
+.BI "\-i
+Specifies that the following arguments are image files.
+
+.TP
 .BI "\-k [" "key_directory" "]"
 Specifies the directory containing keys to use for signing. This directory
 should contain a private key file <name>.key for use with signing and a
@@ -191,6 +199,15 @@ is required.
 .br
 .B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb
 .fi
+.P
+Create a FIT image containing a kernel and some device tree files, using
+automatic mode. No .its file is required.
+.nf
Quoted 8 lines

doc/mkimage.1 is required. · line 210

Quoted 5 lines
doc/mkimage.1 +5 -0
+.B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
+.br
+.B -c """Kernel 4.4 image for production devices""" -d vmlinuz \\\\
+.B -b rk3288-firefly.dts rk3288-jerry.dts -i kernel.itb
+.fi

OK, I'm confused in a few ways here. First, we don't need quotes around the space separated list of dts files?

No, the -b option introduces the list, which can be as long as needed. I want to make it possible to specify a list easily.

Quoted 1 line

Second, we need dts not dtb?

Eek, no, it should be dtb.

Quoted 3 lines

Third, I think this would be a better example if (as I suspect we need really) it was a full path to the output rather than assuming that we've copied the files to $PWD.

OK

Quoted 3 lines

Fourth, -i is inputs or outputs? The help
reads like inputs and is where I assume we would say vmlinuz here and not use -d and then end with our output of kernel.itb. Thanks!

-i introduces the image file, whic his an output. The -d provides the datafile, which is the file that is is put inside the FIT.

Maybe we can change things to make this a bit clearer. We could perhaps have an option to end the list of dtb files, instead of the option to signal the output file is next? Or maybe we can avoid -i altogether since the last arg should be the output file.

Regards,
Simon

#33 lore raw

PATCH 19/26 mkimage: Support adding device tree files to a FIT

Quoted 44 lines · Simon Glass

Hi Tom,

Quoted 32 lines · Tom Rini
Quoted 3 lines · Simon Glass

To make the auto-FIT feature useful we need to be able to provide a list of device tree files on the command line for mkimage to add into the FIT. Add support for this feature.

[snip]

Quoted 26 lines

+.BI "\-b

doc/mkimage.1 +11 -0
+Specifies that the following arguments are device tree binary files (.dtb).
+
+.TP
 .BI "\-c [" "comment" "]"
 Specifies a comment to be added when signing. This is typically a useful
 message which describes how the image was signed or some other useful
@@ -125,6 +129,10 @@ This can be used to sign images with additional keys after initial image
 creation.
 
 .TP
+.BI "\-i
+Specifies that the following arguments are image files.
+
+.TP
 .BI "\-k [" "key_directory" "]"
 Specifies the directory containing keys to use for signing. This directory
 should contain a private key file <name>.key for use with signing and a
@@ -191,6 +199,15 @@ is required.
 .br
 .B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb
 .fi
+.P
+Create a FIT image containing a kernel and some device tree files, using
+automatic mode. No .its file is required.
+.nf
Quoted 8 lines

doc/mkimage.1 is required. · line 210

Quoted 5 lines
doc/mkimage.1 +5 -0
+.B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
+.br
+.B -c """Kernel 4.4 image for production devices""" -d vmlinuz \\\\
+.B -b rk3288-firefly.dts rk3288-jerry.dts -i kernel.itb
+.fi

OK, I'm confused in a few ways here. First, we don't need quotes around the space separated list of dts files?

Quoted 2 lines

No, the -b option introduces the list, which can be as long as needed. I want to make it possible to specify a list easily.

OK. I don't see how that works in the code, but if that's the intent and it works, OK :)

Quoted 14 lines
Quoted 1 line

Second, we need dts not dtb?

Eek, no, it should be dtb.

Quoted 3 lines

Third, I think this would be a better example if (as I suspect we need really) it was a full path to the output rather than assuming that we've copied the files to $PWD.

OK

Quoted 3 lines

Fourth, -i is inputs or outputs? The help
reads like inputs and is where I assume we would say vmlinuz here and not use -d and then end with our output of kernel.itb. Thanks!

Quoted 7 lines

-i introduces the image file, whic his an output. The -d provides the datafile, which is the file that is is put inside the FIT.

Maybe we can change things to make this a bit clearer. We could perhaps have an option to end the list of dtb files, instead of the option to signal the output file is next? Or maybe we can avoid -i altogether since the last arg should be the output file.

Yes, I don't think we need -i at all. The last argument is the output, always, and -f auto instead of -f some-file.its is all we need to know it's a FIT output. And, ah, so I guess this is how -b is implemented then. Yes, this seems rather awkward. Maybe we instead implement a sometimes optional (ie previous use cases) -o flag to say output file is ... and also make sure it's clear in the man page at least that -b consumes following arguments as the DT list until another flag is passed?

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160212/b1740b3a/attachment.sig>
#34 lore raw

PATCH 20/26 mkimage: Support placing data outside the FIT

In reply to Simon Glass

One limitation of FIT is that all the data is 'inline' within it, using a 'data' property in each image node. This means that to find out what is in the FIT it is necessary to scan the entire file. Once loaded it can be scanned and then the images can be copied to the correct place in memory.

In SPL it can take a significant amount of time to copy images around in memory. Also loading data that does not end up being used is wasteful. It would be useful if the FIT were small, acting as a directory, with the actual data stored elsewhere.

This allows SPL to load the entire FIT, without the images, then load the images it wants later.

Add a -E option to mkimage to request that it output an 'external' FIT.

---

 doc/mkimage.1                         |   9 +++
 doc/uImage.FIT/source_file_format.txt |  20 ++++++-
 tools/fit_image.c                     | 109 ++++++++++++++++++++++++++++++++++
 tools/imagetool.h                     |   1 +
 tools/mkimage.c                       |   5 +-
 5 files changed, 142 insertions(+), 2 deletions(-)
doc/mkimage.1 +9 -0
index b1b45d7..d9ffc75 100644
@@ -112,6 +112,15 @@ Provide special options to the device tree compiler that is used to
 create the image.
 
 .TP
+.BI "\-E
+After processing, move the image data outside the FIT and store a data offset
+in the FIT. Images will be placed one after the other immediately after the
+FIT, with each one aligned to a 4-byte boundary. The existing 'data' property
+in each image will be replaced with 'data-offset' and 'data-size' properties.
+A 'data-offset' of 0 indicates that it starts in the first (4-byte aligned)
+byte after the FIT.
+
+.TP
 .BI "\-f [" "image tree source file" " | " "auto" "]"
 Image tree source file that describes the structure and contents of the
 FIT image.
doc/uImage.FIT/source_file_format.txt +19 -1
index 029f481..e39b38c 100644
@@ -2,6 +2,7 @@ U-boot new uImage source file format (bindings definition)
 ==========================================================
 
 Author: Marian Balakowicz <[email protected]>
+External data additions, 25/1/16 Simon Glass <[email protected]>
 
 1) Introduction
 ---------------
@@ -262,7 +263,24 @@ Older, 2.4 kernel and 2.6 non-FDT kernel do not use FDT blob, in such cases
 not* be specified in a configuration node.
 
 
-8) Examples
+8) External data
+----------------
+
+The above format shows a 'data' property which holds the data for each image.
+It is also possible for this data to reside outside the FIT itself. This
+allows the FIT to be quite small, so that it can be loaded and scanned
+without loading a large amount of data. Then when an image is needed it can
+be loaded from an external source.
+
+In this case the 'data' property is omitted. Instead you can use:
+
+  - data-offset : offset of the data in a separate image store. The image
+    store is placed immediately after the last byte of the device tree binary,
+    aligned to a 4-byte boundary.
+  - data-size : size of the data in bytes
+
+
+9) Examples
 -----------
 
 Please see doc/uImage.FIT/*.its for actual image source files.
tools/fit_image.c +109 -0

121 lines not on this page · raw message

tools/imagetool.h +1 -0
index 3d30fbe..24f8f4b 100644
@@ -72,6 +72,7 @@ struct image_tool_params {
 	int fit_image_type;	/* Image type to put into the FIT */
 	struct content_info *content_head;	/* List of files to include */
 	struct content_info *content_tail;
+	bool external_data;	/* Store data outside the FIT */
 };
 
 /*
tools/mkimage.c +4 -1
index 5e2e7e1..74bb9b6 100644
@@ -137,7 +137,7 @@ static void process_args(int argc, char **argv)
 
 	expecting = IH_TYPE_COUNT;	/* Unknown */
 	while ((opt = getopt(argc, argv,
-			     "-a:A:bcC:d:D:e:f:Fik:K:ln:O:rR:sT:vVx")) != -1) {
+			     "-a:A:bcC:d:D:e:Ef:Fik:K:ln:O:rR:sT:vVx")) != -1) {
 		switch (opt) {
 		case 'a':
 			params.addr = strtoul(optarg, &ptr, 16);
@@ -179,6 +179,9 @@ static void process_args(int argc, char **argv)
 			}
 			params.eflag = 1;
 			break;
+		case 'E':
+			params.external_data = true;
+			break;
 		case 'f':
 			datafile = optarg;
 			params.auto_its = !strcmp(datafile, "auto");
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#35 lore raw

PATCH 21/26 mkimage: Bring data into the FIT before processing

In reply to Simon Glass

Since we now support data outside the FIT image, bring it into the FIT image first before we do any processing. This avoids adding new functionality to the core FIT code for now.

---

 tools/fit_image.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)
tools/fit_image.c +97 -0
index 5d087e3..5407b9d 100644
@@ -455,6 +455,98 @@ err:
 	return ret;
 }
 
+static int fit_import_data(struct image_tool_params *params, const char *fname)
+{
+	void *fdt, *old_fdt;
+	int fit_size, new_size, size, data_base;
+	int fd;
+	struct stat sbuf;
+	int ret;
+	int images;
+	int node;
+
+	fd = mmap_fdt(params->cmdname, fname, 0, &old_fdt, &sbuf, false);
+	if (fd < 0)
+		return -EIO;
+	fit_size = fdt_totalsize(old_fdt);
+	data_base = (fit_size + 3) & ~3;
+
+	/* Allocate space to hold the new FIT */
+	size = sbuf.st_size + 16384;
+	fdt = malloc(size);
+	if (!fdt) {
+		fprintf(stderr, "%s: Failed to allocate memory (%d bytes)\n",
+			__func__, size);
+		ret = -ENOMEM;
+		goto err;
+	}
+	ret = fdt_open_into(old_fdt, fdt, size);
+	if (ret) {
+		debug("%s: Failed to expand FIT: %s\n", __func__,
+		      fdt_strerror(errno));
+		ret = -EINVAL;
+		goto err;
+	}
+
+	images = fdt_path_offset(fdt, FIT_IMAGES_PATH);
+	if (images < 0) {
+		debug("%s: Cannot find /images node: %d\n", __func__, images);
+		ret = -EINVAL;
+		goto err;
+	}
+
+	for (node = fdt_first_subnode(fdt, images);
+	     node >= 0;
+	     node = fdt_next_subnode(fdt, node)) {
+		int buf_ptr;
+		int len;
+
+		buf_ptr = fdtdec_get_int(fdt, node, "data-offset", -1);
+		len = fdtdec_get_int(fdt, node, "data-size", -1);
+		if (buf_ptr == -1 || len == -1)
+			continue;
+		debug("Importing data size %x\n", len);
+
+		ret = fdt_setprop(fdt, node, "data", fdt + data_base + buf_ptr,
+				  len);
+		if (ret) {
+			debug("%s: Failed to write property: %s\n", __func__,
+			      fdt_strerror(ret));
+			ret = -EINVAL;
+			goto err;
+		}
+	}
+
+	munmap(fdt, sbuf.st_size);
+	close(fd);
+
+	/* Pack the FDT and place the data after it */
+	fdt_pack(fdt);
+
+	new_size = fdt_totalsize(fdt);
+	debug("Size expanded from %x to %x\n", fit_size, new_size);
+
+	fd = open(fname, O_RDWR | O_CREAT | O_TRUNC | O_BINARY, 0666);
+	if (fd < 0) {
+		fprintf(stderr, "%s: Can't open %s: %s\n",
+			params->cmdname, fname, strerror(errno));
+		goto err;
+	}
+	if (write(fd, fdt, new_size) != new_size) {
+		debug("%s: Failed to write external data to file %s\n",
+		      __func__, strerror(errno));
+		ret = -EIO;
+		goto err;
+	}
+	close(fd);
+
+	ret = 0;
+
+err:
+	close(fd);
+	return ret;
+}
+
 /**
  * fit_handle_file - main FIT file processing function
  *
@@ -510,6 +602,11 @@ static int fit_handle_file(struct image_tool_params *params)
 		goto err_system;
 	}
 
+	/* Move the data so it is internal to the FIT, if needed */
+	ret = fit_import_data(params, tmpfile);
+	if (ret)
+		goto err_system;
+
 	/*
 	 * Set hashes for images in the blob. Unfortunately we may need more
 	 * space in either FDT, so keep trying until we succeed.
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#36 lore raw

PATCH 22/26 spl: Add a way for boards to select which device tree to load

In reply to Simon Glass

SPL calls this function with each device tree it can find in the FIT. The board should implement this function, using whatever hardware detection it can muster to determine the correct device tree.

---

 include/image.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)
include/image.h +13 -0
index fa201d7..922104d 100644
@@ -1155,4 +1155,17 @@ ulong android_image_get_kload(const struct andr_img_hdr *hdr);
 
 #endif /* CONFIG_ANDROID_BOOT_IMAGE */
 
+/**
+ * board_fit_config_name_match() - Check for a matching board name
+ *
+ * This is used when SPL loads a FIT containing multiple device tree files
+ * and wants to work out which one to use. The description of each one is
+ * passed to this function. The description comes from the 'description' field
+ * in each (FDT) image node.
+ *
+ * @name: Device tree description
+ * @return 0 if this device tree should be used, non-zero to try the next
+ */
+int board_fit_config_name_match(const char *name);
+
 #endif	/* __IMAGE_H__ */
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#37 lore raw

PATCH 23/26 spl: Add an option to load a FIT containing U-Boot

In reply to Simon Glass

This provides a way to load a FIT containing U-Boot and a selection of device tree files. The board can select the correct device tree by probing the hardware. Then U-Boot is started with the selected device tree.

---

 Kconfig              |  11 +++
 common/spl/Makefile  |   1 +
 common/spl/spl_fit.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/spl.h        |  18 +++++
 4 files changed, 222 insertions(+)
 create mode 100644 common/spl/spl_fit.c
Kconfig +11 -0
index 3ce5ba1..f32c6c7 100644
@@ -215,6 +215,17 @@ config SYS_TEXT_BASE
 	help
 	  TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
 
+config SPL_LOAD_FIT
+	bool "Enable SPL loading U-Boot as a FIT"
+	depends on FIT
+	help
+	  Normally with the SPL framework a legacy image is generated as part
+	  of the build. This contains U-Boot along with information as to
+	  where it should be loaded. This option instead enables generation
+	  of a FIT (Flat Image Tree) which provides more flexibility. In
+	  particular it can handle selecting from multiple device tree
+	  and passing the correct one to U-Boot.
+
 config SYS_CLK_FREQ
 	depends on ARC || ARCH_SUNXI
 	int "CPU clock frequency"
common/spl/Makefile +1 -0
index 10a4589..2e0f695 100644
@@ -10,6 +10,7 @@
 
 ifdef CONFIG_SPL_BUILD
 obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
+obj-$(CONFIG_SPL_LOAD_FIT) += spl_fit.o
 obj-$(CONFIG_SPL_NOR_SUPPORT) += spl_nor.o
 obj-$(CONFIG_SPL_YMODEM_SUPPORT) += spl_ymodem.o
 obj-$(CONFIG_SPL_NAND_SUPPORT) += spl_nand.o
common/spl/spl_fit.c new file +192 -0

192 lines not on this page · raw message

include/spl.h +18 -0
index 92cdc04..16f2f6a 100644
@@ -29,6 +29,24 @@ struct spl_image_info {
 	u32 flags;
 };
 
+/*
+ * Information required to load data from a device
+ *
+ * @dev: Pointer to the device, e.g. struct mmc *
+ * @priv: Private data for the device
+ * @bl_len: Block length for reading in bytes
+ * @read: Function to call to read from the device
+ */
+struct spl_load_info {
+	void *dev;
+	void *priv;
+	int bl_len;
+	ulong (*read)(struct spl_load_info *load, ulong sector, ulong count,
+		      void *buf);
+};
+
+int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fdt);
+
 #define SPL_COPY_PAYLOAD_ONLY	1
 
 extern struct spl_image_info spl_image;
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#38 lore raw

PATCH 23/26 spl: Add an option to load a FIT containing U-Boot

Hi Simon,

Quoted 55 lines · Simon Glass

This provides a way to load a FIT containing U-Boot and a selection of device tree files. The board can select the correct device tree by probing the hardware. Then U-Boot is started with the selected device tree.

---

 Kconfig              |  11 +++
 common/spl/Makefile  |   1 +
 common/spl/spl_fit.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/spl.h        |  18 +++++
 4 files changed, 222 insertions(+)
 create mode 100644 common/spl/spl_fit.c
Kconfig +11 -0
index 3ce5ba1..f32c6c7 100644
@@ -215,6 +215,17 @@ config SYS_TEXT_BASE
 	help
 	  TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
 
+config SPL_LOAD_FIT
+	bool "Enable SPL loading U-Boot as a FIT"
+	depends on FIT
+	help
+	  Normally with the SPL framework a legacy image is generated as part
+	  of the build. This contains U-Boot along with information as to
+	  where it should be loaded. This option instead enables generation
+	  of a FIT (Flat Image Tree) which provides more flexibility. In
+	  particular it can handle selecting from multiple device tree
+	  and passing the correct one to U-Boot.
+
 config SYS_CLK_FREQ
 	depends on ARC || ARCH_SUNXI
 	int "CPU clock frequency"
common/spl/Makefile +1 -0
index 10a4589..2e0f695 100644
@@ -10,6 +10,7 @@
 
 ifdef CONFIG_SPL_BUILD
 obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
+obj-$(CONFIG_SPL_LOAD_FIT) += spl_fit.o
 obj-$(CONFIG_SPL_NOR_SUPPORT) += spl_nor.o
 obj-$(CONFIG_SPL_YMODEM_SUPPORT) += spl_ymodem.o
 obj-$(CONFIG_SPL_NAND_SUPPORT) += spl_nand.o
common/spl/spl_fit.c new file +1 -0
new file mode 100644
index 0000000..f225f64
@@ -0,0 +1,192 @@
+/*

common/spl/spl_fit.c line 11

Quoted 10 lines
common/spl/spl_fit.c new file +10 -0
+ * Copyright (C) 2016 Google, Inc
+ * Written by Simon Glass <[email protected]>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <spl.h>
+

I would like to test your patchset, I am trying with a i.MX6 (I want to build wandboard). It looks like that image.h is missing here.

common/spl/spl_fit.c: In function 'fdt_getprop_u32':
common/spl/spl_fit.c:20:2: warning: implicit declaration of function 'fdt_getprop' [-Wimplicit-function-declaration]

However, in image.h it looks like that IMAGE_USE_FIT is not correctly set. I am looking why, I have just added these to wandboard_defconfig:

+CONFIG_FIT=y
+CONFIG_SPL_OF_LIBFDT=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_OF_LIST="wandboard"

Best regards,
Stefano

Quoted 211 lines
common/spl/spl_fit.c new file +181 -0
+static ulong fdt_getprop_u32(const void *fdt, int node, const char *prop)
+{
+	const u32 *cell;
+	int len;
+
+	cell = fdt_getprop(fdt, node, prop, &len);
+	if (len != sizeof(*cell))
+		return -1U;
+	return fdt32_to_cpu(*cell);
+}
+
+static int spl_fit_select_fdt(const void *fdt, int images, int *fdt_offsetp)
+{
+	const char *name, *fdt_name;
+	int conf, node, fdt_node;
+	int len;
+
+	*fdt_offsetp = 0;
+	conf = fdt_path_offset(fdt, FIT_CONFS_PATH);
+	if (conf < 0) {
+		debug("%s: Cannot find /configurations node: %d\n", __func__,
+		      conf);
+		return -EINVAL;
+	}
+	for (node = fdt_first_subnode(fdt, conf);
+	     node >= 0;
+	     node = fdt_next_subnode(fdt, node)) {
+		name = fdt_getprop(fdt, node, "description", &len);
+		if (!name)
+			return -EINVAL;
+		if (board_fit_config_name_match(name))
+			continue;
+
+		debug("Selecting config '%s'", name);
+		fdt_name = fdt_getprop(fdt, node, FIT_FDT_PROP, &len);
+		if (!fdt_name) {
+			debug("%s: Cannot find fdt name property: %d\n",
+			      __func__, len);
+			return -EINVAL;
+		}
+
+		debug(", fdt '%s'\n", fdt_name);
+		fdt_node = fdt_subnode_offset(fdt, images, fdt_name);
+		if (fdt_node < 0) {
+			debug("%s: Cannot find fdt node '%s': %d\n",
+			      __func__, fdt_name, fdt_node);
+			return -EINVAL;
+		}
+
+		*fdt_offsetp = fdt_getprop_u32(fdt, fdt_node, "data-offset");
+		len = fdt_getprop_u32(fdt, fdt_node, "data-size");
+#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
+		printf("FIT: Selected '%s'\n", name);
+#endif
+
+		return len;
+	}
+
+#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
+	printf("No matching DT out of these options:\n");
+	for (node = fdt_first_subnode(fdt, conf);
+	     node >= 0;
+	     node = fdt_next_subnode(fdt, node)) {
+		name = fdt_getprop(fdt, node, "name", &len);
+		printf("   %s\n", name);
+	}
+#endif
+
+	return -ENOENT;
+}
+
+int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fit)
+{
+	int sectors;
+	ulong size, load;
+	unsigned long count;
+	int node, images;
+	void *load_ptr;
+	int fdt_offset, fdt_len;
+	int data_offset, data_size;
+	int base_offset;
+	int src_sector;
+	void *dst;
+
+	/*
+	 * Figure out where the external images start. This is the base for the
+	 * data-offset properties in each image.
+	 */
+	size = fdt_totalsize(fit);
+	size = (size + 3) & ~3;
+	base_offset = (size + 3) & ~3;
+
+	/*
+	 * So far we only have one block of data from the FIT. Read the entire
+	 * thing, including that first block, placing it so it finishes before
+	 * where we will load the image.
+	 *
+	 * Note that we will load the image such that its first byte will be
+	 * at the load address. Since that byte may be part-way through a
+	 * block, we may load the image up to one block before the load
+	 * address. So take account of that here by subtracting an addition
+	 * block length from the FIT start position.
+	 *
+	 * In fact the FIT has its own load address, but we assume it cannot
+	 * be before CONFIG_SYS_TEXT_BASE.
+	 */
+	fit = (void *)(CONFIG_SYS_TEXT_BASE - size - info->bl_len);
+	sectors = (size + info->bl_len - 1) / info->bl_len;
+	count = info->read(info, sector, sectors, fit);
+	debug("fit read sector %lx, sectors=%d, dst=%p, count=%lu\n",
+	      sector, sectors, fit, count);
+	if (count == 0)
+		return -EIO;
+
+	/* find the firmware image to load */
+	images = fdt_path_offset(fit, FIT_IMAGES_PATH);
+	if (images < 0) {
+		debug("%s: Cannot find /images node: %d\n", __func__, images);
+		return -1;
+	}
+	node = fdt_first_subnode(fit, images);
+	if (node < 0) {
+		debug("%s: Cannot find first image node: %d\n", __func__, node);
+		return -1;
+	}
+
+	/* Get its information and set up the spl_image structure */
+	data_offset = fdt_getprop_u32(fit, node, "data-offset");
+	data_size = fdt_getprop_u32(fit, node, "data-size");
+	load = fdt_getprop_u32(fit, node, "load");
+	debug("data_offset=%x, data_size=%x\n", data_offset, data_size);
+	spl_image.load_addr = load;
+	spl_image.entry_point = load;
+	spl_image.os = IH_OS_U_BOOT;
+
+	/*
+	 * Work out where to place the image. We read it so that the first
+	 * byte will be at 'load'. This may mean we need to load it starting
+	 * before then, since we can only read whole blocks.
+	 */
+	sectors = (data_size + info->bl_len - 1) / info->bl_len;
+	data_offset += base_offset;
+	load_ptr = (void *)load;
+	debug("U-Boot size %x, data %p\n", data_size, load_ptr);
+	dst = load_ptr - (data_offset % info->bl_len);
+
+	/* Read the image */
+	src_sector = sector + data_offset / info->bl_len;
+	debug("image: data_offset=%x, dst=%p, src_sector=%x, sectors=%x\n",
+	      data_offset, dst, src_sector, sectors);
+	count = info->read(info, src_sector, sectors, dst);
+	if (count != sectors)
+		return -EIO;
+
+	/* Figure out which device tree the board wants to use */
+	fdt_len = spl_fit_select_fdt(fit, images, &fdt_offset);
+	if (fdt_len < 0)
+		return fdt_len;
+
+	/*
+	 * Read the device tree and place it after the image. There may be
+	 * some extra data before it since we can only read entire blocks.
+	 */
+	dst = load_ptr + data_size;
+	fdt_offset += base_offset;
+	count = info->read(info, sector + fdt_offset / info->bl_len, sectors,
+			   dst);
+	debug("fit read %x sectors to %x, dst %p, data_offset %x\n",
+	      sectors, spl_image.load_addr, dst, fdt_offset);
+	if (count != sectors)
+		return -EIO;
+
+	/*
+	 * Copy the device tree so that it starts immediately after the image.
+	 * After this we will have the U-Boot image and its device tree ready
+	 * for us to start.
+	 */
+	memcpy(dst, dst + fdt_offset % info->bl_len, fdt_len);
+
+	return 0;
+}
include/spl.h +18 -0
index 92cdc04..16f2f6a 100644
@@ -29,6 +29,24 @@ struct spl_image_info {
 	u32 flags;
 };
 
+/*
+ * Information required to load data from a device
+ *
+ * @dev: Pointer to the device, e.g. struct mmc *
+ * @priv: Private data for the device
+ * @bl_len: Block length for reading in bytes
+ * @read: Function to call to read from the device
+ */
+struct spl_load_info {
+	void *dev;
+	void *priv;
+	int bl_len;
+	ulong (*read)(struct spl_load_info *load, ulong sector, ulong count,
+		      void *buf);
+};
+
+int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fdt);
+
 #define SPL_COPY_PAYLOAD_ONLY	1
 
 extern struct spl_image_info spl_image;
Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#39 lore raw

PATCH 23/26 spl: Add an option to load a FIT containing U-Boot

Hi Stefano,

Quoted 79 lines · Stefano Babic

Hi Simon,

Quoted 55 lines · Simon Glass

This provides a way to load a FIT containing U-Boot and a selection of device tree files. The board can select the correct device tree by probing the hardware. Then U-Boot is started with the selected device tree.

---

 Kconfig              |  11 +++
 common/spl/Makefile  |   1 +
 common/spl/spl_fit.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/spl.h        |  18 +++++
 4 files changed, 222 insertions(+)
 create mode 100644 common/spl/spl_fit.c
Kconfig +11 -0
index 3ce5ba1..f32c6c7 100644
@@ -215,6 +215,17 @@ config SYS_TEXT_BASE
      help
        TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
 
+config SPL_LOAD_FIT
+     bool "Enable SPL loading U-Boot as a FIT"
+     depends on FIT
+     help
+       Normally with the SPL framework a legacy image is generated as part
+       of the build. This contains U-Boot along with information as to
+       where it should be loaded. This option instead enables generation
+       of a FIT (Flat Image Tree) which provides more flexibility. In
+       particular it can handle selecting from multiple device tree
+       and passing the correct one to U-Boot.
+
 config SYS_CLK_FREQ
      depends on ARC || ARCH_SUNXI
      int "CPU clock frequency"
common/spl/Makefile +1 -0
index 10a4589..2e0f695 100644
@@ -10,6 +10,7 @@
 
 ifdef CONFIG_SPL_BUILD
 obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
+obj-$(CONFIG_SPL_LOAD_FIT) += spl_fit.o
 obj-$(CONFIG_SPL_NOR_SUPPORT) += spl_nor.o
 obj-$(CONFIG_SPL_YMODEM_SUPPORT) += spl_ymodem.o
 obj-$(CONFIG_SPL_NAND_SUPPORT) += spl_nand.o
common/spl/spl_fit.c new file +1 -0
new file mode 100644
index 0000000..f225f64
@@ -0,0 +1,192 @@
+/*

common/spl/spl_fit.c line 11

Quoted 10 lines
common/spl/spl_fit.c new file +10 -0
+ * Copyright (C) 2016 Google, Inc
+ * Written by Simon Glass <[email protected]>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <spl.h>
+

I would like to test your patchset, I am trying with a i.MX6 (I want to build wandboard). It looks like that image.h is missing here.

common/spl/spl_fit.c: In function 'fdt_getprop_u32':
common/spl/spl_fit.c:20:2: warning: implicit declaration of function 'fdt_getprop' [-Wimplicit-function-declaration]

However, in image.h it looks like that IMAGE_USE_FIT is not correctly set. I am looking why, I have just added these to wandboard_defconfig:

Review

Quoted 4 lines
(quoted diff) +4 -0
+CONFIG_FIT=y
+CONFIG_SPL_OF_LIBFDT=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_OF_LIST="wandboard"

Sorry I missed this email at the time.

Did you figure it out? I don't see a build error with that board, but I have only tested with the settings as in the tree.

I added those options but I don't see that error...

Quoted 4 lines

Best regards,
Stefano

[snip]

Regards,
Simon

#40 lore raw

PATCH 23/26 spl: Add an option to load a FIT containing U-Boot

Quoted 89 lines · Simon Glass

Hi Stefano,

Quoted 79 lines · Stefano Babic

Hi Simon,

Quoted 55 lines · Simon Glass

This provides a way to load a FIT containing U-Boot and a selection of device tree files. The board can select the correct device tree by probing the hardware. Then U-Boot is started with the selected device tree.

---

 Kconfig              |  11 +++
 common/spl/Makefile  |   1 +
 common/spl/spl_fit.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/spl.h        |  18 +++++
 4 files changed, 222 insertions(+)
 create mode 100644 common/spl/spl_fit.c
Kconfig +11 -0
index 3ce5ba1..f32c6c7 100644
@@ -215,6 +215,17 @@ config SYS_TEXT_BASE
      help
        TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
 
+config SPL_LOAD_FIT
+     bool "Enable SPL loading U-Boot as a FIT"
+     depends on FIT
+     help
+       Normally with the SPL framework a legacy image is generated as part
+       of the build. This contains U-Boot along with information as to
+       where it should be loaded. This option instead enables generation
+       of a FIT (Flat Image Tree) which provides more flexibility. In
+       particular it can handle selecting from multiple device tree
+       and passing the correct one to U-Boot.
+
 config SYS_CLK_FREQ
      depends on ARC || ARCH_SUNXI
      int "CPU clock frequency"
common/spl/Makefile +1 -0
index 10a4589..2e0f695 100644
@@ -10,6 +10,7 @@
 
 ifdef CONFIG_SPL_BUILD
 obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
+obj-$(CONFIG_SPL_LOAD_FIT) += spl_fit.o
 obj-$(CONFIG_SPL_NOR_SUPPORT) += spl_nor.o
 obj-$(CONFIG_SPL_YMODEM_SUPPORT) += spl_ymodem.o
 obj-$(CONFIG_SPL_NAND_SUPPORT) += spl_nand.o
common/spl/spl_fit.c new file +1 -0
new file mode 100644
index 0000000..f225f64
@@ -0,0 +1,192 @@
+/*

common/spl/spl_fit.c line 11

Quoted 10 lines
common/spl/spl_fit.c new file +10 -0
+ * Copyright (C) 2016 Google, Inc
+ * Written by Simon Glass <[email protected]>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <spl.h>
+

I would like to test your patchset, I am trying with a i.MX6 (I want to build wandboard). It looks like that image.h is missing here.

common/spl/spl_fit.c: In function 'fdt_getprop_u32':
common/spl/spl_fit.c:20:2: warning: implicit declaration of function 'fdt_getprop' [-Wimplicit-function-declaration]

However, in image.h it looks like that IMAGE_USE_FIT is not correctly set. I am looking why, I have just added these to wandboard_defconfig:

Review

Quoted 4 lines
(quoted diff) +4 -0
+CONFIG_FIT=y
+CONFIG_SPL_OF_LIBFDT=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_OF_LIST="wandboard"

Sorry I missed this email at the time.

Quoted 4 lines

Did you figure it out? I don't see a build error with that board, but I have only tested with the settings as in the tree.

I added those options but I don't see that error...

It was my mistake, I could build it - sorry for noise.

Regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#41 lore raw

PATCH 24/26 spl: Add a way to specify a list of device trees to include

In reply to Simon Glass

When building a FIT, more than one device tree can be included. The board can select (at run-time) the one that it wants.

Add a Kconfig option to allow the list of devices trees (supported by the board) to be specified.

When using SPL_LOAD_FIT, build u-boot.img in FIT format instead of the legacy image format. Include all the listed device tree files in this FIT.

---

 Makefile    | 10 +++++++++-
 dts/Kconfig | 10 ++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)
Makefile +9 -1
index 8b9f622..d01cd3e 100644
@@ -903,9 +903,16 @@ quiet_cmd_cpp_cfg = CFG     $@
 cmd_cpp_cfg = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
 	-DDO_DEPS_ONLY -D__ASSEMBLY__ -x assembler-with-cpp -P -dM -E -o $@ $<
 
+ifdef CONFIG_SPL_LOAD_FIT
+MKIMAGEFLAGS_u-boot.img = -f auto -A $(ARCH) -T firmware -C none -O u-boot \
+	-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
+	-n "U-Boot $(UBOOTRELEASE) for $(BOARD) board" -E \
+	-b $(patsubst %,arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST))) -i
+else
 MKIMAGEFLAGS_u-boot.img = -A $(ARCH) -T firmware -C none -O u-boot \
 	-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
 	-n "U-Boot $(UBOOTRELEASE) for $(BOARD) board"
+endif
 
 MKIMAGEFLAGS_u-boot-dtb.img = $(MKIMAGEFLAGS_u-boot.img)
 
@@ -918,7 +925,8 @@ MKIMAGEFLAGS_u-boot-spl.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
 MKIMAGEFLAGS_u-boot.pbl = -n $(srctree)/$(CONFIG_SYS_FSL_PBL_RCW:"%"=%) \
 		-R $(srctree)/$(CONFIG_SYS_FSL_PBL_PBI:"%"=%) -T pblimage
 
-u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl: u-boot.bin FORCE
+u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl: \
+		$(if $(CONFIG_SPL_LOAD_FIT),u-boot-nodtb.bin dts/dt.dtb,u-boot.bin) FORCE
 	$(call if_changed,mkimage)
 
 u-boot-spl.kwb: u-boot.img spl/u-boot-spl.bin FORCE
dts/Kconfig +10 -0
index ba83d5f..9ef2660 100644
@@ -59,6 +59,16 @@ config DEFAULT_DEVICE_TREE
 	  It can be overridden from the command line:
 	  $ make DEVICE_TREE=<device-tree-name>
 
+config OF_LIST
+	string "List of device tree files to include for DT control"
+	depends on SPL_LOAD_FIT
+	help
+	  This option specifies a list of device tree files to use for DT
+	  control. These will be packaged into a FIT. At run-time, SPL will
+	  select the correct DT to use by examining the hardware (e.g.
+	  reading a board ID value). This is a list of device tree files
+	  (without the directory or .dtb suffix) separated by <space>.
+
 config OF_SPL_REMOVE_PROPS
 	string "List of device tree properties to drop for SPL"
 	depends on SPL_OF_CONTROL
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#42 lore raw

PATCH 25/26 spl: Support loading a FIT from MMC

In reply to Simon Glass

Detect a FIT when loading from MMC and handle it using the new FIT SPL support.

---

 common/spl/spl_mmc.c | 75 +++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 57 insertions(+), 18 deletions(-)
common/spl/spl_mmc.c +57 -18
index c3931c6..a71a98b 100644
@@ -18,41 +18,80 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+static int mmc_load_legacy(struct mmc *mmc, ulong sector,
+			   struct image_header *header)
+{
+	u32 image_size_sectors;
+	unsigned long count;
+
+	spl_parse_image_header(header);
+	/* convert size to sectors - round up */
+	image_size_sectors = (spl_image.size + mmc->read_bl_len - 1) /
+			     mmc->read_bl_len;
+
+	/* Read the header too to avoid extra memcpy */
+	count = mmc->block_dev.block_read(&mmc->block_dev, sector,
+					  image_size_sectors,
+					  (void *)(ulong)spl_image.load_addr);
+	debug("read %x sectors to %x\n", image_size_sectors,
+	      spl_image.load_addr);
+	if (count != image_size_sectors)
+		return -EIO;
+
+	return 0;
+}
+
+#ifdef CONFIG_SPL_LOAD_FIT
+static ulong h_spl_load_read(struct spl_load_info *load, ulong sector,
+			     ulong count, void *buf)
+{
+	struct mmc *mmc = load->dev;
+
+	return mmc->block_dev.block_read(&mmc->block_dev, sector, count, buf);
+}
+#endif
+
 static int mmc_load_image_raw_sector(struct mmc *mmc, unsigned long sector)
 {
 	unsigned long count;
-	u32 image_size_sectors;
 	struct image_header *header;
+	int ret = 0;
 
 	header = (struct image_header *)(CONFIG_SYS_TEXT_BASE -
 					 sizeof(struct image_header));
 
 	/* read image header to find the image size & load address */
 	count = mmc->block_dev.block_read(&mmc->block_dev, sector, 1, header);
-	debug("read sector %lx, count=%lu\n", sector, count);
-	if (count == 0)
+	debug("hdr read sector %lx, count=%lu\n", sector, count);
+	if (count == 0) {
+		ret = -EIO;
 		goto end;
+	}
 
-	if (image_get_magic(header) != IH_MAGIC) {
+	switch (image_get_magic(header)) {
+	case IH_MAGIC:
+		ret = mmc_load_legacy(mmc, sector, header);
+		break;
+#ifdef CONFIG_SPL_LOAD_FIT
+	case FDT_MAGIC: {
+		struct spl_load_info load;
+
+		debug("Found FIT\n");
+		load.dev = mmc;
+		load.priv = NULL;
+		load.bl_len = mmc->read_bl_len;
+		load.read = h_spl_load_read;
+		ret = spl_load_simple_fit(&load, sector, header);
+		break;
+	}
+#endif
+	default:
 		puts("bad magic\n");
 		return -1;
 	}
 
-	spl_parse_image_header(header);
-
-	/* convert size to sectors - round up */
-	image_size_sectors = (spl_image.size + mmc->read_bl_len - 1) /
-			     mmc->read_bl_len;
-
-	/* Read the header too to avoid extra memcpy */
-	count = mmc->block_dev.block_read(&mmc->block_dev, sector,
-					  image_size_sectors,
-					  (void *)(ulong)spl_image.load_addr);
-	debug("read %x sectors to %x\n", image_size_sectors,
-	      spl_image.load_addr);
-
 end:
-	if (count == 0) {
+	if (ret) {
 #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
 		puts("spl: mmc block read error\n");
 #endif
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#43 lore raw

PATCH 26/26 RFC: sunxi: Enable SPL FIT support

In reply to Simon Glass

Enable SPL FIT support for the Linksprite pcDuino3 as an example of how this feature is used.

This is only for demonstration purposes and is not to be applied.

---

 arch/arm/cpu/armv7/sunxi/board.c      | 5 +++++
 configs/Linksprite_pcDuino3_defconfig | 3 +++
 2 files changed, 8 insertions(+)
arch/arm/cpu/armv7/sunxi/board.c +5 -0
index eb5f4b6..407adb5 100644
@@ -103,6 +103,11 @@ static int gpio_init(void)
 	return 0;
 }
 
+int board_fit_config_name_match(const char *name)
+{
+	return strcmp(name, "sun7i-a20-pcduino3");
+}
+
 int spl_board_load_image(void)
 {
 	debug("Returning to FEL sp=%x, lr=%x\n", fel_stash.sp, fel_stash.lr);
configs/Linksprite_pcDuino3_defconfig +3 -0
index 0b7ee98..74d11a0 100644
@@ -14,3 +14,6 @@ CONFIG_OF_BOARD_SETUP=y
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_USB_EHCI_HCD=y
+CONFIG_FIT=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_OF_LIST="sun7i-a20-pcduino3 sun7i-a20-bananapro"
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#44 lore raw
In reply to Simon Glass

Hi Simon,

2016-01-29 1:39 GMT+09:00 Simon Glass <[email protected]>:

Quoted 5 lines

We need a way to support more than one board per binary in U-Boot with device tree. Various methods have been discussed. The one that seems to make the most sense is to adjust SPL so that it can load a FIT which contains U-Boot and several device tree binaries. This is how things with with Linux:
load a FIT and select the correct device tree to pass to Linux.

I've just skimmed over the git-logs, but I am confused.

Please makes it clearer why this is useful.
In your way, how SPL is handled?

SPL is much more board-specific than U-Boot proper. So, I assume SPL would remain as a per-board image even after achieving one U-Boot proper for multi-boards.

Let's say we want to support Board-A, Board-B, Board-C with one U-Boot proper.

The U-Boot proper + FIT (including DTB-A, DTB-B, DTB-C) would be generated by one-shot
and by one defconfig.

But, we would still have to do

make board_a_defconfig && make
make board_b_defconfig && make
make board_c_defconfig && make

to generate SPL for each of the three.
Is this correct?

Supposing my guess is correct, this series would not contribute to decreasing the number of defconfig files.

Please explain which problem you are solving with this series.

Signature · 2 lines
Best Regards
Masahiro Yamada

A message that is not in the archive (sent off-list or not yet received): CAK7LNARoFApxsiEw0Qtqw_s4dbN9TWLjrJ8c0zt69gjnnrdeWg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

#46 lore raw
Quoted 37 lines · Masahiro Yamada

Hi Simon,

2016-01-29 1:39 GMT+09:00 Simon Glass <[email protected]>:

Quoted 5 lines

We need a way to support more than one board per binary in U-Boot with device tree. Various methods have been discussed. The one that seems to make the most sense is to adjust SPL so that it can load a FIT which contains U-Boot and several device tree binaries. This is how things with with Linux:
load a FIT and select the correct device tree to pass to Linux.

I've just skimmed over the git-logs, but I am confused.

Please makes it clearer why this is useful.
In your way, how SPL is handled?

SPL is much more board-specific than U-Boot proper. So, I assume SPL would remain as a per-board image even after achieving one U-Boot proper for multi-boards.

Let's say we want to support Board-A, Board-B, Board-C with one U-Boot proper.

The U-Boot proper + FIT (including DTB-A, DTB-B, DTB-C) would be generated by one-shot
and by one defconfig.

But, we would still have to do

make board_a_defconfig && make
make board_b_defconfig && make
make board_c_defconfig && make

to generate SPL for each of the three.
Is this correct?

Quoted 6 lines

Supposing my guess is correct, this series would not contribute to decreasing the number of defconfig files.

Please explain which problem you are solving with this series.

It won't be just one board. We need this so that we can replicate existing (and very useful) functionality. Today, am335x_evm_config supports Beaglebone White, Beaglebone Black (could be faked enough for U-Boot), AM335x GP EVM, AM335x EVM SK and if you tweak the default UART AM335x IDK EVM. Each of these is different enough that they have their own DT that we will need to pass up to U-Boot, and their own config file. With Simon's series we'll be able to move am335x_evm_config up to DM in SPL and possibly even remove some of the am335x_evm subconfigs we have today, once those specific options also move to Kconfig.

Signature · 1 line
Tom
#47 lore raw

2016-02-16 21:17 GMT+09:00 Tom Rini <trini-OWPKS81ov/FWk0Htik3J/[email protected]>:

Quoted 45 lines · Masahiro Yamada
Quoted 37 lines

Hi Simon,

2016-01-29 1:39 GMT+09:00 Simon Glass <[email protected]>:

Quoted 5 lines

We need a way to support more than one board per binary in U-Boot with device tree. Various methods have been discussed. The one that seems to make the most sense is to adjust SPL so that it can load a FIT which contains U-Boot and several device tree binaries. This is how things with with Linux:
load a FIT and select the correct device tree to pass to Linux.

I've just skimmed over the git-logs, but I am confused.

Please makes it clearer why this is useful.
In your way, how SPL is handled?

SPL is much more board-specific than U-Boot proper. So, I assume SPL would remain as a per-board image even after achieving one U-Boot proper for multi-boards.

Let's say we want to support Board-A, Board-B, Board-C with one U-Boot proper.

The U-Boot proper + FIT (including DTB-A, DTB-B, DTB-C) would be generated by one-shot
and by one defconfig.

But, we would still have to do

make board_a_defconfig && make
make board_b_defconfig && make
make board_c_defconfig && make

to generate SPL for each of the three.
Is this correct?

Quoted 6 lines

Supposing my guess is correct, this series would not contribute to decreasing the number of defconfig files.

Please explain which problem you are solving with this series.

Quoted 9 lines

It won't be just one board. We need this so that we can replicate existing (and very useful) functionality. Today, am335x_evm_config supports Beaglebone White, Beaglebone Black (could be faked enough for U-Boot), AM335x GP EVM, AM335x EVM SK and if you tweak the default UART AM335x IDK EVM. Each of these is different enough that they have their own DT that we will need to pass up to U-Boot, and their own config file. With Simon's series we'll be able to move am335x_evm_config up to DM in SPL and possibly even remove some of the am335x_evm subconfigs we have today, once those specific options also move to Kconfig.

So, this series is useful to merge some boards
that are different enough to have their own DT,
but that are similar enough to share one SPL binary, correct?

Signature · 2 lines
Best Regards
Masahiro Yamada

A message that is not in the archive (sent off-list or not yet received): CAK7LNAS01SnJMefoZVSsqP7jS9bvkRFYZwK5uLoEG1+q_0uzzQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

#49 lore raw
Quoted 56 lines · Masahiro Yamada

2016-02-16 21:17 GMT+09:00 Tom Rini <trini-OWPKS81ov/FWk0Htik3J/[email protected]>:

Quoted 45 lines · Masahiro Yamada
Quoted 37 lines

Hi Simon,

2016-01-29 1:39 GMT+09:00 Simon Glass <[email protected]>:

Quoted 5 lines

We need a way to support more than one board per binary in U-Boot with device tree. Various methods have been discussed. The one that seems to make the most sense is to adjust SPL so that it can load a FIT which contains U-Boot and several device tree binaries. This is how things with with Linux:
load a FIT and select the correct device tree to pass to Linux.

I've just skimmed over the git-logs, but I am confused.

Please makes it clearer why this is useful.
In your way, how SPL is handled?

SPL is much more board-specific than U-Boot proper. So, I assume SPL would remain as a per-board image even after achieving one U-Boot proper for multi-boards.

Let's say we want to support Board-A, Board-B, Board-C with one U-Boot proper.

The U-Boot proper + FIT (including DTB-A, DTB-B, DTB-C) would be generated by one-shot
and by one defconfig.

But, we would still have to do

make board_a_defconfig && make
make board_b_defconfig && make
make board_c_defconfig && make

to generate SPL for each of the three.
Is this correct?

Quoted 6 lines

Supposing my guess is correct, this series would not contribute to decreasing the number of defconfig files.

Please explain which problem you are solving with this series.

Quoted 9 lines

It won't be just one board. We need this so that we can replicate existing (and very useful) functionality. Today, am335x_evm_config supports Beaglebone White, Beaglebone Black (could be faked enough for U-Boot), AM335x GP EVM, AM335x EVM SK and if you tweak the default UART AM335x IDK EVM. Each of these is different enough that they have their own DT that we will need to pass up to U-Boot, and their own config file. With Simon's series we'll be able to move am335x_evm_config up to DM in SPL and possibly even remove some of the am335x_evm subconfigs we have today, once those specific options also move to Kconfig.

Quoted 3 lines

So, this series is useful to merge some boards
that are different enough to have their own DT,
but that are similar enough to share one SPL binary, correct?

Yes. It _may_ even be useful later on to support a more broad set of boards than we do today (ie it's not impossible that one binary could support the TI AM43xx EVMs as well, or all TI EVMs that have the EEPROM that identifies the model, for some narrow scope of boot devices).

Signature · 1 line
Tom