linux/include/dt-bindings/power/qcom-rpmpd.h

/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved. */

#ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
#define _DT_BINDINGS_POWER_QCOM_RPMPD_H

/* SA8775P Power Domain Indexes */
#define SA8775P_CX
#define SA8775P_CX_AO
#define SA8775P_DDR
#define SA8775P_EBI
#define SA8775P_GFX
#define SA8775P_LCX
#define SA8775P_LMX
#define SA8775P_MMCX
#define SA8775P_MMCX_AO
#define SA8775P_MSS
#define SA8775P_MX
#define SA8775P_MX_AO
#define SA8775P_MXC
#define SA8775P_MXC_AO
#define SA8775P_NSP0
#define SA8775P_NSP1
#define SA8775P_XO

/* SDM670 Power Domain Indexes */
#define SDM670_MX
#define SDM670_MX_AO
#define SDM670_CX
#define SDM670_CX_AO
#define SDM670_LMX
#define SDM670_LCX
#define SDM670_GFX
#define SDM670_MSS

/* SDM845 Power Domain Indexes */
#define SDM845_EBI
#define SDM845_MX
#define SDM845_MX_AO
#define SDM845_CX
#define SDM845_CX_AO
#define SDM845_LMX
#define SDM845_LCX
#define SDM845_GFX
#define SDM845_MSS

/* SDX55 Power Domain Indexes */
#define SDX55_MSS
#define SDX55_MX
#define SDX55_CX

/* SDX65 Power Domain Indexes */
#define SDX65_MSS
#define SDX65_MX
#define SDX65_MX_AO
#define SDX65_CX
#define SDX65_CX_AO
#define SDX65_MXC

/* SM6350 Power Domain Indexes */
#define SM6350_CX
#define SM6350_GFX
#define SM6350_LCX
#define SM6350_LMX
#define SM6350_MSS
#define SM6350_MX

/* SM6350 Power Domain Indexes */
#define SM6375_VDDCX
#define SM6375_VDDCX_AO
#define SM6375_VDDCX_VFL
#define SM6375_VDDMX
#define SM6375_VDDMX_AO
#define SM6375_VDDMX_VFL
#define SM6375_VDDGX
#define SM6375_VDDGX_AO
#define SM6375_VDD_LPI_CX
#define SM6375_VDD_LPI_MX

/* SM8150 Power Domain Indexes */
#define SM8150_MSS
#define SM8150_EBI
#define SM8150_LMX
#define SM8150_LCX
#define SM8150_GFX
#define SM8150_MX
#define SM8150_MX_AO
#define SM8150_CX
#define SM8150_CX_AO
#define SM8150_MMCX
#define SM8150_MMCX_AO

/* SA8155P is a special case, kept for backwards compatibility */
#define SA8155P_CX
#define SA8155P_CX_AO
#define SA8155P_EBI
#define SA8155P_GFX
#define SA8155P_MSS
#define SA8155P_MX
#define SA8155P_MX_AO

/* SM8250 Power Domain Indexes */
#define SM8250_CX
#define SM8250_CX_AO
#define SM8250_EBI
#define SM8250_GFX
#define SM8250_LCX
#define SM8250_LMX
#define SM8250_MMCX
#define SM8250_MMCX_AO
#define SM8250_MX
#define SM8250_MX_AO

/* SM8350 Power Domain Indexes */
#define SM8350_CX
#define SM8350_CX_AO
#define SM8350_EBI
#define SM8350_GFX
#define SM8350_LCX
#define SM8350_LMX
#define SM8350_MMCX
#define SM8350_MMCX_AO
#define SM8350_MX
#define SM8350_MX_AO
#define SM8350_MXC
#define SM8350_MXC_AO
#define SM8350_MSS

/* SM8450 Power Domain Indexes */
#define SM8450_CX
#define SM8450_CX_AO
#define SM8450_EBI
#define SM8450_GFX
#define SM8450_LCX
#define SM8450_LMX
#define SM8450_MMCX
#define SM8450_MMCX_AO
#define SM8450_MX
#define SM8450_MX_AO
#define SM8450_MXC
#define SM8450_MXC_AO
#define SM8450_MSS

/* SM8550 Power Domain Indexes */
#define SM8550_CX
#define SM8550_CX_AO
#define SM8550_EBI
#define SM8550_GFX
#define SM8550_LCX
#define SM8550_LMX
#define SM8550_MMCX
#define SM8550_MMCX_AO
#define SM8550_MX
#define SM8550_MX_AO
#define SM8550_MXC
#define SM8550_MXC_AO
#define SM8550_MSS
#define SM8550_NSP

/* QDU1000/QRU1000 Power Domain Indexes */
#define QDU1000_EBI
#define QDU1000_MSS
#define QDU1000_CX
#define QDU1000_MX

/* SC7180 Power Domain Indexes */
#define SC7180_CX
#define SC7180_CX_AO
#define SC7180_GFX
#define SC7180_MX
#define SC7180_MX_AO
#define SC7180_LMX
#define SC7180_LCX
#define SC7180_MSS

/* SC7280 Power Domain Indexes */
#define SC7280_CX
#define SC7280_CX_AO
#define SC7280_EBI
#define SC7280_GFX
#define SC7280_MX
#define SC7280_MX_AO
#define SC7280_LMX
#define SC7280_LCX
#define SC7280_MSS

/* SC8180X Power Domain Indexes */
#define SC8180X_CX
#define SC8180X_CX_AO
#define SC8180X_EBI
#define SC8180X_GFX
#define SC8180X_LCX
#define SC8180X_LMX
#define SC8180X_MMCX
#define SC8180X_MMCX_AO
#define SC8180X_MSS
#define SC8180X_MX
#define SC8180X_MX_AO

/* SC8280XP Power Domain Indexes */
#define SC8280XP_CX
#define SC8280XP_CX_AO
#define SC8280XP_DDR
#define SC8280XP_EBI
#define SC8280XP_GFX
#define SC8280XP_LCX
#define SC8280XP_LMX
#define SC8280XP_MMCX
#define SC8280XP_MMCX_AO
#define SC8280XP_MSS
#define SC8280XP_MX
#define SC8280XP_MXC
#define SC8280XP_MX_AO
#define SC8280XP_NSP
#define SC8280XP_QPHY
#define SC8280XP_XO

/* SDM845 Power Domain performance levels */
#define RPMH_REGULATOR_LEVEL_RETENTION
#define RPMH_REGULATOR_LEVEL_MIN_SVS
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0
#define RPMH_REGULATOR_LEVEL_LOW_SVS
#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1
#define RPMH_REGULATOR_LEVEL_LOW_SVS_L1
#define RPMH_REGULATOR_LEVEL_LOW_SVS_L2
#define RPMH_REGULATOR_LEVEL_SVS
#define RPMH_REGULATOR_LEVEL_SVS_L0
#define RPMH_REGULATOR_LEVEL_SVS_L1
#define RPMH_REGULATOR_LEVEL_SVS_L2
#define RPMH_REGULATOR_LEVEL_NOM
#define RPMH_REGULATOR_LEVEL_NOM_L0
#define RPMH_REGULATOR_LEVEL_NOM_L1
#define RPMH_REGULATOR_LEVEL_NOM_L2
#define RPMH_REGULATOR_LEVEL_TURBO
#define RPMH_REGULATOR_LEVEL_TURBO_L0
#define RPMH_REGULATOR_LEVEL_TURBO_L1
#define RPMH_REGULATOR_LEVEL_TURBO_L2
#define RPMH_REGULATOR_LEVEL_TURBO_L3
#define RPMH_REGULATOR_LEVEL_SUPER_TURBO
#define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR

/* MDM9607 Power Domains */
#define MDM9607_VDDCX
#define MDM9607_VDDCX_AO
#define MDM9607_VDDCX_VFL
#define MDM9607_VDDMX
#define MDM9607_VDDMX_AO
#define MDM9607_VDDMX_VFL

/* MSM8226 Power Domain Indexes */
#define MSM8226_VDDCX
#define MSM8226_VDDCX_AO
#define MSM8226_VDDCX_VFC

/* MSM8939 Power Domains */
#define MSM8939_VDDMDCX
#define MSM8939_VDDMDCX_AO
#define MSM8939_VDDMDCX_VFC
#define MSM8939_VDDCX
#define MSM8939_VDDCX_AO
#define MSM8939_VDDCX_VFC
#define MSM8939_VDDMX
#define MSM8939_VDDMX_AO

/* MSM8916 Power Domain Indexes */
#define MSM8916_VDDCX
#define MSM8916_VDDCX_AO
#define MSM8916_VDDCX_VFC
#define MSM8916_VDDMX
#define MSM8916_VDDMX_AO

/* MSM8909 Power Domain Indexes */
#define MSM8909_VDDCX
#define MSM8909_VDDCX_AO
#define MSM8909_VDDCX_VFC
#define MSM8909_VDDMX
#define MSM8909_VDDMX_AO

/* MSM8917 Power Domain Indexes */
#define MSM8917_VDDCX
#define MSM8917_VDDCX_AO
#define MSM8917_VDDCX_VFL
#define MSM8917_VDDMX
#define MSM8917_VDDMX_AO

/* MSM8937 Power Domain Indexes */
#define MSM8937_VDDCX
#define MSM8937_VDDCX_AO
#define MSM8937_VDDCX_VFL
#define MSM8937_VDDMX
#define MSM8937_VDDMX_AO

/* QM215 Power Domain Indexes */
#define QM215_VDDCX
#define QM215_VDDCX_AO
#define QM215_VDDCX_VFL
#define QM215_VDDMX
#define QM215_VDDMX_AO

/* MSM8953 Power Domain Indexes */
#define MSM8953_VDDMD
#define MSM8953_VDDMD_AO
#define MSM8953_VDDCX
#define MSM8953_VDDCX_AO
#define MSM8953_VDDCX_VFL
#define MSM8953_VDDMX
#define MSM8953_VDDMX_AO

/* MSM8974 Power Domain Indexes */
#define MSM8974_VDDCX
#define MSM8974_VDDCX_AO
#define MSM8974_VDDCX_VFC
#define MSM8974_VDDGFX
#define MSM8974_VDDGFX_VFC

/* MSM8976 Power Domain Indexes */
#define MSM8976_VDDCX
#define MSM8976_VDDCX_AO
#define MSM8976_VDDCX_VFL
#define MSM8976_VDDMX
#define MSM8976_VDDMX_AO
#define MSM8976_VDDMX_VFL

/* MSM8994 Power Domain Indexes */
#define MSM8994_VDDCX
#define MSM8994_VDDCX_AO
#define MSM8994_VDDCX_VFC
#define MSM8994_VDDMX
#define MSM8994_VDDMX_AO
#define MSM8994_VDDGFX
#define MSM8994_VDDGFX_VFC

/* MSM8996 Power Domain Indexes */
#define MSM8996_VDDCX
#define MSM8996_VDDCX_AO
#define MSM8996_VDDCX_VFC
#define MSM8996_VDDMX
#define MSM8996_VDDMX_AO
#define MSM8996_VDDSSCX
#define MSM8996_VDDSSCX_VFC

/* MSM8998 Power Domain Indexes */
#define MSM8998_VDDCX
#define MSM8998_VDDCX_AO
#define MSM8998_VDDCX_VFL
#define MSM8998_VDDMX
#define MSM8998_VDDMX_AO
#define MSM8998_VDDMX_VFL
#define MSM8998_SSCCX
#define MSM8998_SSCCX_VFL
#define MSM8998_SSCMX
#define MSM8998_SSCMX_VFL

/* QCS404 Power Domains */
#define QCS404_VDDMX
#define QCS404_VDDMX_AO
#define QCS404_VDDMX_VFL
#define QCS404_LPICX
#define QCS404_LPICX_VFL
#define QCS404_LPIMX
#define QCS404_LPIMX_VFL

/* SDM660 Power Domains */
#define SDM660_VDDCX
#define SDM660_VDDCX_AO
#define SDM660_VDDCX_VFL
#define SDM660_VDDMX
#define SDM660_VDDMX_AO
#define SDM660_VDDMX_VFL
#define SDM660_SSCCX
#define SDM660_SSCCX_VFL
#define SDM660_SSCMX
#define SDM660_SSCMX_VFL

/* SM6115 Power Domains */
#define SM6115_VDDCX
#define SM6115_VDDCX_AO
#define SM6115_VDDCX_VFL
#define SM6115_VDDMX
#define SM6115_VDDMX_AO
#define SM6115_VDDMX_VFL
#define SM6115_VDD_LPI_CX
#define SM6115_VDD_LPI_MX

/* SM6125 Power Domains */
#define SM6125_VDDCX
#define SM6125_VDDCX_AO
#define SM6125_VDDCX_VFL
#define SM6125_VDDMX
#define SM6125_VDDMX_AO
#define SM6125_VDDMX_VFL

/* QCM2290 Power Domains */
#define QCM2290_VDDCX
#define QCM2290_VDDCX_AO
#define QCM2290_VDDCX_VFL
#define QCM2290_VDDMX
#define QCM2290_VDDMX_AO
#define QCM2290_VDDMX_VFL
#define QCM2290_VDD_LPI_CX
#define QCM2290_VDD_LPI_MX

/* RPM SMD Power Domain performance levels */
#define RPM_SMD_LEVEL_RETENTION
#define RPM_SMD_LEVEL_RETENTION_PLUS
#define RPM_SMD_LEVEL_MIN_SVS
#define RPM_SMD_LEVEL_LOW_SVS
#define RPM_SMD_LEVEL_SVS
#define RPM_SMD_LEVEL_SVS_PLUS
#define RPM_SMD_LEVEL_NOM
#define RPM_SMD_LEVEL_NOM_PLUS
#define RPM_SMD_LEVEL_TURBO
#define RPM_SMD_LEVEL_TURBO_NO_CPR
#define RPM_SMD_LEVEL_TURBO_HIGH
#define RPM_SMD_LEVEL_BINNING

#endif