siemens/mc_apl1: Set bus master bit for on-board PCI device

There is one on-board PCI device where bus master has to be enabled in
PCI configuration space. As there is no need for a complete PCI driver
for this device just set the bus master bit in mainboard_final().

Change-Id: I45202937eba11da3bea14fef6ebed70599804335
Signed-off-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-on: https://review.coreboot.org/21405
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
Mario Scheithauer
2017-09-05 15:32:49 +02:00
committed by Werner Zeh
parent 65e54662e3
commit b83858af5b

View File

@@ -15,8 +15,9 @@
*/ */
#include <console/console.h> #include <console/console.h>
#include <device/pci.h>
#include <device/device.h> #include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <hwilib.h> #include <hwilib.h>
#include <i210.h> #include <i210.h>
#include <intelblocks/lpc_lib.h> #include <intelblocks/lpc_lib.h>
@@ -115,6 +116,8 @@ static void mainboard_init(void *chip_info)
static void mainboard_final(void *chip_info) static void mainboard_final(void *chip_info)
{ {
int status; int status;
uint16_t cmd = 0;
device_t dev = NULL;
/** /**
* Set up the DP2LVDS converter. * Set up the DP2LVDS converter.
@@ -128,6 +131,14 @@ static void mainboard_final(void *chip_info)
/* Enable additional I/O decoding range on LPC for COM 3 */ /* Enable additional I/O decoding range on LPC for COM 3 */
lpc_open_pmio_window(0x3e8, 8); lpc_open_pmio_window(0x3e8, 8);
/* Set Master Enable for on-board PCI device. */
dev = dev_find_device(PCI_VENDOR_ID_SIEMENS, 0x403f, 0);
if (dev) {
cmd = pci_read_config16(dev, PCI_COMMAND);
cmd |= PCI_COMMAND_MASTER;
pci_write_config16(dev, PCI_COMMAND, cmd);
}
} }
struct chip_operations mainboard_ops = { struct chip_operations mainboard_ops = {