virtio_regulator.h 959 B

12345678910111213141516171819202122232425262728293031323334
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. */
  3. #ifndef _LINUX_VIRTIO_REGULATOR_H
  4. #define _LINUX_VIRTIO_REGULATOR_H
  5. #include <linux/types.h>
  6. #include <linux/virtio_ids.h>
  7. #include <linux/virtio_config.h>
  8. #include <linux/virtio_types.h>
  9. /* Request/response message format */
  10. struct virtio_regulator_msg {
  11. u8 name[20];
  12. __virtio32 type;
  13. __virtio32 result;
  14. __virtio32 data[4];
  15. };
  16. /* Virtio ID of regulator : 0xC001 */
  17. #define VIRTIO_ID_REGULATOR 49153
  18. /* Request type */
  19. #define VIRTIO_REGULATOR_T_ENABLE 0
  20. #define VIRTIO_REGULATOR_T_DISABLE 1
  21. #define VIRTIO_REGULATOR_T_SET_VOLTAGE 2
  22. #define VIRTIO_REGULATOR_T_GET_VOLTAGE 3
  23. #define VIRTIO_REGULATOR_T_SET_CURRENT_LIMIT 4
  24. #define VIRTIO_REGULATOR_T_GET_CURRENT_LIMIT 5
  25. #define VIRTIO_REGULATOR_T_SET_MODE 6
  26. #define VIRTIO_REGULATOR_T_GET_MODE 7
  27. #define VIRTIO_REGULATOR_T_SET_LOAD 8
  28. #endif /* _LINUX_VIRTIO_REGULATOR_H */