Re: [PATCH 2/8] FIT: skip possible overlay config nodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marco,

On Fri, Mar 22, 2024 at 05:49:47PM +0100, Marco Felsch wrote:
> The FIT spec is not very specific when it comes to device-tree overlay
> handling.

By FIT spec you mean
https://github.com/u-boot/u-boot/blob/master/doc/usage/fit/overlay-fdt-boot.rst,
right, or is there more?

> Overlays can be added directely to an config node:
> 
> 	config-a {
> 		compatible = "machine-compatible";
> 		kernel = "kernel-img-name";
> 		fdt = "fdt-base-name", "fdt-overlay1-name", "...";
> 	}
> 
> or they are supplied via dedicated config nodes:
> 
> 	overlay-2 {
> 		fdt = "fdt-overlay2-name";
> 	}
> 
> Of course these config nodes can have compatibles as well:
> 
> 	overlay-3 {
> 		compatible = "machine-compatible";
> 		fdt = "fdt-overlay3-name";
> 	}

The text I referenced above doesn't mention compatible properties in
overlay config nodes.

> 
> The current fit_find_compatible_unit() code would skip the overlay node
> if the config-a compatible has the same score as the overlay-3
> compatible and if the overlay-3 config-node is listed after the config-a
> config-node. But if the compatible of config-a config-node has a lower
> score or the overlay-3 config-note is listed first (the spec does not
> specify any order) we end up in taking the overlay-3 config-node instead
> of config-a config-node.

You could distinguish overlay config nodes from full config nodes by the
presence of a "kernel" property. Overlay config nodes do not have it.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux