act8865.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * act8865.h -- Voltage regulation for active-semi act88xx PMUs
  4. *
  5. * Copyright (C) 2013 Atmel Corporation.
  6. */
  7. #ifndef __LINUX_REGULATOR_ACT8865_H
  8. #define __LINUX_REGULATOR_ACT8865_H
  9. #include <linux/regulator/machine.h>
  10. enum {
  11. ACT8600_ID_DCDC1,
  12. ACT8600_ID_DCDC2,
  13. ACT8600_ID_DCDC3,
  14. ACT8600_ID_SUDCDC4,
  15. ACT8600_ID_LDO5,
  16. ACT8600_ID_LDO6,
  17. ACT8600_ID_LDO7,
  18. ACT8600_ID_LDO8,
  19. ACT8600_ID_LDO9,
  20. ACT8600_ID_LDO10,
  21. };
  22. enum {
  23. ACT8865_ID_DCDC1,
  24. ACT8865_ID_DCDC2,
  25. ACT8865_ID_DCDC3,
  26. ACT8865_ID_LDO1,
  27. ACT8865_ID_LDO2,
  28. ACT8865_ID_LDO3,
  29. ACT8865_ID_LDO4,
  30. ACT8865_REG_NUM,
  31. };
  32. enum {
  33. ACT8846_ID_REG1,
  34. ACT8846_ID_REG2,
  35. ACT8846_ID_REG3,
  36. ACT8846_ID_REG4,
  37. ACT8846_ID_REG5,
  38. ACT8846_ID_REG6,
  39. ACT8846_ID_REG7,
  40. ACT8846_ID_REG8,
  41. ACT8846_ID_REG9,
  42. ACT8846_ID_REG10,
  43. ACT8846_ID_REG11,
  44. ACT8846_ID_REG12,
  45. ACT8846_REG_NUM,
  46. };
  47. enum {
  48. ACT8600,
  49. ACT8865,
  50. ACT8846,
  51. };
  52. /**
  53. * act8865_regulator_data - regulator data
  54. * @id: regulator id
  55. * @name: regulator name
  56. * @init_data: regulator init data
  57. * @of_node: device tree node (optional)
  58. */
  59. struct act8865_regulator_data {
  60. int id;
  61. const char *name;
  62. struct regulator_init_data *init_data;
  63. struct device_node *of_node;
  64. };
  65. /**
  66. * act8865_platform_data - platform data for act8865
  67. * @num_regulators: number of regulators used
  68. * @regulators: pointer to regulators used
  69. */
  70. struct act8865_platform_data {
  71. int num_regulators;
  72. struct act8865_regulator_data *regulators;
  73. };
  74. #endif