blob: d7991c4fd1ebc690a73d0eba417d0183da8d3d75 [file] [log] [blame]
Angel Pons0612b272020-04-05 15:46:56 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Lijian Zhaoc303d742018-02-11 17:20:34 -08002
Subrata Banik4a53ba72023-07-12 09:52:01 +05303#include "pcrlib.asl"
4
5/* APIs to access P2SB inside PCH/SoC die */
Lijian Zhaoc303d742018-02-11 17:20:34 -08006
7/*
8 * Calculate PCR register base at specified PID
9 * Arg0 - PCR Port ID
10 */
11Method (PCRB, 1, NotSerialized)
12{
Subrata Banik4a53ba72023-07-12 09:52:01 +053013 Return (GPCR(PCH_P2SB, Arg0))
Lijian Zhaoc303d742018-02-11 17:20:34 -080014}
15
16/*
17 * Read a PCR register at specified PID and offset
18 * Arg0 - PCR Port ID
19 * Arg1 - Register Offset
20 */
21Method (PCRR, 2, Serialized)
22{
Subrata Banik4a53ba72023-07-12 09:52:01 +053023 Return (RPCR(PCH_P2SB, Arg0, Arg1))
Lijian Zhaoc303d742018-02-11 17:20:34 -080024}
25
26/*
27 * AND a value with PCR register at specified PID and offset
28 * Arg0 - PCR Port ID
29 * Arg1 - Register Offset
30 * Arg2 - Value to AND
31 */
32Method (PCRA, 3, Serialized)
33{
Subrata Banik4a53ba72023-07-12 09:52:01 +053034 APCR(PCH_P2SB, Arg0, Arg1, Arg2)
Lijian Zhaoc303d742018-02-11 17:20:34 -080035}
36
37/*
38 * OR a value with PCR register at specified PID and offset
39 * Arg0 - PCR Port ID
40 * Arg1 - Register Offset
41 * Arg2 - Value to OR
42 */
43Method (PCRO, 3, Serialized)
44{
Subrata Banik4a53ba72023-07-12 09:52:01 +053045 OPCR(PCH_P2SB, Arg0, Arg1, Arg2)
Lijian Zhaoc303d742018-02-11 17:20:34 -080046}