vdd-level-cpu.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /* Copyright (c) 2021, The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
  4. */
  5. #ifndef __DRIVERS_CLK_QCOM_VDD_LEVEL_CPU_H
  6. #define __DRIVERS_CLK_QCOM_VDD_LEVEL_CPU_H
  7. #include <linux/regulator/consumer.h>
  8. #include <dt-bindings/regulator/qcom,rpm-smd-regulator.h>
  9. #include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
  10. enum vdd_levels {
  11. VDD_NONE,
  12. VDD_MIN, /* MIN_SVS */
  13. VDD_LOWER, /* LOW_SVS / SVS2 */
  14. VDD_LOW, /* SVS */
  15. VDD_LOW_L1, /* SVS_L1 */
  16. VDD_NOMINAL, /* NOM */
  17. VDD_HIGH, /* TURBO */
  18. VDD_NUM,
  19. };
  20. static int vdd_corner[] = {
  21. [VDD_NONE] = 0,
  22. [VDD_MIN] = RPMH_REGULATOR_LEVEL_MIN_SVS,
  23. [VDD_LOWER] = RPMH_REGULATOR_LEVEL_LOW_SVS,
  24. [VDD_LOW] = RPMH_REGULATOR_LEVEL_SVS,
  25. [VDD_LOW_L1] = RPMH_REGULATOR_LEVEL_SVS_L1,
  26. [VDD_NOMINAL] = RPMH_REGULATOR_LEVEL_NOM,
  27. [VDD_HIGH] = RPMH_REGULATOR_LEVEL_TURBO,
  28. };
  29. enum vdd_hf_pll_levels {
  30. VDD_HF_PLL_OFF,
  31. VDD_HF_PLL_SVS,
  32. VDD_HF_PLL_NOM,
  33. VDD_HF_PLL_TUR,
  34. VDD_HF_PLL_NUM,
  35. };
  36. static int vdd_hf_levels[] = {
  37. 0, 0, /* VDD_HF_PLL_OFF */
  38. 1800000, RPM_SMD_REGULATOR_LEVEL_SVS, /* VDD_HF_PLL_SVS */
  39. 1800000, RPM_SMD_REGULATOR_LEVEL_NOM, /* VDD_HF_PLL_NOM */
  40. 1800000, RPM_SMD_REGULATOR_LEVEL_TURBO, /* VDD_HF_PLL_TUR */
  41. };
  42. #endif