Maxim Polyakov has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42609 )
Change subject: Makefile.inc: Add CARRIER_DIR to component discovery ......................................................................
Patch Set 10:
What's the relationship between carrier boards and modules: can a carrier board be used for modules that differ more than what we could model in variants?
In the case of the Kontron module, variant refers to the COMe-mAL10 or COMe-m4AL10 module type. They differ in the type of memory (DDR3L or DDR4), and maybe they differ in some chips.
https://www.kontron.com/products/iot/iot-industry-4.0/iot-ready-boards-and-m...
COMe-mAL10 (E2): up to 8 GByte DDR3-1866 (-1600) memory down (ECC for E2-versions) (get params from spd eeprom)
COMe-m4AL10 (E2): up to 16 GByte LPDDR4-2400 (-2133) memory down (non-ECC) (set UPD params in romestage)
Moreover, each module variant can use one of the carrier boards. It could be boards from the Kontron:
https://www.kontron.com/products/boards-and-standard-form-factors/com-expres... https://www.kontron.com/products/boards-and-standard-form-factors/com-expres...
other manufacturers can add their own backplane too.
Thus, we have the following tree:
mainboard -+- kontron -+- mal10 --+ | +-- variants -+--- mal10 | | | +--- m4al10 | +-- carriers -+--- i-t10-tni | +--- eval-t10 | +--- vendor-new-backplane
And maybe we should add a new separate catalog for vendors:
+-- carriers -+- kontron -+- i-t10-tni | | | +- eval-t10 | +- secunet --- some-backplane-that-they-use-together-with-mal10 | +- vendor ---- new-backplane
If so, do we need a separate category for carriers?
I think at the moment there is no need to add carrierboards as a separate category. There are very few COMe modules and carrier boards.
But, in the future it could be very handy and perhaps we should move all carrierbоrd into a separate directory in src:
src --+-- | +-- carrierboard -+- kontron -+- i-t10-tni -> in Kconfig : CARRIER_TYPE10_COME | | | +- eval-t10 | +- aaeon ----- boxer26 -> in Kconfig : CARRIER_TYPE6_COME | +- secunet --- some-backplane-that-they-use-together-with-mal10 | +- vendor ---- new-backplane
CONFIG_CARRIER_TYPE10 is set in src/mainboard/.../come-module/Kconfig
Thus, for each type 10 come module, all carrier boards with CONFIG_CARRIER_TYPE10 will be available in menuconfig.