summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineering.com>2017-05-22 13:13:37 -0500
committerTimothy Pearson <tpearson@raptorengineering.com>2019-01-22 22:33:57 +0000
commit5513c0a21646c0c5fd901d1b960bad4e54cfcc3b (patch)
tree35ceaf8b2dfe5f3031f6d36dd98e10358c3c49ab
parent31eeda1c44d4055113e6a64e3a2e4d7a22ae4e0a (diff)
downloadcoreboot-5513c0a21646c0c5fd901d1b960bad4e54cfcc3b.tar.xz
mb/asus/kgpe-d16: Enable IPMI KCS access
The on-board BMC contains a hardware KCS interface. Allow access to it over LPC. Change-Id: Ia251334ae44668c2260d8d2e816f85f1f62faac6 Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com> Reviewed-on: https://review.coreboot.org/c/19821 Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/asus/kgpe-d16/devicetree.cb3
-rw-r--r--src/mainboard/asus/kgpe-d16/mainboard.c9
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mainboard/asus/kgpe-d16/devicetree.cb b/src/mainboard/asus/kgpe-d16/devicetree.cb
index 9039f6dea2..0ea4216417 100644
--- a/src/mainboard/asus/kgpe-d16/devicetree.cb
+++ b/src/mainboard/asus/kgpe-d16/devicetree.cb
@@ -217,6 +217,9 @@ chip northbridge/amd/amdfam10/root_complex # Root complex
chip drivers/pc80/tpm
device pnp 4e.0 on end # TPM module
end
+ chip drivers/generic/generic # BMC KCS
+ device pnp ca2.0 on end
+ end
end
device pci 14.4 on # Bridge
device pci 1.0 on end # VGA
diff --git a/src/mainboard/asus/kgpe-d16/mainboard.c b/src/mainboard/asus/kgpe-d16/mainboard.c
index 02859369af..d41a038461 100644
--- a/src/mainboard/asus/kgpe-d16/mainboard.c
+++ b/src/mainboard/asus/kgpe-d16/mainboard.c
@@ -46,6 +46,8 @@ void set_pcie_dereset(void)
* enable the dedicated function in kgpe-d16 board.
* This function is called earlier than sr5650_enable.
*************************************************/
+#define BMC_KCS_BASE 0xca2
+
static void mainboard_enable(struct device *dev)
{
printk(BIOS_INFO, "Mainboard KGPE-D16 Enable. dev=0x%p\n", dev);
@@ -66,6 +68,13 @@ static void mainboard_enable(struct device *dev)
set_pcie_dereset();
/* get_ide_dma66(); */
+
+ /* Enable access to the BMC IPMI via KCS */
+ struct device *lpc_sio_dev = dev_find_slot_pnp(BMC_KCS_BASE, 0);
+ struct resource *res = new_resource(lpc_sio_dev, BMC_KCS_BASE);
+ res->base = BMC_KCS_BASE;
+ res->size = 1;
+ res->flags = IORESOURCE_IO | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
}
/* override the default SATA PHY setup */