Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44037 )
Change subject: sconfig: Allow chipset to provide a base devicetree ......................................................................
Patch Set 9:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44037/9//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/44037/9//COMMIT_MSG@15 PS9, Line 15: device
Because of the way things are organized and compared in sconfig (matching devices using chip to ensure they are the same devices in two different trees), I guess the assumption would be that the devices in chipset.cb and mainboard devicetree.cb use the exact same chip driver i.e. either the SoC chip driver or any other specialized driver used by that controller device.
I think we currently have just one such example - CNVi devices defined very differently in mainboard devicetree compared to other controller devices i.e. a chip driver directly associated with the SoC controller (Example: https://review.coreboot.org/cgit/coreboot.git/tree/src/mainboard/google/volt...). We should document this assumption somewhere because it might be easy to miss this.
Agree that is true, there is a requirement to keep the device/chip structure defined in the chipset.cb or you will get less than helpful error messages from sconfig. The devicetree is ripe for some more documentation...
(As a follow-up, I think we should clean up the CNVi handling in coreboot to make it similar to how other controller devices are organized. Do we want to add a restriction that the SoC controller devices must never have a chip driver associated with it other than the SoC chip?)
That sounds great to me, I never liked how that driver requires the different devtree structure than others, it just confuses things. Adding a restriction to sconfig may be a good way to enforce that.