cs2000.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef CS2000_H_INCLUDED
  3. #define CS2000_H_INCLUDED
  4. #define CS2000_DEV_ID 0x01
  5. #define CS2000_DEV_CTRL 0x02
  6. #define CS2000_DEV_CFG_1 0x03
  7. #define CS2000_DEV_CFG_2 0x04
  8. #define CS2000_GLOBAL_CFG 0x05
  9. #define CS2000_RATIO_0 0x06 /* 32 bits, big endian */
  10. #define CS2000_RATIO_1 0x0a
  11. #define CS2000_RATIO_2 0x0e
  12. #define CS2000_RATIO_3 0x12
  13. #define CS2000_FUN_CFG_1 0x16
  14. #define CS2000_FUN_CFG_2 0x17
  15. #define CS2000_FUN_CFG_3 0x1e
  16. /* DEV_ID */
  17. #define CS2000_DEVICE_MASK 0xf8
  18. #define CS2000_REVISION_MASK 0x07
  19. /* DEV_CTRL */
  20. #define CS2000_UNLOCK 0x80
  21. #define CS2000_AUX_OUT_DIS 0x02
  22. #define CS2000_CLK_OUT_DIS 0x01
  23. /* DEV_CFG_1 */
  24. #define CS2000_R_MOD_SEL_MASK 0xe0
  25. #define CS2000_R_MOD_SEL_1 0x00
  26. #define CS2000_R_MOD_SEL_2 0x20
  27. #define CS2000_R_MOD_SEL_4 0x40
  28. #define CS2000_R_MOD_SEL_8 0x60
  29. #define CS2000_R_MOD_SEL_1_2 0x80
  30. #define CS2000_R_MOD_SEL_1_4 0xa0
  31. #define CS2000_R_MOD_SEL_1_8 0xc0
  32. #define CS2000_R_MOD_SEL_1_16 0xe0
  33. #define CS2000_R_SEL_MASK 0x18
  34. #define CS2000_R_SEL_SHIFT 3
  35. #define CS2000_AUX_OUT_SRC_MASK 0x06
  36. #define CS2000_AUX_OUT_SRC_REF_CLK 0x00
  37. #define CS2000_AUX_OUT_SRC_CLK_IN 0x02
  38. #define CS2000_AUX_OUT_SRC_CLK_OUT 0x04
  39. #define CS2000_AUX_OUT_SRC_PLL_LOCK 0x06
  40. #define CS2000_EN_DEV_CFG_1 0x01
  41. /* DEV_CFG_2 */
  42. #define CS2000_LOCK_CLK_MASK 0x06
  43. #define CS2000_LOCK_CLK_SHIFT 1
  44. #define CS2000_FRAC_N_SRC_MASK 0x01
  45. #define CS2000_FRAC_N_SRC_STATIC 0x00
  46. #define CS2000_FRAC_N_SRC_DYNAMIC 0x01
  47. /* GLOBAL_CFG */
  48. #define CS2000_FREEZE 0x08
  49. #define CS2000_EN_DEV_CFG_2 0x01
  50. /* FUN_CFG_1 */
  51. #define CS2000_CLK_SKIP_EN 0x80
  52. #define CS2000_AUX_LOCK_CFG_MASK 0x40
  53. #define CS2000_AUX_LOCK_CFG_PP_HIGH 0x00
  54. #define CS2000_AUX_LOCK_CFG_OD_LOW 0x40
  55. #define CS2000_REF_CLK_DIV_MASK 0x18
  56. #define CS2000_REF_CLK_DIV_4 0x00
  57. #define CS2000_REF_CLK_DIV_2 0x08
  58. #define CS2000_REF_CLK_DIV_1 0x10
  59. /* FUN_CFG_2 */
  60. #define CS2000_CLK_OUT_UNL 0x10
  61. #define CS2000_L_F_RATIO_CFG_MASK 0x08
  62. #define CS2000_L_F_RATIO_CFG_20_12 0x00
  63. #define CS2000_L_F_RATIO_CFG_12_20 0x08
  64. /* FUN_CFG_3 */
  65. #define CS2000_CLK_IN_BW_MASK 0x70
  66. #define CS2000_CLK_IN_BW_1 0x00
  67. #define CS2000_CLK_IN_BW_2 0x10
  68. #define CS2000_CLK_IN_BW_4 0x20
  69. #define CS2000_CLK_IN_BW_8 0x30
  70. #define CS2000_CLK_IN_BW_16 0x40
  71. #define CS2000_CLK_IN_BW_32 0x50
  72. #define CS2000_CLK_IN_BW_64 0x60
  73. #define CS2000_CLK_IN_BW_128 0x70
  74. #endif