On Tue, Apr 17, 2018 at 12:10:14PM +0300, Tero Kristo wrote: > Add FIT image description file for dra71-evm, and the available > configurations for it. > > Signed-off-by: Tero Kristo <t-kristo@xxxxxx> > --- > arch/arm/boot/dts/ti/dra71-evm.its | 62 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > create mode 100644 arch/arm/boot/dts/ti/dra71-evm.its > > diff --git a/arch/arm/boot/dts/ti/dra71-evm.its b/arch/arm/boot/dts/ti/dra71-evm.its > new file mode 100644 > index 0000000..8dc53cb > --- /dev/null > +++ b/arch/arm/boot/dts/ti/dra71-evm.its > @@ -0,0 +1,62 @@ > +/dts-v1/; > + > +/ { > + description = "DRA71x-evm"; > + #address-cells = <1>; > + > + images { > + kernel@1 { > + description = "Linux kernel"; > + data = /incbin/("../../zImage"); > + type = "kernel"; > + arch = "arm"; > + os = "linux"; > + compression = "none"; > + load = <0x82000000>; > + entry = <0x82000000>; > + }; > + fdt@1 { > + description = "DRA71x-evm"; > + data = /incbin/("dra71-evm.dtb"); > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > + load = <0x83000000>; > + }; > + fdt@2 { > + description = "DRA71x-evm LCD"; > + data = /incbin/("dra71-evm-lcd-auo-g101evn01.0.dtbo"); > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > + load = <0x83100000>; > + }; > + fdt@3 { > + description = "DRA71x-evm NAND"; > + data = /incbin/("dra71-evm-nand.dtbo"); > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > + load = <0x83200000>; > + }; > + }; > + > + configurations { > + default = "dra71-evm"; > + dra71-evm { > + description = "DRA71x-evm"; > + kernel = "kernel@1"; > + fdt = "fdt@1"; > + }; > + dra71-evm-lcd-auo-g101evn01.0 { > + description = "DRA71x-evm with LCD overlay"; > + kernel = "kernel@1"; > + fdt = "fdt@1", "fdt@2"; > + }; > + dra71-evm-nand { > + description = "DRA71x-evm with NAND overlay"; > + kernel = "kernel@1"; > + fdt = "fdt@1", "fdt@3"; > + }; This strikes me as really horrid and inflexible. Consider a platform where you have multiple choices, each one independent - for example, you may have the selection of two base DT files depending on the SoC. Then you may have four board-level DT overlays to choose from. Then you may have a selection of overlays depending on what hardware is connected (eg, whether a camera is connected and what type of camera, whether a LVDS panel is connected and what it is, etc.) Before considering the optional hardware, you already have 8 different combinations, and that multiplies up each time there is another variable to consider. Exhaustively listing each combination of kernel, base dtb and overlays is not practical in such a scenario, and if this is what FIT requires, FIT is not fit for purpose. -- Russell King -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html