aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-06-01 20:23:51 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-06-01 20:23:51 +0000
commit16edbcb9f35764f1840111f7bef018f532859d28 (patch)
treea4519df606b14ca6329fe9a70147efd6a32435ad /os/hal
parentdaf9d3018df3064c0b07378caa3ebc16e151d322 (diff)
downloadChibiOS-16edbcb9f35764f1840111f7bef018f532859d28.tar.gz
ChibiOS-16edbcb9f35764f1840111f7bef018f532859d28.tar.bz2
ChibiOS-16edbcb9f35764f1840111f7bef018f532859d28.zip
Fixed bugs 3531289 and 3531290.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4254 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal')
-rw-r--r--os/hal/platforms/STM32/mac_lld.c6
-rw-r--r--os/hal/platforms/STM32F2xx/hal_lld.h8
-rw-r--r--os/hal/platforms/STM32F4xx/hal_lld.h8
3 files changed, 13 insertions, 9 deletions
diff --git a/os/hal/platforms/STM32/mac_lld.c b/os/hal/platforms/STM32/mac_lld.c
index aff58342e..2799aab85 100644
--- a/os/hal/platforms/STM32/mac_lld.c
+++ b/os/hal/platforms/STM32/mac_lld.c
@@ -41,7 +41,11 @@
#define BUFFER_SIZE ((((STM32_MAC_BUFFERS_SIZE - 1) | 3) + 1) / 4)
/* MII divider optimal value.*/
-#if (STM32_HCLK >= 60000000)
+#if (STM32_HCLK >= 150000000)
+#define MACMIIDR_CR ETH_MACMIIAR_CR_Div102
+#elif (STM32_HCLK >= 100000000)
+#define MACMIIDR_CR ETH_MACMIIAR_CR_Div62
+#elif (STM32_HCLK >= 60000000)
#define MACMIIDR_CR ETH_MACMIIAR_CR_Div42
#elif (STM32_HCLK >= 35000000)
#define MACMIIDR_CR ETH_MACMIIAR_CR_Div26
diff --git a/os/hal/platforms/STM32F2xx/hal_lld.h b/os/hal/platforms/STM32F2xx/hal_lld.h
index e704b7fa2..4d63324ce 100644
--- a/os/hal/platforms/STM32F2xx/hal_lld.h
+++ b/os/hal/platforms/STM32F2xx/hal_lld.h
@@ -221,10 +221,10 @@
#define STM32_MCO1PRE_MASK (7 << 24) /**< MCO1PRE mask. */
#define STM32_MCO1PRE_DIV1 (0 << 24) /**< MCO1 divided by 1. */
-#define STM32_MCO1PRE_DIV2 (1 << 24) /**< MCO1 divided by 2. */
-#define STM32_MCO1PRE_DIV3 (2 << 24) /**< MCO1 divided by 3. */
-#define STM32_MCO1PRE_DIV4 (3 << 24) /**< MCO1 divided by 4. */
-#define STM32_MCO1PRE_DIV5 (4 << 24) /**< MCO1 divided by 5. */
+#define STM32_MCO1PRE_DIV2 (4 << 24) /**< MCO1 divided by 2. */
+#define STM32_MCO1PRE_DIV3 (5 << 24) /**< MCO1 divided by 3. */
+#define STM32_MCO1PRE_DIV4 (6 << 24) /**< MCO1 divided by 4. */
+#define STM32_MCO1PRE_DIV5 (7 << 24) /**< MCO1 divided by 5. */
#define STM32_MCO2PRE_MASK (7 << 27) /**< MCO2PRE mask. */
#define STM32_MCO2PRE_DIV1 (0 << 27) /**< MCO2 divided by 1. */
diff --git a/os/hal/platforms/STM32F4xx/hal_lld.h b/os/hal/platforms/STM32F4xx/hal_lld.h
index 6cde89012..8c5303350 100644
--- a/os/hal/platforms/STM32F4xx/hal_lld.h
+++ b/os/hal/platforms/STM32F4xx/hal_lld.h
@@ -216,10 +216,10 @@
#define STM32_MCO1PRE_MASK (7 << 24) /**< MCO1PRE mask. */
#define STM32_MCO1PRE_DIV1 (0 << 24) /**< MCO1 divided by 1. */
-#define STM32_MCO1PRE_DIV2 (1 << 24) /**< MCO1 divided by 2. */
-#define STM32_MCO1PRE_DIV3 (2 << 24) /**< MCO1 divided by 3. */
-#define STM32_MCO1PRE_DIV4 (3 << 24) /**< MCO1 divided by 4. */
-#define STM32_MCO1PRE_DIV5 (4 << 24) /**< MCO1 divided by 5. */
+#define STM32_MCO1PRE_DIV2 (4 << 24) /**< MCO1 divided by 2. */
+#define STM32_MCO1PRE_DIV3 (5 << 24) /**< MCO1 divided by 3. */
+#define STM32_MCO1PRE_DIV4 (6 << 24) /**< MCO1 divided by 4. */
+#define STM32_MCO1PRE_DIV5 (7 << 24) /**< MCO1 divided by 5. */
#define STM32_MCO2PRE_MASK (7 << 27) /**< MCO2PRE mask. */
#define STM32_MCO2PRE_DIV1 (0 << 27) /**< MCO2 divided by 1. */