mb/siemens/mc_apl{1,2,3,5,6}: Set PCI bus master bit only if allowed

Take Kconfig switch PCI_ALLOW_BUS_MASTER into account and set the PCI
bus master bit for legacy devices only if it is allowed.

Change-Id: I7798a767d528419bb093f301140ab68cc8b9c5ae
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/56442
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
diff --git a/src/mainboard/siemens/mc_apl1/mainboard.c b/src/mainboard/siemens/mc_apl1/mainboard.c
index bca0cbb..114d6e3 100644
--- a/src/mainboard/siemens/mc_apl1/mainboard.c
+++ b/src/mainboard/siemens/mc_apl1/mainboard.c
@@ -215,10 +215,12 @@
 	/* Do board specific things */
 	variant_mainboard_final();
 
-	/* Set Master Enable for on-board PCI device. */
-	dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403f, 0);
-	if (dev) {
-		pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+	/* Set Master Enable for on-board PCI device if allowed. */
+	if (CONFIG(PCI_ALLOW_BUS_MASTER)) {
+		dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403f, 0);
+		if (dev) {
+			pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+		}
 	}
 	/* Set up SPI OPCODE menu before the controller is locked. */
 	fast_spi_set_opcode_menu();
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl2/mainboard.c b/src/mainboard/siemens/mc_apl1/variants/mc_apl2/mainboard.c
index 1baa8ec..7d8b9f5 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl2/mainboard.c
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl2/mainboard.c
@@ -10,9 +10,11 @@
 {
 	struct device *dev;
 
-	/* Set Master Enable for on-board PCI device. */
-	dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403e, 0);
-	if (dev) {
-		pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+	if (CONFIG(PCI_ALLOW_BUS_MASTER)) {
+		/* Set Master Enable for on-board PCI device if allowed. */
+		dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403e, 0);
+		if (dev) {
+			pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+		}
 	}
 }
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl3/mainboard.c b/src/mainboard/siemens/mc_apl1/variants/mc_apl3/mainboard.c
index 842f377..4f43782 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl3/mainboard.c
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl3/mainboard.c
@@ -36,10 +36,11 @@
 	 */
 	pcr_or32(PID_LPC, PCR_LPC_PRC, (PCR_LPC_CCE_EN | PCR_LPC_PCE_EN));
 
-	/* Set Master Enable for on-board PCI device. */
+	/* Set Master Enable for on-board PCI device if allowed. */
 	dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403e, 0);
 	if (dev) {
-		pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+		if (CONFIG(PCI_ALLOW_BUS_MASTER))
+			pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
 
 		/* Disable clock outputs 0 and 2-4 (CLKOUT) for upstream
 		 * XIO2001 PCIe to PCI Bridge.
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl5/mainboard.c b/src/mainboard/siemens/mc_apl1/variants/mc_apl5/mainboard.c
index 7554fee..82528d5 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl5/mainboard.c
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl5/mainboard.c
@@ -43,10 +43,11 @@
 	 */
 	pcr_rmw32(PID_MODPHY, TX_DWORD3, (0x00 << 16), (0x4a << 16));
 
-	/* Set Master Enable for on-board PCI device. */
+	/* Set Master Enable for on-board PCI device if allowed. */
 	dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403e, 0);
 	if (dev) {
-		pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+		if (CONFIG(PCI_ALLOW_BUS_MASTER))
+			pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
 
 		/* Disable clock outputs 0-3 (CLKOUT) for upstream XIO2001 PCIe
 		 * to PCI Bridge. */
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl6/mainboard.c b/src/mainboard/siemens/mc_apl1/variants/mc_apl6/mainboard.c
index 1cecef7..2a8dd9b 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl6/mainboard.c
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl6/mainboard.c
@@ -36,10 +36,11 @@
 	 */
 	pcr_or32(PID_LPC, PCR_LPC_PRC, (PCR_LPC_CCE_EN | PCR_LPC_PCE_EN));
 
-	/* Set Master Enable for on-board PCI device. */
+	/* Set Master Enable for on-board PCI device if allowed. */
 	dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403e, 0);
 	if (dev) {
-		pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
+		if (CONFIG(PCI_ALLOW_BUS_MASTER))
+			pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
 
 		/* Disable clock outputs 0-3 (CLKOUT) for upstream
 		 * XIO2001 PCIe to PCI Bridge.