diff options
Diffstat (limited to 'power/cometlake-discrete.h')
-rw-r--r-- | power/cometlake-discrete.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/power/cometlake-discrete.h b/power/cometlake-discrete.h new file mode 100644 index 0000000000..ad423126df --- /dev/null +++ b/power/cometlake-discrete.h @@ -0,0 +1,60 @@ +/* Copyright 2019 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* Chrome EC chipset power control for Cometlake with platform-controlled + * discrete sequencing. + */ + +#ifndef __CROS_EC_COMETLAKE_DISCRETE_H +#define __CROS_EC_COMETLATE_DISCRETE_H + +/* Input state flags. */ +#define IN_PCH_SLP_S3_DEASSERTED POWER_SIGNAL_MASK(X86_SLP_S3_DEASSERTED) +#define IN_PCH_SLP_S4_DEASSERTED POWER_SIGNAL_MASK(X86_SLP_S4_DEASSERTED) + +#define IN_ALL_PM_SLP_DEASSERTED \ + (IN_PCH_SLP_S3_DEASSERTED | IN_PCH_SLP_S4_DEASSERTED) + +/* TODO(b/143188569) RSMRST_L is an EC output, can't use POWER_SIGNAL_MASK */ +#define IN_PGOOD_ALL_CORE \ + POWER_SIGNAL_MASK(/*X86_RSMRST_L_PGOOD*/ POWER_SIGNAL_COUNT) + +#define IN_ALL_S0 \ + (IN_PGOOD_ALL_CORE | IN_ALL_PM_SLP_DEASSERTED | \ + PP5000_PGOOD_POWER_SIGNAL_MASK) + +/* TODO(b/143188569) RSMRST_L is an EC output, can't use POWER_SIGNAL_MASK */ +#define CHIPSET_G3S5_POWERUP_SIGNAL \ + (POWER_SIGNAL_MASK(/*X86_RSMRST_L_PGOOD*/ POWER_SIGNAL_COUNT) | \ + POWER_SIGNAL_MASK(PP5000_A_PGOOD)) + +#define CHARGER_INITIALIZED_DELAY_MS 100 +#define CHARGER_INITIALIZED_TRIES 40 + +/* Power signals, in power-on sequence order. */ +enum power_signal { + PP5000_A_PGOOD, + /* PP3300 monitoring is analog */ + PP1800_A_PGOOD, + VPRIM_CORE_A_PGOOD, + PP1050_A_PGOOD, + /* S5 ready */ + X86_SLP_S4_DEASSERTED, + PP2500_DRAM_PGOOD, + PP1200_DRAM_PGOOD, + /* S3 ready */ + X86_SLP_S3_DEASSERTED, + /* PP1050 monitoring is analog */ + PP950_VCCIO_PGOOD, + /* S0 ready */ + X86_SLP_S0_DEASSERTED, + CPU_C10_GATE_DEASSERTED, + IMVP8_READY, + + /* Number of X86 signals */ + POWER_SIGNAL_COUNT +}; + +#endif /* __CROS_EC_COMETLAKE_DISCRETE_H */ |