a73b93157f
It encourages users from writing to the FSF without giving an address. Linux also prefers to drop that and their checkpatch.pl (that we imported) looks out for that. This is the result of util/scripts/no-fsf-addresses.sh with no further editing. Change-Id: Ie96faea295fe001911d77dbc51e9a6789558fbd6 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-on: http://review.coreboot.org/11888 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
80 lines
2.3 KiB
Text
80 lines
2.3 KiB
Text
/*
|
|
* This file is part of the coreboot project.
|
|
*
|
|
* Copyright (C) 2011 Christoph Grenz <christophg+cb@grenz-bonn.de>
|
|
* Copyright (C) 2013 secunet Security Networks AG
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
/* ======== General PnP configuration functions ======= */
|
|
|
|
/*
|
|
* Controlled by the following preprocessor defines:
|
|
* PNP_ENTER_MAGIC_1ST If defined, specifies the first magic byte
|
|
* used to enter config mode.
|
|
* PNP_ENTER_MAGIC_2ND If defined, specifies the second magic byte
|
|
* used to enter config mode.
|
|
* PNP_ENTER_MAGIC_3RD If defined, specifies the third magic byte
|
|
* used to enter config mode.
|
|
* PNP_EXIT_MAGIC_1ST If defined, specifies the first magic byte
|
|
* used to exit config mode.
|
|
*/
|
|
|
|
|
|
/*
|
|
* Mutex for accesses to the configuration ports (prolog and
|
|
* epilog commands are used, so synchronization is useful)
|
|
*/
|
|
Mutex(CONFIG_MODE_MUTEX, 1)
|
|
|
|
/*
|
|
* Enter configuration mode (and aquire mutex)
|
|
* Method must be run before accesssing the configuration region.
|
|
* Parameter is the LDN which should be accessed. Values >= 0xFF mean
|
|
* no LDN switch should be done.
|
|
*/
|
|
Method (ENTER_CONFIG_MODE, 1)
|
|
{
|
|
Acquire (CONFIG_MODE_MUTEX, 0xFFFF)
|
|
#ifdef PNP_ENTER_MAGIC_1ST
|
|
Store (PNP_ENTER_MAGIC_1ST, PNP_ADDR_REG)
|
|
#ifdef PNP_ENTER_MAGIC_2ND
|
|
Store (PNP_ENTER_MAGIC_2ND, PNP_ADDR_REG)
|
|
#ifdef PNP_ENTER_MAGIC_3RD
|
|
Store (PNP_ENTER_MAGIC_3RD, PNP_ADDR_REG)
|
|
#endif
|
|
#endif
|
|
#endif
|
|
If (LLess(Arg0, PNP_NO_LDN_CHANGE)) {
|
|
Store(Arg0, PNP_LOGICAL_DEVICE)
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Exit configuration mode (i.e. release mutex)
|
|
* Method must be run after accessing the configuration region.
|
|
*/
|
|
Method (EXIT_CONFIG_MODE)
|
|
{
|
|
#ifdef PNP_EXIT_MAGIC_1ST
|
|
Store (PNP_EXIT_MAGIC_1ST, PNP_ADDR_REG)
|
|
#endif
|
|
Release (CONFIG_MODE_MUTEX)
|
|
}
|
|
|
|
/*
|
|
* Just change the LDN. Make sure that you are in config mode (or
|
|
* have otherwise acquired CONFIG_MODE_MUTEX), when calling.
|
|
*/
|
|
Method (SWITCH_LDN, 1)
|
|
{
|
|
Store(Arg0, PNP_LOGICAL_DEVICE)
|
|
}
|