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
1 changed files with 12 additions and 1 deletions

View File

@ -15,8 +15,9 @@
*/
#include <console/console.h>
#include <device/pci.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <hwilib.h>
#include <i210.h>
#include <intelblocks/lpc_lib.h>
@ -115,6 +116,8 @@ static void mainboard_init(void *chip_info)
static void mainboard_final(void *chip_info)
{
int status;
uint16_t cmd = 0;
device_t dev = NULL;
/**
* 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 */
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 = {