Multiple kernels, ramdisks and FDT blobs with FPGA

This example makes use of the ‘loadables’ field:

/dts-v1/;

/ {
    description = "Configuration to load fpga before Kernel";
    #address-cells = <1>;

    images {
        fdt-1 {
            description = "zc706";
            data = /incbin/("/tftpboot/devicetree.dtb");
            type = "flat_dt";
            arch = "arm";
            compression = "none";
            load = <0x10000000>;
            hash-1 {
                algo = "sha256";
            };
        };

        fpga {
            description = "FPGA";
            data = /incbin/("/tftpboot/download.bit");
            type = "fpga";
            arch = "arm";
            compression = "none";
            load = <0x30000000>;
            compatible = "u-boot,fpga-legacy"
            hash-1 {
                algo = "sha256";
            };
        };

        linux_kernel {
            description = "Linux";
            data = /incbin/("/tftpboot/zImage");
            type = "kernel";
            arch = "arm";
            os = "linux";
            compression = "none";
            load = <0x8000>;
            entry = <0x8000>;
            hash-1 {
                algo = "sha256";
            };
        };
    };

    configurations {
        default = "config-2";
        config-1 {
            description = "Linux";
            kernel = "linux_kernel";
            fdt = "fdt-1";
        };

        config-2 {
            description = "Linux with fpga";
            kernel = "linux_kernel";
            fdt = "fdt-1";
            loadables = "fpga";
        };
    };
};