Mark, I'm currently putting together / testing the sof ucm for Dell and Lenovo devices. Unfortunately I've not yet received the X1 (it is shipped to me). So ucm's for Dell and Lenovo will be in alsa-ucm-conf repository, Jaroslav has already done Some differentiation to handle Lenove differences.
Pierre, actually I'm not sure how the topology differentiation will be done? So for example can we load different topology in these 2 manufacturers device? So if it is just overwriting the new topology with same name, how to differentiate?
The topology should change only if the firmware changed, e.g. with the addition of a processing, path or secret sauce that's not in the default firmware released by Intel.
We have a default topology file path which can be modified with a kernel module parameter (see in sof-pci-dev.c), and we could also add DMI quirks to do this change as well. The file name would be identical, just located in a different directory (and not necessarily in /lib/firmware/intel/sof-tplg).
If an OEM decided to make changes to the topology, I'd guess they are on the hook to provide such changes to downstream distros? I am not sure we can manage all possible variations in a central repo, it's hard enough to provide all the default pieces already...