rt5670-dsp.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * rt5670-dsp.h -- RT5670 ALSA SoC DSP driver
  4. *
  5. * Copyright 2014 Realtek Microelectronics
  6. * Author: Bard Liao <bardliao@realtek.com>
  7. */
  8. #ifndef __RT5670_DSP_H__
  9. #define __RT5670_DSP_H__
  10. #define RT5670_DSP_CTRL1 0xe0
  11. #define RT5670_DSP_CTRL2 0xe1
  12. #define RT5670_DSP_CTRL3 0xe2
  13. #define RT5670_DSP_CTRL4 0xe3
  14. #define RT5670_DSP_CTRL5 0xe4
  15. /* DSP Control 1 (0xe0) */
  16. #define RT5670_DSP_CMD_MASK (0xff << 8)
  17. #define RT5670_DSP_CMD_PE (0x0d << 8) /* Patch Entry */
  18. #define RT5670_DSP_CMD_MW (0x3b << 8) /* Memory Write */
  19. #define RT5670_DSP_CMD_MR (0x37 << 8) /* Memory Read */
  20. #define RT5670_DSP_CMD_RR (0x60 << 8) /* Register Read */
  21. #define RT5670_DSP_CMD_RW (0x68 << 8) /* Register Write */
  22. #define RT5670_DSP_REG_DATHI (0x26 << 8) /* High Data Addr */
  23. #define RT5670_DSP_REG_DATLO (0x25 << 8) /* Low Data Addr */
  24. #define RT5670_DSP_CLK_MASK (0x3 << 6)
  25. #define RT5670_DSP_CLK_SFT 6
  26. #define RT5670_DSP_CLK_768K (0x0 << 6)
  27. #define RT5670_DSP_CLK_384K (0x1 << 6)
  28. #define RT5670_DSP_CLK_192K (0x2 << 6)
  29. #define RT5670_DSP_CLK_96K (0x3 << 6)
  30. #define RT5670_DSP_BUSY_MASK (0x1 << 5)
  31. #define RT5670_DSP_RW_MASK (0x1 << 4)
  32. #define RT5670_DSP_DL_MASK (0x3 << 2)
  33. #define RT5670_DSP_DL_0 (0x0 << 2)
  34. #define RT5670_DSP_DL_1 (0x1 << 2)
  35. #define RT5670_DSP_DL_2 (0x2 << 2)
  36. #define RT5670_DSP_DL_3 (0x3 << 2)
  37. #define RT5670_DSP_I2C_AL_16 (0x1 << 1)
  38. #define RT5670_DSP_CMD_EN (0x1)
  39. struct rt5670_dsp_param {
  40. u16 cmd_fmt;
  41. u16 addr;
  42. u16 data;
  43. u8 cmd;
  44. };
  45. #endif /* __RT5670_DSP_H__ */