blob: 9080e2fa125aa6f1a6181d99fa290601ff20106b [file] [log] [blame]
Angel Ponsf23ae0b2020-04-02 23:48:12 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Stefan Reinauer5c554632012-04-04 00:09:50 +02002
Jan Samekedda0f92023-04-27 10:39:27 +02003#ifndef __CPU_INTEL_MODEL_206AX_CHIP_H__
4#define __CPU_INTEL_MODEL_206AX_CHIP_H__
5
Arthur Heymansd52bfbb2022-11-07 09:23:02 +01006/* Keep this in sync with acpi.c */
7enum cpu_acpi_level {
8 CPU_ACPI_DISABLED = 0,
9 CPU_ACPI_C1,
10 CPU_ACPI_C2,
11 CPU_ACPI_C3,
12 CPU_ACPI_C6,
13 CPU_ACPI_C7,
14 CPU_ACPI_C7S,
15};
16
Patrick Rudolph62535b62024-03-30 19:06:20 +010017/* VR12 PSI codes */
18enum vr12_phases {
19 VR12_KEEP_DEFAULT = 0, /* For device-trees missing the setting */
20 VR12_ALL_PHASES,
21 VR12_2_PHASES,
22 VR12_1_PHASE,
23 VR12_LIGHT_LOAD,
24};
25
26/* VR12 power state listing */
27enum vr12_psi {
28 VR12_PSI1 = 0,
29 VR12_PSI2,
30 VR12_PSI3,
31 VR12_PSI_MAX,
32};
33
34struct psi_state {
35 enum vr12_phases phases;
36 int current; /* In Amps */
37};
38
Stefan Reinauer5c554632012-04-04 00:09:50 +020039struct cpu_intel_model_206ax_config {
Arthur Heymansd52bfbb2022-11-07 09:23:02 +010040 enum cpu_acpi_level acpi_c1;
41 enum cpu_acpi_level acpi_c2;
42 enum cpu_acpi_level acpi_c3;
Duncan Laurie55632112012-07-16 12:19:00 -070043
44 int tcc_offset; /* TCC Activation Offset */
Patrick Rudolph62535b62024-03-30 19:06:20 +010045 int pp0_current_limit; /* Primary Plane Current Limit (Icc) in Amps */
46 int pp1_current_limit; /* Secondary Plane Current Limit (IAXG) in Amps */
47
48 /* PSI states only have an effect when in Package C3 or higher */
49 struct psi_state pp0_psi[3]; /* Power states for Primary Plane (Icc) */
50 struct psi_state pp1_psi[3]; /* Power states for Secondary Plane (IAXG) */
Stefan Reinauer5c554632012-04-04 00:09:50 +020051};
Jan Samekedda0f92023-04-27 10:39:27 +020052
53#endif /* __CPU_INTEL_MODEL_206AX_CHIP_H__ */