logicvc_of.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2019-2022 Bootlin
  4. * Author: Paul Kocialkowski <[email protected]>
  5. */
  6. #ifndef _LOGICVC_OF_H_
  7. #define _LOGICVC_OF_H_
  8. enum logicvc_of_property_index {
  9. LOGICVC_OF_PROPERTY_DISPLAY_INTERFACE = 0,
  10. LOGICVC_OF_PROPERTY_DISPLAY_COLORSPACE,
  11. LOGICVC_OF_PROPERTY_DISPLAY_DEPTH,
  12. LOGICVC_OF_PROPERTY_ROW_STRIDE,
  13. LOGICVC_OF_PROPERTY_DITHERING,
  14. LOGICVC_OF_PROPERTY_BACKGROUND_LAYER,
  15. LOGICVC_OF_PROPERTY_LAYERS_CONFIGURABLE,
  16. LOGICVC_OF_PROPERTY_LAYERS_COUNT,
  17. LOGICVC_OF_PROPERTY_LAYER_DEPTH,
  18. LOGICVC_OF_PROPERTY_LAYER_COLORSPACE,
  19. LOGICVC_OF_PROPERTY_LAYER_ALPHA_MODE,
  20. LOGICVC_OF_PROPERTY_LAYER_BASE_OFFSET,
  21. LOGICVC_OF_PROPERTY_LAYER_BUFFER_OFFSET,
  22. LOGICVC_OF_PROPERTY_LAYER_PRIMARY,
  23. LOGICVC_OF_PROPERTY_MAXIMUM,
  24. };
  25. struct logicvc_of_property_sv {
  26. const char *string;
  27. u32 value;
  28. };
  29. struct logicvc_of_property {
  30. char *name;
  31. bool optional;
  32. struct logicvc_of_property_sv *sv;
  33. u32 range[2];
  34. };
  35. int logicvc_of_property_parse_u32(struct device_node *of_node,
  36. unsigned int index, u32 *target);
  37. void logicvc_of_property_parse_bool(struct device_node *of_node,
  38. unsigned int index, bool *target);
  39. bool logicvc_of_node_is_layer(struct device_node *of_node);
  40. #endif