summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-stm32
diff options
context:
space:
mode:
authorVikas Manocha <vikas.manocha@st.com>2016-01-26 18:12:20 -0800
committerTom Rini <trini@konsulko.com>2016-02-08 10:10:36 -0500
commitdffceb4b15e4c5fd2487e625a08062a8120bd17f (patch)
tree05a29103a2e5f7ae1b580d9b53cc75dcd9919d8c /arch/arm/mach-stm32
parent334a994a3c09607bc0a8f746ee2bbda5eaec3ede (diff)
downloadblackbird-obmc-uboot-dffceb4b15e4c5fd2487e625a08062a8120bd17f.tar.gz
blackbird-obmc-uboot-dffceb4b15e4c5fd2487e625a08062a8120bd17f.zip
serial: serial_stm32: move clock config from driver to board
This patch removes the uart clock enable from serial driver & move it in the board code. Signed-off-by: Vikas Manocha <vikas.manocha@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm/mach-stm32')
-rw-r--r--arch/arm/mach-stm32/stm32f4/clock.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-stm32/stm32f4/clock.c b/arch/arm/mach-stm32/stm32f4/clock.c
index 3deb17aa83..576d3e68ae 100644
--- a/arch/arm/mach-stm32/stm32f4/clock.c
+++ b/arch/arm/mach-stm32/stm32f4/clock.c
@@ -11,6 +11,7 @@
#include <common.h>
#include <asm/io.h>
#include <asm/arch/stm32.h>
+#include <asm/arch/stm32_periph.h>
#define RCC_CR_HSION (1 << 0)
#define RCC_CR_HSEON (1 << 16)
@@ -50,6 +51,14 @@
#define RCC_APB1ENR_PWREN (1 << 28)
+/*
+ * RCC USART specific definitions
+ */
+#define RCC_ENR_USART1EN (1 << 4)
+#define RCC_ENR_USART2EN (1 << 17)
+#define RCC_ENR_USART3EN (1 << 18)
+#define RCC_ENR_USART6EN (1 << 5)
+
#define PWR_CR_VOS0 (1 << 14)
#define PWR_CR_VOS1 (1 << 15)
#define PWR_CR_VOS_MASK 0xC000
@@ -221,3 +230,14 @@ unsigned long clock_get(enum clock clck)
break;
}
}
+
+void clock_setup(int peripheral)
+{
+ switch (peripheral) {
+ case USART1_CLOCK_CFG:
+ setbits_le32(&STM32_RCC->apb2enr, RCC_ENR_USART1EN);
+ break;
+ default:
+ break;
+ }
+}
OpenPOWER on IntegriCloud