ak5558.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0
  2. *
  3. * Audio driver header for AK5558
  4. *
  5. * Copyright (C) 2016 Asahi Kasei Microdevices Corporation
  6. * Copyright 2018 NXP
  7. */
  8. #ifndef _AK5558_H
  9. #define _AK5558_H
  10. #define AK5558_00_POWER_MANAGEMENT1 0x00
  11. #define AK5558_01_POWER_MANAGEMENT2 0x01
  12. #define AK5558_02_CONTROL1 0x02
  13. #define AK5558_03_CONTROL2 0x03
  14. #define AK5558_04_CONTROL3 0x04
  15. #define AK5558_05_DSD 0x05
  16. /* AK5558_02_CONTROL1 fields */
  17. #define AK5558_DIF GENMASK(1, 1)
  18. #define AK5558_DIF_MSB_MODE (0 << 1)
  19. #define AK5558_DIF_I2S_MODE (1 << 1)
  20. #define AK5558_BITS GENMASK(2, 2)
  21. #define AK5558_DIF_24BIT_MODE (0 << 2)
  22. #define AK5558_DIF_32BIT_MODE (1 << 2)
  23. #define AK5558_CKS GENMASK(6, 3)
  24. #define AK5558_CKS_128FS_192KHZ (0 << 3)
  25. #define AK5558_CKS_192FS_192KHZ (1 << 3)
  26. #define AK5558_CKS_256FS_48KHZ (2 << 3)
  27. #define AK5558_CKS_256FS_96KHZ (3 << 3)
  28. #define AK5558_CKS_384FS_96KHZ (4 << 3)
  29. #define AK5558_CKS_384FS_48KHZ (5 << 3)
  30. #define AK5558_CKS_512FS_48KHZ (6 << 3)
  31. #define AK5558_CKS_768FS_48KHZ (7 << 3)
  32. #define AK5558_CKS_64FS_384KHZ (8 << 3)
  33. #define AK5558_CKS_32FS_768KHZ (9 << 3)
  34. #define AK5558_CKS_96FS_384KHZ (10 << 3)
  35. #define AK5558_CKS_48FS_768KHZ (11 << 3)
  36. #define AK5558_CKS_64FS_768KHZ (12 << 3)
  37. #define AK5558_CKS_1024FS_16KHZ (13 << 3)
  38. #define AK5558_CKS_AUTO (15 << 3)
  39. /* AK5558_03_CONTROL2 fields */
  40. #define AK5558_MODE_BITS GENMASK(6, 5)
  41. #define AK5558_MODE_NORMAL (0 << 5)
  42. #define AK5558_MODE_TDM128 (1 << 5)
  43. #define AK5558_MODE_TDM256 (2 << 5)
  44. #define AK5558_MODE_TDM512 (3 << 5)
  45. #endif