Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39107 )
Change subject: mb/51nb/x210: merge macOS changes ......................................................................
mb/51nb/x210: merge macOS changes
merge in macOS-specific changes from https://github.com/harrykipper/coreboot at commit 709cf02.
Signed-off-by: Matt DeVillier matt.devillier@puri.sm Change-Id: Ie11e13c9db68c2a90822eef845b2ccab19f7bd18 --- M src/mainboard/51nb/x210/acpi/ec.asl M src/mainboard/51nb/x210/acpi/graphics.asl A src/mainboard/51nb/x210/acpi/mac-usb.asl M src/mainboard/51nb/x210/dsdt.asl M src/mainboard/51nb/x210/mainboard.c 5 files changed, 1,110 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/39107/1
diff --git a/src/mainboard/51nb/x210/acpi/ec.asl b/src/mainboard/51nb/x210/acpi/ec.asl index bff02fe..9f834ca 100644 --- a/src/mainboard/51nb/x210/acpi/ec.asl +++ b/src/mainboard/51nb/x210/acpi/ec.asl @@ -67,13 +67,13 @@ /* KEY_BRIGHTNESSUP */ Method (_Q04) { - Notify(_SB.PCI0.GFX0.LCD, 0x86) + Notify(_SB.PCI0.IGPU.LCD, 0x86) }
/* KEY_BRIGHTNESSDOWN */ Method (_Q05) { - Notify(_SB.PCI0.GFX0.LCD, 0x87) + Notify(_SB.PCI0.IGPU.LCD, 0x87) }
/* Battery Information Event */ diff --git a/src/mainboard/51nb/x210/acpi/graphics.asl b/src/mainboard/51nb/x210/acpi/graphics.asl index 7ac4794..0a4b67c 100644 --- a/src/mainboard/51nb/x210/acpi/graphics.asl +++ b/src/mainboard/51nb/x210/acpi/graphics.asl @@ -13,9 +13,68 @@ * GNU General Public License for more details. */
-Device (GFX0) +Device (IGPU) { Name (_ADR, 0x00020000) + Method (DTGP, 5, NotSerialized) + { + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, + /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B + })) + { + If (LEqual (Arg1, One)) + { + If (LEqual (Arg2, Zero)) + { + Store (Buffer (One) + { + 0x03 + }, Arg4) + + Return (One) + } + + If (LEqual (Arg2, One)) + { + Return (One) + } + } + } + + Store (Buffer (One) + { + 0x00 + }, Arg4) + + Return (Zero) + } + + Method (_DSM, 4, NotSerialized) + { + Store (Package (0x04) + { + "device-id", + Buffer (0x04) + { + 0x16, 0x59, 0x00, 0x00 + + }, +/* "AAPL,ig-platform-id", + Buffer (0x04) + { + 0x00, 0x00, 0x16, 0x19 + }, */ + "hda-gfx", + Buffer (0x0a) + { + "onboard-1" + } + }, Local0) + DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) + Return (Local0) + } Method (_DOS, 1, NotSerialized) { /* We never do anything in firmware, so _DOS is a noop */ diff --git a/src/mainboard/51nb/x210/acpi/mac-usb.asl b/src/mainboard/51nb/x210/acpi/mac-usb.asl new file mode 100644 index 0000000..4fd1ebe --- /dev/null +++ b/src/mainboard/51nb/x210/acpi/mac-usb.asl @@ -0,0 +1,1020 @@ +/* + * This file is part of the coreboot project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + + Device(UIAC) + { + Name(_HID, "UIA00000") + + Name(RMCF, Package() + { + "HUB1", Package() + { + "port-count", Buffer() { 8, 0, 0, 0 }, + "ports", Package() + { + "HP11", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HP12", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HP13", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HP14", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HP15", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HP16", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HP17", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HP18", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 8, 0, 0, 0 }, + }, + }, + }, + "HUB2", Package() + { + "port-count", Buffer() { 6, 0, 0, 0 }, + "ports", Package() + { + "HP21", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HP22", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HP23", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HP24", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HP25", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HP26", Package() + { + //"UsbConnector", 0, + "portType", 0, + "port", Buffer() { 6, 0, 0, 0 }, + }, + }, + }, + "EH01", Package() + { + "port-count", Buffer() { 8, 0, 0, 0 }, + "ports", Package() + { + "PR11", Package() + { + "UsbConnector", 255, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "PR12", Package() + { + "UsbConnector", 0, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "PR13", Package() + { + "UsbConnector", 0, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "PR14", Package() + { + "UsbConnector", 0, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "PR15", Package() + { + "UsbConnector", 0, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "PR16", Package() + { + "UsbConnector", 0, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "PR17", Package() + { + "UsbConnector", 0, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "PR18", Package() + { + "UsbConnector", 0, + "port", Buffer() { 8, 0, 0, 0 }, + }, + }, + }, + "EH02", Package() + { + "port-count", Buffer() { 6, 0, 0, 0 }, + "ports", Package() + { + "PR21", Package() + { + "UsbConnector", 255, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "PR22", Package() + { + "UsbConnector", 0, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "PR23", Package() + { + "UsbConnector", 0, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "PR24", Package() + { + "UsbConnector", 0, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "PR25", Package() + { + "UsbConnector", 0, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "PR26", Package() + { + "UsbConnector", 0, + "port", Buffer() { 6, 0, 0, 0 }, + }, + }, + }, + "8086_1e31", Package() + { + "port-count", Buffer() { 8, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + }, + }, + "8086_8xxx", Package() + { + "port-count", Buffer() { 21, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "HS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "HS11", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "HS12", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + "HS13", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + "HS14", Package() + { + "UsbConnector", 3, + "port", Buffer() { 14, 0, 0, 0 }, + }, + //HS15 is phantom port (port address 15 not used) + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 16, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 17, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 18, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 19, 0, 0, 0 }, + }, + "SS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 20, 0, 0, 0 }, + }, + "SS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 21, 0, 0, 0 }, + }, + }, + }, + "8086_9xxx", Package() + { + "port-count", Buffer() { 13, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + }, + }, + "8086_9cb1", Package() + { + "port-count", Buffer() { 15, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "HS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "HS11", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 14, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 15, 0, 0, 0 }, + }, + }, + }, + "8086_a12f", Package() + { + "port-count", Buffer() { 26, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "HS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "HS11", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "HS12", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + "HS13", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + "HS14", Package() + { + "UsbConnector", 3, + "port", Buffer() { 14, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 17, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 18, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 19, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 20, 0, 0, 0 }, + }, + "SS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 21, 0, 0, 0 }, + }, + "SS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 22, 0, 0, 0 }, + }, + "SS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 23, 0, 0, 0 }, + }, + "SS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 24, 0, 0, 0 }, + }, + "SS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 25, 0, 0, 0 }, + }, + "SS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 26, 0, 0, 0 }, + }, + "USR1", Package() + { + "UsbConnector", 3, + "port", Buffer() { 15, 0, 0, 0 }, + }, + "USR2", Package() + { + "UsbConnector", 3, + "port", Buffer() { 16, 0, 0, 0 }, + }, + }, + }, + "8086_9dxx", Package() // examples: 0x9d2f, 0x9ded + { + "port-count", Buffer() { 18, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "HS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 14, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 15, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 16, 0, 0, 0 }, + }, + "SS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 17, 0, 0, 0 }, + }, + "SS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 18, 0, 0, 0 }, + }, + "USR1", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "USR2", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + }, + }, + "8086_a2af", Package() + { + "port-count", Buffer() { 26, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "HS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "HS11", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "HS12", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + "HS13", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + "HS14", Package() + { + "UsbConnector", 3, + "port", Buffer() { 14, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 17, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 18, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 19, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 20, 0, 0, 0 }, + }, + "SS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 21, 0, 0, 0 }, + }, + "SS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 22, 0, 0, 0 }, + }, + "SS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 23, 0, 0, 0 }, + }, + "SS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 24, 0, 0, 0 }, + }, + "SS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 25, 0, 0, 0 }, + }, + "SS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 26, 0, 0, 0 }, + }, + "USR1", Package() + { + "UsbConnector", 3, + "port", Buffer() { 15, 0, 0, 0 }, + }, + "USR2", Package() + { + "UsbConnector", 3, + "port", Buffer() { 16, 0, 0, 0 }, + }, + }, + }, + "8086_a36d", Package() + { + "port-count", Buffer() { 26, 0, 0, 0 }, + "ports", Package() + { + "HS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 1, 0, 0, 0 }, + }, + "HS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 2, 0, 0, 0 }, + }, + "HS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 3, 0, 0, 0 }, + }, + "HS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 4, 0, 0, 0 }, + }, + "HS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 5, 0, 0, 0 }, + }, + "HS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 6, 0, 0, 0 }, + }, + "HS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 7, 0, 0, 0 }, + }, + "HS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 8, 0, 0, 0 }, + }, + "HS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 9, 0, 0, 0 }, + }, + "HS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 10, 0, 0, 0 }, + }, + "HS11", Package() + { + "UsbConnector", 3, + "port", Buffer() { 11, 0, 0, 0 }, + }, + "HS12", Package() + { + "UsbConnector", 3, + "port", Buffer() { 12, 0, 0, 0 }, + }, + "HS13", Package() + { + "UsbConnector", 3, + "port", Buffer() { 13, 0, 0, 0 }, + }, + "HS14", Package() + { + "UsbConnector", 3, + "port", Buffer() { 14, 0, 0, 0 }, + }, + "SS01", Package() + { + "UsbConnector", 3, + "port", Buffer() { 17, 0, 0, 0 }, + }, + "SS02", Package() + { + "UsbConnector", 3, + "port", Buffer() { 18, 0, 0, 0 }, + }, + "SS03", Package() + { + "UsbConnector", 3, + "port", Buffer() { 19, 0, 0, 0 }, + }, + "SS04", Package() + { + "UsbConnector", 3, + "port", Buffer() { 20, 0, 0, 0 }, + }, + "SS05", Package() + { + "UsbConnector", 3, + "port", Buffer() { 21, 0, 0, 0 }, + }, + "SS06", Package() + { + "UsbConnector", 3, + "port", Buffer() { 22, 0, 0, 0 }, + }, + "SS07", Package() + { + "UsbConnector", 3, + "port", Buffer() { 23, 0, 0, 0 }, + }, + "SS08", Package() + { + "UsbConnector", 3, + "port", Buffer() { 24, 0, 0, 0 }, + }, + "SS09", Package() + { + "UsbConnector", 3, + "port", Buffer() { 25, 0, 0, 0 }, + }, + "SS10", Package() + { + "UsbConnector", 3, + "port", Buffer() { 26, 0, 0, 0 }, + }, + "USR1", Package() + { + "UsbConnector", 3, + "port", Buffer() { 15, 0, 0, 0 }, + }, + "USR2", Package() + { + "UsbConnector", 3, + "port", Buffer() { 16, 0, 0, 0 }, + }, + }, + }, + }) + } diff --git a/src/mainboard/51nb/x210/dsdt.asl b/src/mainboard/51nb/x210/dsdt.asl index dac04f2..d4fd025 100644 --- a/src/mainboard/51nb/x210/dsdt.asl +++ b/src/mainboard/51nb/x210/dsdt.asl @@ -39,6 +39,12 @@ #include <soc/intel/skylake/acpi/systemagent.asl> #include <soc/intel/skylake/acpi/pch.asl> #include "acpi/graphics.asl" + #include "acpi/mac-usb.asl" + + Device (IMEI) + { + Name (_ADR, 0x00160000) + } }
} diff --git a/src/mainboard/51nb/x210/mainboard.c b/src/mainboard/51nb/x210/mainboard.c index 7d8cb3e..449a7bf 100644 --- a/src/mainboard/51nb/x210/mainboard.c +++ b/src/mainboard/51nb/x210/mainboard.c @@ -14,6 +14,8 @@ */
#include <soc/ramstage.h> +#include <intelblocks/pcr.h> +#include <soc/pcr_ids.h> #include "gpio.h"
void mainboard_silicon_init_params(FSP_SIL_UPD *params) @@ -27,6 +29,26 @@ { /* Route 0x4e/4f to LPC */ lpc_enable_fixed_io_ranges(LPC_IOE_EC_4E_4F); + + /* Enable Apple SMC emulation */ + + pcr_write32(PID_PSTH, 0x1e90, 0x001c0301); // Decode 0x300-0x31f + pcr_write32(PID_PSTH, 0x1e94, 0x000200f0); // R/W access, any width + + /* + * New Intel platforms have two documented sets of I/O trap registers, + * one in PSTH space, one in DMI space. The former is where the status + * registers are, so naively you'd think they'd be the ones that + * matter - but in reality, nothing works unless you enable the ones + * in DMI space around the other LPC decode registers. + */ + + /* + * TODO: are these sufficient, or do the PSTH registers need to be + * set as well? + */ + pcr_write32(PID_DMI, 0x2760, 0x001c0301); + pcr_write32(PID_DMI, 0x2764, 0x000200f0); }
struct chip_operations mainboard_ops = {
Matt DeVillier has abandoned this change. ( https://review.coreboot.org/c/coreboot/+/39107 )
Change subject: mb/51nb/x210: merge macOS changes ......................................................................
Abandoned
dropping this since it's unlikely to be merged and any x210 users who want to Hackintosh can simply CP it from gerrit