regs-clock.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /* linux/arch/arm/mach-s5p6442/include/mach/regs-clock.h
  2. *
  3. * Copyright (c) 2010 Samsung Electronics Co., Ltd.
  4. * http://www.samsung.com/
  5. *
  6. * S5P6442 - Clock register definitions
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef __ASM_ARCH_REGS_CLOCK_H
  13. #define __ASM_ARCH_REGS_CLOCK_H __FILE__
  14. #include <mach/map.h>
  15. #define S5P_CLKREG(x) (S3C_VA_SYS + (x))
  16. #define S5P_APLL_LOCK S5P_CLKREG(0x00)
  17. #define S5P_MPLL_LOCK S5P_CLKREG(0x08)
  18. #define S5P_EPLL_LOCK S5P_CLKREG(0x10)
  19. #define S5P_VPLL_LOCK S5P_CLKREG(0x20)
  20. #define S5P_APLL_CON S5P_CLKREG(0x100)
  21. #define S5P_MPLL_CON S5P_CLKREG(0x108)
  22. #define S5P_EPLL_CON S5P_CLKREG(0x110)
  23. #define S5P_VPLL_CON S5P_CLKREG(0x120)
  24. #define S5P_CLK_SRC0 S5P_CLKREG(0x200)
  25. #define S5P_CLK_SRC1 S5P_CLKREG(0x204)
  26. #define S5P_CLK_SRC2 S5P_CLKREG(0x208)
  27. #define S5P_CLK_SRC3 S5P_CLKREG(0x20C)
  28. #define S5P_CLK_SRC4 S5P_CLKREG(0x210)
  29. #define S5P_CLK_SRC5 S5P_CLKREG(0x214)
  30. #define S5P_CLK_SRC6 S5P_CLKREG(0x218)
  31. #define S5P_CLK_SRC_MASK0 S5P_CLKREG(0x280)
  32. #define S5P_CLK_SRC_MASK1 S5P_CLKREG(0x284)
  33. #define S5P_CLK_DIV0 S5P_CLKREG(0x300)
  34. #define S5P_CLK_DIV1 S5P_CLKREG(0x304)
  35. #define S5P_CLK_DIV2 S5P_CLKREG(0x308)
  36. #define S5P_CLK_DIV3 S5P_CLKREG(0x30C)
  37. #define S5P_CLK_DIV4 S5P_CLKREG(0x310)
  38. #define S5P_CLK_DIV5 S5P_CLKREG(0x314)
  39. #define S5P_CLK_DIV6 S5P_CLKREG(0x318)
  40. #define S5P_CLKGATE_IP3 S5P_CLKREG(0x46C)
  41. /* CLK_OUT */
  42. #define S5P_CLK_OUT_SHIFT (12)
  43. #define S5P_CLK_OUT_MASK (0x1F << S5P_CLK_OUT_SHIFT)
  44. #define S5P_CLK_OUT S5P_CLKREG(0x500)
  45. #define S5P_CLK_DIV_STAT0 S5P_CLKREG(0x1000)
  46. #define S5P_CLK_DIV_STAT1 S5P_CLKREG(0x1004)
  47. #define S5P_CLK_MUX_STAT0 S5P_CLKREG(0x1100)
  48. #define S5P_CLK_MUX_STAT1 S5P_CLKREG(0x1104)
  49. #define S5P_MDNIE_SEL S5P_CLKREG(0x7008)
  50. /* Register Bit definition */
  51. #define S5P_EPLL_EN (1<<31)
  52. #define S5P_EPLL_MASK 0xffffffff
  53. #define S5P_EPLLVAL(_m, _p, _s) ((_m) << 16 | ((_p) << 8) | ((_s)))
  54. /* CLKDIV0 */
  55. #define S5P_CLKDIV0_APLL_SHIFT (0)
  56. #define S5P_CLKDIV0_APLL_MASK (0x7 << S5P_CLKDIV0_APLL_SHIFT)
  57. #define S5P_CLKDIV0_A2M_SHIFT (4)
  58. #define S5P_CLKDIV0_A2M_MASK (0x7 << S5P_CLKDIV0_A2M_SHIFT)
  59. #define S5P_CLKDIV0_D0CLK_SHIFT (16)
  60. #define S5P_CLKDIV0_D0CLK_MASK (0xF << S5P_CLKDIV0_D0CLK_SHIFT)
  61. #define S5P_CLKDIV0_P0CLK_SHIFT (20)
  62. #define S5P_CLKDIV0_P0CLK_MASK (0x7 << S5P_CLKDIV0_P0CLK_SHIFT)
  63. #define S5P_CLKDIV0_D1CLK_SHIFT (24)
  64. #define S5P_CLKDIV0_D1CLK_MASK (0xF << S5P_CLKDIV0_D1CLK_SHIFT)
  65. #define S5P_CLKDIV0_P1CLK_SHIFT (28)
  66. #define S5P_CLKDIV0_P1CLK_MASK (0x7 << S5P_CLKDIV0_P1CLK_SHIFT)
  67. /* Clock MUX status Registers */
  68. #define S5P_CLK_MUX_STAT0_APLL_SHIFT (0)
  69. #define S5P_CLK_MUX_STAT0_APLL_MASK (0x7 << S5P_CLK_MUX_STAT0_APLL_SHIFT)
  70. #define S5P_CLK_MUX_STAT0_MPLL_SHIFT (4)
  71. #define S5P_CLK_MUX_STAT0_MPLL_MASK (0x7 << S5P_CLK_MUX_STAT0_MPLL_SHIFT)
  72. #define S5P_CLK_MUX_STAT0_EPLL_SHIFT (8)
  73. #define S5P_CLK_MUX_STAT0_EPLL_MASK (0x7 << S5P_CLK_MUX_STAT0_EPLL_SHIFT)
  74. #define S5P_CLK_MUX_STAT0_VPLL_SHIFT (12)
  75. #define S5P_CLK_MUX_STAT0_VPLL_MASK (0x7 << S5P_CLK_MUX_STAT0_VPLL_SHIFT)
  76. #define S5P_CLK_MUX_STAT0_MUXARM_SHIFT (16)
  77. #define S5P_CLK_MUX_STAT0_MUXARM_MASK (0x7 << S5P_CLK_MUX_STAT0_MUXARM_SHIFT)
  78. #define S5P_CLK_MUX_STAT0_MUXD0_SHIFT (20)
  79. #define S5P_CLK_MUX_STAT0_MUXD0_MASK (0x7 << S5P_CLK_MUX_STAT0_MUXD0_SHIFT)
  80. #define S5P_CLK_MUX_STAT0_MUXD1_SHIFT (24)
  81. #define S5P_CLK_MUX_STAT0_MUXD1_MASK (0x7 << S5P_CLK_MUX_STAT0_MUXD1_SHIFT)
  82. #define S5P_CLK_MUX_STAT1_D1SYNC_SHIFT (24)
  83. #define S5P_CLK_MUX_STAT1_D1SYNC_MASK (0x7 << S5P_CLK_MUX_STAT1_D1SYNC_SHIFT)
  84. #define S5P_CLK_MUX_STAT1_D0SYNC_SHIFT (28)
  85. #define S5P_CLK_MUX_STAT1_D0SYNC_MASK (0x7 << S5P_CLK_MUX_STAT1_D0SYNC_SHIFT)
  86. #endif /* __ASM_ARCH_REGS_CLOCK_H */