msm-camera.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef __MSM_CAMERA_H
  7. #define __MSM_CAMERA_H
  8. /* CPAS path data types */
  9. #define CAM_CPAS_PATH_DATA_IFE_START_OFFSET 0
  10. #define CAM_CPAS_PATH_DATA_IFE_LINEAR (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 0)
  11. #define CAM_CPAS_PATH_DATA_IFE_VID (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 1)
  12. #define CAM_CPAS_PATH_DATA_IFE_DISP (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 2)
  13. #define CAM_CPAS_PATH_DATA_IFE_STATS (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 3)
  14. #define CAM_CPAS_PATH_DATA_IFE_RDI0 (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 4)
  15. #define CAM_CPAS_PATH_DATA_IFE_RDI1 (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 5)
  16. #define CAM_CPAS_PATH_DATA_IFE_RDI2 (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 6)
  17. #define CAM_CPAS_PATH_DATA_IFE_RDI3 (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 7)
  18. #define CAM_CPAS_PATH_DATA_IFE_PDAF (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 8)
  19. #define CAM_CPAS_PATH_DATA_IFE_PIXEL_RAW \
  20. (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 9)
  21. #define CAM_CPAS_PATH_DATA_IFE_MAX_OFFSET \
  22. (CAM_CPAS_PATH_DATA_IFE_START_OFFSET + 31)
  23. #define CAM_CPAS_PATH_DATA_IPE_START_OFFSET 32
  24. #define CAM_CPAS_PATH_DATA_IPE_RD_IN (CAM_CPAS_PATH_DATA_IPE_START_OFFSET + 0)
  25. #define CAM_CPAS_PATH_DATA_IPE_RD_REF (CAM_CPAS_PATH_DATA_IPE_START_OFFSET + 1)
  26. #define CAM_CPAS_PATH_DATA_IPE_WR_VID (CAM_CPAS_PATH_DATA_IPE_START_OFFSET + 2)
  27. #define CAM_CPAS_PATH_DATA_IPE_WR_DISP (CAM_CPAS_PATH_DATA_IPE_START_OFFSET + 3)
  28. #define CAM_CPAS_PATH_DATA_IPE_WR_REF (CAM_CPAS_PATH_DATA_IPE_START_OFFSET + 4)
  29. #define CAM_CPAS_PATH_DATA_IPE_MAX_OFFSET \
  30. (CAM_CPAS_PATH_DATA_IPE_START_OFFSET + 31)
  31. #define CAM_CPAS_PATH_DATA_OPE_START_OFFSET 64
  32. #define CAM_CPAS_PATH_DATA_OPE_RD_IN (CAM_CPAS_PATH_DATA_OPE_START_OFFSET + 0)
  33. #define CAM_CPAS_PATH_DATA_OPE_RD_REF (CAM_CPAS_PATH_DATA_OPE_START_OFFSET + 1)
  34. #define CAM_CPAS_PATH_DATA_OPE_WR_VID (CAM_CPAS_PATH_DATA_OPE_START_OFFSET + 2)
  35. #define CAM_CPAS_PATH_DATA_OPE_WR_DISP (CAM_CPAS_PATH_DATA_OPE_START_OFFSET + 3)
  36. #define CAM_CPAS_PATH_DATA_OPE_WR_REF (CAM_CPAS_PATH_DATA_OPE_START_OFFSET + 4)
  37. #define CAM_CPAS_PATH_DATA_OPE_MAX_OFFSET \
  38. (CAM_CPAS_PATH_DATA_OPE_START_OFFSET + 31)
  39. #define CAM_CPAS_PATH_DATA_SFE_START_OFFSET 96
  40. #define CAM_CPAS_PATH_DATA_SFE_NRDI (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 0)
  41. #define CAM_CPAS_PATH_DATA_SFE_RDI0 (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 1)
  42. #define CAM_CPAS_PATH_DATA_SFE_RDI1 (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 2)
  43. #define CAM_CPAS_PATH_DATA_SFE_RDI2 (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 3)
  44. #define CAM_CPAS_PATH_DATA_SFE_RDI3 (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 4)
  45. #define CAM_CPAS_PATH_DATA_SFE_RDI4 (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 5)
  46. #define CAM_CPAS_PATH_DATA_SFE_STATS (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 6)
  47. #define CAM_CPAS_PATH_DATA_SFE_MAX_OFFSET \
  48. (CAM_CPAS_PATH_DATA_SFE_START_OFFSET + 31)
  49. #define CAM_CPAS_PATH_DATA_CRE_START_OFFSET (CAM_CPAS_PATH_DATA_SFE_MAX_OFFSET + 1)
  50. #define CAM_CPAS_PATH_DATA_CRE_RD_IN (CAM_CPAS_PATH_DATA_CRE_START_OFFSET + 0)
  51. #define CAM_CPAS_PATH_DATA_CRE_WR_OUT (CAM_CPAS_PATH_DATA_CRE_START_OFFSET + 1)
  52. #define CAM_CPAS_PATH_DATA_CRE_MAX_OFFSET \
  53. (CAM_CPAS_PATH_DATA_CRE_START_OFFSET + 31)
  54. #define CAM_CPAS_PATH_DATA_CONSO_OFFSET 256
  55. #define CAM_CPAS_PATH_DATA_ALL (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 0)
  56. /* IFE consolidated paths */
  57. #define CAM_CPAS_PATH_DATA_IFE_LINEAR_PDAF (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 1)
  58. #define CAM_CPAS_PATH_DATA_IFE_UBWC_STATS (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 2)
  59. #define CAM_CPAS_PATH_DATA_IFE_PIXEL_ALL (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 3)
  60. #define CAM_CPAS_PATH_DATA_IFE_RDI_PIXEL_RAW (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 4)
  61. #define CAM_CPAS_PATH_DATA_IFE_RDI_ALL (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 5)
  62. #define CAM_CPAS_PATH_DATA_IFE_UBWC (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 6)
  63. #define CAM_CPAS_PATH_DATA_IFE_LINEAR_STATS (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 7)
  64. #define CAM_CPAS_PATH_DATA_IFE_UBWC_LINEAR (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 8)
  65. #define CAM_CPAS_PATH_DATA_IFE_PDAF_LINEAR (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 9)
  66. /* IPE Consolidated paths */
  67. #define CAM_CPAS_PATH_DATA_IPE_WR_VID_DISP (CAM_CPAS_PATH_DATA_CONSO_OFFSET + 1)
  68. /* CPAS transaction types */
  69. #define CAM_CPAS_TRANSACTION_READ 0
  70. #define CAM_CPAS_TRANSACTION_WRITE 1
  71. /* CPAS traffic merge types */
  72. #define CAM_CPAS_TRAFFIC_MERGE_SUM 0
  73. #define CAM_CPAS_TRAFFIC_MERGE_SUM_INTERLEAVE 1
  74. /* Feature bit type */
  75. #define CAM_CPAS_FEATURE_TYPE_DISABLE 0
  76. #define CAM_CPAS_FEATURE_TYPE_ENABLE 1
  77. #define CAM_CPAS_FEATURE_TYPE_VALUE 2
  78. /* Feature support bit positions in feature fuse register*/
  79. #define CAM_CPAS_QCFA_BINNING_ENABLE 0
  80. #define CAM_CPAS_SECURE_CAMERA_ENABLE 1
  81. #define CAM_CPAS_MF_HDR_ENABLE 2
  82. #define CAM_CPAS_MP_LIMIT_FUSE 3
  83. #define CAM_CPAS_ISP_FUSE 4
  84. #define CAM_CPAS_ISP_PIX_FUSE 5
  85. #define CAM_CPAS_ISP_LITE_FUSE 6
  86. #define CAM_CPAS_CSIPHY_FUSE 7
  87. #define CAM_CPAS_IPE_VID_OUT_8BPP_LIMIT_ENABLE 8
  88. #define CAM_CPAS_FUSE_FEATURE_MAX 9
  89. #define CCI_MASTER_0 0
  90. #define CCI_MASTER_1 1
  91. #define CCI_MASTER_MAX 2
  92. /* AON Camera IDs*/
  93. #define AON_CAM1 0
  94. #define AON_CAM2 1
  95. #define MAX_AON_CAM 2
  96. #define NOT_AON_CAM 255
  97. /* Camera DRV enable masks */
  98. #define CAM_DDR_DRV 0x1
  99. /* Port index for BW voting */
  100. #define CAM_CPAS_PORT_HLOS_DRV 0
  101. #define CAM_CPAS_PORT_DRV_0 1
  102. #define CAM_CPAS_PORT_DRV_1 2
  103. #define CAM_CPAS_PORT_DRV_2 3
  104. #define CAM_CPAS_PORT_DRV_DYN 32
  105. /* Domain ID types */
  106. #define CAM_CPAS_SECURE_DOMAIN 0
  107. #define CAM_CPAS_NON_SECURE_DOMAIN 1
  108. #endif