stf_isp_ycrv_rdma.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /**
  2. ******************************************************************************
  3. * @file stf_isp_ycrv_rdma.h
  4. * @author StarFive Isp Team
  5. * @version V1.0
  6. * @date 12/14/2019
  7. * @brief
  8. ******************************************************************************
  9. * @copy
  10. *
  11. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  12. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  13. * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
  14. * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  15. * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  16. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  17. *
  18. * Copyright (C) 2019 - 2022 StarFive Technology Co., Ltd.
  19. */
  20. #ifndef __STF_ISP_YCRV_RDMA_H__
  21. #define __STF_ISP_YCRV_RDMA_H__
  22. #include "registers/stf_isp_rdma.h"
  23. /* add y curve registers structure */
  24. #define YCRV_PNT (64)
  25. #define YCRV_MAX_VALUE (1 << 10)
  26. typedef struct _ST_YCRV_REG {
  27. REG_YCURVE_0 YCurve[YCRV_PNT]; // 0x0F00 - 0x0FFF, Y Curve PARAM table Register 0 - 63, Format: 0.10.0.
  28. } ST_YCRV_REG, *PST_YCRV_REG;
  29. #define ST_YCRV_REG_SIZE (sizeof(ST_YCRV_REG))
  30. #define ST_YCRV_REG_LEN (ST_YCRV_REG_SIZE / sizeof(STF_U32))
  31. #pragma pack(push, 8)
  32. typedef struct _ST_YCRV_RDMA {
  33. #if defined(SUPPORT_RDMA_FEATURE)
  34. ST_RDMA_CMD stRdmaStartCmd __attribute__ ((aligned (8)));
  35. #endif //SUPPORT_RDMA_FEATURE
  36. ST_YCRV_REG stYCrvReg __attribute__ ((aligned (8)));
  37. #if defined(SUPPORT_RDMA_FEATURE)
  38. ST_RDMA_CMD stRdmaEndCmd __attribute__ ((aligned (8)));
  39. #endif //SUPPORT_RDMA_FEATURE
  40. } ST_YCRV_RDMA, *PST_YCRV_RDMA;
  41. #define ST_YCRV_RDMA_SIZE (sizeof(ST_YCRV_RDMA))
  42. #define ST_YCRV_RDMA_LEN (ST_YCRV_RDMA_SIZE / (sizeof(STF_U32) * 2))
  43. typedef struct _ST_ISP_YCRV_RDMA {
  44. STF_U8 u8IspIdx;
  45. ST_YCRV_RDMA stYCrvRdma __attribute__ ((aligned (8)));
  46. } ST_ISP_YCRV_RDMA, *PST_ISP_YCRV_RDMA;
  47. #pragma pack(pop)
  48. ///* y curve registers interface */
  49. ////-----------------------------------------------------------------------------
  50. //extern
  51. //STF_VOID STFHAL_ISP_YCRV_SetReg(
  52. // STF_U8 u8IspIdx,
  53. // ST_YCRV_RDMA *pstYCrvRdma
  54. // );
  55. ////-----------------------------------------------------------------------------
  56. //
  57. //
  58. #endif //__STF_ISP_YCRV_RDMA_H__