sps_map.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2011, 2013, 2016-2019, 2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. /* SPS driver mapping table data declarations. */
  7. #ifndef _SPS_MAP_H_
  8. #define _SPS_MAP_H_
  9. #include <linux/types.h>
  10. /* End point parameters */
  11. struct sps_map_end_point {
  12. u32 periph_class; /* Peripheral device enumeration class */
  13. phys_addr_t periph_phy_addr; /* Peripheral base address */
  14. u32 pipe_index; /* Pipe index */
  15. u32 event_thresh; /* Pipe event threshold */
  16. };
  17. /* Mapping connection descriptor */
  18. struct sps_map {
  19. /* Source end point parameters */
  20. struct sps_map_end_point src;
  21. /* Destination end point parameters */
  22. struct sps_map_end_point dest;
  23. /* Resource parameters */
  24. u32 config; /* Configuration (stream) identifier */
  25. phys_addr_t desc_base; /* Physical address of descriptor FIFO */
  26. u32 desc_size; /* Size (bytes) of descriptor FIFO */
  27. phys_addr_t data_base; /* Physical address of data FIFO */
  28. u32 data_size; /* Size (bytes) of data FIFO */
  29. };
  30. #endif /* _SPS_MAP_H_ */