aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-12-06 14:13:45 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-12-06 14:13:45 +0000
commitd34bc423c805e7724898427cb5c4cfe69f596f30 (patch)
tree99bb722b718cfe8792701e7bc94671c9ef97628a
parent60e97e1c62c615c9e07042ec20fc8d354245aba9 (diff)
parent0faef9a2928309385c52f25fb892ac46ced093ab (diff)
downloadChibiOS-d34bc423c805e7724898427cb5c4cfe69f596f30.tar.gz
ChibiOS-d34bc423c805e7724898427cb5c4cfe69f596f30.tar.bz2
ChibiOS-d34bc423c805e7724898427cb5c4cfe69f596f30.zip
I2C. Merged code from trunk.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/i2c_dev@3561 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--boards/ST_STM3220G_EVAL/board.h21
-rw-r--r--boards/ST_STM32L_DISCOVERY/board.h2
-rw-r--r--docs/Doxyfile_chm2
-rw-r--r--docs/Doxyfile_html2
-rw-r--r--docs/rsc/header_chm.html2
-rw-r--r--docs/rsc/header_html.html2
-rw-r--r--os/hal/platforms/STM32/icu_lld.c2
-rw-r--r--os/hal/platforms/STM32/stm32.h15
-rw-r--r--os/hal/platforms/STM32F4xx/hal_lld.c7
-rw-r--r--os/hal/platforms/STM32L1xx/hal_lld.c8
-rw-r--r--os/kernel/include/ch.h4
-rw-r--r--readme.txt4
12 files changed, 27 insertions, 44 deletions
diff --git a/boards/ST_STM3220G_EVAL/board.h b/boards/ST_STM3220G_EVAL/board.h
index e10a5203c..219a9a738 100644
--- a/boards/ST_STM3220G_EVAL/board.h
+++ b/boards/ST_STM3220G_EVAL/board.h
@@ -84,22 +84,7 @@
#define PIN_PUDR_FLOATING(n) (0 << ((n) * 2))
#define PIN_PUDR_PULLUP(n) (1 << ((n) * 2))
#define PIN_PUDR_PULLDOWN(n) (2 << ((n) * 2))
-#define PIN_AFIO_AF0(n) (0 << ((n % 8) * 4))
-#define PIN_AFIO_AF1(n) (1 << ((n % 8) * 4))
-#define PIN_AFIO_AF2(n) (2 << ((n % 8) * 4))
-#define PIN_AFIO_AF3(n) (3 << ((n % 8) * 4))
-#define PIN_AFIO_AF4(n) (4 << ((n % 8) * 4))
-#define PIN_AFIO_AF5(n) (5 << ((n % 8) * 4))
-#define PIN_AFIO_AF6(n) (6 << ((n % 8) * 4))
-#define PIN_AFIO_AF7(n) (7 << ((n % 8) * 4))
-#define PIN_AFIO_AF8(n) (8 << ((n % 8) * 4))
-#define PIN_AFIO_AF9(n) (9 << ((n % 8) * 4))
-#define PIN_AFIO_AF10(n) (10 << ((n % 8) * 4))
-#define PIN_AFIO_AF11(n) (11 << ((n % 8) * 4))
-#define PIN_AFIO_AF12(n) (12 << ((n % 8) * 4))
-#define PIN_AFIO_AF13(n) (13 << ((n % 8) * 4))
-#define PIN_AFIO_AF14(n) (14 << ((n % 8) * 4))
-#define PIN_AFIO_AF15(n) (15 << ((n % 8) * 4))
+#define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4))
/*
* Port A setup.
@@ -157,8 +142,8 @@
PIN_PUDR_FLOATING(15)))
#define VAL_GPIOC_ODR 0xFFFFFFFF
#define VAL_GPIOC_AFRL 0x00000000
-#define VAL_GPIOC_AFRH (PIN_AFIO_AF7(10) | \
- PIN_AFIO_AF7(11))
+#define VAL_GPIOC_AFRH (PIN_AFIO_AF(7, 10) | \
+ PIN_AFIO_AF(7, 11))
/*
* Port D setup.
diff --git a/boards/ST_STM32L_DISCOVERY/board.h b/boards/ST_STM32L_DISCOVERY/board.h
index 6326c5e4d..978d91456 100644
--- a/boards/ST_STM32L_DISCOVERY/board.h
+++ b/boards/ST_STM32L_DISCOVERY/board.h
@@ -69,7 +69,7 @@
#define PIN_PUDR_FLOATING(n) (0U << ((n) * 2))
#define PIN_PUDR_PULLUP(n) (1U << ((n) * 2))
#define PIN_PUDR_PULLDOWN(n) (2U << ((n) * 2))
-#define PIN_AFIO_AF(n, v) ((v)U << ((n % 8) * 4))
+#define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4))
/*
* Port A setup.
diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm
index bcda68230..c1333cd33 100644
--- a/docs/Doxyfile_chm
+++ b/docs/Doxyfile_chm
@@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 2.3.4
+PROJECT_NUMBER = 2.3.5
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html
index 5cba063d7..bbf7156a0 100644
--- a/docs/Doxyfile_html
+++ b/docs/Doxyfile_html
@@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 2.3.4
+PROJECT_NUMBER = 2.3.5
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
diff --git a/docs/rsc/header_chm.html b/docs/rsc/header_chm.html
index 1365da6dd..4ce33e42f 100644
--- a/docs/rsc/header_chm.html
+++ b/docs/rsc/header_chm.html
@@ -13,7 +13,7 @@
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
- <div id="projectname">ChibiOS/RT&#160;<span id="projectnumber">2.3.4</span></div>
+ <div id="projectname">ChibiOS/RT&#160;<span id="projectnumber">2.3.5</span></div>
</td>
</tr>
</tbody>
diff --git a/docs/rsc/header_html.html b/docs/rsc/header_html.html
index 202da80ca..243097201 100644
--- a/docs/rsc/header_html.html
+++ b/docs/rsc/header_html.html
@@ -20,7 +20,7 @@ $(document).ready(initResizable);
<tbody>
<tr style="height: 92px;">
<td style="padding-left: 0.5em;">
- <div id="projectname">ChibiOS/RT<br><span id="projectnumber">2.3.4</span></div>
+ <div id="projectname">ChibiOS/RT<br><span id="projectnumber">2.3.5</span></div>
</td>
<td style="padding-left: 3em;">
<script type="text/javascript"><!--
diff --git a/os/hal/platforms/STM32/icu_lld.c b/os/hal/platforms/STM32/icu_lld.c
index e76f8a109..dfbcee5e6 100644
--- a/os/hal/platforms/STM32/icu_lld.c
+++ b/os/hal/platforms/STM32/icu_lld.c
@@ -360,7 +360,7 @@ void icu_lld_start(ICUDriver *icup) {
icup->tim->ARR = 0xFFFF;
/* CCMR1_CC1S = 01 = CH1 Input on TI1.
- CCMR1_CC2S = 10 = CH2 Input on TI2.*/
+ CCMR1_CC2S = 10 = CH2 Input on TI1.*/
icup->tim->CCMR1 = TIM_CCMR1_CC1S_0 |
TIM_CCMR1_CC2S_1;
/* SMCR_TS = 101, input is TI1FP1.
diff --git a/os/hal/platforms/STM32/stm32.h b/os/hal/platforms/STM32/stm32.h
index 0ee083dcc..c051dafe0 100644
--- a/os/hal/platforms/STM32/stm32.h
+++ b/os/hal/platforms/STM32/stm32.h
@@ -63,21 +63,6 @@
#include "stm32l1xx.h"
#endif
-#undef TIM1
-#undef TIM2
-#undef TIM3
-#undef TIM4
-#undef TIM5
-#undef TIM6
-#undef TIM7
-#undef TIM8
-#undef TIM9
-#undef TIM10
-#undef TIM11
-#undef TIM12
-#undef TIM13
-#undef TIM14
-
/*===========================================================================*/
/* Driver constants. */
/*===========================================================================*/
diff --git a/os/hal/platforms/STM32F4xx/hal_lld.c b/os/hal/platforms/STM32F4xx/hal_lld.c
index 5033c41c8..6922ff3df 100644
--- a/os/hal/platforms/STM32F4xx/hal_lld.c
+++ b/os/hal/platforms/STM32F4xx/hal_lld.c
@@ -62,8 +62,9 @@ void hal_lld_init(void) {
been initialized in the board initialization file (board.c).*/
rccResetAHB1(!0);
rccResetAHB2(!0);
+ rccResetAHB3(!0);
rccResetAPB1(!RCC_APB1RSTR_PWRRST);
- rccResetAPB2(!RCC_APB2RSTR_SYSCFGRST);
+ rccResetAPB2(!0);
/* SysTick initialization using the system clock.*/
SysTick->LOAD = STM32_HCLK / CH_FREQUENCY - 1;
@@ -152,6 +153,10 @@ void stm32_clock_init(void) {
;
#endif
#endif /* STM32_NO_INIT */
+
+ /* SYSCFG clock enabled here because it is a multi-functional unit shared
+ among multiple drivers.*/
+ rccEnableAPB2(RCC_APB2ENR_SYSCFGEN, TRUE);
}
/** @} */
diff --git a/os/hal/platforms/STM32L1xx/hal_lld.c b/os/hal/platforms/STM32L1xx/hal_lld.c
index c59aa3f1c..96b18a656 100644
--- a/os/hal/platforms/STM32L1xx/hal_lld.c
+++ b/os/hal/platforms/STM32L1xx/hal_lld.c
@@ -60,8 +60,8 @@ void hal_lld_init(void) {
/* Reset of all peripherals.*/
rccResetAHB(!RCC_AHBRSTR_FLITFRST);
- rccResetAPB1(!0);
- rccResetAPB2(!RCC_APB2RSTR_SYSCFGRST);
+ rccResetAPB1(!RCC_APB1RSTR_PWRRST);
+ rccResetAPB2(!0);
/* SysTick initialization using the system clock.*/
SysTick->LOAD = STM32_HCLK / CH_FREQUENCY - 1;
@@ -170,6 +170,10 @@ void stm32_clock_init(void) {
;
#endif
#endif /* STM32_NO_INIT */
+
+ /* SYSCFG clock enabled here because it is a multi-functional unit shared
+ among multiple drivers.*/
+ rccEnableAPB2(RCC_APB2ENR_SYSCFGEN, TRUE);
}
#else
void stm32_clock_init(void) {}
diff --git a/os/kernel/include/ch.h b/os/kernel/include/ch.h
index e751e0fc5..14fefa558 100644
--- a/os/kernel/include/ch.h
+++ b/os/kernel/include/ch.h
@@ -40,7 +40,7 @@
/**
* @brief Kernel version string.
*/
-#define CH_KERNEL_VERSION "2.3.4unstable"
+#define CH_KERNEL_VERSION "2.3.5unstable"
/**
* @name Kernel version
@@ -59,7 +59,7 @@
/**
* @brief Kernel version patch number.
*/
-#define CH_KERNEL_PATCH 4
+#define CH_KERNEL_PATCH 5
/** @} */
/*
diff --git a/readme.txt b/readme.txt
index 2dea2d1eb..cb5ef15ca 100644
--- a/readme.txt
+++ b/readme.txt
@@ -73,6 +73,10 @@
*** Releases ***
*****************************************************************************
+*** 2.3.5 ***
+- FIX: Fixed SYSCFG clock not started in STM32L1/F4 HALs (bug 3449139).
+- FIX: Fixed wrong definitions in STM32L-Discovery board file (bug 3449076).
+
*** 2.3.4 ***
- FIX: Fixed Extra initialization in STM32 SPI driver (bug 3436127)
(backported to 2.2.8).