binaryPI: Remove ACPI for IMC we don't run
IMC is used on some of the AMD reference designs, so do not touch them yet. Change-Id: I6a58ab53d4a800d4c0c2026e50826122ece2c59f Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/21190 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
This commit is contained in:
		@@ -1,109 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * This file is part of the coreboot project.
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2012 Advanced Micro Devices, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
OperationRegion(IMIO, SystemIO, 0x3E, 0x02)
 | 
			
		||||
Field(IMIO , ByteAcc, NoLock, Preserve) {
 | 
			
		||||
	IMCX,8,
 | 
			
		||||
	IMCA,8
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
IndexField(IMCX, IMCA, ByteAcc, NoLock, Preserve) {
 | 
			
		||||
	Offset(0x80),
 | 
			
		||||
	MSTI, 8,
 | 
			
		||||
	MITS, 8,
 | 
			
		||||
	MRG0, 8,
 | 
			
		||||
	MRG1, 8,
 | 
			
		||||
	MRG2, 8,
 | 
			
		||||
	MRG3, 8,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Method(WACK, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, Local0)
 | 
			
		||||
	While (LNotEqual(Local0, 0xFA)) {
 | 
			
		||||
		Store(MRG0, Local0)
 | 
			
		||||
		Sleep(10)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Init
 | 
			
		||||
Method (ITZE, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB5, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x80, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Or(MRG2, 0x01, Local0)
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(Local0, MRG2)
 | 
			
		||||
	Store(0x81, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Sleep
 | 
			
		||||
Method (IMSP, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB5, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(1, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x98, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB4, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Wake
 | 
			
		||||
Method (IMWK, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB5, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x80, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Or(MRG2, 0x01, Local0)
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(Local0, MRG2)
 | 
			
		||||
	Store(0x81, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,109 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * This file is part of the coreboot project.
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2012 Advanced Micro Devices, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
OperationRegion(IMIO, SystemIO, 0x3E, 0x02)
 | 
			
		||||
Field(IMIO , ByteAcc, NoLock, Preserve) {
 | 
			
		||||
	IMCX,8,
 | 
			
		||||
	IMCA,8
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
IndexField(IMCX, IMCA, ByteAcc, NoLock, Preserve) {
 | 
			
		||||
	Offset(0x80),
 | 
			
		||||
	MSTI, 8,
 | 
			
		||||
	MITS, 8,
 | 
			
		||||
	MRG0, 8,
 | 
			
		||||
	MRG1, 8,
 | 
			
		||||
	MRG2, 8,
 | 
			
		||||
	MRG3, 8,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Method(WACK, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, Local0)
 | 
			
		||||
	While (LNotEqual(Local0, 0xFA)) {
 | 
			
		||||
		Store(MRG0, Local0)
 | 
			
		||||
		Sleep(10)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Init
 | 
			
		||||
Method (ITZE, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB5, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x80, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Or(MRG2, 0x01, Local0)
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(Local0, MRG2)
 | 
			
		||||
	Store(0x81, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Sleep
 | 
			
		||||
Method (IMSP, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB5, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(1, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x98, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB4, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Wake
 | 
			
		||||
Method (IMWK, 0)
 | 
			
		||||
{
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0xB5, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x96, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(0, MRG2)
 | 
			
		||||
	Store(0x80, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
 | 
			
		||||
	Or(MRG2, 0x01, Local0)
 | 
			
		||||
 | 
			
		||||
	Store(0, MRG0)
 | 
			
		||||
	Store(0, MRG1)
 | 
			
		||||
	Store(Local0, MRG2)
 | 
			
		||||
	Store(0x81, MSTI)
 | 
			
		||||
	WACK()
 | 
			
		||||
}
 | 
			
		||||
@@ -154,11 +154,13 @@ Method(_INI, 0) {
 | 
			
		||||
	/* Determine the OS we're running on */
 | 
			
		||||
	OSFL()
 | 
			
		||||
 | 
			
		||||
#if IS_ENABLED(CONFIG_ACPI_ENABLE_THERMAL_ZONE)
 | 
			
		||||
#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
 | 
			
		||||
	/* TODO: It is unstable. */
 | 
			
		||||
	#include "acpi/AmdImc.asl" /* Hudson IMC function */
 | 
			
		||||
#if IS_ENABLED(CONFIG_ACPI_ENABLE_THERMAL_ZONE)
 | 
			
		||||
	ITZE() /* enable IMC Fan Control*/
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
} /* End Method(_SB._INI) */
 | 
			
		||||
 | 
			
		||||
Method(OSFL, 0){
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user