rcc.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * (C) Copyright 2016
  3. * Vikas Manocha, ST Micoelectronics, vikas.manocha@st.com.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef _STM32_RCC_H
  8. #define _STM32_RCC_H
  9. #define RCC_CR 0x00 /* clock control */
  10. #define RCC_PLLCFGR 0x04 /* PLL configuration */
  11. #define RCC_CFGR 0x08 /* clock configuration */
  12. #define RCC_CIR 0x0C /* clock interrupt */
  13. #define RCC_AHB1RSTR 0x10 /* AHB1 peripheral reset */
  14. #define RCC_AHB2RSTR 0x14 /* AHB2 peripheral reset */
  15. #define RCC_AHB3RSTR 0x18 /* AHB3 peripheral reset */
  16. #define RCC_APB1RSTR 0x20 /* APB1 peripheral reset */
  17. #define RCC_APB2RSTR 0x24 /* APB2 peripheral reset */
  18. #define RCC_AHB1ENR 0x30 /* AHB1 peripheral clock enable */
  19. #define RCC_AHB2ENR 0x34 /* AHB2 peripheral clock enable */
  20. #define RCC_AHB3ENR 0x38 /* AHB3 peripheral clock enable */
  21. #define RCC_APB1ENR 0x40 /* APB1 peripheral clock enable */
  22. #define RCC_APB2ENR 0x44 /* APB2 peripheral clock enable */
  23. #define RCC_AHB1LPENR 0x50 /* periph clk enable in low pwr mode */
  24. #define RCC_AHB2LPENR 0x54 /* AHB2 periph clk enable in low pwr mode */
  25. #define RCC_AHB3LPENR 0x58 /* AHB3 periph clk enable in low pwr mode */
  26. #define RCC_APB1LPENR 0x60 /* APB1 periph clk enable in low pwr mode */
  27. #define RCC_APB2LPENR 0x64 /* APB2 periph clk enable in low pwr mode */
  28. #define RCC_BDCR 0x70 /* Backup domain control */
  29. #define RCC_CSR 0x74 /* clock control & status */
  30. #define RCC_SSCGR 0x80 /* spread spectrum clock generation */
  31. #define RCC_PLLI2SCFGR 0x84 /* PLLI2S configuration */
  32. #define RCC_PLLSAICFG 0x88 /* PLLSAI configuration */
  33. #define RCC_DCKCFG1 0x8C /* dedicated clocks configuration register */
  34. #define RCC_DCKCFG2 0x90 /* dedicated clocks configuration register */
  35. #define RCC_APB1ENR_TIM2EN (1 << 0)
  36. #define RCC_APB1ENR_PWREN (1 << 28)
  37. /*
  38. * RCC USART specific definitions
  39. */
  40. #define RCC_ENR_USART1EN (1 << 4)
  41. #define RCC_ENR_USART2EN (1 << 17)
  42. #define RCC_ENR_USART3EN (1 << 18)
  43. #define RCC_ENR_USART6EN (1 << 5)
  44. /*
  45. * RCC GPIO specific definitions
  46. */
  47. #define RCC_ENR_GPIO_A_EN (1 << 0)
  48. #define RCC_ENR_GPIO_B_EN (1 << 1)
  49. #define RCC_ENR_GPIO_C_EN (1 << 2)
  50. #define RCC_ENR_GPIO_D_EN (1 << 3)
  51. #define RCC_ENR_GPIO_E_EN (1 << 4)
  52. #define RCC_ENR_GPIO_F_EN (1 << 5)
  53. #define RCC_ENR_GPIO_G_EN (1 << 6)
  54. #define RCC_ENR_GPIO_H_EN (1 << 7)
  55. #define RCC_ENR_GPIO_I_EN (1 << 8)
  56. #define RCC_ENR_GPIO_J_EN (1 << 9)
  57. #define RCC_ENR_GPIO_K_EN (1 << 10)
  58. #endif