regs-clk.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Copyright (c) 2011 Zhang, Keguang <[email protected]>
  4. *
  5. * Loongson 1 Clock Register Definitions.
  6. */
  7. #ifndef __ASM_MACH_LOONGSON32_REGS_CLK_H
  8. #define __ASM_MACH_LOONGSON32_REGS_CLK_H
  9. #define LS1X_CLK_REG(x) \
  10. ((void __iomem *)KSEG1ADDR(LS1X_CLK_BASE + (x)))
  11. #define LS1X_CLK_PLL_FREQ LS1X_CLK_REG(0x0)
  12. #define LS1X_CLK_PLL_DIV LS1X_CLK_REG(0x4)
  13. #if defined(CONFIG_LOONGSON1_LS1B)
  14. /* Clock PLL Divisor Register Bits */
  15. #define DIV_DC_EN BIT(31)
  16. #define DIV_DC_RST BIT(30)
  17. #define DIV_CPU_EN BIT(25)
  18. #define DIV_CPU_RST BIT(24)
  19. #define DIV_DDR_EN BIT(19)
  20. #define DIV_DDR_RST BIT(18)
  21. #define RST_DC_EN BIT(5)
  22. #define RST_DC BIT(4)
  23. #define RST_DDR_EN BIT(3)
  24. #define RST_DDR BIT(2)
  25. #define RST_CPU_EN BIT(1)
  26. #define RST_CPU BIT(0)
  27. #define DIV_DC_SHIFT 26
  28. #define DIV_CPU_SHIFT 20
  29. #define DIV_DDR_SHIFT 14
  30. #define DIV_DC_WIDTH 4
  31. #define DIV_CPU_WIDTH 4
  32. #define DIV_DDR_WIDTH 4
  33. #define BYPASS_DC_SHIFT 12
  34. #define BYPASS_DDR_SHIFT 10
  35. #define BYPASS_CPU_SHIFT 8
  36. #define BYPASS_DC_WIDTH 1
  37. #define BYPASS_DDR_WIDTH 1
  38. #define BYPASS_CPU_WIDTH 1
  39. #elif defined(CONFIG_LOONGSON1_LS1C)
  40. /* PLL/SDRAM Frequency configuration register Bits */
  41. #define PLL_VALID BIT(31)
  42. #define FRAC_N GENMASK(23, 16)
  43. #define RST_TIME GENMASK(3, 2)
  44. #define SDRAM_DIV GENMASK(1, 0)
  45. /* CPU/CAMERA/DC Frequency configuration register Bits */
  46. #define DIV_DC_EN BIT(31)
  47. #define DIV_DC GENMASK(30, 24)
  48. #define DIV_CAM_EN BIT(23)
  49. #define DIV_CAM GENMASK(22, 16)
  50. #define DIV_CPU_EN BIT(15)
  51. #define DIV_CPU GENMASK(14, 8)
  52. #define DIV_DC_SEL_EN BIT(5)
  53. #define DIV_DC_SEL BIT(4)
  54. #define DIV_CAM_SEL_EN BIT(3)
  55. #define DIV_CAM_SEL BIT(2)
  56. #define DIV_CPU_SEL_EN BIT(1)
  57. #define DIV_CPU_SEL BIT(0)
  58. #define DIV_DC_SHIFT 24
  59. #define DIV_CAM_SHIFT 16
  60. #define DIV_CPU_SHIFT 8
  61. #define DIV_DDR_SHIFT 0
  62. #define DIV_DC_WIDTH 7
  63. #define DIV_CAM_WIDTH 7
  64. #define DIV_CPU_WIDTH 7
  65. #define DIV_DDR_WIDTH 2
  66. #endif
  67. #endif /* __ASM_MACH_LOONGSON32_REGS_CLK_H */