lochnagar1_regs.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Lochnagar1 register definitions
  4. *
  5. * Copyright (c) 2017-2018 Cirrus Logic, Inc. and
  6. * Cirrus Logic International Semiconductor Ltd.
  7. *
  8. * Author: Charles Keepax <[email protected]>
  9. */
  10. #ifndef LOCHNAGAR1_REGISTERS_H
  11. #define LOCHNAGAR1_REGISTERS_H
  12. /* Register Addresses */
  13. #define LOCHNAGAR1_CDC_AIF1_SEL 0x0008
  14. #define LOCHNAGAR1_CDC_AIF2_SEL 0x0009
  15. #define LOCHNAGAR1_CDC_AIF3_SEL 0x000A
  16. #define LOCHNAGAR1_CDC_MCLK1_SEL 0x000B
  17. #define LOCHNAGAR1_CDC_MCLK2_SEL 0x000C
  18. #define LOCHNAGAR1_CDC_AIF_CTRL1 0x000D
  19. #define LOCHNAGAR1_CDC_AIF_CTRL2 0x000E
  20. #define LOCHNAGAR1_EXT_AIF_CTRL 0x000F
  21. #define LOCHNAGAR1_DSP_AIF1_SEL 0x0010
  22. #define LOCHNAGAR1_DSP_AIF2_SEL 0x0011
  23. #define LOCHNAGAR1_DSP_CLKIN_SEL 0x0012
  24. #define LOCHNAGAR1_DSP_AIF 0x0013
  25. #define LOCHNAGAR1_GF_AIF1 0x0014
  26. #define LOCHNAGAR1_GF_AIF2 0x0015
  27. #define LOCHNAGAR1_PSIA_AIF 0x0016
  28. #define LOCHNAGAR1_PSIA1_SEL 0x0017
  29. #define LOCHNAGAR1_PSIA2_SEL 0x0018
  30. #define LOCHNAGAR1_SPDIF_AIF_SEL 0x0019
  31. #define LOCHNAGAR1_GF_AIF3_SEL 0x001C
  32. #define LOCHNAGAR1_GF_AIF4_SEL 0x001D
  33. #define LOCHNAGAR1_GF_CLKOUT1_SEL 0x001E
  34. #define LOCHNAGAR1_GF_AIF1_SEL 0x001F
  35. #define LOCHNAGAR1_GF_AIF2_SEL 0x0020
  36. #define LOCHNAGAR1_GF_GPIO2 0x0026
  37. #define LOCHNAGAR1_GF_GPIO3 0x0027
  38. #define LOCHNAGAR1_GF_GPIO7 0x0028
  39. #define LOCHNAGAR1_RST 0x0029
  40. #define LOCHNAGAR1_LED1 0x002A
  41. #define LOCHNAGAR1_LED2 0x002B
  42. #define LOCHNAGAR1_I2C_CTRL 0x0046
  43. /*
  44. * (0x0008 - 0x000C, 0x0010 - 0x0012, 0x0017 - 0x0020)
  45. * CDC_AIF1_SEL - GF_AIF2_SEL
  46. */
  47. #define LOCHNAGAR1_SRC_MASK 0xFF
  48. #define LOCHNAGAR1_SRC_SHIFT 0
  49. /* (0x000D) CDC_AIF_CTRL1 */
  50. #define LOCHNAGAR1_CDC_AIF2_LRCLK_DIR_MASK 0x40
  51. #define LOCHNAGAR1_CDC_AIF2_LRCLK_DIR_SHIFT 6
  52. #define LOCHNAGAR1_CDC_AIF2_BCLK_DIR_MASK 0x20
  53. #define LOCHNAGAR1_CDC_AIF2_BCLK_DIR_SHIFT 5
  54. #define LOCHNAGAR1_CDC_AIF2_ENA_MASK 0x10
  55. #define LOCHNAGAR1_CDC_AIF2_ENA_SHIFT 4
  56. #define LOCHNAGAR1_CDC_AIF1_LRCLK_DIR_MASK 0x04
  57. #define LOCHNAGAR1_CDC_AIF1_LRCLK_DIR_SHIFT 2
  58. #define LOCHNAGAR1_CDC_AIF1_BCLK_DIR_MASK 0x02
  59. #define LOCHNAGAR1_CDC_AIF1_BCLK_DIR_SHIFT 1
  60. #define LOCHNAGAR1_CDC_AIF1_ENA_MASK 0x01
  61. #define LOCHNAGAR1_CDC_AIF1_ENA_SHIFT 0
  62. /* (0x000E) CDC_AIF_CTRL2 */
  63. #define LOCHNAGAR1_CDC_AIF3_LRCLK_DIR_MASK 0x40
  64. #define LOCHNAGAR1_CDC_AIF3_LRCLK_DIR_SHIFT 6
  65. #define LOCHNAGAR1_CDC_AIF3_BCLK_DIR_MASK 0x20
  66. #define LOCHNAGAR1_CDC_AIF3_BCLK_DIR_SHIFT 5
  67. #define LOCHNAGAR1_CDC_AIF3_ENA_MASK 0x10
  68. #define LOCHNAGAR1_CDC_AIF3_ENA_SHIFT 4
  69. #define LOCHNAGAR1_CDC_MCLK1_ENA_MASK 0x02
  70. #define LOCHNAGAR1_CDC_MCLK1_ENA_SHIFT 1
  71. #define LOCHNAGAR1_CDC_MCLK2_ENA_MASK 0x01
  72. #define LOCHNAGAR1_CDC_MCLK2_ENA_SHIFT 0
  73. /* (0x000F) EXT_AIF_CTRL */
  74. #define LOCHNAGAR1_SPDIF_AIF_LRCLK_DIR_MASK 0x20
  75. #define LOCHNAGAR1_SPDIF_AIF_LRCLK_DIR_SHIFT 5
  76. #define LOCHNAGAR1_SPDIF_AIF_BCLK_DIR_MASK 0x10
  77. #define LOCHNAGAR1_SPDIF_AIF_BCLK_DIR_SHIFT 4
  78. #define LOCHNAGAR1_SPDIF_AIF_ENA_MASK 0x08
  79. #define LOCHNAGAR1_SPDIF_AIF_ENA_SHIFT 3
  80. /* (0x0013) DSP_AIF */
  81. #define LOCHNAGAR1_DSP_AIF2_LRCLK_DIR_MASK 0x40
  82. #define LOCHNAGAR1_DSP_AIF2_LRCLK_DIR_SHIFT 6
  83. #define LOCHNAGAR1_DSP_AIF2_BCLK_DIR_MASK 0x20
  84. #define LOCHNAGAR1_DSP_AIF2_BCLK_DIR_SHIFT 5
  85. #define LOCHNAGAR1_DSP_AIF2_ENA_MASK 0x10
  86. #define LOCHNAGAR1_DSP_AIF2_ENA_SHIFT 4
  87. #define LOCHNAGAR1_DSP_CLKIN_ENA_MASK 0x08
  88. #define LOCHNAGAR1_DSP_CLKIN_ENA_SHIFT 3
  89. #define LOCHNAGAR1_DSP_AIF1_LRCLK_DIR_MASK 0x04
  90. #define LOCHNAGAR1_DSP_AIF1_LRCLK_DIR_SHIFT 2
  91. #define LOCHNAGAR1_DSP_AIF1_BCLK_DIR_MASK 0x02
  92. #define LOCHNAGAR1_DSP_AIF1_BCLK_DIR_SHIFT 1
  93. #define LOCHNAGAR1_DSP_AIF1_ENA_MASK 0x01
  94. #define LOCHNAGAR1_DSP_AIF1_ENA_SHIFT 0
  95. /* (0x0014) GF_AIF1 */
  96. #define LOCHNAGAR1_GF_CLKOUT1_ENA_MASK 0x40
  97. #define LOCHNAGAR1_GF_CLKOUT1_ENA_SHIFT 6
  98. #define LOCHNAGAR1_GF_AIF3_LRCLK_DIR_MASK 0x20
  99. #define LOCHNAGAR1_GF_AIF3_LRCLK_DIR_SHIFT 5
  100. #define LOCHNAGAR1_GF_AIF3_BCLK_DIR_MASK 0x10
  101. #define LOCHNAGAR1_GF_AIF3_BCLK_DIR_SHIFT 4
  102. #define LOCHNAGAR1_GF_AIF3_ENA_MASK 0x08
  103. #define LOCHNAGAR1_GF_AIF3_ENA_SHIFT 3
  104. #define LOCHNAGAR1_GF_AIF1_LRCLK_DIR_MASK 0x04
  105. #define LOCHNAGAR1_GF_AIF1_LRCLK_DIR_SHIFT 2
  106. #define LOCHNAGAR1_GF_AIF1_BCLK_DIR_MASK 0x02
  107. #define LOCHNAGAR1_GF_AIF1_BCLK_DIR_SHIFT 1
  108. #define LOCHNAGAR1_GF_AIF1_ENA_MASK 0x01
  109. #define LOCHNAGAR1_GF_AIF1_ENA_SHIFT 0
  110. /* (0x0015) GF_AIF2 */
  111. #define LOCHNAGAR1_GF_AIF4_LRCLK_DIR_MASK 0x20
  112. #define LOCHNAGAR1_GF_AIF4_LRCLK_DIR_SHIFT 5
  113. #define LOCHNAGAR1_GF_AIF4_BCLK_DIR_MASK 0x10
  114. #define LOCHNAGAR1_GF_AIF4_BCLK_DIR_SHIFT 4
  115. #define LOCHNAGAR1_GF_AIF4_ENA_MASK 0x08
  116. #define LOCHNAGAR1_GF_AIF4_ENA_SHIFT 3
  117. #define LOCHNAGAR1_GF_AIF2_LRCLK_DIR_MASK 0x04
  118. #define LOCHNAGAR1_GF_AIF2_LRCLK_DIR_SHIFT 2
  119. #define LOCHNAGAR1_GF_AIF2_BCLK_DIR_MASK 0x02
  120. #define LOCHNAGAR1_GF_AIF2_BCLK_DIR_SHIFT 1
  121. #define LOCHNAGAR1_GF_AIF2_ENA_MASK 0x01
  122. #define LOCHNAGAR1_GF_AIF2_ENA_SHIFT 0
  123. /* (0x0016) PSIA_AIF */
  124. #define LOCHNAGAR1_PSIA2_LRCLK_DIR_MASK 0x40
  125. #define LOCHNAGAR1_PSIA2_LRCLK_DIR_SHIFT 6
  126. #define LOCHNAGAR1_PSIA2_BCLK_DIR_MASK 0x20
  127. #define LOCHNAGAR1_PSIA2_BCLK_DIR_SHIFT 5
  128. #define LOCHNAGAR1_PSIA2_ENA_MASK 0x10
  129. #define LOCHNAGAR1_PSIA2_ENA_SHIFT 4
  130. #define LOCHNAGAR1_PSIA1_LRCLK_DIR_MASK 0x04
  131. #define LOCHNAGAR1_PSIA1_LRCLK_DIR_SHIFT 2
  132. #define LOCHNAGAR1_PSIA1_BCLK_DIR_MASK 0x02
  133. #define LOCHNAGAR1_PSIA1_BCLK_DIR_SHIFT 1
  134. #define LOCHNAGAR1_PSIA1_ENA_MASK 0x01
  135. #define LOCHNAGAR1_PSIA1_ENA_SHIFT 0
  136. /* (0x0029) RST */
  137. #define LOCHNAGAR1_DSP_RESET_MASK 0x02
  138. #define LOCHNAGAR1_DSP_RESET_SHIFT 1
  139. #define LOCHNAGAR1_CDC_RESET_MASK 0x01
  140. #define LOCHNAGAR1_CDC_RESET_SHIFT 0
  141. /* (0x0046) I2C_CTRL */
  142. #define LOCHNAGAR1_CDC_CIF_MODE_MASK 0x01
  143. #define LOCHNAGAR1_CDC_CIF_MODE_SHIFT 0
  144. #endif