Michael Niewöhner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44741 )
Change subject: soc/intel/cnl: Allow enabling/disabling PEG devices ......................................................................
Patch Set 14:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44741/13/src/soc/intel/cannonlake/i... File src/soc/intel/cannonlake/include/soc/pci_devs.h:
https://review.coreboot.org/c/coreboot/+/44741/13/src/soc/intel/cannonlake/i... PS13, Line 29: #define SA_DEVFN_PEG3 PCI_DEVFN(SA_DEV_SLOT_PEG, 3)
I wonder what this is? datasheet doesn't seem to mention it.
see Intel doc# 615211-005, section "2.2 PCI Express* Graphics Interface (PEG)" for example; interestingly function 0x01 is not documented in Volume 2 (Intel doc# 615211-003).
Fspmupd.h has this: Peg0Enable: Offset 0x0113 - Enable/Disable PEG 0 Disabled(0x0): Disable PEG Port, Enabled(0x1): Enable PEG Port (If Silicon SKU permits it), Auto(0x2)(Default): If an endpoint is present, enable the PEG Port, Disable otherwise 0:Disable, 1:Enable, 2:AUTO
PrimaryDisplay: Offset 0x0177 - Selection of the primary display device 0=iGFX, 1=PEG, 2=PCIe Graphics on PCH, 3(Default)=AUTO, 4=Switchable Graphics
=> could it be, that this is the interface for external graphics, like nvidia or whatever?